1. Konsep dan Prinsip Analisis Perangkat Lunak
Tugas analisis persyaratan merupakan sebuah proses penemuan, perbaikan,
pemodelan, dan spesifikasi. Ruang lingkup perangkat lunak, yang secara
mendasar dikembangkan oleh perekayasa sistem dan diperbaiki selama
perancanaan proyek perangkat lunak, diperbaki secara detail. Model-model
data yang dibutuhkan, aliran kontrol dan informasi, dan tingkah laku
operasional diciptakan. Pemecahan alternatif dianalisis dan dialokasikan
ke berbagai elemen perangkat lunak. Baik pengembang maupun pelanggan
melakukan peran aktif dalam analisis persyaratan dan spesifikasi.
Pelangga berusaha memformulasikan kembali konsep yang tidak jelas dari
fungsi perangkat lunak dan kinerja ke dalam detail yang konkrit.
Pengembang bertindak sebagai interogator, konsultan, dan pemecah
masalah.
2. Teknik Komunikasi
1) Mengawali proses
Menurut Gause dan Weinberg [GAU89] menyarankan agar analis memulainya dengan mengajukan pertanyaan bebas konteks, dimana pertanyaan tersebut berfokus pada pelanggan, tujuan keseluruhan, dan keuntungan.
2) Teknik Spesifikasi Aplikasi yang Terfasilitasi
Adanya teknik pendekatan spesifikasi aplikasi yang teratasi / facilitated aplication spesification techniques (FAST) dapat mendorong munculnya tim gabungan antara pengembang dan pelanggan yang bekerjasama untuk mengidentifikasimasalah, mengusulkan elemen pemecahan, menegosiasi pendekatan yang berbeda, dan mengkhususkan rangkaian pemecahan awal [ZAH90].
Menurut Gause dan Weinberg [GAU89] menyarankan agar analis memulainya dengan mengajukan pertanyaan bebas konteks, dimana pertanyaan tersebut berfokus pada pelanggan, tujuan keseluruhan, dan keuntungan.
2) Teknik Spesifikasi Aplikasi yang Terfasilitasi
Adanya teknik pendekatan spesifikasi aplikasi yang teratasi / facilitated aplication spesification techniques (FAST) dapat mendorong munculnya tim gabungan antara pengembang dan pelanggan yang bekerjasama untuk mengidentifikasimasalah, mengusulkan elemen pemecahan, menegosiasi pendekatan yang berbeda, dan mengkhususkan rangkaian pemecahan awal [ZAH90].
Banyak pendekatan yang berbeda terhadap FAST telah diusulkan.
Masing-masing pendekatan menggunakan skenario yang sangat berbeda,
tetapi semuanya menerapkan beberapa variasi tuntutan dasar seperti:
Pertemuan dilakukan di sisi netral dan dihadiri baik oleh pengembang
maupun pelanggan. Aturan main untuk persiapan dan partisipasi dibuat.
Sebuah mekanisme definisi (dapat merupakan sebuah lembar kerja,
diagram flip, stiker dinding, atau papan tembok) digunakan. FAST
bukanlah obat bagi masalah yang dihadapi dalam pengumpulan awal berbagai
persyaratan, tetapi pendekatan tim memberikan keuntungan dari banyak
sudut pandang, diskusi sesaat, dan penyaringan, serta merupakan langkah
maju konkrit ke arah pengembangan spesifikasi.
3) Penyebaran Fungsi Kualitas
Disebut juga Quality function deployment (QFD) adalah teknik manajemen kualitas yang menerjemahkan kebutuhan pelanggan ke dalam persyaratan teknis bagi perangkat lunak.
QFD mengidentifikasi 3 persyaratan [ZUL92] yaitu:
1) Persyaratan normal,
2) Sasaran, dan
3) Tujuan dinyatakan bagi sebuah produk atau sistem selama pertemuan dengan pelanggan.
Disebut juga Quality function deployment (QFD) adalah teknik manajemen kualitas yang menerjemahkan kebutuhan pelanggan ke dalam persyaratan teknis bagi perangkat lunak.
QFD mengidentifikasi 3 persyaratan [ZUL92] yaitu:
1) Persyaratan normal,
2) Sasaran, dan
3) Tujuan dinyatakan bagi sebuah produk atau sistem selama pertemuan dengan pelanggan.
3. Prototyping Perangkat Lunak
Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak
yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak
atau komponen-komponen perangkat lunak akan bekerja dalam lingkungannya
sebelum tahapan konstruksi aktual dilakukan (Howard, 1997).
Kelebihan Prototyping :
1) Adanya komunikasi yang baik antara pengembang dan pelanggan
2) Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
3) Pelanggan berperan aktif dalam pengembangan system
4) Lebih menghemat waktu dalam pengembangan system
5) Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
1) Adanya komunikasi yang baik antara pengembang dan pelanggan
2) Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
3) Pelanggan berperan aktif dalam pengembangan system
4) Lebih menghemat waktu dalam pengembangan system
5) Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
Kekurangan Prototyping :
1) Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangka waktu lama.
2) Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebihcepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem
3) Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik.
1) Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangka waktu lama.
2) Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebihcepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem
3) Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik.
Teknik Prototyping :
1) Storyboard
2) Simulasi Fungs Terbatas
3) High-Level Programming Support
1) Storyboard
2) Simulasi Fungs Terbatas
3) High-Level Programming Support
4. Prinsip-prinsip Analisis
Masing-masing metode analisis memiliki titik pandang yang unik. Tetapi
semua metode analisis dihubungkan oleh serangkaian prinsip operasional:
- Domain informasi dari suatu masalah harus direpresentasikan dan dipahami.
- Fungsi-fungsi yang akan dilakukan oleh perangkat lunak harus didefinisikan.
- Tingkah laku perangkat lunak (sebagai suatu urutan kejadian eksternal) harus diwakilkan.
- Model-model yang menggambarkan informasi, fungsi, dan tingkah laku harus dipecah-pecah dalam suatu cara yang membongkar suatu detail dalam bentuk lapisan.
- Proses analisis harus bergerak dari informasi dasar ke detail implementasi.
Dengan mengaplikasikan prinsip-prinsip tersebut, analis mendekati
suatu masalah secarasistematis. Domain informasi diuji sehingga fungsi
itu dapat dipahami secara lebih lengkap. Model-model digunakan sehingga
karakteristik fungsi dan tingkah laku dapat dikomunikasikan dengan cara
yang rapi. Pembagian diterapkan untuk mengurangi keruwetan. Pandangan
esensial dan implementasi dari perangkat lunak diperlukan untuk
mengakomodasi batasan logis yang dibebankan oleh persyaratan pemrosesan
dan batasan fisik yang dibebankan oleh elemen sistem yang lain.
Perekayasa perangkat lunak yang mempercayai prinsip tersebut akan dapat
lebih mengembangkan spesifikasi perangkat lunak yang kemudian akan
menjadi dasar yang kuat bagi desain.- Domain Informasi
- Pemodelan
Prinsip analisis operasional mengharuskan kita membangun model fungsi dan tingkah laku:
—Model fungsional: Perangkat lunak mentransformasi informasi, dan untuk melakukannya, perangkat lunak harus melakukan paling tidak tiga fungsi genetik: input, pemrosesan, dan output.
—Model tingkah laku: Karakteristik stimulus-respon ini membentuk dasar dari model tingkah laku. Model tingkah laku menciptakan representasi pernyataan-pernyataan perangkat lunak dan event-event yang menyebabkan perangkat lunak mengubah pernyataan.
5. Kajian Spesifikasi
Kajian dari suatu spesifikasi persyaratan perangkat lunak dilakukan baik
oleh pelanggan atau pengembang PL. Karena spesifikasi membentuk dasar
bagi desain dan aktivitas rekayasa selanjutnya, maka kajian harus
dilakukan dengan hati- hati. Kajian dilakukan pertama kali pada tingkat makroskopik.pada tingkat ini pengkaji akan memastikan bahwa spesifikasi sudah lengkap, konsisten, dan, akurat.