Kelebihan dan Kekurangan Model Proses Pada Rekayasa Perangkat Lunak
Prespective model adalah model proses dasar yang dipakai seperti dengan aturan-aturan yang ditentukan
agar dapat menghindari kesalahan dalam jadwal kegiatan kerja. atau Prespective model bisa juga disebut sebagai cara sistematis atau cara yang didefinisikan secara jelas untuk mencapai tujuan akhir, Juga merupakan sebuah system tata tertib dalam berpikir atau bertindak. Tetapi
pada kenyataannya bahwa setiap proyek memiliki keadaan, situasi, dan
kondisi yang berbeda dan akan sangat sulit jika hanya memiliki acuan
terhadap aturan - aturan yang ditentukan sebelum proyek mulai
dikerjakan.
Ada beberapa Prespective model yang banyak digunakan, diantaranya adalah:
Waterfall Model / Linear Sequential Model
Pertama kali diperkenalkan oleh Winston Royce tahun1970. Model ini merupakan model klasik yang sederhana dengan aliran system yang linear. Output dari setiap tahap menjadi input bagi tahap berikutnya. Model ini melibatkan SQA (Software Quality Assurance) dengan tahapan yang setiap tahapannya dilakukan ferivikasi dan testing. Waterfall model juga dikenal sebagai model yang melakukan pendekatan pada perkembangan perangkat lunak secara
seistematik dan sekuensial. Yang artinya kegiatan pada model ini
dilakukan secara terurut berdasarkan panduan proses mulai dari
komunikasi kepada client atau pelanggan sampai dengan aktifitas sampai
pengorderan setelah masalah dipahami secara lengkap dan berjalan stabil
sampai selesai.
Kedua
fase-fase menggunakan nama yang berbeda pada tiap fasenya, tetapi pada
dasarnya inti dari kedua fase-fase tersebut adalah sama. Tahapan-tahapan
yang sering dijumpai adalah menurut refrensi dari Sommerville karena
lebih terperinci perbedaan pada tiap fasenya:
- Requirements definition
- System and software design
- Implementation and unit testing
- Integration and system testing
- Operation and maintenance
- Mudah diaplikasikan.
- Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan.
- Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
- Waterfall model bersifat kaku sehingga Penanganan perubahan pada saat proses sedang berlangsung menjadi lebih sulit.
- Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
- Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya.
- Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk.
- Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
- Semua kebutuhan sudah terefenisi sejak awal dan Software yang diberikan adalah versi terakhir dari setiap tahap.
Model V / V-Model
Bisa dikatakan model ini merupakan perluasan dari model waterfall. Disebut
sebagai perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam
model waterfall. Jika dalam model waterfall proses dijalankan secara
linear, maka dalam model V proses dilakukan bercabang. Dalam model V ini
digambarkan hubungan antara tahap pengembangan software dengan tahap
pengujiannya.
Kelebihan v model:
- V Model sangat fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan method dantool secara dinamik. Akibatnya sangat mudah untuk melakukan tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan sangat mudah untuk menambahkan method dan tool baru atau menghilangkan method dan tool yang dianggap sudah obsolete.
- V Model dikembangkan dan di-maintain oleh publik. Userdari V Model berpartisipasi dalam change control boardyang memproses semua change request terhadap V Model.
Kekurangan v model:
- V Model adalah model yang project oriented sehingga hanya bisa digunakan sekali dalam suatu proyek.
- V Model terlalu fleksibel dalam arti ada beberapa activitydalam V Model yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang termasuk dalamactivity tersebut dan apa yang tidak.
Incremental Model
Dalam
model Incremental ini proses pengerjaan perangkat lunak akan dilakukan
perbagian sehingga bagian selanjutnya akan dikerjakan setelah bagian
awal telah selesai dan selanjutnya sampai menghasilkan perangkat lunak
yang lengkap dengan semua fungsi yang diperlukan dan pengerjaan
perangkat lunak berakhir. Sebelum pengerjaan perangkat lunak akan
dilakukan perancangan arsitektur software sebagai kerangka dalam
pengerjaan perbagian.
Kelebihan incremental model:
- Resiko yang rendah pada pengembangan sistem.
- Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan pemakaian sistem yang paling di utamakan.
- Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).
- Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
- Mampu mengakomodasi perubahan kebutuhan customer.
- Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian.
- Memaksimalkan pengembalian modal investasi konsumen.
- Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
- Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
- Hanya cocok untuk proyek dengan skala kecil.
- kemungkinan tiap bagian tidak dapat diintegrasikan.
Prototyping Model
Protoyping
Model adalah model yang dapat diterapkan pada model apapun. Model ini
tidak memerlukan data yang lengkap dari sisi client dan banyaknya
keraguan dari pembuat software karena kondisi yang belum diketahui
(seberapa besar software, bagaimana sistem penerapannya). Model ini
tepat digunakan jika pihak client menginginkan prototype dari software
dalam waktu yang singkat. Dan prototype inilah yang akan menjadi acuan
dari client untuk memberikan data kebutuhan yang lebih lengkap pada
pembuat software (developer).
Kelebihan Prototyping model:
- Menghemat waktu pengembangan.
- Adanya komunikasi yang baik antara pengembang dan pelanggan.
- Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
- Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
- User dapat berpartisipasi aktif dalam pengembangan sistem.
- Punya kemampuan menangkap requirement secara konkret daripada secara abstrak.
- Untuk digunakan secara standalone.
- Digunakan untuk memperluas SDLC.
- Pada prototype tentu saja banyak kebutuhan yang tidak di tampilkan seluruhnya karena data yang dikumpulkan hanya sebagian.
- Prototype yang di setujui oleh client harus dikembangkan oleh developer tanpa ada data tambahan dari client dan software dari prototype harus memiliki fungsi yang lengkap.
- Banyak ketidak sesuaian pada bentuk prototype.
- Proses analisis dan perancangan terlalu singkat.
- Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
- Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.
- Mengesampingkan alternatif pemecahan masalah.
- Bisanya kurang fleksible dalam mengahadapi perubahan.
- Prototype yang dihasilkan tidak selamanya mudah dirubah.
- Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangja waktu lama.
- Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem.
- Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik.
Spiral Model
Spiral model diusulkan oleh Boehm pada tahun 1988 sebagai pendekatan alternative dari model waterfall. Model ini menggunakan fitur yang ada pada model waterfall dan prototype. Setiap tahapan model ini selalu dilakukan risk analisys dan verivikasi atau testing. Spiral model merupakan proses yang
pendekatannya bersifat realistis pada software besar karena proses dari
awal sampai proses pengiriman dan perbaikan dapat dipahami dengan baik
oleh clieent dan developer. Model ini mempunyai rangkaian kerja yang
iterasi (peningkatan pada model) awal yang berbentuk prototype dan
kemudian iterasi selanjutnya akan menjadi perkembangan dari model
sebelumnya. Model ini dapat terus digunakan meskipun software sudah
dikirimkan karena proses (siklus)dapat berputar lagi jika ada perubahan
pada software sampai tidak ada permintaan perupbahan pada software oleh
client.
Ada 6 pembagian proses pembuatan pada spiral model:
Kekurangan model Spiral:
Ada 6 pembagian proses pembuatan pada spiral model:
- Komunikasi Pelanggan.
- Perencanaan.
- Analisis resiko.
- Perekayasaan.
- Konstruksi dan Peluncuran.
- Evaluasi Client
- Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
- Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
- Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
- Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
- Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
- Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
- Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
Kekurangan model Spiral:
- Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
- Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
- Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
- Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
- Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.
Kesimpulan:
Dari beberapa Prespective model yang telah di jabarkan, saya beranggapan spiral model lah yang paling bagus, spiral model saya pilih mengingat banyaknya kelebihan pada model ini terutama karena Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer dan cocok untuk perangkat lunak sekala besar, meskipun model ini memiliki beberapa kekurangan tapi semua kekurangan tersebut dapat tertutupi dengan besarnya kelebihan yang dimilikinya, yang antara lain :- Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
- Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
- Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
- Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
- Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
- Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
- Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
Kelebihan Dan Kekurangan Model Proses Pada Rekayasa Perangkat Lunak
MARKIJAR : MARi KIta belaJAR
Ini sumbernya dari Pressman bukan ya?
BalasHapusiya kak
HapusArtikelnya bagus..bermanfaat buat skripsi saya ^_^
BalasHapusArtikelnya bagus..nambah ilmu ^_^
BalasHapusHalo terimakasih info nya bermanfaat sekali, tetapi saya mau nanya sumber nya ini darimana ya? Dari paper atau apakah?
BalasHapusSebagian besar mengacu pada buku Roger S. Pressman, tentunya dengan pengembangan dari sisi penjelasannya agar lebih mudah dipahami
Hapusmantap sekali min.. matur nuwun nggeh
BalasHapus