Pendekatan-pendekatan
terstruktur terhadap pengembangan perangkat lunak mencakup model, notasi,
aturan, saran pengembangan sistem (rekomendasi), dan panduan proses.
- Deskripsi model sistem adalah Deskripsi model yang harus dikembangkan dan notasi yang digunakan untuk mendefinisikan model-model ini.
- Aturan adalah Batasan yang berlaku bagi model sistem.
- Rekomendasi adalah Saran dalam membentuk perancangan yang baik.
- Panduan Proses adalah Aktifitas yang bisa diikuti untuk mengembangkan model sistem
- SDLC Model
Dalam perkembangan Rekayasa Perangkat Lunak banyak berbagai model yang digunakan untuk membantu dalam pengembangan perangkat lunak (software). Pada umumnya model-model tersebut berpatokan pada model proses pengembangan system yang disebut SDLC (System Development Live Cycle).
System Development Live Cycle (SDLC) sendiri terdiri dari beberapa tahapan yaitu :
- Identifikasi dan Pemilihan Proyek : semakin jelas mengidentifikasi masalah akan memudahkan dalam penyelesainnya. Oleh karena itu identifikasi secara detail sangatlah penting baik dalam menyelesaikan masalah ataupun untuk kelanjutan tahapan selanjutnya.
- Inisiasi dan Perencanaan Proyek : permulaan / memulai melakukan perencanaan atas apa yang akan dilakukan pada tahap-tahap selanjutnya.
- Analisis Menganalisa : data-data / requirement yang sudah didapat dari tahap indentifikasi. Semakin jelas hasil identifikasi semakin mudah juga melakukan analisanya.
- Disain : selanjutnya membuat disain software yang akan dibuat setelah memperhatikan requirement dan hasil analisa.
- Implementasi : implementasi merupakan tahapan melakukan coding atau memulai sesungguhnya dalam pembuatan sebuah software, yang kemudian diikuti dengan testing.
- Perawatan / Maintenance : setelah software jadi pun tidak serta merta selesai begitu saja, harus dilakukan perawatan jika nantinya masih terdapat bugs didalamnya harus diperbaiki.
- Waterfall Model
Model ini merupakan model yang dianggap kuno dan disebut juga sebagai “classic life cycle”. Tetapi model ini paling banyak digunakan dalam Software Engineering. Disebut dengan waterfall karena tahap yang pertama harus dilalui dan diselesaikan terlebih dahulu untuk dapat melanjutkan ke tahapan selanjutnya. Tahapan yang harus dilalui dalam model waterfall ini dapat dilihat pada gambar dibawah ini.
Model ini menggunakan pendekatan secara sistematis dan urut mulai dari level :
- Communication : yang berisi project initiation dan pengumpulan kebutuhan
- Planning : yang berisi estimating, scheduling dan tracking
- Modeling : berisi analysis dan design
- Construction : berisi code/coding dan testing
- Deployment : berisi delivery, support, dan feedback
Kelebihan dari model Waterfall adalah :
- Mudah dalam pengaplikasiannya
- Ketika semua kebutuhan sistem dapat didefinisikan secara utuh dan benar sejak awal project, maka Software Engineering dapat berjalan dengan baik tanpa masalah.
- Walaupun dalam pengumpulan kebutuhan tidak selalu dapat didefinisikan secara utuh seperti yang diinginkan akan tetapi masalah yang timbul saat pengumpulan kebutuhan sistem ketika awal project tidak mengeluarkan biaya yang besar baik uang, waktu dan usaha.
Kekurangan dari model Waterfall adalah :
- Karena pendekatan yang dilakukan secara urut / sequential, maka ketika suatu tahap terhambat maka tahap berikutnya tidak dapat dikerjakan dengan baik
- Ketika ada masalah, maka proses harus dihentikan dan harus dicari apa dan dari mana masalahnya berasal beserta solusinya terlebih dahulu karena tidak dapat melanjutkan ketahap berikutnya. Dan apabila masalah tersebut berasal dari tahapan sebelumnya maka proses harus membenarkan dulu tahap sebelumnya yang tentu saja membuang waktu pengerjaan Software Engineering
- Pengerjaan model ini terbilang sangat lama karena prosesnya dapat berlanjut ke tahap selanjutnya jika tahap sebelumnya sudah selesai(tidak dapat dikerjakan secara bersamaan)
- Pada setiap tahap proses dibutuhkan pekerja sesuai spesialisasinya masing-masing. Sehingga jika suatu tahap sudah tidak dikerjakan maka pekerja juga tidak terpakai lagi. Maka pada model ini seringkali dibutuhkan orang yang multi-skilled agar dapat membantu tahap selanjutnya.
- Incremental Model
Kelebihan model Incremental adalah :
- Early increments dapat diimplementasikan dengan sedikit orang
- Jika produk inti dengan baik diterima, penambahan staff jika dibutuhkan dapat dilakukan untuk mengimplementasi increment selanjutnya
- Model ini dapat merencanakan untuk mengatur resiko technical.
- Membutuhkan biaya yang besar
- Membutuhkan waktu yang lama
- Apabila increment pertama gagal, maka increment berikutnya akan berantakan karena increment pertama merupakan inti dari produk
- RAD Model
Tahapan model RAD adalah sebagai berikut :
- Communication : memahami masalah dan informasi khusus yang harus cocok dengan software yang akan dibuat
- Planning : merupakan perencanaan yang penting untuk dilakukan karena beberapa software tim bekerja secara bersamaan / parallel pada fungsi sistem yang berbeda
- Modeling : berisi business modeling, data modeling, dan process modeling menjadi dasar komponen dari tahap konstruksi yang dikerjakan secara bersamaan oleh beberapa tim yang berbeda
- Construction : berisi penggunaan kembali komponen software yang telah ada, automatic code generation, dan melakukan testing
- Deployment : berisi integration, delivery, dan feedback
- Waktu pengerjaannya yang terbilang singkat yaitu kira-kira 60-90 hari
- RAD dalam prosesnya dapat menggunakan kembali komponen software maupun program yang sudah ada sebelumnya sehingga menghemat waktu dan lebih mudah
- Membutuhkan sumber daya manusia yang besar, untuk membentuk tim-tim
- Developers dan customers dituntut harus commit pada kecepatan aktivitas kerja untuk menyelesaikan sistem sesuai dengan frame time, jika tidak maka project RAD akan gagal
- Jika sistem tidak dapat dimodulkan dengan benar, maka dalam pembangunan komponen dari RAD akan bermasalah
- Jika performance hanya berfokus pada perbaikan interface dari komponen sistem, maka pendekatan RAD mungkin tidak bekerja
- Jika resiko terlalu tinggi maka model RAD bukanlah model yang tepat untuk digunakan
- Prototyping Model
- Communication : komunikasi antara developer dan customer mengenai tujuan pembuatan dari software, mengidentifikasi apakah kebutuhan diketahui
- Quick Plan : perancanaan cepat setelah terjalin komunikasi
- Modeling, Quick Design : segera membuat model, dan quick design fokus pada gambaran dari segi software apakah visible menurut customer
- Construction of Prototype : quick design menuntun pada pembuatan dari prototype
- Deployment, Delivery & Feedback : prototype yang dikirimkan kemudian dievaluasi oleh customer, feedback digunakan untuk menyaring kebutuhan untuk software
Kelebihan model Prototyping adalah :
- Tidak menghabiskan biaya besar apabila terdapat kekurangan terhadap produk yang telah dikirimkan, karena hanya berupa prototype yang sedang dicoba customer untuk mengetahui kekurangan mengenai prototype tersebut agar developer dapat memperbaiki kekurangan yang ada sehingga menghasilkan produk seperti yang diinginkan
- Customer hanya melihat pada versi kerjanya tanpa menyadari bahwa prototype dikerjakan bersama-sama, hal ini menyebabkan developer tidak memperhatikan kualitas ataupun jangka panjang pemeliharaannya
- Developer sering melakukan kompromi pada pengimplementasian agar prototype selesai dengan cepat
- Spiral Model
Spiral model adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki oleh model Prototyping dan digabungakan dengan aspek sistematis yang dikembangkan dengan model Waterfall. Tahap desain umumnya digunakan pada model Waterfall, sedangkan tahap Prototyping adalah suatu model dimana software dibuat prototype (incomplete model), “blue-print”-nya, atau contohnya dan ditunjukkan ke user / customer untuk mendapatkan feedback-nya. Jika prototype-nya sudah sesuai dengan keinginan user / customer, maka proses SE dilanjutkan dengan membuat produk sesungguhnya dengan menambah dan memperbaiki kekurangan dari prototype tadi.
Model ini digambarkan dengan bentuk spiral dimana didalamnya terdapat daerah yang disebut dengan region. Proses dimulai dari dalam atau pusat spiral yang berlanjut searah jarum jam menuju tahapan selanjutnya kemudian melebar seperti terlihat pada gambar dibawah ini.
Tahapan proses pada model Spiral sama dengan model-model lain yaitu :
- Communication
- Planning
- Modeling
- Construction
- Deployment
Kelebihan model Spiral adalah :
- Pendekatan dengan model ini sangat baik digunakan untuk pengembangan sistem software dengan skala besar, karena perkembangan dari Software Engineering dapat dipantau oleh kedua belah pihak baik developer maupun customer, sehingga mereka dapat mengerti dengan baik mengenai software ini begitu juga dengan resiko yang mungkin didapat pada setiap aktivitas yang dilakukan
- Karena merupakan gabungan dari model Waterfall dan Prototyping sehingga terdapat analisis resiko yang dilakukan maka resiko dapat direduksi sebelum menjadi suatu masalah yang besar yang dapat menghambat Software Engineering
- Dengan iterasi yang dilakukan pada model ini menyebabkan model ini lebih realistis untuk merefleksikan dunia nyata
- Sulit meyakinkan customer bahwa pendekatan evolutionary bisa dilakukan, khusus pada kontrak kerja
- Kemampuan untuk memperkirakan dan menanggulangi resiko yang datang sangat menentukan, sebab apabila resiko utama tidak dapat diatasi maka permasalahan akan muncul kembali tanpa diragukan lagi
- Concurrent Development Model
Kekurangan dari model ini adalah :
- Dimungkinkannya terjadi perubahan besar-besaran, maka akan membuat biaya dan waktu yang diperlukan membengkak
rajin banget
BalasHapuswkwkkw
banyak men
katan-katanya g ada yang lebih mudah ya?
Artikelnya bermanfaat kak, ini saya juga punya artikel tentang Model Proses Pada Rekayasa Perangkat Lunak, semoga bisa saling melengkapi
HapusKelebihan dan Kekurangan Model Proses Pada Rekayasa Perangkat Lunak - MARKIJAR.Com
soalnya rajin pangkal kaya :D wkwkwkwk
BalasHapussepertinya saya sudah membuat kata-kata yang mudah untuk dipahami, tapi atas masukannya trimakasih :)
tks bro izin copas utk modul kuliah ya pliz
BalasHapusterimakasih, tuisannya sangat bermanfaat
BalasHapusMy blog
tulisan bermanfaat sekali terimakasih
BalasHapusMy Blog