Requirment Engineering
Requirment Engineering
Requirment Engineering
1
Requirements engineering
2
Types of requirement
User requirements
To mean the high level abstract requirements
Statements in natural language plus diagrams of what services
the system is expected to provide and its constraints under
which it must operate.
Written for customers.
System requirements
To mean the detailed description of what the system should do.
Set out the system’s functions, services and operational
constraints in detail.
Define exactly what is to be implemented.
It may be part of contract between the system buyer and the
software developers.
3
User and System Requirements
4
Readers of different types of requirements
specification
5
Functional and non-functional requirements
7
Mentcare system: functional requirements
8
Requirements imprecision
9
Requirements completeness and consistency
11
Types of nonfunctional requirement
12
Metrics for specifying nonfunctional requirements
Property Measure
Speed Processed transactions/second
User/event response time
Screen refresh time
Size Mbytes
Number of ROM chips
Ease of use Training time
Number of help frames
Reliability Mean time to failure
Probability of unavailability
Rate of failure occurrence
Availability
Robustness Time to restart after failure
Percentage of events causing failure
Probability of data corruption on failure
Portability Percentage of target dependent statements
Number of target systems
13
Agile methods and requirements
Chapter Description
This should define the expected readership of the document and describe its
Preface version history, including a rationale for the creation of a new version and a
summary of the changes made in each version.
This should describe the need for the system. It should briefly describe the
system’s functions and explain how it will work with other systems. It should
Introduction
also describe how the system fits into the overall business or strategic
objectives of the organization commissioning the software.
This should define the technical terms used in the document. You should not
Glossary
make assumptions about the experience or expertise of the reader.
Here, you describe the services provided for the user. The nonfunctional
system requirements should also be described in this section. This description
User requirements
may use natural language, diagrams, or other notations that are
definition
understandable to customers. Product and process standards that must be
followed should be specified.
Chapter Description
System This should describe the functional and nonfunctional requirements in more detail.
requirements If necessary, further detail may also be added to the nonfunctional requirements.
specification Interfaces to other systems may be defined.
This might include graphical system models showing the relationships between
System models the system components and the system and its environment. Examples of
possible models are object models, data-flow models, or semantic data models.
This should describe the fundamental assumptions on which the system is based,
and any anticipated changes due to hardware evolution, changing user needs,
System evolution and so on. This section is useful for system designers as it may help them avoid
design decisions that would constrain likely future changes to the system.
These should provide detailed, specific information that is related to the
application being developed; for example, hardware and database descriptions.
Appendices Hardware requirements define the minimal and optimal configurations for the
system. Database requirements define the logical organization of the data used
by the system and the relationships between data.
22
Requirements Elicitation and Analysis
Requirements elicitation and analysis