A Software Implementation of the Requirements Abstraction Model
Norrback, Oskar (2014)
Kuvaus
Opinnäytetyö kokotekstinä PDF-muodossa.
Tiivistelmä
Requirements are often referred to as one of the main reasons for failed software projects. In this thesis we review the Requirement Abstraction Model (RAM) as outlined by Tony Gorschek and Claes Wohlin. RAM was developed as a response to an industrial need to handle requirements in market driven product development. The model places requirements on four different abstraction levels and it makes requirements comparable to each other through abstraction or break down.
The first objective of this thesis is to find a working model for managing an incoming stream of requirements with varying levels of abstraction. The model should not cause an unreasonable burden on the requirement engineering process and it should be easy to adopt, e.g. it should not be so complex that it requires excessive training.
The second objective of the thesis is to apply the chosen model to the design of a new requirement management tool. The hope is that the right model and a supporting tool in combination will help product managers create higher quality requirements and as a result more successful software projects.
RAM is compared to other methodologies that can be used in requirements engineering such as Quality Function Deployment and the Agile Requirements Refinery. RAM is ultimately chosen as the main model based on its simplicity, scalability, potential benefits and supporting empirical evidence.
The main principles of RAM are applied into the architecture, domain model, use case and user interface design of a new requirement management tool, RAMP. The design of RAMP is presented and a proof-of-concept prototype is also implemented.
The first objective of this thesis is to find a working model for managing an incoming stream of requirements with varying levels of abstraction. The model should not cause an unreasonable burden on the requirement engineering process and it should be easy to adopt, e.g. it should not be so complex that it requires excessive training.
The second objective of the thesis is to apply the chosen model to the design of a new requirement management tool. The hope is that the right model and a supporting tool in combination will help product managers create higher quality requirements and as a result more successful software projects.
RAM is compared to other methodologies that can be used in requirements engineering such as Quality Function Deployment and the Agile Requirements Refinery. RAM is ultimately chosen as the main model based on its simplicity, scalability, potential benefits and supporting empirical evidence.
The main principles of RAM are applied into the architecture, domain model, use case and user interface design of a new requirement management tool, RAMP. The design of RAMP is presented and a proof-of-concept prototype is also implemented.