Pengikut

Jumat, 24 November 2017

Perbedaan Beberapa Model Pengembangan Software



PERBEDAAN  BEBERAPA MODEL PENGEMBANGAN PERANGKAT LUNAK (Software)



Pada postingan kali ini, saya akan membahas tentang “Perbedaan beberapa model Pengembangan Perangkat Lunak (Software)”.  Sebelumnya, Apa itu Pengembangan Perangkat Lunak ( Software development) ?

Proses Pengembangan Perangkat Lunak (Software Development Process) adalah suatu penerapan struktur  untuk mengembangkan sistem serta memberikan panduan untuk menyukseskan proyek pengembangan sistem melalui tahapan-tahapan tertentu. Dalam prosesnya, terdapat beberapa paradigma model pengembangan sistem perangkat lunak, diantaranya :

1.Agile Software Development Methodology

         Agile Software Development Methodology adalah sekelompok metodologi pengembangan perangkat lunak   tentang bagaimana cara membangun sebuah model dalam sistem jangka pendek yang memerlukan adaptasi cepat   dari pengembang terhadap perubahan dalam bentuk apapun. Agile 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.

Ciri – ciri Agile Software Development Methodology :
  • Interaksi dan personel lebih penting daripada proses dan alat.
  • Perangkat lunak yang berfungsi lebih penting daripada dokumentasi yang lengkap.
  • Kolaborasi dengan klien lebih penting daripada negosiasi kontrak.
  • Respon terhadap perubahan lebih penting daripada mengikuti rencana.


Kelebihan dari Agile Modeling:
1.Meningkatkan kepuasan kepada klien
2.Pembangunan system dibuat lebih cepat
3.Menambah produktivitas tim
4.Menambah kualitas perangkat lunak
5.Menghemat biaya

Kelemahan dari Agile Modeling:
1.Developer  harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
2.Agile tidak akan berjalan dengan baik jika komitmen tim kurang.
3.Tidak cocok dalam skala tim yang besar (>20 orang).
4.Perkiraan waktu release dan harga perangkat lunak sulit ditentukan.


2.Rapid Application Development (RAD)





Rapid Aplication Development (RAD) adalah model proses pembangunan perangkat lunak yang tergolong   dalam teknik incremental (bertingkat). yang menekankan siklus perkembangan yang relatif pendek, singkat,   dan cepat (kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dimana   perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen dan metode iteratif   (berulang) dalam mengembangkan sistemnya.




Ciri – ciri Rapid Aplication Development (RAD) :
  • Pengembangannya pendek, singkat, dan cepat
  • memerlukan komitmen yang kuat antara pengembang dan pemesssan (klien)
Kelebihan Model RAD :
1.Lebih efektif dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan.
2.Cocok untuk proyek dengan skala besar dan memerlukan waktu yang singkat.
3.Model RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan  untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuatnya dari awal  lagi sehingga waktu pengembangan menjadi lebih singkat dan efisien.

Kekurangan Model RAD :
1.Model RAD memerlukan komitmen yang kuat dari pengembang dan klien untuk melengkapi sebuah sistem  di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.
2.Tidak semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan dengan teratur, pembangunan komponen penting pada RAD akan menjadi sangat bermasalah.
3.RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
4.Membutuhkan Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar.
5.Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang    dan pelanggan.
6.Biaya mahal


3.Dynamic System Development Methodology (DSDM)





Dynamic System Development Methodology (DSDM) adalah model pengembangan software yang mencakup       prinsip – prinsip pengembangan Agile.



 Ciri – ciri Dynamic System Development Methodology

  • Menyajikan kerangka kerja (framework)
  • Membangun software dengan cepat
  • Menerapkan Aktifitas Feasibility Study
  • Menerapkan Aktifitas Business Study
  • Menerapkan Aktifitas Functional model
  • Menerapkan Aktifitas Design and Built Iteration
  • Menerapkan Aktifitas Implementation
  • Bisa dikombinasikan dengan XP


Kelebihan Dynamic Software Development Method (DSDM):
1.Menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang    terbatas
2.Membangun software dengan cepat
3.DSDM dapat dikombinasikan dengan XP

Kelemahan Dynamic Software Development Method (DSDM):
1.Setiap iterasi bergantung pada prototype sebelumya
2.Menentukan scope dari suatu prototype proyek tidak pernah selesai
3.Dokumentasi sering kali tidak lengkap fokus pada pembuatan prototype
4.Isu-isu mengenai system backup and recovery, system performance dan system security kurang atau            tidak diperhatikan dan sering terlupakan


4.Extreme Programing Methodology (XP)



Extreme Programing Methodology (XP) adalah suatu model yang tergolong dalam pendekatan agile yang      diusulkan oleh Kent Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme Programming    (XP) is a lightweight, efficient, low-risk, flexible, predictable, scientific, and fun way to develop      software“.

Kelebihan Extreme Programming :
1.Meningkatkan kepuasan kepada client
2.Pembangunan system dibuat lebih cepat
3.Menjalin komunikasi yang baik dengan client.
4.Meningkatkan komunikasi dan sifat saling menghargai antar developer.


Kelemahan Extreme Programming:
1.Cerita-cerita yang menunjukkan requirements kemungkinan besar tidak lengkap sehingga Developer    harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
2.Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan    apa yang diperlukan hari itu juga).
3.XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan.


5.SCRUM Development Methodology



 Scrum adalah salah satu komponen dari metodologi pengembangan Agile yang menguraikan proses untuk     mengidentifikasi dan katalogisasi pekerjaan yang perlu dilakukan, memprioritaskan yang bekerja dengan     berkomunikasi dengan pelanggan atau wakil pelanggan, dan pelaksanaan yang bekerja menggunakan rilis     iterative dan memiliki tujuan utama untuk mendapatkan perkiraan berapa lama akan pembangunan. Scrum     merupakan suatu kerangka kerja. Jadi, bukannya menyediakan deskripsi rinci tentang bagaimana segala     sesuatu yang harus dilakukan pada proyek seperti diserahkan kepada tim pengembangan perangkat lunak pada     umumnya. Hal ini dilakukan supaya tim akan tahu bagaimana cara terbaik untuk memecahkan masalah yang     mereka sajikan. Ada 3 elemen organisasi utama pada scrum yaitu product owner, Scrum master, dan the Scrum    team.
Scrum  Development Methodology memiliki prinsip yaitu:
•Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan memberdayakan satu sama lain
•Proses menghasilkan beberapa software increment
•Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
•Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
•Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan

Kelebihan Scrum Development Methodology antara lain:
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 Scrum Development Methodology antara lain:
   • Developer  harus selalu siap dengan perubahan karena perubahan akan selalu diterima.







Tidak ada komentar:

Posting Komentar