TEKNIK PERANCANGAN SOFTWARE
I. Perencanaan Proyek Perangkat Lunak
3 langkah perencanaan : pendefinisian masalah,
pengembangan strategi solusi, rencana proses pengembangan.
A.
Pendefinisian Masalah
1. Nyatakan masalah yang akan
diselesaikan secara tegas, termasuk di dalamnya batasan masalah dan sasaran
yang ingin dicapai. Pernyataan masalah ditetapkan dalam sudut pandang
pelanggan.
- pernyataan masalah dalam sudut pelanggan misalnya : masalah penggajian, masalah inventory, atau masalah pengendalian lalu lintas udara
- pernyataan masalah dalam sudut pengembang misalnya : masalah relational data bases, masalah algoritma sorting.
- Teknik-teknik yang digunakan untuk mendapatkan informasi kebutuhan pelanggan meliputi : wawancara dengan pelanggan, pengamatan terhadap gugus tugas yang bermasalah, kinerja sebenarnya dari gugus tugas.
2.
Rancang sebuah strategi solusi
berbasis komputer.
- Solusi harus ekonomis dan dapat diterima secara sosial maupun secara politik.
- Solusi yang ekonomis adalah sistem komputerisasi yang memberikan pelayanan dan informasi yang sama dengan sistem lama tetapi membutuhkan waktu dan personal yang lebih sedikit dalam pengoperasiannya.
- Sistem baru mungkin akan mengurangi keterlibatan personal; hal ini mungkin akan menimbulkan dampak sosial, bahkan politik.
3. Identifikasi sumber daya
yang tersedia.
- Tiga subsistem dalam sistem komputerisasi adalah : perangkat keras, perangkat lunak, dan personal. Identifikasi juga keterkaitan antar ketiga subsistem tersebut.
- Subsistem perangkat keras meliputi perangkat keras beserta periferalnya, dan dalam beberapa kasus juga meliputi peralatan lain seperti sensor kendali proses, antena, dan radar.
- Subsistem perangkat lunak meliputi perangkat lunak yang akan dikembangkan ditambah dengan perangkat lunak yang ada yang boleh jadi digunakan seadanya atau dalam versi modifikasinya.
- Subsistem personal meliputi para operator, pemelihara, dan end user.
4.
Tetapkan sasaran dan
persyaratan, baik untuk proses pengembangan maupun produk.
- Sasaran adalah tujuan yang ingin dicapai. Sasaran digunakan sebagai dasar bagi kerangka kerja proyek pengembangan perangkat lunak, baik dalam proses pengembangan maupun untuk produk kerja.
- Sasaran dapat dinyatakan secara kualitatif maupun kuantitatif. Contoh :
¨
proses (kualitatif) : harus
meningkatkan keterampilan personal
¨ proses (kuantitatif) :
sistem harus selesai dalam 12 bulan
¨
produk (kualitatif) : sistem
harus membuat pekerjaan user maikin
menarik
¨
produk (kuantitatif) : sistem
harus mengurangi biaya transaksi sebesar 25%.
- Persyaratan menetapkan spesifikasi kemampuan sistem dalam menyelesaikan masalah.
- Persyaratan mencakup aspek-aspek : fungsional, kinerja, perangkat keras, perangkat lunak, personal, dan pengantarmukaan.
- Kalau memungkinkan, nyatakan persyaratan secara kuantitaif untuk menghindari ketidakjelasan dan perselisihan antara pengembang dengan pelanggan.
·
Contoh persyaratan kuantitatif :
¨ akurasi sudut fase harus
berada pada kisaran 0.5 derajat
¨ tanggapan maksimum terhadap interrup adalah 0.25 detik
¨ space maksimum
yang digunakan sistem adalah 50 KB memori utama, tidak termasuk space untuk file-file buffer
¨
sistem harus dapat beroperasi
dengan kemampuan 95% ketika dioperasikan selama 24 jam penuh
·
Contoh persyaratan kualitatif :
¨ akurasi harus cukup tinggi
¨
sistem harus mempunyai
tanggapan yang baik
¨ sistem harus hemat dalam
penggunaan memori utama
¨ keandalan sistem harus 99%
- Sasaran dan persyaratan dapat juga ditetapkan melalui atribut-atribut kualitas yang harus dimiliki sistem, di antaranya : portability (S/W tidak bergantung mesin), realiability (kemampuan program melakukan fungsi yang diinginkan), efficiency (menggunakan sumber daya minimal), accuracy (ukuran besarnya error), robustness/integrity (kemampuan bekerja dengan baik walau mendapat input yang tidak benar), correctness (hasil sesuai dengan yang diharapkan).
5. Tetapkan kriteria penerimaan
sebuah sistem
- Kriteria harus dinyatakan sedemikian rupa sehingga tidak akan menimbulkan perselisihan antara pengembang dan pelanggan. Kriteria harus dapat diverfikasi dengan suatu metoda baku seperti : peninjauan langsung, analisa, atau serangkaian uji, terhadap produk yang dihasilkan.
B.
Pengembangan Strategi Solusi
·
Kecenderungan untuk menerima begitu saja solusi pertama yang terlintas
di benak kita adalah masalah utama dalam perkeayasaan perangkat lunak. Ini tidak
memberi peluang terhadap solusi lain yang sebenarnya masih mungkin untuk
dipertimbangkan.
·
Kembangkan strategi solusi. Strategi bukan merupakan solusi rinci
tetapi penyataan umum tentang sifat-sifat dari solusi yang mungkin.
·
Langkah-langkah pengembangan strategi solusi adalah sebagai berikut :
1. Uraikan beberapa strategi
solusi tanpa memperhatikan batasan-batasan apapun
2. Adakan studi kelayakan
terhadap setiap strategi. Perhatikan bahwa an
unreasonable idea will
lead to other ideas, some of which may be very reasonable.
lead to other ideas, some of which may be very reasonable.
3.
Rekomendasikan sebuah strategi
solusi, beri catatan mengapa solusi lain ditolak
4. Buat sebuah daftar prioritas
karakteristik produk. Daftar ini penting jika kondisi tidak memungkinkan untuk
mengimplementasikan seluruh kemampuan produk yang diinginkan seperti yang telah
ditentukan sebelumnya.
C. Perencanaan
Proses Pengembangan
1. Tentukan sebuah model life-cycle dan struktur organisasi
proyek.
2. Rencanakan konfigurasi
managemen, jaminan kualitas, dan kegiatan validasi
3. Tentukan tools setiap fase
proyek, serta teknik-teknik dan notasi yang digunakan
4. Tetapkan perkiraan biaya
untuk pengembangan sistem
5. Tetapkan jadwal pengembangan
6. Tetapkan perkiraan susunan
personalia proyek
7. Tetapkan perkiraan sumber
daya sistem komputaerisasi yang diperlukan untuk mengoperasikan dan memelihara
sistem
8. Siapkan daftar istilah
9. Identifikasi sumber-sumber
informasi dan jadikan sebagai acuan proyek
Life Cycle
Life-cycle sebuah perangkat lunak
mencakup semua kegiatan yang yang perlu dilakukan untuk mendefinisikan,
mengembangkan, menguji, mengantarkan, mengoperasikan, dan memelihara produk
perangkat lunak. Beberapa model yang akan dibahas adalah : model fase (phased model), model biaya (cost model), model prototipe (prototype model), dan model berurutan (successive model).
Model Fase
Model ini membagi life cycle ke dalam sederetan kegiatan
(fase). Setiap fase membutuhkan informasi masukan, proses, dan produk yang
terdefinisi dengan baik. Deretan fase tersebut adalah : analisa, perancangan,
implementasi, pengujian, dan pemeliharaan.
Klik button diatas untuk mendownload file |