Chapter 1
Chapter 1
SOFTWARE REQUIREMENT
ENGINEERING
Chapter - 1
What are requirements?
2
The system may be delivered late and cost more than originally
expected.
The customer and end-users are not satisfied with the system. They
may not use its facilities or may even decide to scrap it altogether.
The system may be unreliable in use with regular system errors and
crashes disrupting normal operation.
If the system continues in use, the costs of maintaining and evolving
the system are very high.
Why is requirements engineering difficult?
7
Existing
systems
information
Stakeholder Agreed
needs requirements
Requirements System
Organisational engineering process
standards specification
System
Regulations models
Domain
information
Requirements engineering processes
9
Requirement Analysis
understanding of each requirement & representing sets of requirements in multiple
ways.
Following are the principal activities:
Analysing the information received from users to distinguish their task goals
from functional requirements, quality expectations, business rules, suggested
solutions, and other information
Decomposing high-level requirements into an appropriate level of detail
Requirements discovery
Interacting with stakeholders to discover their requirements. Domain
requirements are also discovered at this stage.
Requirements classification and organization
Group related requirements and organizes them into coherent clusters.
Prioritization and negotiation
Prioritizing requirements & finding and resolving requirements conflicts.
Requirements documentation
Requirements are documented and input into the next round of the spiral.
Requirements elicitation & analysis Process…
17
Requirements elicitation & analysis Process…
18
Requirements discovery
The process of gathering information about the proposed and existing
systems and distilling the user and system requirements from this
information.
Sources of information include documentation, system stakeholders and the
specifications of similar systems.
Approaches & Techniques of requirements discovery are:
Questioner
Interviewing
Document analysis
Use-cases
Requirements Specification
19
Requirements checking
Validity: Does the system provide the functions which best support
the customer’s needs?
Consistency: Are there any requirements conflicts?
Completeness: Are all functions required by the customer included?
Realism: Can the requirements be implemented given available
budget and technology
Verifiability: Can the requirements be checked?
Requirements validation…
22
Requirements reviews
Regular reviews should be held while the requirements definition is
being formulated.
Both client and contractor staff should be involved in reviews.
Reviews may be formal (with completed documents) or informal.
Good communications between developers, customers and users
can resolve problems at an early stage.
Requirements validation…
24
Review checks
Verifiability: Is the requirement realistically testable?
Comprehensibility: Is the requirement properly understood?
Traceability: Is the origin of the requirement clearly stated?
Adaptability: Can the requirement be changed without a large
impact on other requirements?
Requirements management
25
Requirements change
The priority of requirements from different viewpoints changes
during the development process.
System customers may specify requirements from a business
perspective that conflict with end-user requirements.
The business and technical environment of the system changes
during its development.
Emergent properties
27
Functional requirement
A functional requirement defines a function of a software system or its
component.
A function is described as a set of inputs, the behaviour, and outputs.
Functional requirements may be calculations, technical details, data
manipulation & processing and other specific functionality that define
what a system is supposed to accomplish.
Functional requirements should be complete and consistent
Customers and developers usually focus all their attention on functional
requirements
Types of Software Requirements…
29
Non-Functional requirement
A requirement that specifies criteria that can be used to judge the operation of a
system, rather than specific behaviours.
Non-functional requirements are often called qualities of a system
Types:
Product requirements: Efficiency (performance & space) , Reliability,
Portability requirements
Organizational requirements (organizational policies and procedures):
Delivery , Implementation , Standards requirements
External requirements (factors which are external to the system):
Interoperability , legislative (Privacy & safety), Ethical requirements ..
Software and System Requirements
30
Thank You!!
?