Goal-oriented requirements engineering: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
InternetArchiveBot (bicara | kontrib)
Rescuing 14 sources and tagging 0 as dead.) #IABot (v2.0.9.5
Fitur saranan suntingan: 3 pranala ditambahkan.
Tag: VisualEditor Suntingan perangkat seluler Suntingan peramban seluler Tugas pengguna baru Disarankan: tambahkan pranala
 
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> GORE berfokus pada aktivitas yang mendahului perumusan [[:en:Requirement|kebutuhan]] [[sistem]] [[perangkat lunak]]. Aktivitas-aktivitas berikut biasanya terdapat pada pendekatan GORE, seperti ''goal elicitation'', ''goal refinement'', dan bermacam tipe analisis ''goal'', serta penugasan tanggung jawab ''goal'' kepada agen.<ref name=":1">Alexei Lapouchnian, “Goal-oriented Requirements Engineering: An Overview of the Current Research”, Department of Computer Science University of Toronto, 2005.</ref> GORE melihat sistem yang akan dibuat dan lingkungannya sebagai sebuah koleksi dari komponen aktif yang disebut sebagai agen. [[Komponen aktif]] dapat membatasi perilakunya (''behaviour'') untuk memastikan batasan yang diberikan pada mereka. Komponen tersebut berupa [[manusia]] yang memerankan peran tertentu, [[:en:Device|alat,]] dan [[perangkat lunak]]. Berlawanan dengan komponen pasif, komponen aktif memiliki pilihan perilaku.<ref>{{Cite journal|last=Feather|first=Martin S.|date=1987-03-20|title=Language support for the specification and development of composite systems|url=http://dx.doi.org/10.1145/22719.22947|journal=ACM Transactions on Programming Languages and Systems|volume=9|issue=2|pages=198–234|doi=10.1145/22719.22947|issn=0164-0925}}</ref><ref name=":2">K. Yue, “What Does It Mean to Say that a Specification is Complete?”, ''Proc. IWSSD-4, Fourth International Workshop on Software Specification and Design'', Monterey, 1987.</ref><ref name=":3">{{Cite journal|last=Fickas|first=S.|last2=Helm|first2=B.R.|date=1992-06|title=Knowledge representation and reasoning in the design of composite systems|url=http://dx.doi.org/10.1109/32.142870|journal=IEEE Transactions on Software Engineering|volume=18|issue=6|pages=470–482|doi=10.1109/32.142870|issn=0098-5589|access-date=2019-07-12|archive-date=2023-08-06|archive-url=https://web.archive.org/web/20230806223701/https://ieeexplore.ieee.org/document/142870/|dead-url=no}}</ref> Dalam GORE, agen diberikan tanggung jawab untuk mencapai ''goal''. ''Goal'' yang berada di bawah tanggung jawab satu agen pada [[perangkat lunak]] yang akan dibuat menjadi [[:en:Requirement|kebutuhan]], sedangkan ''goal'' di bawah tanggung jawab satu agen di lingkungan perangkat lunak yang akan dibuat akan menjadi asumsi.<ref name=":4">{{Cite journal|last=van Lamsweerde|first=A.|last2=Darimont|first2=R.|last3=Letier|first3=E.|date=1998|title=Managing conflicts in goal-driven requirements engineering|url=http://dx.doi.org/10.1109/32.730542|journal=IEEE Transactions on Software Engineering|volume=24|issue=11|pages=908–926|doi=10.1109/32.730542|issn=0098-5589|access-date=2019-07-12|archive-date=2023-08-06|archive-url=https://web.archive.org/web/20230806223651/https://ieeexplore.ieee.org/document/730542/|dead-url=no}}</ref><ref>{{Cite journal|last=van Lamsweerde|first=A.|last2=Willemet|first2=L.|date=1998|title=Inferring declarative requirements specifications from operational scenarios|url=http://dx.doi.org/10.1109/32.738341|journal=IEEE Transactions on Software Engineering|volume=24|issue=12|pages=1089–1114|doi=10.1109/32.738341|issn=0098-5589|access-date=2019-07-12|archive-date=2023-08-06|archive-url=https://web.archive.org/web/20230806223651/https://ieeexplore.ieee.org/document/738341/|dead-url=no}}</ref> Pertimbangan berbasis agen ini sangat penting dalam [[Teknik kebutuhan perangkat lunak|rekayasa kebutuhan]] karena pemberian tanggung jawab untuk ''goal'' dan batasan antar agen pada [[perangkat lunak]] yang akan dibuat dan di lingkungannya merupakan hasil utama dalam proses [[Teknik kebutuhan perangkat lunak|rekayasa kebutuhan]].<ref name=":5">{{Cite journal|last=van Lamsweerde|first=Axel|date=2000|title=Requirements engineering in the year 00|url=http://dx.doi.org/10.1145/337180.337184|journal=Proceedings of the 22nd international conference on Software engineering - ICSE '00|location=New York, New York, USA|publisher=ACM Press|doi=10.1145/337180.337184|isbn=1581132069|access-date=2019-07-12|archive-date=2003-06-12|archive-url=https://web.archive.org/web/20030612164454/http://dx.doi.org/10.1145/337180.337184|dead-url=no}}</ref> Terdapat beberapa metode dalam pendekatan GORE, di antaranya NFR Network, [[:en:I*|i*]]/Tropos, [[:en:KAOS (software development)|KAOS]], dan [[Goal-based Requirement Analysis Method (GBRAM)|GBRAM]].<ref name=":1" />
 
== Definisi ''Goal'' ==
Baris 7:
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> NFR biasanya direpresentasikan dalam model [[Teknik kebutuhan perangkat lunak|rekayasa kebutuhan]] sebagai ''softgoal''. ''Softgoal'' terkait dengan gagasan tentang kepuasan.<ref>{{Cite journal|last=Stefik|first=Mark|date=1984-01|title=The sciences of the artificial|url=http://dx.doi.org/10.1016/0004-3702(84)90029-8|journal=Artificial Intelligence|volume=22|issue=1|pages=95–97|doi=10.1016/0004-3702(84)90029-8|issn=0004-3702|access-date=2019-07-12|archive-date=2023-08-06|archive-url=https://web.archive.org/web/20230806224156/https://www.sciencedirect.com/science/article/abs/pii/0004370284900298?via%3Dihub|dead-url=no}}</ref> Tidak seperti ''goal'' biasa, ''softgoal'' jarang dapat dikatakan telah dicapai atau dipenuhi sampai tingkat yang memadai. [[:en:Non-functional requirement|Kebutuhan non-fungsional]] tingkat tinggi sangat banyak dalam [[organisasi]] dan cukup sering kesuksesan sebuah [[sistem]] tergantung pada pemenuhan [[:en:Non-functional requirement|kebutuhan non-fungsional]]<nowiki/>nya.<ref name=":1" />
 
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> Kadang-kadang ''goal'' tersebut secara eksplisit dinyatakan oleh [[pemangku kepentingan]] (''stakeholder'') atau dalam materi awal yang tersedia untuk ''requirement engineer''. Paling sering, ''goal'' tersebut dinyatakan secara implisit sehingga elisitasi ''goal'' harus dilakukan.<ref name=":0" /> ''Goal'' juga dapat diidentifikasi secara sistematis dengan cara mencari [[kata kunci]] yang dimaksud pada dokumen awal yang disediakan, transkrip [[wawancara]], dan lain-lain.<ref name=":5" /> Umumnya, dikemukakan bahwa model ''goal'' dibangun selama proses awal.<ref name=":8">{{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|access-date=2019-07-12|archive-date=2023-08-06|archive-url=https://web.archive.org/web/20230806223538/https://ieeexplore.ieee.org/document/213081/|dead-url=no}}</ref><ref name=":9">E. Dubois, E. Yu and M. Petit, "From Early to Late Formal Requirements: A Process-Control Case Study”, ''Proc. IWSSD’98 - 9th International Workshop on Software Specification and Design'', Isobe, IEEE CS Press, April 1998, 34-42.</ref><ref name=":10">{{Cite journal|last=Yu|first=E.S.K.|title=Towards modelling and reasoning support for early-phase requirements engineering|url=http://dx.doi.org/10.1109/isre.1997.566873|journal=Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering|publisher=IEEE Comput. Soc. Press|doi=10.1109/isre.1997.566873|isbn=0818677406|access-date=2019-07-12|archive-date=2023-08-06|archive-url=https://web.archive.org/web/20230806224154/https://ieeexplore.ieee.org/document/566873/|dead-url=no}}</ref> Dasar dari pendapat tersebut adalah peran penting ''goal'' dalam proses tersebut; semakin cepat ''goal'' diidentifikasi, semakin baik. Namun, ''goal'' juga terkadang dapat diidentifikasi belakangan dalam proses [[Teknik kebutuhan perangkat lunak|rekayasa kebutuhan]].<ref name=":0" />
 
=== Tipe dan taksonomi ''goal'' ===
Baris 18:
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" /> Terdapat banyak sekali usaha untuk menghubungkan ''goal'' dan skenario.<ref name=":3" /><ref name=":8" /> Model ''goal'' juga dapat dikaitkan dengan model objek karena formulasi ''goal'' merujuk pada objek tertentu, misalnya, entitas, hubungan, atau agen.<ref name=":8" /> Beberapa usulan dibuat untuk menghubungkan ''goal'' ke agen.<ref name=":0" /> Adapun beberapa peneliti juga menganjurkan untuk menghubungkan ''goal'' dan kebijakan organisasi.<ref name=":11" /><ref>M. Feather, "Requirements Reconnoitering at the Juncture of Domain and Instance", ''Proc. RE’93 - 1st Intl. IEEE Symp. on Require- ments Engineering'', Jan. 1993, 73-77.</ref>
 
== Peran ''goal'' dalam Rekayasa Kebutuhan ==