Model-Model SDLC
Waterfall Model
Waterfall Model adalah suatu metodologi pengembangan
perangkat lunak yang mengusulkan pendekatan kepada perangkat lunak sistematik
dan sekuensial yang mulai pada tingkat kemajuan sistem pada seluruh analisis,
design, kode, pengujian dan pemeliharaan. Model ini sangat simpel dan dapat dikerjakan secara berurutan sehingga cocok digunakan untuk projek besar.
Keterangan :
Keterangan :
- Requirements Analysis (Analisis) : Proses pengumpulan kebutuhan dilakukan secara intensif untuk menspesifikasikan kebutuhan perangkat lunak seperti apa yang dibutuhkan oleh user. spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan.
- Design (Desain) : Proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosuder pengkodean.
- Development (Pengkodean) : Desain harus ditranslasi kedalam program komputer sesuai dengan desain yang telah dibuat pada tahap desain.
- Testing (Pengujian) : Fokus kepada perangkat lunak secara dari segi logik dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan/error dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.
- Maintenance/Support : Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan yang baru. Tahap maintenance dapat mengulangi proses pengembangan mulai dari analisis untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak yang baru.
V - Shape Model
Teknik V – Shape Model sering disebut sebagai pengembangan
dari teknik waterfall. V – Shape digunakan untuk verifikasi dan validasi dan
merupakan model standar yang banyak dipakai di negara – negara Eropa seperti
standar untuk proyek pertahanan dan administrasi federal di Jerman.
![]() |
Tahapan pada V Model dibagi menjadi 2 garis besar yaitu tahap Verifikasi dan Validasi atau testing.
Tahap Verifikasi mengacu kepada usaha penyesuaian spesifikasi software dengan kebutuhan klien/konsumen, tahapan ini meliputi serangkaian kegiatan sebagai berikut:
- Business Case: Merupakan tahapan awal yang menggambarkan kebutuhan/harapan konsumen terhadap sistem yang akan dikembangkan, termasuk manfaat sistem terhadap konsumen dan perkiraan biaya yang harus disediakan.
- Requirement: pada fase ini klien mendapatkan gambaran atau diminta memberikan gambaran kebutuhan yang diharapkan dapat dipenuhi oleh software, baik kebutuhan fungsional maupun non fungsional.
- Analisis Informasi: Setelah diperoleh spesifikasi sistem dari fase requirement, selanjutnya aktivitas difokuskan bagaimana cara kerja software untuk memenuhi kebutuhan tersebut, termasuk metode, hardware dan software apa saja yang diperlukan untuk mencapai kebutuhan yang sudah didefinisikan.
- Perancangan Sistem: pada tahapan ini akan dibuat rancangan software secara lebih terinci sesuai spesifikasi yang sudah disepakati.
- Unit Design: merancang setiap elemen/unit software termasuk rancangan modul/program, antarmuka, database dan lain-lain.
- Development: merealisasikan hasil rancangan menjadi satu aplikasi/program tertentu.
- Unit test : menguji setiap komponen/unit program apakah sesuai dengan rancangan unit yang sudah ditetapkan. Secara teoritis seharusnya pengujian dilakukan oleh orang tertentu yang bertugas sebagai software tester, tetapi dalam kenyataannya seringkali unit testing dilakukan oleh programmer sendiri.
- Interface test : setelah semua komponen diuji secara terpisah, tahapan selanjutnya dilakukan interface test untuk melihat sejauh mana setiap komponen dapat berinteraksi satu sama lain sesuai dengan fungsi yang diharapkan.
- System test : setelah semua interface berjalan dengan baik, selanutnya dilakukan system test untuk melihat sejauh mana sistem/software dapat memenuhi kebutuhan secara keseluruhan. System testing bersifat menyeluruh dan tidak dapat dilakukan berdasarkan fungsionalitas sistem yang diuji secara terpisah. Aktivitas pada system testing termasuk melakukan pengujian hal-hal berikut:
- Performance – apakah kinerja sistem sesuai dengan target yang sudah didefinisikan sebelumnya.
- Volume – apakah software/sistem dapat menampung volume informasi yang cukup besar.
- Stress – apakah software/sistem dapat menampung sejumlah informasi pada waktu-waktu tertentu.
- Documentation – apakah semua dokumentasi penting sudah disiapkan.
- Robustness – apakah software/sistem cenderung stabil pada berbagai kondisi diluar dugaan/ekstrim.
- Acceptance test : merupakan aktivitas untuk menguji sejauh mana sistem/software dapat membantu memecahkan business case, dalam artian apakah sistem/software tersebut sudah sesuai dengan harapan konsumen/klien dan sejauh mana manfaat sistem/software ini bagi klien. Test ini sering kali disebut sebagai User Acceptance Test (UAT).
- Release testing : test ini dilakukan untuk menguji sejauh mana sistem/software dapat mendukung aktivitas organisasi dan berjalan dengan harmonis sesuai dengan kegiatan rutin organisasi. Beberapa pertanyaan coba dijawab pada fase ini misalnya apakah software tersebut mempengaruhi sistem lain? Apakah software tersebut kompatibel dengan sistem lain? Bagaimana kinerja sistem sebenarnya di dalam organisasi?
Structured Evolutionary Prototype
Metode ini biasa digunakan jika apabila klien hanya memberikan kebutuhan umum software saja, tanpa memberikan detail berupa input, proses, dan output. Namun dalam prosesnya cenderung lambat karena user akan menambah komponen dari luar sistem. Sehingga kepastian penyelesaian project pun tidak jelas.
Kelebihan Prototyping Model :
- Adanya komunikasi baik antara pengembang dengan pelanggan.
- Pengembang dapat bekerja lebih baik untuk memenuhi kebutuhan pelanggan.
- Pelanggan berperan aktif dalam pengembangan sistem.
- Menghemat waktu dalam pengembangannya.
- Penerapan lebih mudah karena pemakai akan mengetahui apa yang diharapkan.
- Kualitas sistem kurang baik karena hanya mengedepankan aspek kenyamanan user.
- Pengembang kadang-kadang menggunakan implementasi yang sembarangan.
- Tidak mencerminkan proses perancangan yang baik
Rapid Application Development (RAD)
Metode merupakan model pengembangan system yang melakukan beberapa ke tangan pengguna system. Penyesuaian terhadap SDLC pada beberapa bagian sehingga lebih cepat untuk sampai ke tangan pengguna system.- Pemodelan Bisnis : pemodelan yang dilakukan untuk memodelkan fungsi bisnis untuk mengetahui informasi apa yang terkait fungsi bisnis,informasi apa saja yang harus dibuat,siapa saja yang membuat informasi,bagaimana alur informasi itu,proses apa saja yang terkait informasi itu
- Pemodelan Data : memodelkan data apa saja yang dibutuhkan berdasarkan pemodelan bisnis dan mendefinisikan atribut-atributnya beserta relasinya dengan data-data yang lain.
- Pemodelan Proses : mengimplementasikan fungsi bisnis yang sudah didefinisikan terkait dengan pendefinisian data.
- Pembuatan Aplikasi : mengimplementasikan pemodelan proses dan data menjadi program.Model RAD sangat menganjurkan pemakaian komponen yang sudah ada jika dimungkinkan.
- Pengujian dan Pergantian : menguji komponen-komponen yang dibuat.Jika sudah teruji maka tim pengembang komponen dapat beranjak untuk mengembangkan komponen berikutnya.
Incremental SDCL Model
Model Incremental, merupakan model pengembangan system yang dipecah sehingga model pengembangannya secara increment / bertahap berdasarkan kemampuan fungsional. Model ini adalah mem Selain itu juga merupakan perbaikan dari model waterfall dan sebagai standar pendekatan top – down.
Kelebihan Metode Incremental :
- Bersifat interatif atau perulangan.
- Mampu mengakomodasi perubahan secara fleksibel.
- Prioritas tinggi pada pelayanan system adalah yang paling diuji.
- Produk yang dihasilkan semakin lama semakin lengkap, hingga versi akhir dari sebuah produk akan dianggap paling lengkap dan sempurna karena mengalami perbaikan yang berkesinambungan.
- Model ini cocok jika jumlah anggota tim pengembangan / pembangunan software terbatas.
- Pelanggan dapat memakai inkremen yang pertama sebagai bentuk prototype dan mendapatkan pengalaman yang dapat menginformasikan persyaratan untuk inkremen system berikutnya.
- Resiko untuk kegagalan proyek secara keseluruhan lebih rendah
- Inkremen harus relative lebih kecil (tidak lebih dari 20.000 baris kode) dan setiap inkremen harus menyediakan sebagian dari fungsional system.
- Adanya kesulitan untuk memetakan persyaratan pelanggan pada inkremen dengan ukuran yang benar.
- Butuh waktu yang relatif lebih lama untuk menghasilkan produk yang lengkap
Spiral Model
Model Spiral, merupakan model pengembangan system yang digambarkan berupa spiral. Model spiral ini tidak merepresentasikan rangkaian tahapan dengan penelusuran balik (back-tracking), tidak ada fase – fase tahapan yang tetap seperti spesifikasi atau perancangan. Setiap untaian pada pada spiral menunjukkan fase software process. Dimana model ini merupakan gabungan dari model waterfall dan prototype.
Keterangan :
- Komunikasi dengan pelanggan : aktifitas ini diperlukan untuk membagnun komunikasi yang efektif antara pengembang dan pelanggan.
- Perencanaan : aktifitas ini diperlukan untuk mendefinisikan sumber daya,waktu dan informasi yang terkait dengan proyek.
- Analisis Risiko : aktifitas ini diperlukan untuk memperkirakan risiko dari segi teknis maupun manajemen.
- Rekayasa : aktifitas ini diperlukan untuk membangun satu atau lebih representasi dari aplikasi perangkat lunak (dapat berupa prototype).
- Konstruksi dan peluncuran : aktifitas ini dibutuhkan untuk mengonstruksi,menguji,melakukan instalasi dan menyediakan dukungan terhadap user
- Evaluasi Pelanggan : aktifitas ini dibutuhkan untuk mendapatkan umpan balik berdasarkan evaluasi representasi perangkat lunak yang dihasilkan dari proses rekayasa dan diimplementasikan pada tahap instalasi.
Agile Model
Agile methods adalah salah satu dari beberapa metode yang digunakan dalam pengembangan software. Agile method adalah jenis pegembangan sistem jangka pendek yang memerlukan adaptasi cepat dan pengembang terhadap perubahan dalam bentuk apapun.
- Meningkatkan kepuasan kepada klien
- Pembangunan system dibuat lebih cepat
- Mengurangi resiko kegagalan implementasi software dari segi non – teknis
- Jika pada saat pembangunan system terjadi kegagalan, kerugian dari segi materi relative kecil
- Kebutuhan software sulit diprediksi dari awal dan selalu akan berubah. Selain itu, prioritas klien juga sering berubah seiring berjalannya proyek.
- Desain dan pembangunan sering tumpang tindih. Sulit diperkirakan seberapa jauh desain yang diperlukan sebelum pembangunan.
- Analisis, desain, pembangunan dan testing tidak dapat diperkirakan seperti yang diinginkan.
cepat dan membutuhkan dana yang kecil.
XP Model
Extreme Programming Model merupakan bagian dari metode agile software development. Dimana model ini mengembangkan sistem dengan statis atau dinamis requirement dan aktivitas utamanya adalah coding.
- Menjalin Komunikasi yang Baik dengan Klien.
- Meningkatkan Komunikasi dan Sifat Saling Menghargai antar Developer.
- Dapat menampilkan prototype
Kelemahan menggunakan teknik XP :
- Membutuhkan banyak programmerDeveloper harus selalu siap dengan perubahan karena perubahan selalu diterima.
- Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran untuk melakukan apa yang diperlukan hari itu juga). (McLeod & Schell, 2004; Willy Sudiarto Raharjo; Martin, 1991)







Komentar
Posting Komentar