The reuse of software requirements may help requirement engineers to elicit, validate and document software requirements and, as a consequence, obtain software requirement specifications of better quality both in contents and syntax.
There are many approaches to reuse in software engineering. Among them, patterns hold a prominent position. "Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice" (Alexander, 1979). We are interested in the use of patterns for the requirements analysis stage, namely Software Requirement Patterns. The patterns applicability to this context is clear, since requirements that appear over and over in requirements books could be identified as the solution to particular problems in a given context (the classical context-problem-solution scenario of patterns).
The current state of the proposal consists of:
- A software requirements pattern catalogue with 66 patterns.
patterns are all about non-functional requirements (29 of them) and
non-technical requirements (37 of them) since these types of
requirements are the less sensitive to changes in the problem domain.
You may find the catalogue in the Patterns section of this site. Also a
set of functional SRP have been obtained that correspond to the domain
of CMS tools.
- A metamodel that describes the structure of patterns and the catalogue. You may find it in the Metamodel section of this site, and more information in the REFSQ’10 paper listed in the Publications section of this site.
- A method for the process of use of the catalogue in the requirements engineering stage. You may find more information in the RCIS’09 and IJCSA’09 papers listed in the Publications section of this site.
- Two subsystems for helping in the use,
management and evolution of the catalogue: PABRE-MAN, to maintain and
catalogue of requirement patterns, and PABRE-PROJ, to elicit
requirements of software projects using the patterns catalogue. For
more information see Tools section in this site. Also a web service PABRE-WS has been developed to provide access to the PABRE catalogue from interested Requirement Management Tools.
The research method used to build our requirements patterns catalogue and its underlying metamodel was based on the study of system requirement specifications from several call-for-tender real projects conducted by the SSI group (see Who We Are section in this site); experts’ knowledge, being these experts: IT consultants, facilitators and researchers; background on requirements engineering literature and especially on requirement patterns; and a first validation in two real projects.
This is not a finished work, and our ongoing work address:
- Validation of the approach. Specifically we are working in conducting some experimentation of the use of catalogue, the method and the tools.
- Enlarging the catalogue with new patterns, starting to address domain-related functionalities. Specifically we are building now a first set of functional patterns related to Content Management System (CMS) domain.
- Improving the functionality and usability of the tools.