MODEL SDLC (SYSTEM DEVELOPMENT LIFE CYCLE)
1. Model Waterfall
Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini
sering disebut dengan “classic life cycle” atau model waterfall. Model
ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970
sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak
dipakai didalam Software Engineering (SE). Model ini melakukan
pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem
lalu menuju ke tahap analisis, desain, coding, testing / verification,
dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang
dilalui harus menunggu selesainya tahap sebelumnya dan berjalan
berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap
sebelumnya yaitu tahap requirement. Secara umum tahapan pada model
waterfall (menurut Ian Sommerville) dapat dilihat pada gambar berikut :
Gambar di atas adalah tahapan umum dari model proses ini menurut Ian Sommerville. Penjelasan dari tiap tahapan tersebut adalah :
1. Requirements analysis and definition: Di tahapan ini dilakukan Analisa kebutuhan
2. System and software design: Pada tahapan ini, desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lengkap.
3. Implementation and unit testing:
4. Desain program diterjemahkan ke dalam kode-kode dengan menggunakan
bahasa pemrograman yang sudah ditentukan. Program yang dibangun
langsung diuji baik secara unit.
5. Integration and system testing: Penyatuan unit-unit program kemudian diuji secara keseluruhan (system testing).
6. Operation and maintenance: Mengoperasikan program dilingkungannya
dan melakukan pemeliharaan, seperti penyesuaian atau perubahan karena
adaptasi dengan situasi sebenarnya.
2. Model Prototipe
Model
Prototipe adalah salah satu pendekatan dalam rekayasa perangkat lunak
yang secara langsung mendemontrasikan bagaimana sebuah perangkat lunak
atau komponen-komponen perangkat lunak akan bekerja dalam lingkungannya
sebelum tahapan kontruksi aktual dilakukan.
Prototyping tepat digunakan saat tidak didapati kepastian dimana
definisi user masih sangat bersifat umum serta tidak rinci sehingga
pengembang tidak tahu pasti mengenai :
• pilihan algoritma yang akan dipakai
• lingkungan sistem yang akan dipakai serta
• bentuk dan karakteristik antar muka pemakai.
Model prototype dimulai dengan pengumpulan kebutuhan. Pengembang dan pelanggan bertemu dan mendefinisikan obyektif keseluruhan dari perangkat lunak dan mengidentifikasi segala kebutuhan yang diketahui. Secara ideal prototipe berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Prototipe bisa menjadi paradigma yang efektif bagi rekayasa perangkat lunak. Kuncinya adalah mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang keduanya harus setuju bahwa prototipe dibangun untuk berfungsi sebagai mekanisme pendefinisian kebutuhan.
• pilihan algoritma yang akan dipakai
• lingkungan sistem yang akan dipakai serta
• bentuk dan karakteristik antar muka pemakai.
Model prototype dimulai dengan pengumpulan kebutuhan. Pengembang dan pelanggan bertemu dan mendefinisikan obyektif keseluruhan dari perangkat lunak dan mengidentifikasi segala kebutuhan yang diketahui. Secara ideal prototipe berfungsi sebagai sebuah mekanisme untuk mengidentifikasi kebutuhan perangkat lunak. Prototipe bisa menjadi paradigma yang efektif bagi rekayasa perangkat lunak. Kuncinya adalah mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang keduanya harus setuju bahwa prototipe dibangun untuk berfungsi sebagai mekanisme pendefinisian kebutuhan.
3. Model Spiral
Spiral model adalah salah satu bentuk evolusi yang menggunakan metode
iterasi natural yang dimiliki oleh model prototyping dan digabungkan
dengan aspek sistematis yang dikembangkan dengan model waterfall.
Model ini juga mengkombinasikan top-down design dengan bottom-up design, dimana top-down design menetapkan sistem global terlebih dahulu, baru diteruskan dengan detail sistemnya, sedangkan bottom-up design berlaku sebaliknya. Top-down design biasanya diaplikasikan pada model waterfall dengan sequential-nya, sedangkan bottom-up design biasanya diaplikasikan pada model prototyping dengan feedback yang diperoleh.
Dari 2 kombinasi tersebut, yaitu kombinasi antara desain dan prototyping, serta top-down dan bottom-up, yang juga diaplikasikan pada model waterfall dan prototype, maka spiral model ini dapat dikatakan sebagai model proses hasil kombinasi dari kedua model tersebut. Oleh karena itu, model ini biasanya dipakai untuk pembuatan software dengan skala besar dan kompleks.
Spiral model dibagi menjadi beberapa framework aktivitas. Berikut adalah aktivitas-aktivitas yang dilakukan dalam spiral model:
1. Customer communication. Aktivitas yang dibutuhkan untuk membangun komunikasi yang efektif antara developer dengan user / customer terutama mengenai kebutuhan dari customer.
2. Planning. Aktivitas perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan software.
3. Risk Analysis. Aktivitas analisis resiko ini dijalankan untuk menganalisis baik resiko secara teknikal maupun secara manajerial. Tahap inilah yang mungkin tidak ada pada model proses yang juga menggunakan metode iterasi, tetapi hanya dilakukan pada spiral model.
4. Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara teknikal.
5. Construction & Release. Aktivitas yang dibutuhkan untuk develop software, testing, instalasi dan penyediaan user / costumer support seperti training penggunaan software serta dokumentasi seperti buku manual penggunaan software.
6. Customer evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari user / customer berdasarkan evaluasi mereka selama representasi software pada tahap engineering maupun pada implementasi selama instalasi software pada tahap construction and release.
Model ini juga mengkombinasikan top-down design dengan bottom-up design, dimana top-down design menetapkan sistem global terlebih dahulu, baru diteruskan dengan detail sistemnya, sedangkan bottom-up design berlaku sebaliknya. Top-down design biasanya diaplikasikan pada model waterfall dengan sequential-nya, sedangkan bottom-up design biasanya diaplikasikan pada model prototyping dengan feedback yang diperoleh.
Dari 2 kombinasi tersebut, yaitu kombinasi antara desain dan prototyping, serta top-down dan bottom-up, yang juga diaplikasikan pada model waterfall dan prototype, maka spiral model ini dapat dikatakan sebagai model proses hasil kombinasi dari kedua model tersebut. Oleh karena itu, model ini biasanya dipakai untuk pembuatan software dengan skala besar dan kompleks.
Spiral model dibagi menjadi beberapa framework aktivitas. Berikut adalah aktivitas-aktivitas yang dilakukan dalam spiral model:
1. Customer communication. Aktivitas yang dibutuhkan untuk membangun komunikasi yang efektif antara developer dengan user / customer terutama mengenai kebutuhan dari customer.
2. Planning. Aktivitas perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan software.
3. Risk Analysis. Aktivitas analisis resiko ini dijalankan untuk menganalisis baik resiko secara teknikal maupun secara manajerial. Tahap inilah yang mungkin tidak ada pada model proses yang juga menggunakan metode iterasi, tetapi hanya dilakukan pada spiral model.
4. Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara teknikal.
5. Construction & Release. Aktivitas yang dibutuhkan untuk develop software, testing, instalasi dan penyediaan user / costumer support seperti training penggunaan software serta dokumentasi seperti buku manual penggunaan software.
6. Customer evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari user / customer berdasarkan evaluasi mereka selama representasi software pada tahap engineering maupun pada implementasi selama instalasi software pada tahap construction and release.
4. Model Rapid Application Development (RAD)
Model RAD merupakan adaptasi High-speed dari model waterfall yang
pengembangannya dilakukan dengan menggunakan pendekatan component-based.
Maksud dari component-based pada RAD ini adalah agar proses
pengerjaannya dapat dipercepat dengan cara membagi program menjadi
bagian-bagian terkecil yang tiap bagian tersebut ada tim tersendiri yang
bertanggung jawab.
Untuk proses skala besar, RAD Model membutuhkan SDM yang memadai untuk membentuk tim-tim yang diperlukan agar tahap pengerjaan berjalan dengan cepat. RAD Model ini tidak cocok dipakai pada pengerjaan proyek yang memiliki tingkat resiko teknikal yang tinggi. Hal ini bisa terjadi pada saat aplikasi baru menggunakan teknologi baru atau pada saat software yang baru memerlukan derajat kebergantungan yang tinggi terhadap program komputer yang sudah ada. RAD juga memerlukan pengembang dan pelanggan yang komitmen terhadap aktifitas yang ketat sesuai dengan time frame yang diberikan.
Untuk proses skala besar, RAD Model membutuhkan SDM yang memadai untuk membentuk tim-tim yang diperlukan agar tahap pengerjaan berjalan dengan cepat. RAD Model ini tidak cocok dipakai pada pengerjaan proyek yang memiliki tingkat resiko teknikal yang tinggi. Hal ini bisa terjadi pada saat aplikasi baru menggunakan teknologi baru atau pada saat software yang baru memerlukan derajat kebergantungan yang tinggi terhadap program komputer yang sudah ada. RAD juga memerlukan pengembang dan pelanggan yang komitmen terhadap aktifitas yang ketat sesuai dengan time frame yang diberikan.
5. Model Iteratif (Pengulangan)
Metode
yang merupakan pengembangan dari prototyping model dan digunakan ketika
requirement dari software akan terus berkembang dalam tahapan-tahapan
pengembangan aplikasi tersebut. Tentang requirement software dari
developer yang diterapkan pada tahap pertama iterasi, akan mendapatkan
tanggapan dari user ketika requirement menjadi jelas, tahapan iterasi
selanjutnya akan dilaksanakan.
Beberapa tipe dari iterative model di antaranya:
a. Spiral Model
Dikembangkan dari sifat iterative prototyping model dan sifat
linier waterfall model. Merupakan model yang ideal bagi software
yang memiliki bermacam jenis. dalam tiap iterasinya, proses software
development mengikuti tahap-tahap linier, dan dalam akhir tiap fasenya,
user mengevaluasi software tersebut dan memeberikan feed back. Proses
iterasi berlangsung terus dalam pengembangan software tersebut.
b. Win win Spiral Model
Merupakan ekstensi dari spiral model, tim pengembang dan
pelanggan akan melakukan diskusi dan negoisasi terhadap requirement-nya.
disebut win-win karena merupakan situasi kemengangan antara tim
pengembang dan pelanggan. Yang membedakan antara win-win spiral model
dan spiral model adalah setelah selesai mendapatkan feed back dari
pelanggan, tim pengembang aplikasi dan pelanggan akan kembali melakukan
negoisasi untuk perkembangan aplikasi tersebut.
c. Component Based Development Model
Menitik beratkan pada penggunaan kembali dari komponen-komponen yang
dibangun dalam sebuah aplikasi. komponen disini dapat berupa fungsi
tertentu atau sebuah kelompok yang berhubungan dengan fungsi tertentu.
DAFTAR PUSTAKA
Nurhidayati (2018). Macam Model Metode SDLC. [online]
http://www.nurhidayat.id/2018/09/macam-model-metode-sdlc.html
No comments:
Post a Comment