Kamis, 25 Oktober 2012

About Software Process Model

Pada kesempatan kali ini saya akan menjelaskan apa yang saya ketahui mengenai software process model / model pengembangan software. Dosen kami telah mengajarkan 5 model pengembangan software dengan cara memberikan tugas pada kelompok yang ada diamana masing masing kelompok membahasa model pengembangan software yang berbeda dan nantinya tugas akan dipresentasikan dengan metode stand yang pernah diberikan kepada kami.

Berikut beberapa model pengembangan software:

1. Waterfall Model
       
        Menurut saya waterfall model sendiri merupakan model pengembangan software yang mudah untuk dikerjakan, cocok untuk software dalam skala yang besar dan merupakan dasar dari semua pengembangan software yang lainnya, tetapi waterfall model ini memerlukan waktu yang cukup lama dalam membuat suatu software. Dalam pembuatan software yang mengunakan waterfall model, programer harus menyelesaikan satu tahapan terlebih dahulu sebelum melanjutkan ke tahapan selanjutnya (sequental) dimulai dari tahapan requirements analisis and definition, kemudian  system and software desing dilanjutkan ke tahap implementasi dan testing unit, lalu integrasi dan sistem testing, dan terakhir yaitu operation dan maintenance.

Kelebihan

  • Menghasilkan software dengan kualitas yang baik
  • Mudah digunakan
  • Cocok untuk pengembangan software dengan skala yang besar
  • Sangat terorganisir mengingat dalam waterfall model tahap dikerjakan satu demi satu
Kekurangan
  • Pengerjaan yang lama
  • Proses akan terhenti jika terjadi masalah pada salah satu tahapanya
  • Sulit beradaptasi dalam pengembanganya
  • Perincian proses harus jelas

2.Incremental Model

         
        Incremental model itu merupakan model pengembangan software yang dikembangkan dari waterfall model. Pada Incremental model ini mengunakan teknik penambahan sedikit demi sedikit, dimana dalam pengembangannya dibuat dahulu inti dari software (kebutuhan yang paling kritis/mendasar) yang akan dibuat dimana nantinya akan ditambahkan bagian bagian penunjang yang dinginkan oleh user, ada beberapa tahapan dalam pembuatan incremental model , yaitu analisis, desing, implement dan testing. Jika tahap analisis dan desing telah dikerjakan oleh kelompok incremental pertama maka kelompok incremental ke 2 dapat memulai analisis untuk menambahkan penunjang dari software utaman/inti, proses ini akan berjalan terus sampai software telah benar benar mantap maupun user telah puas.

Kelebihan
  • Penerapan yang fleksibel
  • Waktu pengerjaan yang cukup singkat
  • Software dapat digunakan apabila software utama telah selesai dikerjakan, tanpa harus menuggu bagian penunjangnya selesai
Kekurangan
  • Tidak cocok untuk pengembangan software dengan skala yang besar
  • Sulit untuk memetakan lebutuhan user kedalam rencana spesifikasi dari hasil tiap-tiap increment

3. Rapid Application Development Model (RAD)

        
        Yang saya ketahui dari RAD iyalah RAD merupakan model yang digunakan untuk mengembangkan software yang hanya memiliki waktu yang relatif singkat dimana RAD diadaptasi dari waterfall model yang dirasakan cukup lama dalam pengembanganya, maka dari itu pengembangan RAD memerlukan cukup banyak tim kerja yang menjalankan proses dalam waterfall model untuk bagian software yang terpisah, dimana nantinya bagian-bagian software tersebut akan disatukan sehingga memakan waktu yang singkat karena software dibuat degan cara bagian-bagian software dikerjakan oleh tim yang berbeda. ada 5 tahapan dalam RAD ini yaitu, business modeling, data modeling , proses modeling, aplikasi generasi, dan yang terakhir testing and turnover.

Kelebihan
  • Sangat berguna jika user tidak memahami kebutuhan apa saja yang diiginkanya
  • Mempunyai kemampuan untuk mengunakan kembali komponen yang ada, sehingga tidak perlu membuat dari awal lagi
  • Biaya lebih murah karenan mempunyai kemampuan untuk mengunakan komponen yang telah ada
  • Waktu yang singkat
Kekurangan
  • Memerlukan sumber daya manusia yang memadai agar kerja tim menjadi baik
  • Menuntut pengembangan dan user memiliki komitmen untuk melengkapi  sebuah sistem, jika tidak ada komitmen makan proyek RAD akan gagal
  • Tidak cocok untuk pengembangan software dengan skala besar

4.Spiral Model


        Spiral model itu diadaptasi dari pengabungan  waterfall model , prototyping dan incremental model dimana pada pengembagan dan tahapanya akan terus berulang jika user menginginkan pembaruan, mengadukan permasalahan maupun ada yang tidak sesuai dengan kebutuhan user, proses ini juga dikatakan revolusioner dimana dalam software yang dibuat akan terus diperbarui dan dilengkapi sehingga dari hari ke hari  softwarenya menjadi lebih sempurna, ada beberapa tahap dalam spiral model yaitu kominikasi, perencanaan, permodelan, konstruksi, penyerahan software.

Kelebihan 
  • Sangat fleksibel
  • Software yang dihasilkan akan terus berkembang demi memenuhi kebutuhan user
  • Software yang dihasilkan akan bertahan lama
  • Cocok untuk pengembangan software dengan skala besar
  • Membutuhkan pertimbangan langsung terhadap resiko teknis sehingga mengurangi resiko yang ada
Kekurangan
  • Memakan waktu yang lama karena terus berulang
  • Dalam menerapkan paradigma yang pasti dibutuhkan waktu yang lama
  • Programer akan sulit menyakinkan user bahwa  spiral model yang menerapkan sistem evolusioner  akan dapat dikontrol


5. Prototyping Model



        Saya belum banyak mengetahui tentang prototyping model ini tetapi saya akan menjelaskan yang saya ketahui, prototyping model sendiri merupakan proses pengembangan software dimana padal awal pembuatan software terlebih dahulu dibuat garis besar kebutuhan user dengan prototipe, dan akan dibuatkan softwarenya selanjutnya software akan diberikan kepada user untuk dites, tetapi jika user belum puas maka akan dibuatkan kembali samapi kebutuhan user terprnuhi/ puas karena tidak dapat di maintenance. Prototyping model sendiri memiliki tahap-tahap sebagai berikut, pengumpulan  kebutuhan, pembangunan prototyping, evalisasi prototyping, pengkodean sistem, evaluasi sistem dan terkahir mengunakan sistem.

Kelebihan

  • Melibatkan user dalam tahap analisis dan desing
  • Waktu yang dibutuhkan singkat/ menghemat waktu yang ada
Kekurangan
  • Tidak fleksibel 
  • Tahap-tahap pengembangan  yang relatif singkat membuat banyak terjadi kesalahan

Pada postingan saya mengenai software process model / model pengembangan software tentunya masih  banyak kekurangan yang ada , tetapi dalam pertemuan-pertemuan yang membahas software process model / model pengembangan software , inilah yang dapatkan

Yang ingin saya ketahui lebih lanjut yaitu mengenai prototyping model. Tunggu postingan berikutnya!.



0 komentar: