210 likes | 561 Views
Pertemuan 8 Rekayasa Kebutuhan. Rekayasa Kebutuhan I. permulaan—tanya beberapa pertanyaan yang menjelaskan : Pemahaman dasar dari masalah Orang yang membutuhkan solusi Keadaan dari solusi yang diinginkan Efektivitas komunikasi dan kolaborasi awal antara konsumen dengan developer
E N D
Rekayasa Kebutuhan I • permulaan—tanya beberapa pertanyaan yang menjelaskan : • Pemahaman dasar dari masalah • Orang yang membutuhkan solusi • Keadaan dari solusi yang diinginkan • Efektivitas komunikasi dan kolaborasi awal antara konsumen dengan developer • Perolehan—memperoleh kebutuhan dari semua stakeholder • Penguraian—membuat model analisis yang mampu melakukan identifikasi kebutuhan data, fungsi dan perilaku • Negosiasi—menyepakati sistem penyajian yang realistis bagi konsumen dan developer
Rekayasa Kebutuhan-II • Spesifikasi—salah satu dari berikut ini : • Dokumen tertulis • Sekelompok model • Matematika formal • Sekumpulan skenario user (use-cases) • Prototipe • Validasi—memeriksa mekanisme yang memuat • Kesalahan isi atau interpretasi • Area dimana klarifikasi dibutuhkan • Informasi yang hilang • inkonsistensi (masalah utama ketika produk atau sistem besar direkayasa) • Kebutuhan yang konflik atau tidak realistis. • Manajemen Kebutuhan
Permulaan • Kenali stakeholder • “who else do you think I should talk to?” • Kenali beberapa sudut pandang • Berusahalah menuju kolaborasi • Pertanyaan pertama • Siapa di belakang permintaan atas pekerjaan ini ? • Siapa yang akan menggunakan solusi ini? • Apa keuntungan ekonomi dari solusi yang sukses ? • Apakah ada sumber solusi lain yang anda butuhkan?
Memperoleh Kebutuhan • Pertemuan diadakan dan dihadiri baik oleh software engineer maupun konsumen • Aturan persiapan dan partisipasi dibuat • Agenda ditawarkan • Seorang fasilitator (bisa konsumen, developer atau orang luar) mengendalikan pertemuan • Mekanisme definisi digunakan (bisa berupa kertas kerja, grafik, bulletin board elektronik, forum virtual dsb • Tujuannya adalah • Menemukan permasalahan • Mengajukan elemen-elemen solusi • Negosiasi pendekatan yang berbeda • Menentukan sekelompok kebutuhan solusi awal
Penyebaran Fungsi Kualitas • Penyebaran fungsi menemukan “nilai” (dalam persepsi konsumen) dalam setiap fungsi yang diperlukan sistem • Penyebaran Informasi menentukan event dan objek data • Penyebaran Tugas memeriksa perilaku sistem • Analisis Nilai menentukan prioritas relatif dari kebutuhan
Mendapatkan Produk-Produk Kerja • Sebuah pernyataan kebutuhan dan kemungkinan dikerjakan. • Pernyataan terbatas tentang lingkup sistem atau produk. • Daftar konsumen, pengguna dan stakeholder lain yang berpartisipasi dalam pengumpulan kebutuhan • Deskripsi lingkungan teknis sistem. • Daftar kebutuhan (disarankan dikelompokkan berdasar fungsi) dan batasan domain yang diterapkan pada masing-masing kebutuhan. • Sekelompok skenario penggunaan yang menyediakan wawasan pada penggunaan sistem atau produk dalam kondisi operasi yang berbeda. • Beberapa prototype yang dikembangkan untuk definisi kebutuhan yang lebih baik.
Use-Cases • Sekelompok skenario pengguna yang menggambarkan alur penggunaan sistem • Setiap skenario digambarkan dari sudut pandang “aktor”, seseorang atau piranti yang berinteraksi dengan PL dalam berbagai cara • Setiap skenario menjawab pertanyaan-pertanyaan berikut :: • Siapa aktor primer dan sekunder ? • Apa tujuan aktor ? • Prekondisi apa yang harus ada sebelum cerita dimulai? • Apa tugas atau fungsi utama yang dilakukan oleh aktor ? • Ekstensi apa yang harus diperhatikan ketika cerita digambarkan? • Variasi apa yang mungkin pada interaksi aktor? • Sistem informasi apa yang dibutuhkan, diproduksi atau diubah aktor ? • Apakah aktor harus menginformasikan kepada sistem tentang perubahan di lingkungan luar ? • Informasi apa yang diharapkan aktor dari sistem ? • Apakah aktor berharap diinformasikan tentang perubahan yang tidak terduga ?
Membangun Model Analisis • Elemen-elemen model analisis • Elemen-elemen berbasis skenario • Fungsional—memproses narasi untuk fungsi PL • Use-case—gambaran interaksi antara aktor dan sistem • Elemen-elemen berbasis Class • Dipengaruhi oleh skenario • Elemen-elemen Perilaku/Behavioral • State diagram • Elemen-elemen berorientasi aliran • Data flow diagram
Class Diagram From the SafeHome system …
Pola-Pola Analisis • Nama Pola:sebutan yang mengungkap esensi pola . • Maksud: Menggambarkan apa yang dilakukan atau direpresentasikan pola • Motivasi: Sebuah skenario yang menggambarkan bagaimana pola dapat digunakan untuk menyelesaikan masalah. • Pengaruh dan Konteks: deskripsi isu eksternal yang dapat mempengaruhi bagaimana pola digunakan, dan isu eskternal yang akan diselesaikan ketika pola diterapkan. • Solusi: Deskripsi tentang bagaimana pola diterapkan untuk menyelesaikan masalah dengan tekanan pada isu struktural dan perilaku.
Konsekuensi: menunjukkan apa yang terjadi apabila pola diterapkan dan apa kerugian yang ada selama aplikasi tersebut dijalankan. • Desain: Membahas bagaimana pola analisis dapat diterima melalui penggunakan pola desain (design patterns) yang sudah dikenal. • Penggunaan yang sudah dikenal: Contoh penggunaan di dalam sistem aktual. • Pola terkait: Satu atau lebih pola analisis yang terkait dengan nama pola yang ada karena (1)secara umum digunakan dengan nama pola;(2)secara struktur mirip dengan nama pola;(3)variasi dari nama pola.
Negosiasi Kebutuhan • Mengenali stakeholder kunci • Orang-orang ini yang akan dilibatkan negosiasi • Menentukan “kondisi menang” setiap stakeholder • Kondisi kemenangan tidak selalu jelas • Negosiasi • Bekerja menuju sekumpulan kebutuhan yang merupakan win-win solution
Validasi Kebutuhan-I • Apakah setiap kebutuhan konsisten dengan tujuan keseluruhan sistem/produk? • Apakah semua kebutuhan telah dispesifikasikan pada tingkat abstraksi yang tepat ? Apakah beberapa kebutuhan pada tingkatakan detail teknis tidak tepat pada level ini ? • Apakah kebutuhan benar-benar diperlukan ataukan dia hanya merupakan fitur tambahan yang tidak esensial bagi tujuan sistem ? • Apakah setiap kebutuhan terbatasi dengan baik dan tidak ambigu ? • Apakah setiap kebutuhan mempunyai atribut ? Apakah sebuah sumber tercatat untuk setiap kebutuhan ? • Apakah setiap kebutuhan konflik dengan kebutuhan lain ?
Validasi Kebutuhan--II • Apakah setiap kebutuhan dapat diterima dalam lingkungan teknik yang menjadi rumah bagi sistem/produk? • Apakah setiap kebutuhan dapat diuji, setelah diimplementasi ? • Apakah model kebutuhan mencerminkan informasi, fungsi, dan perilaku sistem yang dibangun dengan baik. • Apakah model kebutuhan telah dipartisi sedemikian sehingga menampilkan secara progresif informasi yang lebih detail tentang sistem ? • Apakah pola kebutuhan telah digunakan untuk mempermudan model kebutuhan ? Apakah semua pola telah divalidasi? Apakah pola konsisten dengan kebutuhan konsumen ?