1 / 77

Proses Perangkat Lunak

Proses Perangkat Lunak. Rekayasa Perangkat Lunak Materi ke 2 Muhammad Rachmadi , S.T., M.T.I. Rekayasa Perangkat Lunak. K ita telah menetapkan ranah per masalah an - perangkat lunak berskala industri

inoke
Download Presentation

Proses Perangkat Lunak

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. Proses Perangkat Lunak RekayasaPerangkatLunak Materike 2 Muhammad Rachmadi, S.T., M.T.I

  2. Rekayasa Perangkat Lunak • Kitatelah menetapkan ranah permasalahan - perangkat lunak berskalaindustri • Selain menghasilkanperangkat lunak, biaya, mutu, dan jadwal jugamerupakanpenggerakpengembangan • RPL didefinisikan sebagai pendekatan sistematis untuk pengembangan perangkat lunak(berskalaindustri)

  3. Proses, Orang, Teknologi • M& P (mutu & prooduktivitas) adalah tujuan yang penting • M & P tergantung pada orang, proses, dan teknologi • Proses membantu orang menjadi lebih produktif dan membuat kesalahan lebih sedikit • Alat membantu orang menjalankan beberapa tugas dalam proses lebih efisien dan efektif • Jadi, proses membentuk inti

  4. Proses Perangkat Lunak • Proses berbeda dari produk - produk hasil dari melaksanakan proses pada proyek • RPLberfokus pada proses • Dasarnya: proses yang tepat akan membantu mencapai tujuan proyek dengan M&P yang tinggi

  5. Masalah Pengembangan Perangkat Lunak

  6. Proyek dan Proses • Sebuah proyek perangkat lunak adalah salah satu contoh dari masalah pengembangan • Proses Pengembangan membawaproyek dari kebutuhan pengguna ke perangkat lunak • Ada tujuan-tujuan lain yaitu jadwal, biaya,dan mutu, selain menghasilkanperangkat lunak • Butuh proses lainnya

  7. Proses Perangkat Lunak ... • Proses: Urutan langkah-langkah dilakukan untuk mencapai tujuan tertentu • Proses Perangkat Lunak: Urutan langkah-langkah yang dilakukan untuk memproduksi perangkat lunak dengan mutu yang tinggi, dalam anggaran dan jadwaltertentu • Banyak jenis kegiatan yang dilakukan oleh orang-orang ygberbedadalam sebuah proyek perangkat lunak • Lebih baik untuk melihat proses PL sebagai proses yang terdiri dari banyakkomponen

  8. Komponen Perangkat Lunak Proses • Dua proses utama • Pengembangan - berfokus pada pengembangan dan langkah-langkah mutu yang diperlukan untuk rekayasawanperangkat lunak • Manajemen Proyek - berfokus pada perencanaan dan pengendalian proses pengembangan • Proses pengembangan merupakan jantung dari proses perangkat lunak; proses-proses lain beradadi sekitarnya • Ini dijalankan oleh orang yang berbeda • pengembang mengeksekusi prosesrekayasa • manajer proyek mengeksekusi proses manajemen

  9. Komponen Proses ... • Proses lain • Proses manajemen konfigurasi: mengelola evolusi artefak • Proses manajemen perubahan: bagaimana perubahan yang dimasukkan • Proses manajemen proses: manajemen proses itu sendiri • Proses Inspeksi: Bagaimana inspeksi dilakukan pada artefak

  10. Proses Spesifikasi • Proses umumnya satu set fase • Setiap fase melakukan tugas yang didefinisikan dengan baik dan umumnya menghasilkan keluaran • Keluaranantara- produk kerja • Pada tingkat atas, biasanya beberapa fase dalam proses • Cara melakukan fase tertentu – menggunakanmetodologi

  11. SpesifikasiETVX • Pendekatan ETVX untuk menentukan langkah • Kriteria masuk: kondisi apa yang harus dipenuhi untuk memulai fase ini • Tugas: apa yang harus dilakukan dalam fase ini • Verifikasi: pemeriksaan dilakukan pada keluarandari tahap ini • Kriteria keluar: kapan bisa fase ini dianggap diselesaikandengan sukses • Suatu fase juga menghasilkan informasi untuk manajemen

  12. Pendekatan ETVX

  13. Proses Pengembangan dan Model Proses

  14. Proyek Perangkat Lunak • Proyek - untuk membangun sebuah sistem PL dalam biaya dan jadwal dan dengan mutu tinggi yang memuaskan pelanggan • Proses yang cocok diperlukan untuk mencapai tujuan • Proses seharusnya tidak hanya membantu menghasilkan perangkat lunak tetapi membantu mencapai M&P yang tertinggi

  15. Proses Proyek dan Model Proses • Proses proyek yang harus diikuti ditentukan dalam perencanaan • Sebuah model proses menentukan proses umum yang optimal untuk suatukelas masalah • Sebuah proyek dapat memilih proses dengan menggunakan salah satu model proses

  16. Proses Pengembangan • Satu set fase dan setiap fase berupaurutan langkah • Urutan langkah-langkah untuk fase - fase adalahmetodologi untuk itu • Mengapa memilikifase-fase: • Untuk menggunakan pendekatan ‘bagi-bagidan taklukkan’ • setiap fase menangani bagian yang berbeda dari masalah • membantu dalam validasi berkelanjutan

  17. Proses Pengembangan • Umumnya memiliki kegiatan: analisis kebutuhan, arsitektur, perancangan, pemrograman, pengujian, penyerahan • Model yang berbeda melakukan fase-fasetersebutdengan cara yang berbeda

  18. ModelProses • Sebuah model proses menentukan proses umum, biasanya sebagai satu set daritahap-tahappekerjaan. • Model ini akan cocok untuk kelas proyektertentu • Jadi,model menyediakan struktur generik dari proses yang dapat diikuti oleh beberapa proyek untuk mencapai tujuannya

  19. Model Waterfall • Urutan linear tahap/fase • Kebutuhan – Rancangan Tingkat Tinggi – Rancangan Rinci - Pemrograman- Pengujian – Penyerahan • Suatufase dimulai hanya ketika fasesebelumnya telah selesai; tidak ada umpan balik • Fase membagiproyek, masing-masing menangani masalah yang terpisah

  20. Waterfall... • Urutan linear menyiratkan setiap tahap harus memiliki beberapa keluaran • Keluaranharus divalidasi/diverivikasi • Keluarandari fase sebelumnya: produk kerja • Keluaranumum dari waterfall: SRS, rencana proyek, dokumenrancangan, rencana dan laporanpengujian, kode akhir, dokumen pendukung

  21. Keunggulan Waterfall • Secara konseptual sederhana, membagi masalah ke dalam tahap yang berbeda yang dapat dilakukan secara independen • Pendekatan alamiuntuk pemecahan masalah • Mudah untuk mengelola dalam kontrak - setiap fase adalah milestone

  22. Kelemahan Waterfall • Menganggap bahwa kebutuhan dapat ditetapkan dan dibekukandiawal • Menetapkanperangkatkerasdan teknologi lainnya terlalu dini • Mengikuti pendekatan "big bang" – “all or nothing delivery”; terlalu berisiko • Sangat berorientasi dokumen, membutuhkan dokumen pada akhir setiap tahap

  23. Penggunaan Waterfall • Penggunaan Waterfall • Telah digunakan secara luas • Cocok untuk proyek-proyek di mana kebutuhan dapat dipahami dengan mudah dan keputusan teknologi yang mudah • Untuk proyek yang sudah dikenal mungkinini yang paling optimal

  24. Purwarupa • Purwarupamengatasiketerbatasanspesifikasi kebutuhanwaterfall • Sebagaigantipembekuan kebutuhanhanya dengan diskusi, purwarupadibangun untuk memahami kebutuhan • Membantu meringankan risiko kebutuhan • Sebuah model waterfallkecil menggantikan tahap kebutuhan

  25. Purwarupa

  26. Purwarupa • Pengembangan purwarupa • Mulai dengan kebutuhan awal • Hanya fitur kunci yang perlu pemahaman yang lebih baik yang termasuk dalam purwarupa • Tidak ada gunanya memasukkanfitur-fitur yang dipahami dengan baik • Umpan balik dari pengguna diambil untuk meningkatkan pemahaman dari kebutuhan

  27. Purwarupa • Biaya dapat ditekan serendahmungkin • Hanya membangun fitur yang memerlukan klarifikasi • "cepat dan kotor" - mutu tidak penting, skrip dll dapat digunakan • Hal-hal seperti penanganan eksepsi, pemulihan, danstandar dihilangkan • Biaya bisabeberapa% sajadari total • Belajar dalam membangun purwarupaakan membantu dalam pengembangan, selain kebutuhan yang ditingkatkan

  28. Purwarupa • Keunggulan: kebutuhanakan lebih stabil, kebutuhandibekukankemudian, pengalaman membantu dalam pengembangan utama • Kelemahan: berpotensi meningkatkanbiaya dan jadwal • Penerapan: Ketika kebutuhansulit untuk diperoleh dan keyakinan dalam kebutuhanrendah; yaitu di mana kebutuhantidak dipahami dengan baik

  29. Pengembangan Iteratif • Mengatasimasalah"semua atau tidaksamasekali" yang merupakan kelemahan dari model waterfall • Menggabungkan manfaat purwarupadan waterfall • Mengembangkan dan menyediakan perangkat lunak secara bertahap • Setiap peningkatanmerupakanbagian yang lengkap • Dapat dilihat sebagai waterfall ygberurutan • Umpan balik dari satu iterasi yang digunakan dalam iterasi yang berikutnya

  30. Peningkatan Iteratif

  31. Iteratif… • Setiapiterasihampirselaludiikuti produk yang dihasilkan • Digunakan umumnya dalam pengembangancustomjuga • Bisnis ingin respon cepat untuk PL • Tidak dapat menghadapirisiko “semua atautidaksamasekali” • Pendekatan baru seperti XP, Agile, ... semua bergantung pada pengembangan iteratif

  32. Iteratif… • Keunggulan: Mendapatkansesuai yang dibayar, umpan balik untuk perbaikan • Kelemahan: Arsitektur/rancanganmungkin tidak optimal, pengerjaan ulang dapat meningkat, total biaya mungkin lebihbesar • Penerapan: di mana waktu respon sangat penting, risiko proyek yang lama tidak dapat diambil, semua kebutuhantidak diketahui

  33. Bentuk lain Iteratif • Iterasi pertama membuatkebutuhan dan arsitektur dengan cara waterfall • Pengembangan dan penyerahandilakukan secara bertahap dalam iterasi

  34. Bentuk lain dari Iterasi ...

  35. Timeboxing • Iteratif adalah urutan linier dari iterasi • Setiap iterasi adalah waterfall mini - menentukan spesifikasi, kemudianrencana iterasi • Timeboxing– menetapkandurasi iterasi, kemudian menentukan spesifikasi • Membagi iterasi dalam beberapa tahap yang sama • Menggunakan konsep pipelining untuk mengeksekusi iterasi secara paralel

  36. Iterasi Time Boxed • Pengembangan iteratif umum – menetapkanfungsi untuk setiap iterasi, kemudian merencanakan dan jalankan • Pada iterasi kotak waktu – menetapkandurasi iterasi dan menyesuaikan fungsi yang akandimasukkan • Waktu penyelesaiannya tetap, fungsi yang akan disampaikan fleksibel

  37. Iterasi Time Boxed • Hal ini sendiri sangat berguna dalam banyak situasi • Waktu pengiriman dapatdiprediksi • Rilis produk secara keseluruhan dan pemasaran dapat lebih terencana • Membuat parameter waktu tidak bisa ditawar dan membantu memfokuskan perhatian pada jadwal • Mencegah penggelembungan kebutuhan • Waktu pengembangan secara keseluruhan masih tidak berubah

  38. Timeboxing • Bagaimana jika kita memiliki beberapa iterasi yang dieksekusi secara paralel • Dapat mengurangi waktu penyelesaian rata-rata dengan memanfaatkan paralelisme • Untuk eksekusi paralel, dapat meminjam konsep-konsep pipelining dari perangkatkeras • Hal ini menghasilkanModel Proses Timeboxing

  39. Model Timeboxing • Dasar • Pengembangan dilakukan secara iteratif dalam kotak waktu berdurasi tetap • Setiap kotak waktu dibagi dalam tahap yang tetap • Setiap tahap melakukan tugas yang jelas yang dapat dilakukan secara mandiri • Setiap tahap kira-kira sama dalam haldurasi • Ada sebuah tim khusus untuk setiap tahap • Ketika tim satu tahap selesai, timitu menyerahkan proyek kepada tim berikutnya

  40. Timeboxing… • Dengan kotak waktu jenisini, dapat menggunakan pipelining untuk mengurangi waktu siklus • Seperti pipelining perangkatkeras– memandangiterasi sebagaisatuinstruksi • Sebagai tahap memilikitimkhusus, eksekusi simultan dari iterasi yang berbeda adalah memungkinkan

  41. Contoh • Sebuah iterasi dengan tiga tahap – (A)nalisis, (B)angun, (S)erahkan • Tahap-tahap ini lebihkurangsama dalam banyak situasi • Dapat menyesuaikan durasidengan menentukan batasyang sesuai • Dapat menyesuaikan durasi dengan menyesuaikan ukuran tim untuk setiap tahap • Memiliki tim terpisah untuk masing-masingtahap

  42. Eksekusi Pipelined • Tim Amulai menjalankaniterasi 1 • Tim A selesai, menyerahkaniterasi1 ke Tim B, danmulai menjalankan iterasi2 • Tim A menyelesaikaniterasi2, menyerahkanke Tim B, Tim B menyelesaikaniterasi1, menyerahkanke Tim S, Tim A memulai iterasi 3, Tim B mulai iterasi2 (dan Tim S, iterasi1) • ...

  43. Eksekusi Timeboxing

  44. eksekusi Timeboxing • Iterasi pertama selesai pada waktu T • Kedua selesai pada T + T / 3; ketiga pada T +2 T / 3, dan seterusnya • Dalam keadaanstabil, pengiriman setiap T / 3 waktu • Jika T adalah 3 minggu, pengiriman pertama setelah 3 minggu, 2 setelah 4 minggu, 3 setelah 5 minggu, ... • Dalam pelaksanaan linier, waktu pengiriman akan 3 minggu, 6 minggu, 9 minggu, ...

  45. Eksekusi • Jangka waktu iterasi masing-masing masih sama • Jumlah pekerjaan dilakukan dalam kotak waktu juga sama • Produktivitas dari kotak waktu sama • Namun, waktu siklus rata-rata atau waktu pengiriman telah dikurangi menjadi sepertiga

  46. UkuranTim • Dalam pelaksanaan linear dari iterasi, tim yang sama melakukan semua tahap • Jika setiap tahap memiliki tim dari S, dalam pelaksanaan linear ukuran tim adalah S • Dalam pelaksanaan pipelined, ukuran tim adalah tiga kali (satu timuntuk setiap tahap) • Tapi,ukuran total dalam tim timeboxing lebih besar, dan ini mengurangi waktu siklus

  47. UkuranTim • Hanya dengan meningkatkan ukuran tim kita tidak bisa mengurangi waktu siklus - Hukum Brook • Timeboxingmemungkinkan cara yang terstruktur untuk menambah tenaga kerja untuk mengurangi waktu siklus • Perhatikan bahwa kita tidak dapat mengubah waktu iterasi - Hukum Brook masih berlaku • Alokasi pekerjaan yang berbeda untuk memungkinkan tim yang lebih besar untuk berfungsi dengan baik

  48. Alokasi Kerja Tim

  49. Timeboxing… • Keunggulan: waktu pengiriman lebih pendek, mendapatkanjugakeuntunganlain daripendekataniteratif, distribusi eksekusi • Kelemahan: tim besar, manajemenproyeklebih sulit, sinkronisasi tinggi diperlukan, manajemenkonfigurasisulit • Penerapan:Ketika waktu pengiriman yang singkat sangatpenting; arsitektur stabil; fleksibilitas dalam pengelompokan fitur

More Related