Attributed Goal-Oriented Requirements Analysis

Attributed Goal-Oriented Requirements Analysis (AGORA) adalah salah satu metode goal-oriented requirement engineering. Metode ini memecahkan masalah dalam metode analisis kebutuhan yang berorientasi pada tujuan (goal) seperti i*, KAOS, dan GRL. Metode-metode tersebut tidak mendukung untuk memfasilitasi kegiatan berikut; memilih tujuan yang akan diuraikan, memprioritaskan dan menyelesaikan konflik tujuan dan konflik pemangku kepentingan pada tujuan, memilih dan mengadopsi tujuan dari alternatif tujuan sebagai spesifikasi kebutuhan, menganalisis dampak ketika kebutuhan berubah, dan meningkatkan kualitas kebutuhan berdasarkan pengukuran kualitas artefak yang dikembangkan oleh metode. Jadi, selain menyelesaikan masalah-masalah tersebut, metode AGORA memperkuat metode yang berorientasi pada tujuan. Di AGORA, nilai atribut (attribute values), mis. nilai kontribusi (contribution values) dan matriks nilai preferensi (preference matrices), ditambahkan ke grafik tujuan AND-OR. Seorang analis menempelkan nilai kontribusi dan mekanisme preferensi masing-masing ke edge dan node dari grafik selama proses penguraian dan penyempurnaan tujuan. Nilai kontribusi dari edge menggambarkan derajat kontribusi sub-goal terhadap pencapaian parent-goal, sedangkan matriks preferensi suatu tujuan mewakili preferensi tujuan untuk setiap pemangku kepentingan. Atribut ini dapat membantu analis untuk memilih tujuan dari alternatif, untuk mengenali konflik di antara tujuan, dan untuk menganalisis dampak perubahan kebutuhan.

AGORA menyediakan teknik analisis kuantitatif pada tujuan. Di sisi lain, pendekatan Chung  untuk kebutuhan non-fungsional memberikan atribut kualitatif (mis. Kontribusi positif atau negatif) dalam metode berorientasi tujuan dan tidak dapat menangani tujuan dari pandangan kuantitatif. Kontribusi lain dari AGORA adalah menyediakan teknik untuk memperkirakan kualitas spesifikasi kebutuhan dari artefak perantara yang dihasilkan selama proses elisitasi kebutuhan. Hampir semua metode yang ada hanya untuk mendukung penciptaan artefak, baik pengukuran kualitasnya maupun peningkatannya berdasarkan pengukuran kualitas. Di AGORA, nilai atribut yang terikat dan karakteristik struktural grafik memungkinkan analis untuk memperkirakan kualitas spesifikasi kebutuhan yang dihasilkan, seperti kebenaran (corectness), ketidakjelasan (unambiguity), kelengkapan (completeness), dll. Kualitas perkiraan ini memungkinkan analis untuk mengenali tujuan mana yang harus ditingkatkan dan / atau disempurnakan. Teknik ini menunjukkan bagaimana cara menanamkan pengukuran kualitas ke dalam metode yang ada dan AGORA adalah salah satu contoh di mana kerangka kerja pengukuran kualitas tertanam. Teknik ini dapat diterapkan, contohnya pelekatan atribut ke artefak, ke metode yang ada.

Untuk membentuk fungsi pendukung yang tidak dimiliki oleh metode berorientasi tujuan yang ada, grafik tujuan AGORA adalah versi lanjutan dari grafik tujuan AND-OR, lebih konkretnya adalah grafik tujuan AND-OR yang dikaitkan. Bagian yang diperpanjang dari grafik tujuan AGORA dapat didaftar sebagai berikut;

 Melekatkan nilai atribut ke node dan edge. Nilai atribut ini, sebagai tambahan dari karakteristik struktural grafik, memungkinkan untuk memperkirakan kualitas spesifikasi kebutuhan yang dihasilkan dari grafik. Terdapat dua jenis atribut, yaitu:
 Matriks preferensi: terlekat pada node, mis. tujuan, dan merupakan tingkat preferensi atau kepuasan tujuan bagi setiap pemangku kepentingan.
 Nilai kontribusi: terlekat pada edge dan menyatakan tingkat kontribusi tujuan terhadap pencapaian parent-goal yang terhubung kepadanya.
 Rationale: Dapat dilekatkan ke atribut, baik node ataupun edge. Hal ini mewakili alasan mengapa analis menguraikan tujuan menjadi sub-goal seperti itu, mengapa ia memilih sub-goal di cabang OR dan mengapa ia melekatkan nilai atribut tersebut ke edge atau node. Memberikan alasan sangat membantu untuk mempertahankan grafik tujuan AGORA.

Metode AGORA 
Prosedur untuk membuat grafik tujuan AGORA adalah sebagai berikut;

Menetapkan tujuan awal sesuai kebutuhan pelanggan 
Tujuan awal dapat dianggap sebagai kebutuhan pelanggan, dan pada awalnya seorang analis menempatkan mereka pada node akar dari grafik AGORA.

Mendekomposisi dan menyempurnakan tujuan menjadi sub-goal 
Langkah kedua metode AGORA, salah satu langkah paling signifikan, adalah untuk menguraikan dan menyempurnakan tujuan menjadi sub-goal satu demi satu, dengan tujuan awal sebagai titik awal. Sub-goal terhubung ke parent-goal dengan edge terarah. Analis dapat memiliki lebih dari satu sub-goal dari parent-goal, dan juga dapat menggunakan dua jenis dekomposisi yang sesuai dengan kombinasi logis dari sub-goal; yang pertama adalah dekomposisi-AND dan yang lainnya adalah dekomposisi-OR. Dalam dekomposisi-AND, kecuali semua sub-goal tercapai, parent-goalnya tidak dapat dicapai atau dipenuhi. Di sisi lain, dalam dekomposisi-OR, ketika setidaknya satu sub-goal tercapai, parent-goalnya dapat dicapai. Analis dapat melekatkan nilai atribut matriks preferensi dan nilai kontribusi masing-masing untuk tujuan dan edge.

Nilai kontribusi melekat pada batas antara parent-goal dan sub-goalnya dan dapat berupa bilangan bulat dari −10 hingga 10. Nilai ini menyatakan berapa banyak derajat yang disumbangkan oleh sub-goal tersebut untuk pencapaian parent-goal, dan semakin tinggi nilainya, semakin banyak kontribusi yang diberikan sub-goal. Nilai negatif berarti bahwa sub-goal menghalangi pencapaian parent-goal.

Matriks preferensi menunjukkan tingkat apa yang lebih disukai pemangku kepentingan dari sebuah tujuan atau terpenuhi, dan melekat pada suatu tujuan. Setiap nilai juga mengambil bilangan bulat dari −10 hingga 10. Setiap pemangku kepentingan tidak hanya mencapai nilai preferensi sendiri, tetapi juga memperkirakan nilai preferensi para pemangku kepentingan lainnya. Sebagai hasilnya, preferensi tujuan direpresentasikan dalam bentuk matriks.

Memilih tujuan dari alternatif tujuan 
Setidaknya satu sub-goal dipilih untuk mencapai parent-goalnya jika parent-goalnya telah didekomposisi-OR. Nilai kontribusi dan matriks preferensi membantu analis untuk memilih sub-goal yang sesuai. Pada dasarnya, jika suatu sub-goal terhubung ke suatu sisi yang memiliki nilai kontribusi tinggi, ia dapat menjadi kandidat untuk dipilih dan diadopsi sebagai penerus dari parent-goalnya. Hal ini karena nilai kontribusi edge menunjukkan bagaimana sub-goal yang terhubung ke edge bermanfaat untuk mencapai parent-goalnya.

Matriks preferensi juga membantu analis untuk memilih tujuan. Karena sistem yang dijelaskan dalam spesifikasi kebutuhan pada dasarnya untuk pelanggan, nilai preferensi pelanggan adalah indikator yang baik untuk memilih tujuan yang sesuai. Dalam AGORA, dapat direkomendasikan bahwa seorang analis dapat memilih tujuan yang memiliki nilai preferensi pelanggan yang lebih tinggi.

Mendeteksi dan menyelesaikan konflik pada tujuan 
Ada dua jenis konflik pada tujuan; satu adalah konflik antar tujuan dan yang lainnya adalah konflik pada tujuan antara para pemangku kepentingan. Analis dapat mendeteksi dua jenis konflik ini dengan menginvestigasi nilai kontribusi dan matriks preferensi. Ringkasan tujuan mana yang memiliki kemungkinan konflik adalah sebagai berikut;

 Dua tujuan yang terhubung dengan edge yang nilai kontribusinya negatif.
 Tujuan di mana elemen-elemen diagonal dari matriks preferensi memiliki varians yang besar atau jauh menyimpang dari nilai rata-rata mereka.
 Jika grafik memiliki sepasang sub-goal yang terhubung dengan edge memiliki nilai negatif dan analis tidak dapat tidak mengadopsinya, ia harus mempertimbangkan dekomposisi lebih lanjut ke dalam sub-goal sehingga ia bisa mendapatkan sub-goal yang nilai kontribusinya meningkat.

Ketika analis menemukan varians besar dari elemen diagonal dari matriks preferensi suatu tujuan, ada kemungkinan konflik di antara para pemangku kepentingan untuk tujuan tersebut. Dalam hal ini, para pemangku kepentingan yang relevan akan dipaksa untuk bernegosiasi untuk penyelesaian konflik tujuan.

Mengakhiri dekomposisi tujuan 
Ketika dekomposisi tujuan tumbuh cukup konkret untuk merancang dan menerapkan sistem perangkat lunak yang dimaksud, analis dapat menyelesaikan analisisnya. Salah satu pedoman untuk konkretnya sebuah tujuan adalah bahwa tujuan terdiri dari deskripsi operasional.

Referensi 

Rekayasa perangkat lunak
Rekayasa kebutuhan