Systematic requirements pattern meta-model : towards achieving variability and tracebility in requirements reuse (RR) - Ya'u, Badamasi Imam (Kulliyyah of Information and Communication Technology, International Islamic University Malaysia, 2020)
Reuse of software artifacts brings substantial benefits to software developers and other relevant stakeholders. When reuse is introduced at the initial stage of software development lifecycle, for instance, at requirements level, during requirements engineering (RE) process it brings greater benefits than at any other abstraction level. This is because, the benefits of reuse positively affect the subsequent levels. This research began with thorough literature review, where requirements reuse (RR) has been investigated in order to gain deep understanding of RR state of practice, challenges it faces and available approaches in the literature that address it. A number of research works were found covering various approaches, which include domain-specific, pattern-based, ontology-based and general approaches. It was revealed that, the main challenges of RR include are lack of reusable structure, poor attention towards reusable repository and tool support. These problems cause the RR practice becomes unsystematic, and thus is prone to errors and time consuming. It was discovered in the literature that a number of factors, such as reusable structure, variability & traceability management, reusable repository, proper planning (design for reuse) and tool support are required to achieve systematic RR. Furthermore, software requirements pattern (SRP) is also proven in the body of knowledge as a technique that provides reusable structure. Although a plethora of approaches address RR in different ways, none of these approaches integrates all these indispensable factors. The aim of this research is to design and develop a systematic RR framework in the context of software product line engineering (SPLE), which entails two design facets: design for reuse during domain engineering and design with reuse during application engineering. To achieve the aim of this research, a meta-model strategy is used to bind and explicitly represent the relationships of SRP, requirements traceability and variability concepts. Thus, the proposed framework incorporates the software development activities of RE, SPLE and model-driven engineering (MDE). During the development of the reusable structure to fit the RE activities of SPLE, an International Workshop on Requirements Patterns (RePa) template was adopted and modified. This research contributes in design, development and implementation of Requirements Pattern for Software Product Families (RP-SPF) framework and tool support. RP-SPF was evaluated using three methods: (1) survey questionnaire for expert validation of the approach, which was administered online to several experts across the globe to give their opinions on the suitability, efficiency and effectiveness of RP-SPF in the context of SPLE; (2) Experiment with 36 RE students in academic setting, where ad hoc process of reusing and documenting requirements was compared with RP-SPF systematic approach; during the experiment, requirements documents from e-learning domain was used in the requirements pattern template; the experiment results were analyzed using Independent T-Test and Mann Whitney U-Test for the efficiency and effectiveness of RP-SPF respectively; a post experiment questionnaire was distributed to the participants of the experiment to evaluate perception of use of the tool; the data was further analyzed with SPSS 21 for reliability and correlation between the questionnaire items using Cronbach's and; (3) survey interview with 6 experts from both academic and industry to complement the previous results. During the interview, the experts were asked to accomplish a task using RR-SPF tool and further answer the interview questions.