Software Process Model
Suatu proses model adalah suatu representasi abstrak suatu model Suatu proses model adalah suatu representasi abstrak suatu model. Proses model menampilkan suatu deskripsi suatu proses dari beberapa perspektif tertentu,
Aktifitas dalam SW Process 1. Spesifikasi – apa yang dilakukan sistem dan batasan pembangunan
Aktifitas dalam SW Process 2. Pembangunan – Produksi dari Sistem perangkat lunak
Aktifitas dalam SW Process 3. Validasi – Pemeriksaan apakah PL sesuai dengan pemesanan
Aktifitas dalam SW Process 4. Evolusi – Pengubahan PL sesuai dengan perubahan permintaan dan kebutuhab zaman.
Proses PL Proses PL merupakan aktifitas yang saling terkait (koheren) untuk menspesifikasikan, merancang, implementasi dan pengujian sistem perangkat lunak
Model Proses Perangkat Lunak
1. Waterfall Model Model ini adalah model klasik yang bersifat sistematis, berurutan dalam membangun software.
Karakteristik Waterfall Model 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.
Model Waterfall Menurut R Pressman
Model Waterfall Menurut I Soumenville
Fase-fase pd Waterfall Model
Kelemahan
2. Evolutionary Software Process Model
2 Pendekatan dalam Evolutionary Incremental Spiral
a. Incremental Approach Pengembangan sistem berdasarkan model sistem yang dipecah sehingga model pengembangannya secara increament/bertahap Kebutuhan pengguna diprioritaskan dan priritas tertinggi dimasukkan dalam awal increment Setelah pengembangan suatu increment dimulai, kebutuhan dibekukan dulu hingga increment berikutnya dimulai
Keterangan
Karakteristik
Keuntungan Nilai penggunan dapat ditentukan pada setiap increament sehingga fungsionalitas sistem disediakan lebih awal, Increment awal berupa prototype untuk membantu memahami kebutuhan pada increment berikutnya, Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem, Prioritas tertinggi pd pelayanan sistem adalah yang paling diuji. Keuntungan
b. Spiral Approach Proses direpresentasikan sebagai model spiral (bukan berupa barisan aktfitas yang dapat ditrack mundur) Setiap loop dalam model spiral menyatakan fase proses, Tidak terdapat fase tertentu seperti spesifikasi atau perancangan, tetapi loop dalam spiral ditentukan pada apa yang dibutuhkan
Keterangan Loop paling dalam berfokus pada kelayakan dari sistem, Loop selanjutnya tentang definisi dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya. Setiap Loop dibagi menjadi beberapa sektor
Sektor-sektor
Variasi Spiral
Keterangan
Karakteristik Pada model spiral, resiko sangat dipertimbangkan. Resiko adalah sesuatu yang mungkin mengakibatkan kesalahan. Model spiral merupakan pendekatan yang realistik untuk PL berskala besar. Pengguna dan pembangun bisa memahami dengan baik software yang dibangun karena setiap kemajuan yang dicapai selama proses dapat diamati dengan baik. Namun demikian, waktu yang cukup panjang mungkin bukan pilihan bagi pengguna, karena waktu yang lama sama dengan biaya yang lebih besar.
c. Rapid Application Development (RAD) RAD adalah model proses pembangunan PL yang incremental. RAD menekankan pada siklus pembangunan yang pendek/singkat. RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat dicapai dengan menerapkan component based construction. Waktu yang singkat adalah batasan yang penting untuk model ini. Jika kebutuhan lengkap dan jelas maka waktu yang dibutuhkan untuk menyelesaikan secara komplit software yang dibuat adalah misalnya 60 sampai 90 hari.
Kelemahan 1. tidak cocok untuk proyek skala besar 2. proyek bisa gagal karena waktu yang disepakati tidak dipenuhi 3. sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini 4. resiko teknis yang tinggi juga kurang cocok untuk model ini
Proses dalam RAD Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan dalam waktu yang hampir bersamaan dalam batasan waktu yang sudah ditentukan. 1. Business modelling : menjawab pertanyaan-pertanyaan: informasi apa yang mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang mengolah informasi? kebutuhan dari sistem 2. Data modelling: aliran informasi yang sudah didefinisikan, disusun menjadi sekumpulan objek data. Ditentukan karakteristik/atribut dan hubungan antar objek-objek tersebut analisis kebutuhan dan data 3. Process Modelling : objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untukmenjalankan fungsi-fungsi bisnis. 4. Application Generation: RAD menggunakan component program yang sudah ada atau membuat component yang bisa digunakan lagi, selama diperlukan. 5. Testing and Turnover: karena menggunakan component yang sudah ada, maka kebanyakan component sudah melalui uji atau testing. Namun component baru dan interface harus tetap diuji.
Summary Dari model-model di atas dan model-model yang akan dibahas kemudian, tidak ada satupun model yang cocok untuk semua jenis proyek pembuatan software. Penggunaan lebih dari satu model sangatlah dimungkinkan. Misalnya dalam model spiral dan model incremental dalam fase tertentu menggunakan model lain untuk mendapatkan hasil yang baik.