Pemahaman
lengkap mengenai persyaratan perangkat lunak sangat penting bagi
keberhasilan usaha pengembangan perangkat lunak. Tidak peduli bagaimana
perangkat lunak dirancang atau dikodekan, program yang dianalisis dan
ditentukan secara tidak baik akan mengecewakan pemakainya dan akan membawa kegagalan bagi pengembangnya.
Dalam konteks perangkat lunak, analisis merupakan sebuah :
Dalam konteks perangkat lunak, analisis merupakan sebuah :
- Penemuan
- Perbaikan
- Pemodelan
- Spesifikasi (baru)
- Pengembang maupun pelanggan harus berperan aktif
- Pelanggan berusaha memformulasikan kembali konsep yang tidak jelas dari fungsi perangkat lunak dan kinerja kedalam detail yang konkret.
- Pengembang bertindak sebagai integrator, konsultan dan pemecah masalah
APA YANG MENJADI MASALAH SEBENARNYA ?
- Pelanggan hanya memiliki ide yang samar-samar apa yang dibutuhkan
- Pengembang akan menghasilkan sesuatu dengan mengacu kepada “ide yang samar-samar”, dengan asumsi bahwa “kita akan mengerjakan rincian pekerjaan sesuai tahapan (langkah)”
- Pelanggan akan terus mengikuti perubahan
- Pengembang akan “dirugikan” oleh perubahan-perubahan ini, membuat kesalahan-kesalahan dalam spesifikasi dan pengembangan
Gambar 11.1 Analisis dan kesenjangan antara rekayasa system dan desain perangkat lunak
Analisis persyaratan perangkat lunak dapat dibagi menjadi 5 (lima) area kerja yaitu :
- Pengenalan masalah
- Evaluasi dan sintesis
- Membatasi semua objek data yang dapat diobservasi secara eksternal
- Mengevaluasi aliran dan muatan informasi
- Mendefinisikan dan menguraikan semua fungsi perangkat lunak
- Memahami tingkah laku perangkat lunak dalam konteks kejadian yang mempengaruhi system
- Membangun karakteristik interface system
- Menemukan batasan desain tambahan
- Pemodelan
- Spesifikasi
- Kajian
TEKNIK KOMUNIKASI
- Merupakan permulaan yang (selalu) perlu dilakukan agar seorang pelanggan memiliki masalah yang dapat dipertanggung jawabkan melalui pemecahan berbasis komputer
- Agar pengembang dapat merespon permintaan bantuan (help) dari pelanggan
- Biasanya jalan komunikasi ke pemahaman penuh dengan “lobang-lobang”
MENGAWALI PROSES
- Untuk menjembatani jurang / lobang-lobang komunikasi antara pelanggan dan pengembang, sekaligus untuk memulai proses komunikasi, perlu dilakukan pertemuan pendahuluan atau wawancara
- Harus dimulai dengan pertanyaan-pertanyaan yang bebas konteks :
- Dilanjutkan dengan pertanyaan agar seorang analis mendapat pemahaman yang lebih baik akan mengenai masalah dari pelanggan
- Diakhiri dengan pertanyaan yang berfokus pada efektivitas pertemuan
FAST (Facilitated Application Specification Techniques)TENTANG FASTMemacu kreasi kerjasama dari tim (pelanggan dan pengembang) yang bekerja sama untuk :
- Mengidentifikasi masalah
- Menyiapkan elemen-elemen solusi
- Menegosiasikan pendekatan yang berbeda
- Menetapkan sebelumnya kebutuhan solusi yang diperlukan
Banyak pendekatan yang digunakan dan masing-masing pendekatan menggunakan scenario yang berbeda, namun semuanya menerapkan variasi tuntunan dasar berikut ini:
- Pertemuan dilakukan di sisi netral dan dihadiri baik oleh pengembang maupun pelanggan
- Aturan main untuk persiapan dan partisipasi dibuat
- Perlunya agenda
- Perlunya seorang fasilitator
- Harus adanya mekanisme definisi
- Peserta harus menghadiri semua rapat
- Semua peserta adalah sama
- Persiapan harus sama pentingnya dengan rapat yang sebenarnya
- Semua dokumen sebelum rapat harus dikaji ulang
- Lokasi rapat diluar ruangan terkadang diperlukan
- Tentukan agenda dan jangan sampai mengalami perubahan
- Jangan sampai terbawa dalam hal-hal teknis yang terlalu rinci
PENYEBARAN FUNGSI KUALITAS (QUALITY FUNCTION DEPLOYMENT = QFD)QFD sebagai perkenalan :
- Teknik manajemen kualitas yang menterjemahkan kebutuhan pelanggan kedalam kebutuhan teknis untuk perangkat lunak
- Pertama kali diperkenalkan di Jepang untuk memaksimalkan kepuasan pelanggan
- Menekankan pemahaman tentang apa yang berguna kepada pelanggan dan kemudian menyebarkan nilai-nilai tersebut melalui proses rekayasa
QFD mengidentifikasi tiga tipe persyaratan yaitu :
- Persyaratan normal : Sasaran dan tujuan bagi sebuah produk atau system selama pertemuan dengan pelanggan. Bila persyaratan ini ada, maka pelanggan akan menjadi puas, misalnya tampilan grafis yang sempurna.
- Persyaratan yang diharapkan : Persyaratan ini implicit terhadap produk atau system yang sangat fundamental sehingga pelanggan tidak menyatakannya secara eksplisit. Ketidakhadirannya akan menyebabkan ketidakpuasan yang sangat mendalam. Contohnya adalah mudahnya operasional interaksi manusia dan mesin, reliabilitas dan kebenaran operasional keseluruhan dan mudahnya instalasi perangkat lunak
- Exciting requirement : Persyaratan ini sangat diharapkan oleh pelanggan dan terbukti sangat memuaskan bila ada, misal kemampuan perangkat pengolah kata yang memiliki kemampuan layout halaman, dsb.
GAMBARAN KONSEP QFD :
- Penyebaran fungsi, menentukan nilai (seperti yang diharapkan pelanggan) dari setiap fungsi yang dibutuhkan oleh system.
- Penyebaran informasi, mengidentifikasi objek data dan kejadian
- Penyebaran tugas, yang melatih kebiasaan dari system
- Analisa nilai, menetapkan prioritas relative kebutuhan
ANALISA PROSES SECARA UMUM
Add caption |
PRINSIP ANALISA 1Data Domain Model :
- Menetapkan objek data
- Menggambarkan atribut data
- Menetapkan hubungan data
PRINSIP ANALISA 2Fungsi Model :
- Mengidentifikasi fungsi yang (dapat) merubah objek data
- Mengindikasikan berapa data yang melalui system
- Mewakili data produsen dan konsumen
PRINSIP ANALISA 3Model Kebiasaan :
- Mengindikasikan states yang berbeda dari system
- Menetapkan kejadian yang mungkin menyebabkan perubahan pada state
PRINSIP ANALISA 4Partisi Model :
- Menyaring setiap model untuk mewakili level yang lebih rendah dari abstraksi
- Membuat partisi horizontal dan vertikal
- Memulai focus intisari masalah tanpa memperhatikan rincian implementasi
BEBERAPA PRINSIP YANG DIKEMUKAKAN DAVIS :
- Mengerti masalah sebelum kita memulai menciptakan model analisa
- Membangun protipe yang memungkinkan pelanggan untuk mengerti bagaimana pelanggan mengerti interaksi manusia dan mesin dapat terjadi
- Mencatat hal-hal yang baru dan alasan untuk setiap kebutuhan
- Menggunakan gambaran bertingkat setiap kebutuhan
- Memprioritaskan kebutuhan
- Bekerja untuk menghilangkan keragu-raguan
MODEL ANALISA :
| |||||||||||||||
- Apakah tujuan dan sasaran yang dinyatakan bagi perangkat lunak tetap konsisten dengan tujuan dan sasaran system ?
- Apakah interface penting ke semua elemen system sudah digambarkan ?
- Apakan aliran informasi dan struktur didefinisikan dengan tepat bagi domain masalah ?
- Apakah diagram jelas ? dapatkah masing-masing berdiri sendiri tanpa teks pendamping ?
- Apakah fungsi mayor tetap ada dalam ruang lingkup, dan sudahkan digambarkan dengan tepat ?
- Apaka tingkah laku perangkat lunak konsisten dengan informasi yang harus diprosesnya dengan fungsi yang harus dilakukannya /
- Apakah batasan desain realistis ?
- Apakah resiko teknologis pengembangan sudah dipertimbangkan ?
- Apakah criteria validasi dinyatakan secara detail ? Apakah criteria itu tepat untuk menggambarkan sebuah system yang berhasil ?
- Apakah ada inkonsistensi, penghilangan atau redundancy ?
- Apakah kontak dengan pelanggan sudah lengkap ?
- Apakah pemakai sudah mengkaji manual pemakai permulaan atau prototype ?
- Bagaimana estimasi perencanaan mempengaruhi ?
RANGKUMAN
- Analisis persyaratan adalah langkah teknis pertama pada proses rekayasa perangkat lunak
- Analisis harus berfokus pada domain informasi, fungsional dan tingkah laku dari masalah
- Dalam beberapa kasus tidaklah mungkin untuk secara lengkap memspesifikasi suatu masalah pada tahap awal
- Spesifikasi persyaratan perangkat lunak dikembangkan sebagai akibat dari analisis
- Understandability, yaitu sejauh mana proses secara eksplisit ditentukan dan bagaimana kemudahan definisi proses itu dimengerti.
- Visibility, apakah aktivitas-aktivitas proses mencapai titik akhir dalam hasil yang jelas sehingga kemajuan dari proses tersebut dapat terlihat nyata/jelas
- Supportability, yaitu sejauh mana aktivitas proses dapat didukung oleh CASE
- Acceptability, apakah proses yang telah ditentukan oleh insinyur dapat diterima dan digunakan dan mampu bertanggung jawab selama pembuatan produk perangkat lunak
- Reliability, apakah proses didesain sedikian rupa sehingga kesalahan proses dapat dihindari sebelum terjadi kesalahan pada produk.
- Robustness, dapatkah proses terus berjalan walaupun terjadi masalah yang tak diduga
- Maintainability, dapatkah proses berkembang untuk mengikuti kebutuhan atau perbaikan
- Rapidity, bagaimana kecepatan proses pengiriman sistem dapat secara lengkap memenuhi spesifikasi.
- Pendekatan Waterfall
- Pengembangan secara evolusioner
- Transformasi formal
- Penggabungan sistem dengan menggunakan komponen-komponen yang dapat digunakan kembali.
- Penentuan dan analisis spesifikasi
- Desain sistem dan perangkat lunak
- Implementasi dan ujicoba unit
- Integrasi dan ujicoba sistem
- Operasi dan pemeliharaan
- Proses tidak visibel.
- Sistem-sistem biasanya kurang terstruktur
- Ketrampilan khusus jarang dimiliki
0 komentar:
Posting Komentar