System Development Methodologies

Waterfall Development Methodology



Kelebihan
·         Proses-prosesnya mudah dipahami dan jelas
·         Mudah dalam pengelolaan proyek
-          Dokumen dihasilkan setiap akhir fase
-          Sebuah fase dijalankan setelah fase sebelumnya selesai
·         Struktur sistem jelas
·         Kondisi tepat SDLC Waterfall
-          Kebutuhan user telah sangat dipahami
-          Kemungkinan terjadinya perubahan kebutuhan user

Kekurangan
·         Proyek dunia nyata jarang mengikuti alur proses
·         Kesulitan jika terjadi perubahan kebutuhan
-          Waktu pengerjaan bertambah
-          Ada anggota tim yang harus menunggu pekerjaan pekerja lain
-          Kesabaran customer/klien
-          Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap desain sudah selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu yang lama.
·         Sulit bagi pelanggan untuk menentukan semua kebutuhan secara eksplisit
·         Kesalahan di awal tahap berakibat sangat fatal pada tahap berikutnya.

Parallel Development Methodology



Kelebihan
·        Beberapa fase dilakukan secara bersama-sama untuk mempersingkat waktu.,
·        Meminimalisasi kesempatan untuk dikerjakan ulang.

Kekurangan
·        Masih menggunakan dokument di kertas,
·        Menggabungkan subproyek memerlukan suatu keahlian yang khusus. Biasanya banyak terjadi kegagalan pada saat proses penggabungannya.

Phased Development Methodology



Kelebihan
·        user mendapatkan sistem lebih cepat
·        user bisa mengidentifikasi part-part yang masih dibutuhkan untuk ditambahkan dalam sistem selanjutnya
·         pembuat sistem bisa terus berinovasi sesuai dengan perkembangan teknologi dan kebutuhan user sesuai dengan waktu yang ditentukan
Kekurangan
·        User menjalankan/menggunakan sistem yang belum sempurna dan
·        Terjadi pengulangan. maksudnya pebuat sistem akan menganalisa ulang program yang sudah ada agar bisa dikombinasi dengan part sistem yang baru.

Prototyping Methodology



Kelebihan
·         User dapat berinteraksi dengan prototype dengan cepat.
·         User dapat mengenal perubahan kebutuhan & menyaring kebutuhan yg sesungguhnya.
Kekurangan
·         Cenderungan dilakukan analysis yang dangkal.
·         Keputusan paraf design yang buruk.
Design Prototyping Methodology



Kelebihan
  • Resiko semakin dikit
Tidak ada kerancuan pada sistemnya, karena telah dilakukan analisis berkali kali , dalam perancangannya klo masih rancu, maka diulang lagi ke tahap analisis isu-isu,
  • Penting lebih di mengerti sebelum pengembangan sistem dilakukan
Design prototype tidak langsung diimplementasikan pada program nantinya, karena masih masuk dalam tahap analisa, desain, lalu membuat produk kasar dilepaskan ke pasar. Pasar akan memberikan saran serta kritik buat pengembangan produk yang lebih baik.

Kekurangan
·        Desain prototype lebih lama daripada system prototype , karena selalu analisa ulang untuk menghasilkan produk yang sempurna sedangkan system prototype dia bisa langsung jadi program-nya meskipun masih minimal

Agile Development: Extreme Programming



Kelebihan
·        Hasil bisa didapat dalam waktu yang sangat cepat,
·        Bekerja lebih baik dalam projek dengan tidak ada perubahan yang tak tentu.

Kekurangan
·        Membutuhkan kedisiplinan tinggi,
·        Tepat hanya jika dilakukan di projek kecil,
·        Membutuhkan lebih banyak inputan dari pengguna
·        Kurang begitu baik diterapkan jika tingkat kerumitan sistem sangat tinggi.


Object-Oriented Approach



Kelebihan
·        Uniformity
Pengembang cukup menggunakan satu metodelogi dari tahap analisis hingga perancangan. Dengan adanya perkembangan ke arah aplikasi GUI (graphical User interface) , Object Oriented memungkinkan merancang user interface secara terintegrasi bersama dengan perancangan perangkat lunak sekaligus dengan perancangan basis data.
·        Understandability
Kode-kode yang dihasilkan dapat diorganisasi ke dalam kelas-kelas yang berhubungan dengan masalah sesungguhnya sehingga lebih mudah dipahami.
·        Stability
Kode program yang dihasilkan relatif stabil sebab mendekati permasalahan sesungguhnya dilapangan.
·        Reusability
Dimungkinkan penggunaan kembali kode-kode sehingga akan mempercepat waktu pengembangan perangkat lunak.


Kekurangan
·        Tidak memperbolehkan implementasi yang kuat pada reuse,
·        Properti software tidak terikat dalam satu unit fungsional, sehingga harus crosscut di antara komponennya dan
·        Crosscut tersebut mengakibatkan sulitnya pengembangan dan pemeliharaan.

No comments:

Post a Comment