Goal-oriented requirements engineering: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
kTidak ada ringkasan suntingan |
Fitur saranan suntingan: 3 pranala ditambahkan. Tag: VisualEditor Suntingan perangkat seluler Suntingan peramban seluler Tugas pengguna baru Disarankan: tambahkan pranala |
||
(3 revisi perantara oleh 3 pengguna tidak ditampilkan) | |||
Baris 1:
{{judul miring}}
'''''Goal-oriented Requirement Engineering'' (GORE)''' adalah salah satu pendekatan [[Teknik kebutuhan perangkat lunak|rekayasa kebutuhan]] yang berfokus pada penggunaan ''goal'' dalam proses [[:en:Requirements elicitation|elisitasi]], [[:en:Elaboration|elaborasi]], penataan, penentuan, [[Analisis kebutuhan|analisis]], negosiasi, [[:en:Software documentation|dokumentasi]] dan modifikasi kebutuhan.<ref name=":0">{{Cite journal|last=van Lamsweerde|first=A.|title=Goal-oriented requirements engineering: a guided tour|url=http://dx.doi.org/10.1109/isre.2001.948567|journal=Proceedings Fifth IEEE International Symposium on Requirements Engineering|publisher=IEEE Comput. Soc|doi=10.1109/isre.2001.948567|isbn=0769511252|access-date=2019-07-12|archive-date=2023-08-06|archive-url=https://web.archive.org/web/20230806223651/https://ieeexplore.ieee.org/document/948567/|dead-url=no}}</ref>
== Definisi ''Goal'' ==
''Goal'' merupakan tujuan yang harus dicapai oleh [[sistem]] yang sedang dipertimbangkan. [https://en.m.wiki-indonesia.club/wiki/Axel_van_Lamsweerde Lamsweerde] {{Webarchive|url=https://web.archive.org/web/20230326205012/https://en.m.wiki-indonesia.club/wiki/Axel_van_Lamsweerde |date=2023-03-26 }} mendefinisikan ''goal'' sebagai tujuan yang harus dicapai oleh [[sistem]] melalui kerja sama agen pada [[perangkat lunak]] yang akan dibuat dan di lingkungannya.<ref name=":5" />
Aspek penting pada [[Teknik kebutuhan perangkat lunak|rekayasa kebutuhan]] adalah analisis [[:en:Non-functional requirement|kebutuhan non-fungsional]] (NFR).<ref name=":7">{{Cite book|title=Representing and using non-functional requirements: a process-oriented approach.|url=http://worldcat.org/oclc/219376868|oclc=219376868|last=Chung, Kyungwha Lawrence.|access-date=2019-07-12|archive-date=2023-08-06|archive-url=https://web.archive.org/web/20230806224202/https://worldcat.org/title/219376868|dead-url=no}}</ref>
Identifikasi ''goal'' bukanlah tugas yang mudah.<ref>{{Cite journal|last=van Lamsweerde|first=A.|last2=Darimont|first2=R.|last3=Massonet|first3=P.|title=Goal-directed elaboration of requirements for a meeting scheduler: problems and lessons learnt|url=http://dx.doi.org/10.1109/isre.1995.512561|journal=Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95)|publisher=IEEE Comput. Soc. Press|doi=10.1109/isre.1995.512561|isbn=0818670177|access-date=2019-07-12|archive-date=2023-08-06|archive-url=https://web.archive.org/web/20230806224155/https://ieeexplore.ieee.org/document/512561/|dead-url=no}}</ref>
=== Tipe dan taksonomi ''goal'' ===
''Goal'' fungsional mencakup layanan atau servis dari sistem yang akan diluncurkan, sedangkan ''goal'' non-funsgional merujuk pada kualitas sistem seperti keamanan, keselamatan, kinerja, kemudahan penggunaan, fleksibilitas, interoperabilitas, dan seterusnya.<ref>E. Keller, L.G. Kahn and R.B. Panara, "Specifying Software Quality Requirements with Metrics", in Tutorial: System and Software Requirements Enginering, R.H. Thayer and M. Dorfman, Eds., IEEE Computer Society Press, 1990, 145-163.</ref>
=== Atribut ''goal'' ===
''Goal'' dapat ditandai secara intrinsik menggunakan atribut seperti nama dan spesifikasinya.<ref name=":0" />
=== Tautan ''goal (Goal links)'' ===
Terdapat banyak tipe tautan yang dinyatakan dalam literatur untuk menghubungkan antara ''goal'' dengan ''goal'' dan dengan elemen lain dalam model kebutuhan. Tautan tersebut membentuk dasar untuk mendefinisikan struktur ''goal''. Tautan antar ''goal'' bertujuan untuk menangkap situasi di mana ''goal'' dapat mendukung ''goal'' lainnya secara positif atau negatif. Diambil dari [[:en:And–or tree|metode reduksi masalah]] dalam [[Kecerdasan buatan|Kecerdasan Buatan]], grafik AND dan OR dapat digunakan untuk menangkap tautan penyempurnaan ''goal''. Tautan AND menghubungkan sebuah ''goal'' ke seperangkat ''subgoal''; hal ini berarti untuk mencapai sebuah ''goal'' harus memenuhi semua ''subgoal''. Tautan OR menghubungkan sebuah ''goal'' ke beberapa alternatif perbaikan; hal ini berarti memenuhi salah satu perbaikan saja sudah cukup untuk mencapai sebuah ''goal.''
Di samping tautan antar ''goal,'' secara umum ''goal'' berhubungan juga dengan elemen lain dalam model kebutuhan. Tipe tautan antar ''goal'' diperpanjang untuk menangkap kontribusi positif/negatif dari sebuah kebutuhan ke ''goal''; terdapat juga tautan [[argumentasi]] untuk menghubungkan argumen pendukung ke tautan kontribusi.<ref name=":7" />
== Peran ''goal'' dalam Rekayasa Kebutuhan ==
Terdapat banyak sekali alasan mengapa ''goal'' sangat penting dalam proses [[Teknik kebutuhan perangkat lunak|rekayasa kebutuhan]], di antaranya adalah:
* Mencapai kelengkapan kebutuhan merupakan fokus utama dalam proses [[Teknik kebutuhan perangkat lunak|rekayasa kebutuhan]], ''goal'' memberikan kriteria yang tepat untuk kelengkapan [[:en:Software requirements specification|spesifikasi kebutuhan]] yang cukup; spesifikasi kebutuhan tersebut dikatakan lengkap terkait dengan seperangkat ''goal'' yang apabila semua ''goal'' tersebut terbukti dapat dicapai dari spesifikasi dan properti domain yang diketahui juga ikut dipertimbangkan.<ref name=":2" />
* Menghindari kebutuhan yang tidak relevan merupakan fokus utama lainnya dari proses rekayasa kebutuhan. ''Goal'' memberikan kriteria yang tepat untuk ketepatan kebutuhan; sebuah kebutuhan dikatakan tepat terkait dengan seperangkat ''goal'' dalam domain yang dipertimbangkan yang apabila spesifikasinya digunakan sebagai bukti paling tidak dari salah satu ''goal''.<ref name=":2" />
* Menjelaskan kebutuhan kepada [[pemangku kepentingan]] merupakan isu penting lainnya. ''Goal'' memberikan dasar bagi kebutuhan, yang mirip dengan ''goal'' desain dalam proses desain.<ref name=":10" /><ref>{{Cite journal|last=Lee|first=J.|title=Extending the Potts and Bruns model for recording design rationale|url=http://dx.doi.org/10.1109/icse.1991.130629|journal=[1991 Proceedings] 13th International Conference on Software Engineering|publisher=IEEE Comput. Soc. Press|doi=10.1109/icse.1991.130629|isbn=0818621400|access-date=2019-07-12|archive-date=2023-08-06|archive-url=https://web.archive.org/web/20230806224656/https://ieeexplore.ieee.org/document/130629/|dead-url=no}}</ref>
* Penyempurnaan ''goal'' menyediakan mekanisme alami untuk menyusun [[:en:Software documentation|dokumen kebutuhan]] yang kompleks untuk meningkatkan keterbacaan.<ref name=":0" />
* ''Requirement engineer'' dihadapkan dengan banyak alternatif untuk dipertimbangkan selama proses elaborasi kebutuhan. Penyempurnaan ''goal'' alternatif memberikan tingkat abstraksi yang tepat di mana para pengambil keputusan dapat terlibat untuk memvalidasi pilihan yang dibuat atau menyarankan alternatif lain yang belum diperhatikan sejauh ini. Penyempurnaan ''goal'' alternatif memungkinkan proposal sistem alternatif untuk dieksplorasi<ref name=":5" />
* Mengelola konflik di antara berbagai sudut pandang adalah perhatian rekayasa kebutuhan lainnya.<ref>B. Nuseibeh, J. Kramer and A. Finkelstein, "A Framework for Expressing the Relationships Between Multiple Views in Requirements Specifications", ''IEEE Transactions on Software Engineering'', Vol. 20 No. 10, October 1994, 760-773.</ref>
* Memisahkan informasi tetap dari informasi yang berubah adalah masalah penting lainnya dalam mengelola evolusi kebutuhan. Suatu kebutuhan mewakili satu cara khusus untuk mencapai beberapa ''goal'' tertentu; Oleh karena itu kebutuhan lebih cenderung untuk berkembang, menuju cara lain untuk mencapai ''goal'' yang sama, daripada ''goal'' itu sendiri. Semakin tinggi level ''goal'', semakin stabil ''goal'' tersebut. Ternyata, versi sistem yang berbeda sering berbagi sekumpulan ''goal'' tingkat tinggi yang sama; sistem saat ini dan sistem yang akan dibuat terkait dengan penyempurnaan alternatif dari ''goal'' bersama dalam grafik penyempurnaan ''goal'', dan karenanya dapat diintegrasikan ke dalam satu model tujuan tunggal.<ref name=":0" />
* ''Goal'' mendorong identifikasi kebuthan untuk mendukungnya; ''goal'' telah terbukti berada di antara kekuatan pendorong dasar, bersama dengan skenario, untuk proses penjabaran kebutuhan yang sistematis.<ref name=":3" /><ref name=":5" /><ref name=":8" /><ref name=":9" /><ref>{{Cite book|title=Object behavior analysis.|url=http://worldcat.org/oclc/926690727|publisher=Association for Computing Machinery|date=1992|oclc=926690727|last=Rubin, Kenneth H.}}</ref><ref>{{Cite journal|last=Anton|first=A.I.|last2=Potts|first2=C.|title=The use of goals to surface requirements for evolving systems|url=http://dx.doi.org/10.1109/icse.1998.671112|journal=Proceedings of the 20th International Conference on Software Engineering|publisher=IEEE Comput. Soc|doi=10.1109/icse.1998.671112|isbn=0818683686|access-date=2019-07-12|archive-date=2023-08-06|archive-url=https://web.archive.org/web/20230806224719/https://ieeexplore.ieee.org/document/671112/|dead-url=no}}</ref><ref>H. Kaindl, “A Design Process Based on a Model Combining Scenarios with Goals and Functions”, ''IEEE Trans. on Systems, Man and Cybernetic,'' Vol. 30 No. 5, September 2000, 537-551.</ref>
== Referensi ==
|