Proses Perancangan Perangkat Lunak
• Metode Perancangan
o Pendekatan sistematis untuk merancang perangkat lunak
o Perancangan biasanya didokumentasikan dengan model grafik
o Beberapa model yang dapat digunakan:
Data Flow Model
Model relasi atribut entitas
Model terstruktur
Model Object
• Pemrograman dan Debug
o Translasi perancangan ke dalam pemrograman dan menghilangkan error dari program
o Pemrograman adalah aktifitas personal – tidak terdapat model program generic
o Pemrogram melakukan beberapa program testing untuk menemukan fault dalam program dan menghilangkan fault tersebut dalam proses debug.
• Validasi Perangkat Lunak
o Verifikasi dan validasi bertujuan menunjukkan bahwa sistem sesuai dengan spesifikasinya dan yang diinginkan pengguna
o Melibatkan proses pengujian dan review sistem
o Pengujian sistem melibatkan eksekusi sistem dengan menggunakan kasus tes yang ditentukan dari spesifikasi data real yang akan diproses oleh sistem.
• Stage Pengujian Perangkat Lunak
o Unit Testing: Pengujian Komponen-komponen secara individu
o Modul Testing: Pengujian terhadap komponen yang saling berhubungan,
o Sub-system Testing: Pengujian terhadap module-module sistem yang saling berhubungan. Fokus pada pengujian interface.
o System Testing: Pengujian keseluruhan sistem,
o Acceptance Testing: Pengujian yang dilakukan oleh pengguna untuk melihat apakah sistem sudah dapat diterima.
• Evolusi Sistem
o Perangkat lunak pada dasarnya sangat fleksibel dan mudah berubah
o Karena adanya perubahan kebutuhan melalui perubahan proses bisnis dan teknologi, maka perangkat lunak yang mendukung kegiatan bisnis tersebut juga mengalamai perubahan
o Walaupun demikian diharapkan perubahan proses bisnis tersebut berdampak pada perubahan yang sedikit terhadap perangkat lunak (re-engineering).
Model Pengembangan system
• Model Air Terjun (Water Fall)
• Fase Model Air Terjun
o Analisis Kebutuhan dan pendefinisiannya
o Perancangan sistem dan Perangkat Lunak
o Implementasi dan unit testing
o Integrasi dan pengujian sistem
o Pengoperasian dan perawatan
• Proses kembali ke state sebelumnya untuk mengantisipasi perubahan setelah proses menuju ke suatu state di bawahnya adalah sangat sulit.
• Masalah pada Model Air Terjun :
o Partisi projek ke stages yang berbeda tidak fleksibel.
o Hali ini mengakibatkan sulitnya untuk merespon perubahan kebutuhan pengguna
o Oleh sebab itu model ini hanya cocok digunakan apabila kebutuhan pengguna sudah dimengerti dengan baik,
• Model Pengembangan yang berevolusi (Evolutionary Development)
• Pengembangan yang berdasarkan penyidikan, tujuannya untuk mengaktifkan pengguna dan memperolah model final berasal dari initial spesifikasi awal. Seharusnya diawali dengan kebutuhan yang sudah dimengerti,
• Throw-away prototyping, tujuannya adalah untuk memahami kebutuhan sistem. Biasanya diawali dengan pemahaman kebutuhan yang minim.
• Permasalahan dalam model pengembangan yang berevolusi:
o Kekurangan visibilitas proses
o Model sistem biasanya tidak terstruktur
o Membutuhkan kemampuan khusus (mis: bahasa pemrograman rapid prototyping).
• Pemakaian model pengembangan yang berevolusi
o Untuk sistem interaktif yang kecil atau menengah
o Untuk salah satu bagian dari sistem yang besar (mis. User Interface)
o Untuk sistem yang digunakan tidak terlalu lama (short lifetime).
• Model Pendekatan pengembangan sistem Formal
• Berbasiskan pada transformasi spesifikasi secara matematik melalui representasi yang berbeda untuk suatu program yang dapat dieksekusi,
• Trasformasi menyatakan spesifikasi program
• Menggunakan pendekatan ‘Cleanroom’ untuk pengembangan.
• Model Pengembangan menggunakan konsep Re-use (Penggunaan Ulang)
• Proses dengan metode Iterasi
• Model Iterasi dapat digunakan pada model proses generic, terdapat dua pendekatan :
o Pengembangan Incremental
o Model Spiral
• Model Pengembangan Incremental
• Pengembangan sistem berdasarkan model sistem yang dipecah sehingga model pengembangannya secara increament/bertahap
• Kebutuhan pengguna diprioritaskan dan priritas tertinggi dimasukkan dalam awal increment
• Setelah pengembangan suatu increment dimulai, kebutuhan dibekukan dulu hingga increment berikutnya dimulai
• Keuntungan
o Nilai penggunan dapat ditentukan pada setiap increament sehingga fungsionalitas sistem disediakan lebih awal,
o Increment awal berupa prototype untuk membantu memahami kebutuhan pada increment berikutnya,
o Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,
o Prioritas tertinggi pd pelayanan sistem adalah yang paling diuji.
• Model Pengembangan Spiral
• Proses direpresentasikan sebagai model spiral (bukan berupa barisan aktfitas yang dapat ditrack mundur)
• Setiap loop dalam model spiral menyatakan fase proses,
• Tidak terdapat fase tertentu seperti spesifikasi atau perancangan, tetapi loop dalam spiral ditentukan pada apa yang dibutuhkan,
• Sektor pada model Spiral
o Menentukan Tujuan
o Mengidentifikasikan spesifikasi tujuan setiap fase
o Menilai Resiko dan Pengurangannya
o Resiko dinial dan aktifitas ditempatkan untuk mengurangi resiko kunci
o Pengembangan dan validasi
o Suatu model pengembangan sistem dipilih dari model generic
o Perencanaan
o Project di review dan fase spiral berikutnya direncanakan
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar