Ini adalah lanjutan dari tugas kuliah saya yang pertama. Untuk tugas kuliah
yang pertama saya dapat dilihat di Kelebihan dan Kekurangan Model Proses pada Rekayasa Perangkat Lunak
1. V-Shaped Model
V-Shaped Model sering disebut sebagai pengembangan dari teknik waterfall. V-Shaped Model untuk verifikasi dan validasi dan merupakan model standar yang bayak dipakai di negara-negara Eropa seperti standar untuk proyek pertahanan dan administrasi federal di Jerman.
a. Tahapan V-Shaped Model
Tahapan V-Shaped Model membentuk seperti huruf V sehingga urutan tahapannya ada yang sejajar tetapi berlangsung secara urut dan membentuk huruf V, berikut tahapan dari V-Shaped ModelI :
1) System Test Planning : Requirements yang setara dengan System Testing
2) Integration Test Planning : High Level Design yang setara dengan Integration Testing
3) Unit Test Planning : Low Level Design yang setara dengan Unit Testing
4) Implementation
b. Kelebihan V-Shaped Model
· Kemudahan penggunaannya
· Dilakukannya verifikasi dan validasi pada tahap-tahap awal pengembangannya, sehingga user dapat terlibat dalam pembuatannya
· Setiap output mampu di test pada tahap awal
· Mudah dimonitor karena memiliki milestones yang jelas
c. Kelemahan V-Shaped Model
· Tidak dapat digunakan untuk permasalahan yang terjadi secara bersamaan
· Tidak dapat digunakan untuk perubahan-perubahan besar dalam persyaratan
· Tidak bisa menganalisis resiko
d. Waktu Penggunaan
Model ini cocok digunakan pada sistem yang menuntut kehandalan tinggi, pada sistem yang semua persyaratannya diketahui, dan bisa dimodifikasi untuk menyesuaikan dengan perubahan setelah fase analisis, serta solusi dan teknologinya telah jelas diketahui.
2. Model Prototyping
Pendekatan prototyping model digunakan jika pemakai hanya mendefinisikan objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya, sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi, atau bentuk interaksi manusia-mesin yang harus diambil.
a. Tahan Model Prototyping
1) Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
2) Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output).
3) Evaluasi prototyping
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulang langkah 1, 2, dan 3.
4) Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.
5) Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain.
6) Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sesuai dengan yang diharapkan. Jika ya, langkah 7 dilakukan; jika tidak, mengulang langkah 4 dan 5.
7) Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
b. Kelebihan Model Prototyping
· 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
c. Kelemahan Model Prototyping
· Proses analisis dan perancangan terlalu singkat
· Biasanya kurang fleksible dalam mengahadapi perubahan
· 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
d. Waktu Penggunaan
Metode prototyping cocok digunakan untuk proyek yang membutuhkan waktu singkat dan user mengetahui bagaimana proses pembuatan proyek hingga cara menerapkan proyek tersebut karena antara pengembang dengan user terjalin komunikasi yang baik.
3. Fourth Generation Techniques (4GT)
Istilah generasi ke empat, mengarah ke perangkat lunak yang umum yaitu tiap pengembang perangkat lunak menentukan beberapa karakteristik perangkat lunak pada level tinggi.
a. Tahapan Fourth Generation Techniques (4GT)
1) Pengumpulan kebutuhan, idealnya pelanggan akan menjelaskan kebutuhan yang akan ditranslasikan ke prototype operasional
2) Translasi kebutuhan menjadi prototype operasional, atau langsung melakukan implementasi secara langsung dengan menggunakan bahasa generasi ke empat (4GL) jika aplikasi relatif kecil
3) Untuk aplikasi yang cukup besar, dibutuhkan strategi perancangan sistem walaupun 4GL akan digunakan
4) Pengujian
5) Membuat dokumentasi
6) Melaksanakan seluruh aktivitas untuk mengintegrasikan solusi-solusi yang membutuhkan paradigma rekayasa perangkat lunak lainnya
b. Kelebihan Fourth Generation Techniques (4GT)
· Pengurangan waktu dan peningkatan produktivitas secara besar
c. Kelemahan Fourth Generation Techniques (4GT)
· Kesulitan penggunaan perangkat bantu (tools) dibandingkan dengan bahasa pemrograman, dan juga kode sumber yang dihasilkannya tidak efisien
d. Waktu Penggunaan
Hanya digunakan untuk mengembangkan perangkat lunak yang menggunakan bentuk bahasa khusus atau notasi grafik yang diselesaikan dengan syarat yang dimengerti pemakai.
4. Agile Model
Agile Model adalah suatu metode konvensional untuk membangun berbagai jenis perangkat lunak dan berbagai macam tipe proyek pengembangan perangkat lunak, yang dapat melakukan pengiriman atau penyampaian hasil dari implementasi sistem melalui perangkat lunak dengan cepat.
a. Tahapan Agile Model
1) Perencanaan
2) Requirements analysis
3) Design
4) Coding
5) Testing
6) Dokumentasi
b. Kelebihan Agile Model
· Meningkatkan rasio kepuasan pelanggan
· Bisa melakukan review pelanggan mengenai software yang dibuat lebih awal
· Mengurangi resiko kegagalan implementasi software dari non-teknis
· Besar kerugian baik secara material atau imaterial tidak terlalu besar jiak terjadi kegagalan
c. Kelemahan Agile Model
· Dokumentasi harus cukup detail agar fase selanjutnya dapat berjalan dengan baik
d. Waktu Penggunaan
Metode Agile cocok untuk proyek yang memberikan kepuasan pelanggan karena resiko kegagalan yang kecil dan lebih cepat dalam penyelesaian software serta perubahan yang cepat dari software yang dibangun untuk meningkatkan kualitas software yang lebih baik.
5. Dynamic Software Development Method (DSDM)
Dynamic Software Development Method (DSDM) pada dasarnya merupakan suatu metodelogi pengembangan perangkat lunak yang didasarkan pada metodelogi RAD.
a. Tahapan Dynamic Software Development Method (DSDM)
1) Feasibility study
2) Business study – prioritized requirements
3) Functional model iteration
· Risk analysis
· Time-box plan
4) Design and build iteration
5) Implementation
b. Kelebihan Dynamic Software Development Method (DSDM)
· Menyajikan kerangka kerja (framework) untuk membangun dan memelihara sistem dalam waktu yang terbatas melalui penggunaan prototyping yang incremental dalam lingkungan yang terkondisikan
· Membangun software dengan cepat
· DSDM dapat dikombinasikan dengan XP menghasilkan kombinasi model proses yang mengikuti DSDM dan praktek yang sejalan dengan XP
c. Kelemahan Dynamic Software Development Method (DSDM)
· 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
d. Waktu Penggunaan
Dynamic Sofware Development Method (DSDM) cocok untuk proyek yang membutuhkan waktu singkat dan tidak memerlukan kinerja tinggi, ini karena DSDM berdasar pada model RAD.
6. Teknik Joint Application Development
Joint Application Development (JAD) merupakan sebuah teknik yang berfokus pada keterlibatan dan komitmen pengguna dalam menentukan kebutuhan dan merancang (desain) aplikasi.
a. Tahapan Teknik Joint Application Development
1) Requirement
Perencanaan-perencanaan kebutuhan apa saja yang dibutuhkan dalam perancangan suatu sistem. Sistem yang terlibat dalam teknik JAD adalah sponsor, business users, system analyst (tim developer), system experts, fasilitator.
2) Design
JAD didesain untuk mendapatkan informasi yang spesifik, biasanya melalui pertanyaan closed-ended.
3) Implementasi
Tahapan untuk mewujudkan sistem secara fisik. Tahapan ini meliputi kegiatan untuk mempersiapkan sesi JAD dan menjalankan JAD.
4) Verification
Tahapan pengujian dari performa sistem, apakah sistem sudah sesuai dengan kebutuhan dan bekerja dengan baik. Selain itu juga pengujian bagi pemakai apakah mudah digunakan (user friendly) terhadap pemakai.
5) Maintenance
Tahapan akhir dalam fase JAD yang digunakan untuk pemeliharaan sistem.
b. Kelebihan Teknik Joint Application Development
· Penerapan JAD jika pengembang dan user bekerjasama dalam satu tim akan sangat mendukung penerapan prototyping
· Penentuan keperluan oleh sekumpulan pemegang saham
· Melibatkan kerjasama tim proyek, pengguna dan pengurusan
· Memberikan dukungan yang besar dan penerimaan sistem yang baru dapat menghasilkan sistem dengan kualitas yang lebih tinggi
· Dapat mengurangi scope creep hingga 50%
· Keterlibatan banyak user akan memudahkan proses implementasi sistem baru dengan biaya training yang lebih rendah
c. Kelemahan Teknik Joint Application Development
· Dana yang diperlukan untuk membangun sistem lebih mahal
· Dalam analisa sistem akan memakan waktu yang lebih lama, karena sangat sulit untuk mendapatkan waktu dan ketersediaan user dalam forum diskusi JAD
· Pendekatan JAD memiliki banyak masalah yang disebabkan oleh proses kelompok membuat seseorang yang mendominasi forum, sedangkan yang lainnya akan menjadi “penonton” saja dan tidak memberikan kontribusi dalam pembahasan (analisa sistem)
d. Waktu Penggunaan
Teknik Joint Application Development (JAD) cocok digunakan untuk proyek yang mmbutuhkan teknik analisis dan perancangan sistem dengan menekankan pengembangan partisipasi antara system owners, users, designer, dan builders.
7. Extreme Programing (XP)
Model proses ini diciptakan dan dikembangkan oleh Kent Beck. Model ini adalah model proses yang terbaru dalam dunia rekayasa perangkat lunak dan mencoba menjawab kesulitan dalam pengembangan software yang rumit dan sulit dalam implementasi.
a. Tahapan Extreme Programing (XP)
1) Coding
2) Pengujian
3) Mendengarkan
4) Merancang
b. Kelebihan Extreme Programing (XP)
· Metode yang populer karena lebih santai dan non-restriktif
· Biaya lebih murah
c. Kelemahan Extreme Programing (XP)
· Kurangnya struktur yang solid karena semuanya banyak dilakukan on-the-fly tanpa perencanaan sebelumnya
d. Waktu Penggunaan
Penerapan dari Extreme Programing (XP) cocok untuk teknologi atau prototipe baru, dimana persyaratan berubah dengan cepat, atau beberapa pengembangan diperlukan untuk menemukan masalah pelaksanaan yang tak terduga.
Thanks Gan . bantu bgt buat tugas RPL
ReplyDeleteoke...sama sama :)
ReplyDeleteBisa ditambahkan satu metodologi lagi --> Parallel Development Method? trims ^^
ReplyDelete