Abstract:
In software development, developers perform different activities so as to meet the needs of
the user or get the full functionality of the software system. Among the different activities,
requirement gathering and addressing requirement issues are crucial for the success of a
software system. But due to the complexity of the software system and the increase in user
demand, it is difficult to address this requirement.Tactics are means of satisfying a quality
attribute response measure by manipulating some aspects of the quality attribute.But
selecting tactics manually from the requirement document for junior architects is laborintensive
and difficult. To have a high-quality software system, we need to have an automatic
tactics selection model for the given requirement document. In this study, we have prepared
one thousand requirement texts for five selected quality attributes. To label the requirement
text into the corresponding tactics, we used experts from Wachemo and Debre Markos
University software engineering staff members based on their academic rank, on their
approaches to the knowledge area, and on their working experience.We used a questionnaire
to gather data from the respondents. The datasets that were feed to our proposed model were
pre-processed using Natural Language Processing (NLP) principles. After preprocessing, we
vectorized the textual data format using term frequency-inverse document frequency (TFIDF)
and word2vec. SVM, NB, and Decision Tree are the machine learning approaches
utilized in this experimental research design to build the model, and the resulting accuracy
rates are 94%, 88%, and 79%, respectively.Because it outperformed the other combinations,
we decided to go with the TF-IDF with SVM.When recommending appropriate tactics from
requirement document, the model performs well.Finally, we employed a model to suggest an
architectural strategy based on the requirements document.
Keywords: Architectural design decision, Quality Attributes, Tactics, NLP, Machine
Learning.