Model proses pengembangan perangkat lunak
Pemodelan Perangkat Lunak banyak macamnya, berikut 7 model Pengembangan Perangkat Lunak yang akan saya jelaskan sebagai berikut;
merupakan pengembangan model pengembangan perangkat lunak paling tua, dan paling banyak dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem pada seluruh tahapan analisis, desain , kode, pengujian, dan pemeliharaan.
Berikut Merupakan Tahapan – tahapan Pengembangan Model Waterfall :
- Rekayasa dan pemodelan sistem/informasi (communicating)
Langkah pertama dimulai dengan membangun keseluruhan elemen sistem dan memilah bagian-bagian mana yang akan dijadikan bahan pengembangan perangkat lunak, dengan memperhatikan hubungannya dengan ketentuan Hardware, User, dan Database.
- Analisis kebutuhan perangkat lunak
Pada proses ini, dilakukan penganalisaan dan pengumpulan kebutuhan sistem yang meliputi Domain informasi, Hasil penganalisaan dan pengumpulan tersebut didokumentasikan dan diperlihatkan kembali kepada pelanggan.
- Desain
Pada proses Desain, dilakukan penerjemahan syarat kebutuhan sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum dibuatnya proses pengkodean (coding). Proses ini berfokus pada struktur data, arsitektur perangkat lunak, representasi interface, dan detail algoritma prosedural.
- Pengkodean
Pengkodean merupakan proses menterjemahkan perancangan desain ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan bahasa pemrograman.
- Pengujian
Setelah Proses Pengkodean selesai, dilanjutkan dengan proses pengujian pada program perangkat lunak, baik Pengujian logika internal, maupun Pengujian eksternal fungsional untuk memeriksa segala kemungkinan terjadinya kesalahan dan memeriksa apakah hasil dari pengembangan tersebut sesuai dengan hasil yang diinginkan.
- Pemeliharaan
Proses Pemeliharaan erupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah perangkat lunak dipergunakan.
Kekurangan Model Waterfall
- Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
- Hal ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna (user).
- Model air terjun harus digunakan hanya ketika persyaratan dipahami dengan baik.
- Kelebihan Model Waterfall
- Bisa digunakan jika suatu persyaratan untuk membuat suatu software sudah dipahami dengan baik dan sudah lengkap semua persyaratan yang ada.
- Bisa digunakan jika suatu persyaratan untuk membuat suatu software sudah dipahami dengan baik dan sudah lengkap semua persyaratan yang ada.
Prototyping perangkat lunak (software prototyping) atau siklus hidup menggunakan protoyping (life cycle using prototyping) adalah salah satu metode siklus hidup sistem yang didasarkan pada konsep model bekerja (working model). Tujuannya adalah mengembangkan model menjadi sistem final. Artinya sistem akan dikembangkan lebih cepat dari pada metode tradisional dan biayanya menjadi lebih rendah. Ada banyak cara untuk memprotoyping, begitu pula dengan penggunaannya. Ciri khas dari metodologi ini adalah pengembang sistem (system developer), klien, dan pengguna dapat melihat dan melakukan eksperimen dengan bagian dari sistem komputer dari sejak awal proses pengembangan.
- Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
- Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input dan format output).
- Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan, apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan pelanggan atau belum. Jika sudah sesuai, maka langkah selanjutnya akan diambil. Namun jika tidak, prototyping direvisi dengan mengulang langkah-langkah sebelumnya.
- Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.
- Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, kemudian dilakukan proses Pengujian. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur, dll.
- Evaluasi Sistem
Pelanggan mengevaluasi apakah perangkat lunak yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya, maka proses akan dilanjutkan ke tahap selanjutnya, namun jika perangkat lunak yang sudah jadi tidak/belum sesuai dengan apa yang diharapkan, maka tahapan sebelumnya akan diulang.
- Kekurangan Model Prototype
- Proses analisis dan perancangan terlalu singkat.
- Biasanya kurang fleksibel 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.
- Kelebihan Model Prototype
- Pelanggan berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk pengembangan akan semakin mudah disesuaikan dengan keinginan dan kebutuhan pelanggan.
- Penentuan kebutuhan lebih mudah diwujudkan.
- Mempersingkat waktu pengembangan produk perangkat lunak.
- Adanya komunikasi yang baik antara pengembang dan pelanggan.
- Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
- Lebih menghemat waktu dalam pengembangan sistem.
- Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.
3. Model RAD
- RAD (Rapid Application Development) Adalah metodologi pengembangan perangkat lunak (SDLC) yang menggunakan pengabungan antara Prototype Model dengan Iterative Model. Prototipe adalah model kerja yang secara fungsional setara dengan komponen produk.
- Business Modeling (Bisnis Model)
- Data Modeling (Data Model)
- Process Modeling (Proses Pemodelan)
- Application Generation (Generasi Aplikasi)
- Testing and Turnover
Kekurangan RAD (Rapid Application Development)
- Ketergantungan pada anggota bisnis tim untuk mengidentifikasi persyaratan bisnis
- Hanya sistem yang bisa di modularized yang bisa dibangun menggunakan RAD
- Membutuhkan developer / designer yang berpengalaman
- Ketergantungan pada keterampilan model
- Kompleksitas manajemen
- Tidak dapat diterapkan pada proyek yang kecil / murah
Kelebihan RAD (Rapid Application Development)
- Mudah mengakomodasi peruabahan sistem
- Progress development bisa di ukur
- Waktu iterasi bisa di perpendek menggunakan RAD Tools
- Mengurangi waktu development
- Mudah dalam menentukan dasar sistem
- Mempermudah feedback customer
- Cocok untuk proyek yang membutuhkan waktu pengembangan yang lebih pendek.
- Cocok untuk sistem yang berbasis komponen dan terukur.
4. Model Spiral
pengembangan perangkat lunak dengan model spiral adalah proses pengembangan perangkat lunak yang digambarkan sebagai sebuah spiral, dimana tiap putaran menggabungkan tahap yang berbeda dalam prosesnya. Perpindahan dari satu spiral ke putaran lain, berarti mengulang semua tahapan dari proses pengembangan perangkat lunak.
Tiap putaran dalam spiral model mewakili sebuah fase dari proses pengembangan perangkat lunak. Dengan demikian, putaran paling dalam/ terdekat mungkin bersangkutan dengan kelayakan sistem, putaran selanjutnya dengan definisi kebutuhan, putaran selanjutnya dengan perancangan sistem, dan seterusnya.
Setiap loop (putaran) dalam spiral model dibagi menjadi 4 sektor, yaitu:
- Objective Setting (Penetapan Tujuan)
Menetapkan tujuan spesifik untuk projek.Kendala pada proses dan produk diidentifikasi, rencana , pengelolaan yang lebih rinci dibuat.Resiko dalam projek direncanakan. Strategi alternatif, bergantung pada resiko-resiko yang sudah didefinisikan dan direncanakan.
- Risk Assesment and Reduction (Penilaian dan pengurangan resiko)
Melakukan analisis detail mengenai tiap resiko projek yang sudah diidentifikasikan. Mendeskripsikan langkah untuk mengurangi resiko. Misalnya jika ada resiko bahwa requirement tidak pantas atau kurang, maka akan dibuat prototype sistem.
- Development and Validation (Pengembangan dan Validasi)
Setelah evaluasi resiko, akan dipilih model pengembangan sistem. Misalnya, pembuatan prototype lembaran (throwaway) akan menjadi pendekatan pengembangan yang paling baik jika resiko user interface lebih besar atau dominan. Jika resiko utama yang diidentifikasi adalah integrasi subsistem, maka waterfall model mungkin adalah model pembangunan terbaik untuk digunakan.
- Planning (Perencanaan)
Proyek di review dan dibuat keputusan apakah akan dilanjutkan dengan putaran spiral selanjutnya. Jika diputuskan untuk dilanjutkan, rencana akan disusun untuk fase selanjutnya dari proyek.
kelemahan model spiral
- Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol.
- 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
kelebihan model spiral
- Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer.
- Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
- 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.
5. Fourth Generation Techniques (4GT)
Istilah Fourth Generation Techniques (4GT) yaitu seperangkat peralatan software yang fungsinya sebagai perangkat pembantu untuk memudahkan seorang pengembang software mengaplikasikan karakteristik software tersebut, dari situ akan menghasilkan source code dan object code yang secara otomatis sesuai dengan persyaratan khusus yang dibuat oleh pengembang software tersebut.
- Pengumpulan kebutuhan
Tahap
ini merupakan tahap pengumpulan serangkaian kebutuhan. Customer
menjelaskan kebutuhan-kebutuhan kemudian akan diterjemahkan ke dalam prototype. Tetapi jika
customer merasa tidak yakin dengan apa yang diperlukan, maka prototype tidak akan
dikerjakan oleh 4GT.
- Merancang Strategi
Tahap ini dibutuhkan untuk proyek besar yakni
dengan menterjemahkan kebutuhan menjadi prototype operasional
agar tidak timbul
masalah yang sama jika dibuat dengan model konvensional.
- Implementasi
Tahap ini memungkinkan pengembang software
menjelaskan hasil yang diinginkan, kemudian selanjutnya
diterjemahkan dalam bentuk source
code dan object code secara otomatis.
- Produksi
Tahap terakhir ini adalah mengubah implementasi
4GT ke dalam hasil akhir berupa produk.
Kekurangan Fourth Generation Techniques (4GT)
- Penggunaan perangkat bantu (tools) dibandingkan dengan bahasa pemrograman, dan juga kode sumber yang dihasilkannya tidak efisien.
- Untuk usaha yang besar, dibutuhkan pengembangan strategi desain untuk sistem, walau digunakan bahasa 4GL.
- Penggunaan 4GT tanpa perencanaan matang (untuk proyek besar) akan menyebabkan kesulitan yang sama (kualitas dan pemeliharaan yang jelek, ketidakpuasan pelanggan) seperti dengan metode konvensional.
- 4GL tidak selalu berhasil menghasilkan sistem yang diinginkan.
Kelebihan Fourth Generation Techniques (4GT)
- Pengurangan waktu dan peningkatan produktivitas secara besar
- Karena 4GT menggunakan 4GL yang merupakan bahasa pemrograman yang khusus dirancang dengan tujuan tertentu (spesifik), maka untuk permasalahan yang tertentu dengan 4GL tertentu pula sangat tepat menggunakan 4GT.
- Tool yang menggunakan metode pengembangan perangkat lunak 4GL bisa meng-generate sistem dari output yang dihasilkan oleh CASE tools.
Komentar
Posting Komentar