Goal-based Requirement Analysis Method (GBRAM)
Goal Analysis

Goal adalah sasaran tingkat tinggi dari sebuah bisnis, organisasi, atau sistem. Goal tersebut menangkap alasan mengapa suatu sistem diperlukan dan memandu keputusan di berbagai tingkatan dalam perusahaan. Proses goal analysis adalah tentang eksplorasi sumber informasi untuk identifikasi goal diikuti oleh organisasi dan klasifikasi goal itu sendiri. Goal analysis merupakan proses eksplorasi dokumen yang dikumpulkan, dimulai dari informasi tentang organisasi (misalnya tujuan perusahaan) ke informasi spesifik sistem (misalnya kebutuhan sistem). Sering diasumsikan bahwa sistem perangkat lunak dibangun dengan beberapa goal atau tujuan, namun terkadang goal atau tujuan tersebut tidak jelas, tujuan perusahaan tidak selalu mencerminkan apa yang sebenarnya terjadi. Dengan demikian, penting untuk mengumpulkan informasi sebanyak mungkin untuk mendapatkan pemahaman yang luas tentang domain, organisasi, proses dan sistem.
Kegiatan ini selanjutnya dibagi menjadi:
Eksplorasi (Explore Activities): mengeksplorasi informasi yang tersedia.
Identifikasi (Identify Activities): penggalian goal dan agen yang bertanggung jawab dari informasi yang telah didapatkan pada kegiatan eksplorasi.
Organisir (Organize Activities): mengklasifikasikan dan mengatur goal sesuai dengan hubungan ketergantungannya.
Goal dapat diekstraksi dari berbagai jenis informasi yang dikumpulkan termasuk deskripsi proses seperti diagram alir atau diagram Entity Relationship (ER). Penting untuk mengidentifikasi goal dari deskripsi proses dengan cara mencari pernyataan yang tampaknya memandu keputusan desain di berbagai tingkatan dalam suatu sistem atau organisasi. Ketika digunakan sebagai sumber informasi eksklusif, deskripsi proses tidak cukup untuk mencapai ketelitian dan kelengkapan. Oleh karena itu, jika memungkinkan, praktisi harus mempertimbangkan sumber-sumber lain yang mungkin seperti transkrip wawancara dengan para pemangku kepentingan. Namun, para pemangku kepentingan cenderung untuk mengungkapkan kebutuhan mereka dalam hal operasi dan tindakan daripada dalam bentuk goal. Dengan demikian, mencari kata-kata tindakan adalah cara yang berguna untuk mengekstrak goal dari deskripsi pemangku kepentingan. Contohnya, pada menu penjadwalan rapat, pemangku kepentingan mungkin akan menggunakan kata kerja semacam "menjadwalkan" dan "memesan" yang akan menjadi goal seperti "menjadwalkan rapat" dan "memesan ruang rapat".
Selain goal, ada pula agen, pemangku kepentingan, dan batasan (constraint) juga harus diidentifikasi. Pendekatan yang paling masuk akal adalah mengidentifikasi sedini mungkin agen yang bertanggung jawab dengan menentukan agen apa yang pada akhirnya bertanggung jawab untuk mencapai dan memelihara suatu goal. Contohnya, goal "menjadwalkan rapat" merupakan tanggung jawab dari penjadwal rapat. Batasan berguna karena mereka memberikan informasi tambahan mengenai kebutuhan yang harus dipenuhi agar goal tertentu dapat diselesaikan. Batasan diidentifikasi dengan mencari penghubung temporal, seperti kata "selama", "sebelum", dan "sesudah", atau varian apa pun darinya. Batasan juga dapat diidentifikasi dengan mencari hubungan ketergantungan. Bayangkan goal "Rapat dijadwalkan" pada sistem penjadwalan rapat dengan batasan: Ruang rapat harus tersedia selama rapat berlangsung (tanggal/waktu). Setelah goal, tanggung jawab agen dan pemangku kepentingan diidentifikasi dan ditentukan, goal tersebut kemudian diklasifikasikan sesuai dengan kondisi target mereka dan mulai dikembangkan.