Presentation
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 29 patterns. The patterns are all about non-functional requirements since this type of requirements are the less sensitive to changes in the problem domain. You may find the catalogue in the Patterns section of this site.
- 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.
- First release of two subsystems for helping in the use, management and evolution of the catalogue. These two subsystems will be described soon in this site
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 CITI 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 to domain-related functionality.
- Improving the functionality and usability of the tools.