Materi Software Process Lanjut
Software Process Software Process
Terdapat 2 type software process:
1. Plan-driven processes merupakan proses di
mana semua kegiatan proses yang direncanakan terlebih dahulu dan kemajuan diukur terhadap rencana ini
2. In agile processes merupakan perencanaan
tambahan dan lebih mudah untuk mengubah proses yang mencerminkan perubahan
Aliran Proses Parallel, Evolutionary Linier, Iterative, Proses secara aliran: Waterfall Model / Classic life cycle Dengan metodologi pengembangan berbasis waterfall: Proses berjalan berurutan dari satu tahap ke tahap berikutnya .
Dua kunci kunggulan metodologi pengembangan
berbasis waterfall adalah:- Persyaratan sistem diidentifikasi lama sebelum pemrograman dimulai
- Perubahan kebutuhan diminimalkan sebagai hasil
project
Waterfall Model / Classic life cycle Kunggulan metodologi pengembangan berbasis waterfall: Mudah untuk dipahami, mudah untuk digunakan Tahapan dipahami dengan baik Kontrol management baik Bekerja baik ketika kualitas lebih penting dari biaya atau jadwal
Pengidentifikasian system request yang lama sebelum memulai menuliskan kode (programming),
Waterfall Model / Classic life cycle
Kelemahan dari metodologi pengembangan waterfall:
- Semua kebutuhan harus diketahui di awal
- Waktu yang lama antara system proposal (produk dari planning) dan peyerahan sistem baru
- Design harus spesifik sebelum melakukan programming
- Kemungkinannya kecil bagi customer untuk dapat melihat preview sistem yang sedang dikerjakan
Waterfall Development-based Methodology
Varian Waterfall – V Model
Masalah Model Waterfall Sulit untuk merespon perubahan perubahan
kebutuhan customer. Oleh sebab itu, model ini
hanya sesuai bila kebutuhan dimengerti dengan
baik dan perubahan akan menjadi mudah selama proses perancanganIncrement Model
Incremental Model merupakan gabungan antara
- model linier sekuensial dan pararel Setiap linier sekuen menghasilkan produk yang
- deliverables (dapat dikirim) Increment pertama merupakan produk inti
- ( core), yang mengandung persyaratan / kebutuhan dasar Penambahan dilakukan pada increment-
- increment berikutnya
Increment Process Model
Prototyping
Prototyping
Metodologi berbasis prototipe melakukan fase
- analisis, desain dan implementasi bersamaan.
Semua tiga fase dilakukan berulang dalam siklus
- sampai sistem selesai. Sebuah prototipe adalah versi lebih kecil dari
- sistem dengan jumlah minimal fitur
Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition Prototyping-based Methodology Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition
Prototyping: Advantage Sangat cepat memberikan sistem bagi pengguna
- untuk berinteraksi (bahkan jika organisasi itu tidak siap/tidak memiliki gambaran) Prototyping meyakinkan klien bahwa tim proyek
- bekerja dengan baik (tidak ada penundaan yang lama dimana pengguna melihat kemajuan), Prototyping membantu lebih cepat memperbaiki
- persyaratan nyata (pengguna dapat berinteraksi dengan prototipe untuk lebih memahami apa yang bisa dan tidak bisa lakukan).
Prototyping: Disadvantage
Sistem rilis yang cepat memiliki tantangan untuk
- mencoba melakukan dengan hati-hati pada fase analisis. Seringkali prototipe mengalami perubahan yang
- signifikan sehingga banyak keputusan desain awal terbukti menjadi desain yg lemah
Throwaway Prototyping (1) Throw-Away prototyping menggunakan
- prototyping untuk tujuan yang berbeda dari prototyping sebelumnya Melakukan analisis secara menyeluruh, untuk
- mengumpulkan informasi & mengembangkan ide-ide untuk sebuah konsep sistem.
Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition Throwaway Prototyping (2) Masalah yang muncul diujicobakan atau
diselesaikan dengan menganalisa, mendesign,
& membangun sebuah prototype (yang dinamakan design prototype) Design prototype yang dibangun merupakan- fitur yang belum dipahami dengan jelas
Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition Throwaway Prototyping-based Methodology Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition
Model
Evolutionary process (pengembangan
- bertingkat) Menggabungkan keunggulan prototyping yang
- bersifat iteratif dan waterfall yang terkendali Memungkinkan dikembangkannya perangkat
- lunak secara bertahap ( incremental) dan cepat yang bergerak dari versi perangkat lunak yang kurang lengkap menjadi versi yang semakin lengkap
Model Keuntungan
Model Spiral merupakan pendekatan yang
- cukup realistis untuk diterapkan pada pengembangan system/perangkat lunak berskala besar
Perangkat Lunak bergerak semakin baik saat
- – proses bergerak maju, pengembang perangkat lunak dan pelanggan menjadi lebih memahami spesifikasi produk dan beraksi
Model Kerugian
Mengandalkan para expert untuk menilai
- resiko. Jika resiko tidak tersingkap dan tidak bisa dikelola dengan baik, permasalahan-permasalahan yang buruk sangat akan mungkin terjadi
Model
Dua fitur pembeda model Spiral
- dibandingkan dengan model lainnya:
Pertama: Pendekatan siklis untuk secara
- sedikit demi sedikit (inkremental) mengembangkan system/perangkat lunak yang semakin bertumbuh derajat definisi dan implementasinya dan bersamaan dengan itu mengurangi derajat resikonya.
Model
Dua fitur pembeda model Spiral
- dibandingkan dengan model lainnya:
Kedua: sejumlah titik dalam waktu
- pengembangan perangkat lunak
milestone
( ) yang digunakan untuk memastikan para stakeholder secara bersamaan menemukan solusi system/ perangkat lunak yang memuaskan semua
Model
An Agile View of Process
Dapat memberikan sistem yang sukses dengan
- cepat dengan menekankan komunikasi yang terus menerus dan kolaborasi diantara para pengembang dan pelanggan
Agile Development
Menggunakan sedikit aturan yang mudah untuk
- dipelajari dan diikuti Mengurangi banyak pemodelan dan
- dokumentasi Menekankan kesederhanaan (simple) dan
- pengembangan aplikasi yang iteratif (berulang) Contoh pengembangan ini:
- Extreme Programming (XP)
- – Scrum –
Extreme Programming (XP)
“Core Values” of XP1. Communication
2. Simplicity
3. Feedback
4. Courage ( Quality First, test and efficient
coding)
Extreme Programming (XP)
1. User Stories about system do
2. Code small program using defined
standards3. User Feedback
4. Repeat
Extreme Programming (XP)
Methodology
1. Clarity of User Requirements (Kejelasan
Kebutuhan Pengguna)
2. Familiarity with Technology (Kefamiliaran
dengan teknologi)
3. System Complexity (Kompleksitas Sistem)
4. System Reliability (Keandalan Sistem)
5. Short Time Schedules (Jadwal Pendek)
6. Schedule Visibility
Methodology Kejelasan Kebutuhan Pengguna
- RAD methodologies of prototyping
and throwaway prototyping biasanya lebih tepat bila kebutuhan pengguna tidak jelas karena mereka memberikan prototipe bagi pengguna untuk berinteraksi di awal SDLC
Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition Kefamiliaran Dengan Teknologi Jika sistem ini dirancang tanpa beberapa
- keakraban dengan basis teknologi, risiko meningkat karena alat mungkin tidak mampu melakukan apa yang dibutuhkan
Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition
Kompleksitas Sistem Sistem komplek membutuhkan kehati-hatian
- dan analisa desain yang detail
Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition
Copyright2006©John Wiley & Sons.Inc
Keandalan Sistem Keandalan sistem biasanya merupakan faktor
- penting dalam pengembangan sistem. Metodologi berbasis prototipe umumnya bukan
- pilihan yang baik karena mereka tidak memiliki fase analisis dan desain yang cermat
Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition
Copyright2006©John Wiley & Sons.Inc
Jadwal Waktu Pendek metodologi berbasis RAD sangat cocok untuk
- proyek-proyek dengan jadwal waktu yang
singkat karena mereka meningkatkan kecepatan.
metodologi berbasis waterfall adalah pilihan - terburuk ketika waktu adalah penting karena mereka tidak memungkinkan untuk perubahan jadwal dengan mudah
Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition Copyright2006©John Wiley & Sons.Inc
Schedule Visibility Metodologi berbasis RAD bergerak banyak
- keputusan desain kritis di awal proyek;
akibatnya, ini membantu manajer proyek
mengenali dan faktor risiko dan menjaga
harapan yang tinggi.
Power point Presentation for Dennis, Wixom, & Roth System Analysis and Design, 3rd Edition
Copyright2006©John Wiley & Sons.Inc Project Team Skills and Rules
- Proyek harus terdiri dari berbagai individu terampil dalam rangka untuk sistem untuk menjadi sukses.
- Enam keterampilan utama menetapkan seorang analis harus memiliki mencakup:
- – Technical – Business – Analytical – Interpersonal – Management
- – Ethical
Project Team Roles
Kasus - 1 PT. IndoSoftware (pihak-1) diminta membantu membuat
- website untuk Departemen Pariwisata (pihak-2). Secara umum, pihak-2 mengetahui informasi apa saja
yang harus ditampilkan pada website. Akan tetapi, bagaimana informasi tersebut ditampilkan, pihak-2 memerlukan bantuan dari pihak-1, termasuk didalamnya alur penyajian informasi dan bentuk serta media penyajian informasinya. Model proses apa yang paling tepat dipilih PT IndoSoftware ? Jelaskan alasan anda.
Kasus - 1
Pemilihan model yang tepat adalah
- Throwaway Prototyping karena klien
hanya tidak mengetahui bagaimana alur informasi ditampilkan, bentuk serta medianya jadi harus dibuatkan prototype- nya terlebih dahulu. Dan prototype tsb hanya sebagai desain untuk memuat apa yang belum dipahami klien.
Kasus 2 PT Sukses Makmur sudah lama menggunakan perangkat
- lunak yang membantu operasional perusahaan. Akan tetapi, karena perusahaan ingin berpindah dari
platform X ke platform Y, maka perangkat lunak versi baru perlu dibangun. PT Sukses Makmur meminta bantuan PT Software Solution untuk membuat perangkat lunak yang baru. Model proses apa yang paling tepat dipilih PT. Software Solution ? Jelaskan alasan anda.
Kasus 2
Pemilihan model yang tepat adalah
- Waterfall, karena perpindahan platform
tidak mensyaratkan analisa kebutuhan baru (kebutuhan jelas sudah dipahami dengan baik) kualitas lebih diutamakan daripada jadwal
Kasus 3 Sebuah proyek pembangunan perangkat lunak berskala
- besar akan segera dijalankan PT SysSoftware. PT SysSoftware adalah sebuah software company skala besar, sehingga memiliki cukup banyak tenaga ahli. Perangkat lunak yang akan dibangun terdiri dari
sembilan modul utama yang nantinya harus diintegrasikan. Sayangnya, meski perangkat lunak yang akan dibangun cukup besar, waktu yang tersedia terbatas. Model proses apa yang paling tepat dipilih PT SysSoftware ? Jelaskan alasan anda.
Kasus 3
Pemilihan model yang tepat adalah Spiral,
- karena projek memiliki skala besar dengan waktu terbatas namun perusahaan didukung oleh banyak tenaga ahli. Modul- modul yang sudah dipetakan dapat digunakan sebagai fokus pekerjaan yang iterative dalam mengembangkan perangkat lunak
Kasus 4 PT WebSolution adalah perusahaan pengembang software
- yang relatif baru berdiri. Anggota timnya pun masih
terbatas. Meskipun terbatas, setiap anggota adalah individu yang dapat diandalkan. PT ini mempunyai fokus pada pengembangan aplikasi berbasis web. Sebagian besar proyek yang ditangani harus selesai dalam waktu singkat. Karakteristik konten aplikasi yang sering sering berubah menuntut developer ini untuk terus menerus me-maintain aplikasi yang telah dibuatnya.
Menurut anda, model proses apa yang paling tepat dipilih?
Kasus 4
Pemilihan model yang tepat adalah
- Extreme Programming (XP) karena
kebutuhan yang sering berubah-ubah namun waktu yang diberikan sangat terbatas. Pekerjaan tidak melibatkan banyak orang namun masing-masing memiliki skil yang baik memungkinkan pekerjaan dapat dilakukan dengan cepat ( speed-up )