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

Konten dihapus Konten ditambahkan
Rachmat-bot (bicara | kontrib)
k cosmetic changes
HsfBot (bicara | kontrib)
k v2.04b - Fixed using Wikipedia:ProyekWiki Cek Wikipedia (Tanda baca setelah kode "<nowiki></ref></nowiki>")
Baris 1:
{{judul miring}}
'''''Goal-based Requirement Analysis Method''''' '''(GBRAM)''' adalah salah satu metode dari pendekatan [[Goal-oriented Requirement Engineering (GORE)|''Goal-oriented Requirement Engineering'' (GORE)]]. Metode berbasis ''[[:en:Goal|goal]]'' ini menekankan perlunya mengkarakterisasi, mengkategorikan, menguraikan dan menyusun ''goal'' sebagai kebutuhan, tetapi biasanya gagal menawarkan strategi untuk mengidentifikasi ''goal'', dan menerima begitu saja bahwa ''goal'' telah didokumentasikan.<ref name=":0">Ant&, A.I., W.M. McCracken & C. Potts, “Goal Decomposition and Scenario Analysis in Business Process Reengineering,” ''Advanced Information System Engineering: 6th Int. Conf., CAiSE ‘94 Proc.,'' Utrecht, The Netherlands, 6-10 June 1994, pp. 94-104, 1994.</ref><ref>{{Cite journal|last=Dardenne|first=A.|last2=Fickas|first2=S.|last3=van Lamsweerde|first3=A.|title=Goal-directed concept acquisition in requirements elicitation|url=http://dx.doi.org/10.1109/iwssd.1991.213081|journal=Proceedings of the Sixth International Workshop on Software Specification and Design|publisher=IEEE Comput. Soc. Press|doi=10.1109/iwssd.1991.213081|isbn=0818623209}}</ref><ref>{{Cite journal|last=Yu|last2=Mylopoulos|date=1994|title=Using goals, rules, and methods to support reasoning in business process reengineering|url=http://dx.doi.org/10.1109/hicss.1994.323491|journal=Proceedings of the Twenty-Seventh Hawaii International Conference on System Sciences HICSS-94|publisher=IEEE Comput. Soc. Press|doi=10.1109/hicss.1994.323491|isbn=0818650907}}</ref>. Penekanan ''Goal-based Requirement Analysis Method'' (GBRAM) <ref name=":1">{{Cite journal|last=Anton|first=A.I.|title=Goal-based requirements analysis|url=http://dx.doi.org/10.1109/icre.1996.491438|journal=Proceedings of the Second International Conference on Requirements Engineering|publisher=IEEE Comput. Soc. Press|doi=10.1109/icre.1996.491438|isbn=0818672528}}</ref><ref name=":2">{{Cite book|title=Goal identification and refinement in the specification of software-based information systems|url=http://worldcat.org/oclc/37471644|oclc=37471644|last=Antoń, Ana I., 1966-}}</ref> adalah pada identifikasi awal dan abstraksi ''goal'' dari berbagai sumber informasi. Metode Ini mengasumsikan bahwa tidak ada ''goal'' yang telah didokumentasikan atau diperoleh dari para [[pemangku kepentingan]] (''stakeholder)'' dan dengan demikian dapat menggunakan [[diagram]], pernyataan [[Teks (disambiguasi)|tekstual]], transkrip [[wawancara]], dll. untuk mendapatkan ''goal'' tersebut. Metode ini berguna untuk mengidentifikasi, menguraikan, dan mengatur ''goal'' untuk [[:en:Software requirements specification|spesifikasi kebutuhan]].<ref name=":1" />. Pendekatan berbasis ''goal'' fokus pada mengapa sistem dibangun, memberikan motivasi dan alasan untuk membenarkan kebutuhan perangkat lunak .<ref name=":1" />. Serupa dengan pendekatan GORE lainnya, sistem dan lingkungannya di GBRAM direpresentasikan sebagai kumpulan agen. Di sini, agen didefinisikan sebagai entitas atau proses yang berusaha untuk mencapai ''goal'' dalam suatu organisasi atau sistem berdasarkan tanggung jawab yang diasumsikan untuk ''goal''. Dalam GBRAM, ''goal'', agen, pemangku kepentingan, dll. ditentukan dalam bentuk tekstual dalam ''goal schema''. Anehnya, metode ini tidak memberikan notasi grafis untuk mewakili ''goal'', penyempurnaan ''goal (goal refinement)'', agen, dll. GBRAM melibatkan kegiatan berikut: ''goal analysis'' dan ''goal refinement''.<ref name=":3">Alexei Lapouchnian, “Goal-oriented Requirements Engineering: An Overview of the Current Research”, Department of Computer Science University of Toronto, 2005.</ref>.
 
== ''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" />.
 
Goal disempurnakan dengan menghilangkan [[:en:Redundancy|redudansi]] dan merekonsiliasi goal yang identik. Misalnya, "Rapat diatur" dan "Rapat dijadwalkan" memiliki maksud yang sama dan dapat direkonsiliasi. Pendekatan terbaik untuk menghilangkan redudansi adalah setelah ''goal'' digabung menjadi satu set ''goal'' yang diurutkan. Lebih mudah untuk mengidentifikasi ''goal'' yang identik karena mereka biasanya terdaftar berdekatan satu sama lain dalam set yang disusun karena mereka cenderung berbagi hubungan prioritas yang sama. ''Goal'' yang dioperasionalkan, agen yang bertanggung jawab, pemangku kepentingan, hambatan dan skenario akhirnya dikonsolidasikan ke dalam serangkaian ''goal schema'' yang dapat dengan mudah diterjemahkan ke dalam spesifikasi kebutuhan. [[:en:Artifact (software development)|Artefak]] yang dihasilkan, meskipun tidak formal, memberikan representasi tekstual dari kebutuhan sistem yang diatur sesuai dengan tujuan sistem.<ref name=":1" />.
 
== References ==