Meta-modeling constructs for requirements reuse (RR): software requirements patterns, variability, and traceability
Reuse is a fundamental activity, which increases quality and productivity of software products. Reuse of software artifacts, such as requirements, architectures, and codes can be employed at any developmental stage of software. However, reuse at a higher level of abstraction, for instance at requ...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Faculty of Computer and Mathematical Sciences , Universiti Teknologi MARA
2018
|
Subjects: | |
Online Access: | http://irep.iium.edu.my/68996/ http://irep.iium.edu.my/68996/ http://irep.iium.edu.my/68996/1/MJOC-Submission-C-18030215_13Dec2018.pdf |
Summary: | Reuse is a fundamental activity, which increases quality and productivity of software products.
Reuse of software artifacts, such as requirements, architectures, and codes can be employed at any
developmental stage of software. However, reuse at a higher level of abstraction, for instance at
requirements level, provides greater benefits in software development than when applied at lower level of abstraction for example at coding level. To achieve full benefits of reuse, a systematic approach and appropriate strategy need to be followed. Although several reuse approaches are reported in the literature, these approaches lack a key strategy to synergize some essential drivers of reuse, which include reusable structure, variability management (VM) and traceability of software artifacts. In line with this, we make our contribution in this paper by (1) presenting the
concepts and importance of software requirements patterns (SRP) for reusable structure; (2)
proposing a strategy, which combines three sub-disciplines of Software Engineering (SE) such as
Requirements Engineering (RE), Software Product Line Engineering (SPLE) and Model-driven
Engineering (MDE); (3) proposing a meta-modeling constructs, which include SRP, VM and
traceability and; (4) Relationship amongst the three sub-disciplines of the SE. This is a novel
approach and we believe it can support and guide researchers and practitioners in SE community
to have greater benefits of reuse during software developments. |
---|