Mardiyati, Lathifa Itqonina (2023) Deteksi Konflik Pada Kebutuhan Fungsional Menggunakan Metode Klasifikasi. Other thesis, Institut Teknologi Sepuluh Nopember.
Text
05111940000176-Undergraduate_Thesis.pdf - Accepted Version Restricted to Repository staff only until 1 September 2025. Download (6MB) | Request a copy |
Abstract
Rekayasa kebutuhan merupakan tahapan penting yang menghasilkan daftar kebutuhan sebagai acuan dalam pengembangan proyek perangkat lunak. Kebutuhan fungsional merupakan kebutuhan yang mendefinisikan fungsi atau layanan sistem dan didokumentasikan dalam bentuk Software Requirements Specification (SRS) atau user stories. Ketepatan pendefinisian kebutuhan fungsional dapat berkontribusi pada keuntungan, pencegahan error, peningkatan kualitas, dan pengurangan risiko kegagalan proyek. Namun, pendefinisian kebutuhan fungsional dengan natural language menyebabkan ketidaktepatan berupa konflik antar kebutuhan, seperti ambiguitas dan inkonsistensi. Oleh karena itu pendeteksian dan penyelesaian konflik kebutuhan fungsional menjadi aspek yang sangat penting pada tahap awal siklus hidup proyek. Tujuan utamanya adalah untuk mencegah kemungkinan perulangan tahapan yang dapat meningkatkan risiko kegagalan proyek. Metode yang dapat dilakukan untuk pendeteksian konflik kebutuhan diantaranya dengan cara manual, otomatis, maupun dengan menggunakan framework umum. Pendeteksian konflik secara manual melibatkan negosiasi dengan para ahli yang menguasai domain dan permasalahan proyek terkait. Namun metode ini memakan banyak waktu dan rentan terhadap kesalahan manusia. Sedangkan dengan menggunakan metode otomatisasi pada pendeteksian konflik kebutuhan, akan meminimalisir keterlibatan manusia hingga level tertentu. Sehingga pada Tugas Akhir ini, dilakukan otomatisasi pendeteksian konflik pada kebutuhan fungsional dengan menggunakan metode klasifikasi. Proses pengimplementasian Tugas Akhir dimulai dengan melakukan pengumpulan data yang terdiri dari data sumber terbuka dan data sintetik, kemudian dilanjutkan dengan tahap pelabelan data dengan melibatkan anotator. Dataset yang telah diperoleh digunakan untuk pembuatan model pendeteksian konflik dengan melakukan pencarian kombinasi teknik dalam melakukan pembuatan model deteksi dengan performa yang paling baik. Kombinasi teknik terdiri dari teknik praproses, pretrained model embeddings SBERT, dan algoritma klasifikasi. Keseluruhan proses dievaluasi dengan menggunakan metric evaluation berdasarkan perhitungan accuracy, precision, recall, f1-score, dan AUC untuk setiap kombinasi metode dengan menggunakan cross validation. Berdasarkan metrik evaluasi tersebut, kombinasi metode untuk memperoleh model deteksi terbaik yakni dengan menggunakan algoritma klasifikasi extream gradient boosting dengan kombinasi pretrained model embeddings ‘all-MiniLM-L12-v2’ dan teknik praproses yang terdiri dari normalisasi teks, penghapusan stopwords, lemmatisasi, dan pembentukan bigram. Dimana hasil evaluasi yang diperoleh yakni accuracy 98.10% , precision 98.10%, recall 98.125%, f1-score 98.072%, dan AUC 98.057%. Hasil serta manfaat dari Tugas Akhir ini berupa aplikasi pendeteksian konflik pada kebutuhan fungsional yang diharapkan dapat memperbesar peluang kesuksesan proyek rekayasa perangkat lunak.
===================================================================================================================================
Requirements engineering is an essential phase that produces a list of requirements as a reference for software development projects. Functional requirements define the system's functions or services and are documented in either Software Requirements Specification (SRS) or user stories. The accuracy of defining functional requirements contributes to benefits such as profit, error prevention, quality enhancement, and reduced project failure risk. However, defining functional requirements using natural language may lead to inaccuracies and conflicts, like ambiguities and inconsistencies. Therefore, detecting and resolving conflicts in functional requirements is crucial during the early stages of the project's lifecycle.The main goal is to prevent repetitions that may escalate the project's failure risk. Various methods can be employed for conflict detection, including manual, automated, or using general frameworks. Manual conflict detection involves negotiating with experts familiar with the domain and project requirements. However, this method is time-consuming and prone to human errors. On the other hand, using automated methods for conflict detection reduces human involvement to a certain extent. This thesis focuses on automating conflict detection in functional requirements using a classification method.
The implementation process of this thesis begins with data collection, comprising open-source data and synthetic data. Next, data labeling is conducted involving annotators. The acquired dataset is used to create a conflict detection model by exploring various combinations of preprocessing techniques, pretrained model embeddings (SBERT), and classification algorithms to achieve the best-performing detection model. The evaluation process employs accuracy, precision, recall, f1-score, and AUC metrics using cross-validation for each combination of methods. Based on the evaluation metrics, the best model detection combination is achieved by using the extreme gradient boosting algorithm, pretrained model embeddings 'all-MiniLM-L12-v2', and preprocessing techniques including text normalization, stopword removal, lemmatization, and bigram formation. The evaluation results show an accuracy of 98.10%, precision of 98.10%, recall of 98.125%, f1-score of 98.072%, and AUC of 98.057%. The results and benefits of this thesis are exemplified through an application for conflict detection in functional requirements, aiming to enhance the success rate of software engineering projects.
Item Type: | Thesis (Other) |
---|---|
Uncontrolled Keywords: | Kebutuhan Fungsional, Konflik Kebutuhan, Klasifikasi Teks, Rekayasa Kebutuhan; Functional Requirements, Requirements Conflict, Requirements Engineering, Text Classification |
Subjects: | Q Science > Q Science (General) > Q325.5 Machine learning. Support vector machines. Q Science > QA Mathematics > QA76.758 Software engineering Q Science > QA Mathematics > QA76.9.D343 Data mining. Querying (Computer science) |
Divisions: | Faculty of Intelligent Electrical and Informatics Technology (ELECTICS) > Informatics Engineering > 55201-(S1) Undergraduate Thesis |
Depositing User: | Lathifa Itqonina Mardiyati |
Date Deposited: | 29 Aug 2023 08:56 |
Last Modified: | 29 Aug 2023 08:56 |
URI: | http://repository.its.ac.id/id/eprint/102489 |
Actions (login required)
View Item |