Lec 02 SRE
Lec 02 SRE
Software Requirements
Engineering
Lecture: 02
Overview [Last Lecture]
Content:
Introduction
Different State-of-the-art definitions
Sources, levels & Importance of Software Requirements
Scope of Requirement Engineering
Role of requirements in Software Engineering
The challenges of the Requirements Engineering
Requirements Engineering Process
Sequence [Todays Agenda]
Content of Lecture
Process & Software Processes
Process Model & its Types
Requirement Engineering Process
RE Process Variability and its factors
RE Activities
Actors in RE Process
Human and Social Factors
Process Improvement and Process Maturity
Process 6
Processes
Software engineering development process (SDLC)
Requirements engineering process
Design process
Quality assurance process
Change management process
Process Models 10
Requirements Requirements
Requirements Requirements
Elicitation Analysis and
Specification Validation
Negotiation
User Needs,
Domain Information, Agreed
Existing System Requirements Requirements
Information, Regulations, Document
Standards, Etc.
Fine-grain Activity Models 15
Process
Stakeholder Agreed
needs requirements
System
Regulations models
Domain
information
RE Process – Inputs 20
It includes:
Existing system information
Information about the functionality of systems to be replaced
Information about other systems, which interact with the
system being specified
RE Process – Inputs 21
Stakeholder needs
Description of what system stakeholders need from the system
to support their work
Organizational standards
Standards used in an organization regarding system
development practice, quality management, etc.
RE Process – Inputs 22
Regulations
External regulations such as health and safety regulations,
which apply to the system
Domain information
General information about the application domain of the system
RE Process – Outputs 23
It includes:
Agreed requirements
A description of the system requirements, which is understandable by
stakeholders and which has been agreed by them
System specification
This is a more detailed specification of the system, which may be produced in
some cases
System models
A set of models such as a data-flow model, an object model, a process model,
etc., which describes the system from different perspectives
RE Process Variability 24
Technical maturity
The technologies and methods used for requirements
engineering vary from one organization to other
Disciplinary involvement
The types of engineering and managerial disciplines
involved in requirements vary from one organization to another
Variability Factors 27
Organizational culture
The culture of an organization has important effect on all
business and technical processes
Application domain
Different types of application system need different types
of requirements engineering process
Two Main Tasks of RE 28
Requirements Requirements
Requirements Requirements
Elicitation Analysis and
Specification Validation
Negotiation
User Needs,
Domain Information, Agreed
Existing System Requirements Requirements
Information, Regulations, Document
Standards, Etc.
Requirements Elicitation 33
Negotiation
Requirements analysis and negotiation activity is
performed by
Understanding the relationships among various customer
requirements and shaping those relationships to achieve a
successful result
Negotiations among different stakeholders and requirements
engineers
Requirements Specification 35
Establish Select
Understand Develop Evaluate
outline prototyping
problem prototype prototype
requirements system
ROLES
Role Descriptions 43
Role Description
Domain Responsible for proving
Expert information about the
application domain and the
specific problem in that
domain, which is to be solved
Role Descriptions 44
Role Description
System End- Responsible for using the
user system after delivery
Role Description
Requirements Responsible for eliciting and
Engineer specifying the system
requirements
Role Descriptions 45
Role Description
Software Responsible for developing
Engineer the prototype software system
Role Description
Project Responsible for planning and
Manager estimating the prototyping
project
Human and Social Factors 46
Software engineers
System end-users
Managers of system end-users
External regulators
Domain experts
Factors Influencing 48
Requirements
Personality and status of stakeholders
The personal goals of individuals within an organization
The degree of political influence of stakeholders within an
organization
Process Support 49
Optimizing
Level 5
Managed
Level 4
Defined
Level 3
Repeatable
Level 2
Initial
Level 1
Capability Maturity Model 57