Scenario Based Requirement Analysis Method
Scenario Based Requirement Analysis Method (disingkat SCRAM) adalah salah satu metode rekayasa kebutuhan berbasis skenario. Terdapat dua metode rekayasa kebutuhan yang telah menempatkan peran penting bagi skenario, yaitu ScenIC[1] dan SCRAM.[2][3][4] Dalam metode SCRAM, skenario digunakan bersama prototipe awal untuk memperoleh kebutuhan sebagai respon dari desain awal. Pada dasarnya, pendekatan ini menggabungkan peran skenario pada proses elisitasi dan validasi dengan cara menyediakan konteks bagi pengguna untuk menilai desain yang menggambarkan skenario penggunaan.[5] SCRAM menggabungkan concept demonstrator, skenario, dan design rationale.[6] SCRAM menggunakan metode penelusuran naskah skenario untuk memvalidasi opsi desain untuk 'poin utama' dalam naskah. Desain alternatif didokumentasikan dalam design rationale dan dijelaskan pada pengguna melalui demo prototipe awal.[7] SCRAM terbukti bermanfaat untuk memfasilitasi requirement elaboration begitu prototipe awal dibuat.[8] Definisi SkenarioKamus Bahasa Inggris Oxford mendefinisikan skenario sebagai "ikhtisar atau naskah film dengan detail adegan atau bayangan urutan kejadian pada masa yang akan datang".[5] Dalam konteks rekayasan kebutuhan, skenario didefinisikan sebagai fakta yang menggambarkan sistem saat ini dan lingkungannya, termasuk juga perilaku dari agen dan informasi konteks yang memadai untuk memungkinkan adanya penemuan dan validasi kebutuhan sistem. Skenario merupakan contoh pengalaman nyata yang dialami pengguna selama menggunakan sistem.[9] Skenario dianjurkan sebagai metode komunikasi yang efektif antara pengguna dan stakeholder, serta dapat menangkap analisis kebutuhan dalam pengalaman di dunia nyata yang dapat diekspresikan dalam bahasa alami, gambar, atau media lainnya.[10][11][12] Skenario sebagai representasi desainSkenario yang merupakan representasi dari dunia nyata digeneralisasikan selama proses analisis kebutuhan untuk menghasilkan sebuah model yang familier bagi praktisi dalam bidang rekayasa kebutuhan dan rekayasa perangkat lunak.[5] Representasi informil lainnya, seperti design rationale[13] dapat menangkap keputusan desain yang didapatkan dari pernyataan masalah berbasis skenario, spesifikasi model dan spesifikasi kebutuhan diubah menjadi desain dan kemudian akan diimplementasikan. Selama proses itu, skenario yang menggambarkan perilaku dari artifak yang dirancang memiliki peran dalam proses validasi. Dalam hal ini, skenario serupa dengan model, baik dalam format maupun konten, meskipun keduanya biasanya mengilustrasikan urutan perilaku yang valid dalam batasan spesifikasi kebutuhan.[14] Dalam rute pengembangan alternatif melalui prototyping, skenario berfungsi sebagai inspirasi desain dan bahan untuk menguji desain prototipe.[2][12][15] Skenario dapat digunakan sebagai bahan pertimbangan untuk sebuah desain dan juga sebagai naskah uji dalam metode evaluasi.[16][17] Peran skenarioSkenario memiliki 3 peran berbeda, yaitu:
Metode SCRAMSCRAM tidak secara eksplisit mencakup pemodelan dan spesifikasi, karena kedua hal tersebut dianggap berkembang secara paralel, mengikuti metode rekayasa perangkat lunak pilihan perancang.[5] Metode ini terdiri dari empat fase, yaitu: Initial Requirements Capture and Domain FamiliarisationFase ini dilakukan dengan wawancara konvensional dan teknik pencarian fakta untuk mendapatkan informasi yang cukup untuk mengembangkan concept demonstrator pertama. Initial Requirements Capture mengumpulkan fakta tentang domain dan menangkap sasaran tingkat tinggi pengguna untuk sistem yang akan dibangun. Skenario muncul sebagai contoh penggunaan sehari-hari dari sistem saat ini, dengan serangkaian masalah yang dihadapi dan bagaimana masalah tersebut ditangani. Jika dalam proses pencarian fakta menemui beberapa masalah, hal terbaik yang harus dilakukan adalah mencari kesamaan antara setiap versi individu yang berbeda dan membuat "normal use case" yang umum. Setelah use case tersedia, kumpulkan satu set exceptions, yaitu jalur alternatif dalam use case. Jumlah dari alternatif yang diperlukan tergantung pada kompleksitas sistem dan safety criticality. Fase ini juga menangkap sasaran tingkat tinggi pengguna.[5] Storyboarding and Design VisioningFase ini menciptakan visi awal dari sistem yang diperlukan yang dijelaskan kepada pengguna dalam penelusuran storyboard untuk mendapatkan umpan balik tentang kelayakan sistem. Storyboard dibuat dengan mengembangkan desain awal dari sub-set skenario use case yang dikumpulkan dalam fase 1. Storyboard adalah sketsa atau layar tiruan yang menunjukkan langkah-langkah kunci dalam interaksi sistem pengguna. Analis menganalisis storyboard dengan menjelaskan apa yang terjadi pada setiap tahap dalam fungsi sistem, dan meminta pendapat pengguna. Umpan balik yang lebih baik akan diperoleh dengan menunjukkan prototipe interaktif pada fase selanjutnya, yaitu Requirements Exploration.[5] Requirements ExplorationTahap ini menggunakan concept demonstrator dan prototipe awal untuk menyajikan desain yang lebih rinci kepada pengguna dalam demonstrasi semi interaktif skenario sehingga desain dapat dikritik dan kebutuhan sistem dapat divalidasi. Concept Demonstrator adalah prototipe awal dengan fungsi dan interaktivitas terbatas, sehingga hanya dapat dijalankan sebagai skrip. Skrip menggambarkan skenario tindakan pengguna yang khas dengan respon sistem yang ditiru oleh perancang. Concept demonstrator berbeda dari prototipe karena hanya fungsionalitas minimal saja yang diterapkan dan pengguna tidak dapat dengan mudah berinteraksi dengan demonstrator. Skenario kontekstual dikembangkan berdasarkan analisis domain awal yang menggambarkan situasi yang diambil dari konteks kerja pengguna, skenario kontekstual tersebut juga harus berisi latar belakang yang mencukupi untuk menempatkan tindakan, yang dapat memberikan informasi yang cukup kepada pengguna untuk menafsirkan skrip. Para pengguna diundang untuk mengkritik concept demonstrator. Concept demonstrator dijelaskan oleh analis, sementara anggota tim desain lain berinteraksi dengan sistem. Pengujian langsung yang bersifat terbatas dapat diberikan pada sesi ini. Dalam fase selanjutnya, para pengguna didorong untuk mengklarifikasi setiap poin yang mereka temukan ambigu, kembali ke bagian mana pun dari demonstrasi, dan menguraikan kebutuhan lebih lanjut. Requirement engineer juga dapat menindaklanjuti poin yang diajukan atau komentar yang dibuat pengguna selama sesi tersebut. Skenario dapat dihubungkan dengan keputusan yang ditunjukkan dalam diagram design rationale yang menggambarkan trade-off dan asumsi yang mempengaruhi pilihan. Tautan lebih lanjut dapat melengkapi jalur dari skenario ke spesifikasi kebutuhan yang lebih formal.[5] Prototyping and Requirements ValidationFase ini mengembangkan prototipe yang lebih fungsional dan terus menyempurnakan kebutuhan sistem sampai prototipe disetujui untuk dapat diterima oleh semua pengguna. Setelah demonstrasi selesai, ringkasan dari kebutuhan akan dicantumkan. Kebutuhan-kebutuhan tersebut akan dibahas dan diberi prioritas menggunakan skala. Design rationale dapat digunakan dalam langkah ini untuk membantu diskusi terstruktur tentang trade-off desain dengan kriteria penilaian (sering kali kebutuhan non-fungsional) yang dapat digunakan untuk menilai manfaat dari solusi alternatif. Proses ini dapat diulangi menggunakan prototipe yang lebih fungsional sesuai kebutuhan.[5]
|