1 / 30

Review (1)

Review (1). Perangkat Lunak : terdiri dari instruksi ( program komputer yang ketika dieksekusi akan memberi fungsi dan hasil yang diinginkan ), struktur data (yang diolah oleh program untuk menjadi informasi), dan dokumen (yang menggambarkan operasi dan penggunaan program). Review (2).

alan-flynn
Download Presentation

Review (1)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Review (1) • Perangkat Lunak : terdiri dari • instruksi (program komputer yang ketika dieksekusi akan memberi fungsi dan hasil yang diinginkan), • struktur data (yang diolah oleh program untuk menjadi informasi), dan • dokumen (yang menggambarkan operasi dan penggunaan program).

  2. Review (2) • Rekayasa Perangkat Lunak (Software Engineering) : Ilmu yang mempelajari pembuatan software yang baik dengan pendekatan tehnik (Engineering approach) • Munculnya krisis perangkat lunak pada era 65-85 karena banyaknya kegagalan proyek perangkat lunak (over budget, over schedule, programming error dll)

  3. Dasar – Dasar Software Process

  4. ProsesPerangkatLunak • Sekumpulanaktifitas yang memilikitujuanuntukpengembanganataupunevolusiperangkatlunak. • Aktifitasgenerikdalamsemuaprosesperangkatlunakadalah: • Spesifikasi – apa yang harusdilakukanolehperangkatlunakdanbatasan/kendalapengembangannya • Pengembangan – prosesmemproduksisistemperangkatlunak • Validasi – pengujianperangkatlunakterhadapkeinginanpenggunak • Evolusi – perubahanperangkatlunakberdasarkanperubahankeinginan.

  5. What is it? • When you build a product or system, it’s important to go through a series of predictable steps—a road map that helps you create a timely, high-quality result. The road map that you follow is called a ‘software process.’ • Ketika kita membangun sebuah produk atau sistem, penting untuk melalui serangkaian langkah-langkah yang dapat diprediksi, yaitu sebuah road map yang membantu kita membuat sebuah hasil berkualitas tinggi dan jelas waktunya. Road map itulah yang kita sebut sebagai proses s/w.

  6. Who does it? • Software engineers and their managers adapt the process to their needs and then follow it. In addition, the people who have requested the software play a role in the software process. • Insinyur s/w dan manajernya menyesuaikan proses terhadap kebutuhan dan kemudian melaksanakannya. Sebagai tambahan, pihak yang meminta dibuatkan s/w memiliki peran penting dalam proses s/w.

  7. Why is it important? • Because it provides stability, control, and organization to an activity that can, if left uncontrolled, become quite chaotic. • Karena proses s/w memberikan stabilitas, kendali dan organisasi terhadap aktifitas yang seandainya dibiarkan begitu saja akan menjadi sangat kacau.

  8. What are the steps? • At a detailed level, the process that you adopt depends on the software you’re building. One process might be appropriate for creating software for an aircraft avionics system, while an entirely different process would be indicated for the creation of a Web site. • Pada tingkat detil, proses yang kita pakai tergantung pada s/w yang dibuat. Sebuah proses mungkin cocok untuk membuat s/w sistem pengendali pesawat, sementara untuk membuat sebuah web site akan digunakan proses yang benar-benar berbeda.

  9. What is the work product? • From the point of view of a software engineer, the work products are the programs, documents, and data produced as a consequence of the software engineering activities defined by the process. • Dari sudut pandang insinyur, produk kerjanya adalah program, dokumen, dan data sebagai konsekuensi dari aktivitas RPL yang didefinisikan oleh prosesnya.

  10. How do I ensure that I’ve done it right? • A number of software process assessment mechanisms enable organizations to determine the “maturity” of a software process. However, the quality, timeliness, and long-term viability of the product you build are the best indicators of the efficacy of the process that you use. • Sejumlah mekanisme penilaian memungkinkan organisasi menentukan kedewasaan sebuah proses s/w. Bagaimanapun juga, kualitas, ketepatan waktu dan ketersediaan jangka panjang produk yang kita bangun adalah indikator terbaik dari kemujaraban proses yang dipakai.

  11. AtributPerangkatLunak yang baik: • Maintanability (DapatDirawat) • PL harusdapatmemenuhiperubahankebutuhan • Dependability • PL harusdapatdipercaya • Efisiensi • PL harusefisiendalampenggunaan resource • Usability • PL harusdapatdigunakansesuaidengan yang direncanakan

  12. Model Proses PL yang Generic • Model Air terjun (Water fall) • Memisahkan dan membedakan antara spesifikasi dan pengembangan • Pengembangan yang berevolusi • Spesifikasi dan pengembangan saling bergantian • Pengembangan sistem Formal • Menggunakan suatu model sistem matematika yang ditransformasikan ke implementasi, • Pengembangan berbasis Re-use (penggunaan ulang) • Sistem dibangun dari komponen yang sudah ada.

  13. Model Air Terjun (Water Fall)

  14. Fase Model Air Terjun • Analisis Kebutuhan dan pendefinisiannya • Perancangan sistem dan Perangkat Lunak • Implementasi dan unit testing • Integrasi dan pengujian sistem • Pengoperasian dan perawatan • Proses kembali ke state sebelumnya untuk mengantisipasi perubahan adalah sangat sulit.

  15. Masalah pada Model Air Terjun: • Partisi projek ke stages yang berbeda tidak fleksibel. • Hal ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna • Oleh sebab itu model ini hanya cocok digunakan apabila kebutuhan pengguna sudah dimengerti dengan baik,

  16. Pengembangan yang berevolusi (Evolutionary Development) • Berdasarkan pada ide untuk mengembangkan implementasi awal, memperlihatkannya pada user untuk dikomentari, lalu memperbaikinya versi demi versi. • Tidak ada kegiatan spesifikasi, validasi, dan pengembangan yang terpisah • Ada 2 jenis: • Pengembangan eksploratori (bekerja dgn pelanggan untuk menyelidiki kebutuhan pelanggan dgn mengirimkan sistem akhir) • Prototype yang dapat dibuang (throw-away / eksperimen dengan kebutuhan pelanggan yang tidak dipahami dgn baik)

  17. Permasalahan evolutionary development: • Kekuranganvisibilitasproses • Model sistembiasanyatidakterstruktur • Membutuhkankemampuankhusus (mis.: bahasapemrogramanuntuk rapid prototyping). • Pemakaian model pengembangan yang berevolusicocokuntuk: • Untuksisteminteraktif yang kecilataumenengah • Untuksalahsatubagiandarisistem yang besar (mis. User Interface) • Untuksistem yang digunakantidakterlalu lama (short lifetime).

  18. Pendekatanpengembangansistem Formal • Berbasiskan pada transformasi spesifikasi secara matematik melalui representasi yang berbeda untuk suatu program yang dapat dieksekusi, • Trasformasi menyatakan spesifikasi program • Menggunakan pendekatan ‘Cleanroom’ untuk pengembangan PL.

  19. Perbedaan FTR dengan waterfall: • Spesifikasi kebutuhan PL diperbaiki menjadi spesifikasi formal yang rinci, dinyatakan secara matematis • Proses pengembangan perancangan, implementasi, dan pengujian unit digantikan dengan pendekatan transformasional untuk menjadi program • Jarak transformasi notasi matematis ke program lebih kecil dibandingkan dengan jarak transformasi dari spesifikasi ke program • FTR tidak praktis untuk dikembangkan pada proyek berskala besar.

  20. PendekatanPengembangan Re-Usable • Pendekataninisangattergantungpadasejumlahkomponen PL yang re-usable, kadangkalamerupakan COTS (Commercial-Off The Shelf System). • Keuntungannya: mengurangibesarnya PL ygdikembangkan, sertamemperkecilbiayadanresiko.

  21. ProsesdenganIterasi • Dapat digunakan pada setiap model proses generic • Terdapat dua pendekatan: • Pengembangan Incremental : Pengembangan sistem berdasarkan model sistem yang dipecah sehingga model pengembangannya secara increment/bertahap • Model Spiral : Proses direpresentasikan sebagai model spiral (bukan berupa barisan aktfitas yang dapat ditrack mundur)

  22. Model Pengembangan Incremental • Customer mengidentifikasi kebutuhan, layanan yang hendak dilakukan sistem, yang paling penting dan kurang penting • Alokasi layanan pada setiap increment bergantung prioritas layanan. Layanan dengan prioritas tertinggi dikerjakan lebih dulu. • Setelah increment diidentifikasi, increment tersebut dikerjakan. Pada saat pengembangan, analisa kebutuhan untuk increment lanjutannya dapat dilakukan, tetapi untuk increment yang sedang dikembangkan tidak bisa. • Setelah increment dideliver ke pelanggan, pelanggan dapat melakukan percobaan dari increment tersebut untuk menentukan kebutuhan increment selanjutnya.

  23. Diusulkan oleh Mills (1980) sebagai cara untuk mengurangi pengerjaan ulang pada proses pengembangan dan memberi kesempatan pada pengguna untuk menunda keputusan rinci mereka sampai memperoleh pengalaman dengan sistem

  24. Keuntungan • Pelanggan tidak perlu menunggu sampai keseluruhan sistem selesai dikerjakan. Increment pertama menyelesaikan permasalahan mereka yang sangat kritis, shg aplikasi tsb dpt sgr digunakan. • Increment awal berupa prototype bisa membantu pelanggan memahami kebutuhan pada increment berikutnya, • Memiliki risiko lebih rendah terhadap keseluruhan pengembangan sistem, • Kemungkinan kecil bagi pelanggan untuk menemui kegagalan pada increment sistem yang paling penting.

  25. Model Pengembangan Spiral • Prosesdirepresentasikansebagai model spiral (bukanberupabarisanaktfitas yang dapatditrackmundur) • Setiap loop dalam model spiral menyatakanfaseproses, • Tidakterdapatfasetertentusepertispesifikasiatauperancangan, tetapi loop dalam spiral ditentukanpadaapa yang dibutuhkan • Dilakukanpertimbanganresikosecaraeksplisit. Contoh: Jika yang digunakandalampengembanganadalahbhspemrogramanygbaru, resikonya: kodebaris program tidakefisien, akibatnya: over budget dan over schedule

  26. Sektorpada model Spiral • MenentukanTujuan • Mengidentifikasikanspesifikasitujuansetiapfase • MenilaiResikodanPengurangannya • Dilakukananalisisrinciuntuksetiapresiko yang teridentifikasidanlangkah – langkahuntukmengurangiresikotsb. • Pengembangandanvalidasi • Setelahevaluasiresiko, langkahselanjutnyaadlmemilihmetodepengembangan (prototipeevolusioner, transformasi formal, waterfall) • Perencanaan • Project di review dandibuatrencanauntukfaseproyekselanjutnya

  27. Summary • Prosesperangkatlunak : • (WHAT?) serangkaianlangkah-langkah yang dapatdiprediksi, yang membantukitamembuatsebuah software berkualitastinggidanjelaswaktunya. • (WHO?)Software Engineer, manager dan customer • (WHY?)Untukmendapatkanstabilitas, kendalidanorganisasiterhadapaktifitaspembuatan software • Model ProsesGenerik (menggambarkanorganisasiprosesperangkatlunak) : Waterfall, Evolutionary Development, Formal Development, Re-usable Development • Model prosesIteratif (menggambarkanproses PL sebagaisikluskegiatan) : Incremental dan Spiral

  28. Latihan • Sarankan (dan berikan penjelasan yang rinci) model proses generik yang paling sesuai yang dapat dipakai sebagai dasar pengembangan manajemen pengembangan sistem : • Sistem akutansi universitas yang menggantikan sistem yang ada • Sistem untuk mengontrol pengereman pada mobil. • Jelaskan permasalahan yang sering muncul pada evolutionary development • Jelaskan bagaimana metode waterfall dan metode pengembangan formal dapat diakomodasi pada model proses spiral

More Related