Model Pengembangan Software



Model Pengembangan Software

Halo gan n sis !  ^_^ ,  kali ini saya akan menjelaskan tentang beberapa model pengembangan software. Diantaranya yaitu :
1.pengertian      
2. kelebihan
3.kekurangan/kelemahan

1.Agile Development Methods

Yang pertama saya bahas adalah  Agile Development Methods . apa sih itu Agile  Development Methods ?
Jadi , Agile  development  methods merupakan salah satu dari metodologi yang digunakan dalam pengembangan perangkat lunak. Agile memiliki pengertian bersifat cepat, ringan, bebas bergerak, dan waspada .  Sehingga saat membuat perangkat lunak dengan menggunakan agile development methods diperlukan inovasi dan responsibiliti yang baik antara tim pengembang dan klien agar kualitas dari perangkat lunak yang dihasilkan bagus dan kelincahan dari tim seimbang.
Kelebihan :
·        Meningkatkan kepuasan kepada klien
·        Pembangunan system dibuat lebih cepat
·        Mengurangi resiko kegagalan implementasi software dari segi non-teknis
·        Jika pada saat pembangunan system terjadi kegagalan,kerugian dar segi materi relative kecil.
Kelemahan :
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.

2. Rapid Application Development (RAD)

Rapid application development  (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan. Working model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem final.

Kelebihan :
  • Sangat berguna dilakukan pada kondisi user tidak memahami kebutuhan apa aja yang digunakan pada proses pengembangan perangkat lunak.
  • RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object) sehingga pengembang tidak perlu membuat dari awal lagi dan waktunya lebih singkat.
  • Karena mempunyai kemampuan untuk menggunakan komponen yang sudah ada dan waktu yang lebih singkat maka membuat biaya menjadi lebih rendah
Kelemahan :
  • Proyek yang berskala besar, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim yang baik.
  • RAD menuntut pengembang dan pelanggan memiliki komitmen dalam aktivitas rapid fire yang diperlukan untuk melengkapi sebuah sistem dalam waktu singkat. jika komitmen tersebut tidak ada maka proyek RAD akan gagal.

3. Dynamic System Development


2
merupakan pengembangan tahap lanjut dari metode Rapid Application Development (RAD) yang sangat menerapkan metode incremental dan iteratif. metode ini sangat ideal digunakan ketika suatu soware dituntut untuk sangat fokus dan mementingkan tampilan yang mudah dan aspek kegunaan yang baik dari produk tersebut

Kelebihan :

  • Menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan
  • Membangun soware dengan cepat
  • DSDM dapat dikombinasikan dengan XP menghasilkan kombinasi model proses yang mengikuti DSDM dan praktek yang sejalan dengan XP
Kelemahan :
  • Setiap iterasi bergantung pada prototype sebelumya
  • Menentukan scope dari suatu prototype proyek tidak pernah selesai
  • Dokumentasi sering kali tidak lengkap fokus pada pembuatan prototype
  • Isu-isu mengenai system backup and recovery, system performance dan system security kurang/tidak diperhatikan dan sering terlupakan

4. Extreme Programming


Extreme Programming adalah suatu model yang termasuk dalam pendekatan agile yang diperkenalkan oleh Kent Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming (XP) adalah metode pengembangan software yang cepat, efisien, beresiko rendah, fleksibel, terprediksi, scientific, dan menyenangkan.“. Model ini cenderung menggunakan pendekatan Object-Oriented. Tahapan-tahapan yang harus dilalui antara lain: Planning, Design, Coding, dan Testing.Sasaran Extreme Programming adalah tim yang dibentuk berukuran antara kecil sampai medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan untuk menghadapi requirements yang tidak jelas maupun terjadinya perubahan-perubahan requirements yang sangat cepat. Extreme Programming merupakan agile methods yang paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal.

Kelebihan :
1.    Meningkatkan kepuasan kepada klien
2.    Pembangunan system dibuat lebih cepat
3.    Menjalin komunikasi yang baik dengan client.
4.    Meningkatkan komunikasi dan sifat saling menghargai antar developer.
Kelemahan :
  • Cerita-cerita yang menunjukkan requirements kemungkinan besar tidak lengkap sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima. 
  • Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga).
  • XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user
.



5.Scrum Development
 
Metodologi Scrum termasuk ke dalam kumpulan metode Pengembangan Perangkat Lunak Agile (Agile Software Development). Pengembangan Perangkat Lunak Agile sendiri meliputi beberapa metode, di antaranya Extreme Programming (XP), Scrum, Dynamic Systems Development Methods (DSDM), dan Crystal. (Sutherland, 2014) Scrum adalah sebuah kerangka kerja untuk pengembangan secara inkremental dengan menggunakan satu atau lebih tim yang cross-functional dan self-organizing yang terdiri dari kurang lebih tujuh orang pada tiap-tiap tim. Scrum menggunakan iterasi tetap bernama Sprint, yang dijalankan dalam waktu dua minggu atau tiga puluh hari. Tim Scrum berusaha untuk membangun inkremen produk (perangkat lunak) yang siap digunakan dan telah diuji pada setiap proses iterasi ini. (James, 2012).

Kelebihan :
1.    Keperluan berubah dengan cepat
2.    Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan memberdayakan satu sama lain
3.    Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
4.    Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
5.    Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
Kelemahan :
Developerharus selalu siap dengan perubahan karena perubahan akan selalu diterima.


0 komentar:

Posting Komentar