Teknik Identifikasi Fitur Berdasarkan Kalimat Pernyataan Kebutuhan dalam Konteks Pengembangan Software Product Line

Penulis

M Syauqi Haris, Tri Astoto Kurniawan

Abstrak

Software product line (SPL) adalah konsep software reuse di bidang industri perangkat lunak yang memiliki fase awal berupa domain engineering untuk mengidentifikasi dan memetakan fitur-fitur dari sekumpulan produk perangkat lunak yang akan dikembangkan. Fitur perangkat lunak sering kali diekspresikan secara eksplisit dalam kalimat pernyataan kebutuhan yang ada pada dokumen spesifikasi kebutuhan perangkat lunak (SRS). Saat ini, penelitian tentang otomatisasi identifikasi fitur perangkat lunak berdasarkan dokumen spesifikasi kebutuhan telah banyak diusulkan dengan berbagai metode, namun hasil yang diperoleh kebanyakan adalah kata benda yang dianggap sebagai kandidat fitur. Representasi fitur dengan kata benda dianggap masih terlalu abstrak dan tidak mewakili konsep fitur sebagai kemampuan atau fungsionalitas suatu perangkat lunak. Dalam penelitian ini, identifikasi fitur yang direpresentasikan dengan frasa gabungan kata kerja dan kata benda diusulkan karena dianggap lebih menjelaskan kemampuan  dan fungsionalitas dari suatu perangkat lunak. Pola penulisan kalimat pernyataan kebutuhan dengan requirement boilerplate dimanfaatkan sebagai dasar identifikasi fitur perangkat lunak secara otomatis dengan menggunakan alat bantu pemrosesan bahasa natural atau NLP (natural language processing). Dalam penelitian ini diusulkan 4 (empat) aturan dependency parser, yang merupakan salah satu pipeline dalam NLP. Tingkat keberhasilan metode pada penelitian ini adalah antara 65% sampai dengan 88% untuk 5 kelompok kalimat pernyataan kebutuhan yang diujikan. Hasil tersebut menunjukkan bahwa metode yang diusulkan pada penelitian ini bisa mengautomasi proses identifikasi fitur pada tahapan domain engineering dalam pengembangan software product line khususnya yang menggunakan metode ekstraktif.


Abstract

Software product line (SPL) is a software reuse concept in the software industry that has an initial phase of domain engineering to identify and map the features of a set of software products to be developed. Software features are often expressed explicitly in the requirement sentences contained in the software requirements specification (SRS) document. Currently, research on the automation of software feature identification based on requirements specification documents has been proposed by various methods, but the results obtained are mostly nouns that are considered feature candidates. Representation of features with nouns is considered too abstract and does not represent the concept of features as capabilities or functionality of the software. In this study, the identification of features represented by combined phrases of verbs and nouns is proposed because it is considered to better explain the capabilities and functionality of software. The pattern of writing a requirement sentence with boilerplate requirements is used as the basis for automatically identifying software features using natural language processing (NLP) tools. In this research, 4 (four) dependency parser rules are proposed, which is one of the pipelines in NLP. The success rate of the method in this study is between 65% to 88% for the 5 groups of sentences that were tested. These results indicate that the method proposed in this study can automate the feature identification process at the domain engineering stage in product line software development, especially those using extractive methods.


Teks Lengkap:

PDF

Referensi


ACHER, M., CLEVE, A., PERROUIN, G., HEYMANS, P., VANBENEDEN, C., COLLET, P. AND LAHIRE, P., 2012. On extracting feature models from product descriptions. Proceedings of the Sixth International Workshop on Variability Modeling of Software-Intensive Systems, VaMoS ’12, pp.45–54.

APEL, S., BATORY, D., KÄSTNER, C. AND SAAKE, G., 2013. Feature-Oriented Software Product Lines. Springer-Verlag Berlin Heidelberg.

ARORA, C., SABETZADEH, M., BRIAND, L. AND ZIMMER, F., 2017. Automated Extraction and Clustering of Requirements Glossary Terms. IEEE Transactions on Software Engineering, 43(10), pp.918–945.

BERGER, T., LETTNER, D., RUBIN, J., GRÜNBACHER, P., SILVA, A., BECKER, M., CHECHIK, M. AND CZARNECKI, K., 2015. What is a feature? A Qualitative study of features in industrial software product lines. ACM International Conference Proceeding Series, 20-24-July, pp.16–25.

BOUTKOVA, E. AND HOUDEK, F., 2011. Semi-automatic identification of features in requirement specifications. Proceedings of the 2011 IEEE 19th International Requirements Engineering Conference, RE 2011, pp.313–318.

FENSKE, W., MEINICKE, J., SCHULZE, S., SCHULZE, S. AND SAAKE, G., 2017. Variant-preserving refactorings for migrating cloned products to a product line. SANER 2017 - 24th IEEE International Conference on Software Analysis, Evolution, and Reengineering, pp.316–326.

HARIS, M.S. AND KURNIAWAN, T.A., 2020. Automated requirement sentences extraction from software requirement specification document. In: Proceedings of the 5th International Conference on Sustainable Information Engineering and Technology. [online] New York, NY, USA: ACM.pp.142–147.

HARIS, M.S., KURNIAWAN, T.A. AND RAMDANI, F., 2020. Teknik Ekstraksi Katalog Fitur dari Dokumen Spesifikasi Kebutuhan Sebagai Basis Pengembangan Software Product Lines. Tesis Magister. Universitas Brawijaya.

KASTNER, C., DREILING, A. AND OSTERMANN, K., 2014. Variability mining: Consistent semi-automatic detection of product-line features. IEEE Transactions on Software Engineering, 40(1), pp.67–82.

LAGUNA, M.A. AND CRESPO, Y., 2013. A systematic mapping study on software product line evolution: From legacy system reengineering to product line refactoring. Science of Computer Programming, [online] 78(8), pp.1010–1034.

LI, Y., SCHULZE, S. AND SAAKE, G., 2018. Extracting features from requirements: Achieving accuracy and automation with neural networks. 25th IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2018 - Proceedings, 2018-March, pp.477–481.

MARTINEZ, J., ZIADI, T., BISSYANDE, T.F., KLEIN, J. AND LE TRAON, Y., 2017. Bottom-up technologies for reuse: Automated extractive adoption of software product lines. Proceedings - 2017 IEEE/ACM 39th International Conference on Software Engineering Companion, ICSE-C 2017, pp.67–70.

MARTINEZ, J., ZIADI, T., BISSYANDÉ, T.F., KLEIN, J. AND LE TRAON, Y., 2016. Automating the extraction of model-based software product lines from model variants. Proceedings - 2015 30th IEEE/ACM International Conference on Automated Software Engineering, ASE 2015, pp.396–406.

MILI, A. AND TCHIER, F., 2015. Software Testing Concepts and Operations. New Jersey: John Wiley & Sons.

POHL, K. AND RUPP, C., 2015. Requirements Engineering Fundamentals. 2nd ed. Rocky Nook Inc.

QUIRCHMAYR, T., PAECH, B., KOHL, R., KAREY, H. AND KASDEPKE, G., 2018. Semi-automatic rule-based domain terminology and software feature-relevant information extraction from natural language user manuals An approach and evaluation at Roche Diagnostics GmbH.

REINHARTZ-BERGER, I. AND KEMELMAN, M., 2020. Extracting core requirements for software product lines. Requirements Engineering, [online] 25(1), pp.47–65.

SOMMERVILLE, I., 2015. Software Engineering. Tenth Edit ed. Software Engineering. Pearson Education Limited.

SREE-KUMAR, A., PLANAS, E. AND CLARISÓ, R., 2018. Extracting software product line feature models from natural language specifications. ACM International Conference Proceeding Series, 1, pp.43–53.

STANKOV, E., JOVANOV, M. AND BOGDANOVA, A.M., 2013. Source code similarity detection by using data mining methods. 35th International Conference on Information Technology Interfaces, ITI 2013, [online] pp.257–262.

WIEGERS, K. AND BEATTY, J., 2013. Software Requirements, Third Edition. Microsoft Press.S




DOI: http://dx.doi.org/10.25126/jtiik.2022935732