Goal-based Requirement Analysis Method (GBRAM): Perbedaan antara revisi

Konten dihapus Konten ditambahkan
k judul miring
k Bot: Perubahan kosmetika
Baris 3:
 
== ''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]]<ref name=":1" />. Proses ''goal analysis'' adalah tentang eksplorasi sumber [[informasi]] untuk identifikasi ''goal'' diikuti oleh organisasi dan klasifikasi ''goal'' itu sendiri <ref name=":3" />. ''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<ref name=":4">A'''.''' M. Davis, "''Software Requirements: Objects, Functions,'' &’ ''Stutes",'' Prentice-Hall, 1993. </ref>, namun terkadang ''goal'' atau tujuan tersebut tidak jelas, tujuan perusahaan tidak selalu mencerminkan apa yang sebenarnya terjadi<ref name=":0" />. Dengan demikian, penting untuk mengumpulkan informasi sebanyak mungkin untuk mendapatkan pemahaman yang luas tentang domain, organisasi, proses dan sistem<ref name=":1" />.
 
Kegiatan ini selanjutnya dibagi menjadi:
 
* Eksplorasi (''Explore Activities''): mengeksplorasi informasi yang tersedia <ref name=":3" />.
* Identifikasi (''Identify Activities''): penggalian ''goal'' dan agen yang bertanggung jawab dari informasi yang telah didapatkan pada kegiatan eksplorasi<ref name=":3" />.
* Organisir (''Organize Activities''): mengklasifikasikan dan mengatur ''goal'' sesuai dengan hubungan ketergantungannya<ref name=":3" />.
 
''Goal'' dapat diekstraksi dari berbagai jenis informasi yang dikumpulkan termasuk deskripsi proses seperti [[diagram alir]] atau [[Diagram hubungan entitas|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 <ref name=":1" />. 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"<ref name=":1" />.
 
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 <ref name=":1" />.
 
== ''Goal Refinement'' ==
Kebutuhan akan berubah-ubah dan terus berubah, banyaknya [[iterasi]] dalam proses penyempurnaan adalah hanya karena kebutuhan tersebut disalahtafsirkan<ref name=":4" />. Setiap pemangku kepentingan memiliki kebutuhan dan prioritas yang berbeda, dan terkadang saling bertentangan. Seringkali, strategi untuk identifikasi dan penyelesaian konflik tidak memadai <ref name=":1" />. ''Goal'' berkembang karena para pemangku kepentingan mengubah pikiran mereka dan memperbaiki serta mengoperasionalkan ''goal'' tersebut menjadi kebutuhan perilaku (''[[:en:Behavior|behavioural]] requirement''). Seiring berjalannya waktu, ''goal'' dari pemangku kepentingan dapat berubah atau, setidaknya, prioritas sasaran mereka cenderung berubah. Perubahan ''goal'' pertama adalah elaborasi (''elaboration'') dan yang kedua adalah penyempurnaan (''refinement'') <ref name=":1" />. Oleh karena itu, evolusi ''goal'' dipengaruhi melalui ''goal elaboration'' dan ''goal refinement''. Teknik penting dalam ''goal elaboration'' adalah mengidentifikasi hambatan ''goal'', menganalisis [[skenario]] <ref>{{Cite journal|last=Potts|first=Colin|date=1995|title=Using schematic scenarios to understand user needs|url=http://dx.doi.org/10.1145/225434.225462|journal=Proceedings of the conference on Designing interactive systems processes, practices, methods, & techniques - DIS '95|location=New York, New York, USA|publisher=ACM Press|doi=10.1145/225434.225462|isbn=0897916735}}</ref> dan batasannya, dan mengoperasikan ''goal''. G''oal refinement'' menyangkut evolusi ''goal'' dari saat mereka pertama kali diidentifikasi hingga saat mereka diterjemahkan ke dalam kebutuhan operasional untuk spesifikasi sistem<ref name=":3" />.
 
Kegiatan ini dibagi menjadi:
 
* Pemangkasan (''Pruning Activities''): Kegiatan pemangkasan seperangkat ''goal'', yaitu menghilangkan ''goal'' yang bermakna sama<ref name=":3" />
* Penguraian (''Elaborate Activities''): Kegiatan yang merujuk pada proses menganalisis ''goal'' yang ditetapkan dengan mempertimbangkan kemungkinan adanya hambatan <ref name=":2" /> (perilaku atau ''goal'' lain yang mencegah atau menghalangi pencapaian ''goal'' yang diberikan) <ref name=":3" />. Mengidentifikasi hal yang dapat menghambat ''goal'' untuk mempertimbangkan cara yang mungkin membuat ''goal'' gagal tercapai, memungkinkan seseorang untuk mengantisipasi [[:en:Exception_handling|kasus pengecualian (''exception'')]]. Ketika prioritas sasaran berubah, skenario akan memfasilitasi evaluasi prioritas baru ini <ref name=":1" />.
* Membangun skenario (deskripsi perilaku dari suatu sistem dan lingkungannya yang timbul dari situasi terbatas) untuk mengungkap ''goal'' dan kebutuhan yang tersembunyi<ref name=":3" />
* Mengoperasionalkan (''Operationalize Activities''): Kegiatan yang mewakili penerjemahan ''goal'' menjadi kebutuhan operasional<ref name=":3" />.
 
''Goal refinement'' terjadi ketika ''goal'' identik direkonsiliasi, ketika ''goal'' digabungkan ke dalam kategorisasi ''sub-goal'', ketika kendala diidentifikasi, dan ketika ''goal'' dioperasionalkan. Dalam GBRAM, ''achievement goal'' digabung dan didaftar sesuai dengan hubungan dan ketergantungan yang mendahuluinya. Susunan ini memungkinkan untuk menentukan kondisi prasyarat (''[[:en:Precondition|precondition]]'') dan kondisi pasca (''[[:en:Postcondition|post-condition]]'') dari sebuah ''goal'' <ref name=":1" />. Dengan demikian, salah satu kegiatan yang dibutuhkan GBRAM selama fase ''goal refinement'' adalah identifikasi prioritas ''goal''. Hal ini pada dasarnya mewakili kebutuhan untuk mengidentifikasi ''goal'' mana yang harus dicapai sebelum yang lain. Metode ini menyarankan untuk mengajukan pertanyaan seperti “''Goal'' apa yang harus mengikuti ''goal'' ini?” dan seterusnya. Metode lain yang berguna untuk menentukan hubungan prioritas adalah untuk mencari dependensi agen. Begitu prioritas ''goal'' telah ditetapkan, tabel diproduksi dengan ''goal'' yang disusun sesuai dengan urutan prioritas itu<ref name=":3" />.