Post on 30-Jan-2015
description
Basics – in a nutshell
LARA SAITZ
JANUARY 2014
Requirements Engineering
2
Requirements Engineering in a Nutshell - Summary
Summary
Requirements Engineering has been gaining in importance over the past couple years. Clearly specified and documented requirements are one of the key factors for successful projects. Not only do they provide a common understanding of the project scope, but a solid basis for development, quality management and testing.
The following presentation will explain the requirement engineering basics and deliver a brief overview of the main tasks of a requirements engineer.
In addition key techniques for requirements engineering are listed.
3
Requirements Engineering in a Nutshell - Basics
Definition of Requirements Engineering
Requirements engineering is a systematic and disciplined approach to the specification and management of requirements. Its main goals are:
» Knowing the relevant requirements and achieving consensus among the stakeholders about these
» Understanding and documenting the stakeholder‘s needs and desires
» Specifying and managing requirements in order to reduce the risk of not meeting the stakeholder‘s needs and desires
4
Requirements Engineering in a Nutshell - Basics
Definition of Requirement
Requirements are defined as:» A need or desire perceived by a stakeholder» A capability or property that a system should have» A documented representation of a need, property or capability
There are two different kinds of requirements:» functional
» Functional requirements describe system characteristics
» non-functional (also quality requirements or constraints)» Non-functional requirements describe quality, usability, performance and
safety characteristics
5
Requirements Engineering in a Nutshell – RE Role
Requirements Engineering as a Role
The role of a requirements engineer can be described as an interface between the stakeholders and the development.
RE delivers documented and validated requirements,communicates customer
Reqs to development
Stakeholder communicates wishes and desires,
validates documented requirements
Development checks technicalfeasibility, gives feedback
on implementation
RE delivers documented requirements, communicates
technical issues to stakeholders
6
Requirements Engineering in a Nutshell – RE Tasks
Requirements ElicitationDuring the phase „requirements elicitation“ the requirements engineer needs to identify possible requirement sources and choose the correct techniques in order to collect requirements.
Requirement sources can be:» Stakeholders» Existing documents» Current systems
Basic elicitation techniques are:» Workshops» Interviews» Brainstorming» System Archeology» Field Observation
7
Requirements Engineering in a Nutshell – RE Tasks
Requirements DocumentationIn the phase „requirements documentation“ the requirements engineer documents all relevant information. This documentation can range from prose to diagrams with formal semantics. As the requirement documentation is the foundation for further communication between all parties involved in the project it is crucial to select the correct documentation technique for each project.
These can be:» Requirements Catalogue» User Stories» Scope Document» Processes» UML Models
8
Requirements Engineering in a Nutshell – RE Tasks
Requirements ValidationIn this phase the requirements engineer‘s goal is to validate the elicited and documented requirements. It is necessary to detect possible errors in the documentation as soon as possible, as they are the basis for development activities. Next to choosing the correct technique it is crucial to involve all relevant stakeholders in the validation process.
Techniques for requirements validation are:» Inspections» General Reviews» Peer-Reviews» Walkthroughs» Proof of Concept (Prototyping)
9
Requirements Engineering in a Nutshell - Req Management
Requirements ManagementRequirements management is an ongoing task over the entire software lifecycle. It involves:
» Assuring the traceability of requirements. In the requirements management the traceability information is recorded, organized and maintained. This activity can be supported by giving each requirement a unique identifier.
» Prioritizing requirements. This assures that the correct requirements are implemented at the right time.
» Managing Requirements Changes. Over time requirements can change and even be rendered unnecessary. It is important to manage these changes systematically.
Our Locations
Subsidiary Cologne
Wilhelmstraße 351143 CologneTel +49 22 03 – 91 22 0Fax +49 22 03 – 91 22 23
Subsidiary Darmstadt
Kasinostraße 6064293 DarmstadtTel +49 61 51 – 78 90 0Fax +49 61 51 – 78 90 23 0
Headquarter Bonn
Kurfürstenallee 553177 BonnTel +49 228 – 76 36 31 0Fax +49 228 –76 36 31 3
Subsidiary Berne
Frohbergweg 73012 BerneTel +41 31 – 534 07 06Fax +41 31 – 536 69 78
For further information on Requirements Engineering, feel free to
contact us!