SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Downloaden Sie, um offline zu lesen
System Requirements Engineering
by
Dr.Animesh Chaturvedi
Assistant Professor: LNMIIT Jaipur
Post Doctorate: King’s College London &TheAlanTuring Institute
PhD: IIT Indore
System Requirements Engineering
 Requirements Engineering,
 Functional and Non-Functional Requirements,
 Engineering Design Process and Process Engineering,
 Logistics Management,
 Risk management, and
 Requirements specification
Requirements Engineering
System Requirements
 Requirements describing the functions to satisfy the
stakeholder needs and requirements,
 Expressed in textual statements, views, and non-functional
requirements; e.g. levels of safety, security, reliability, etc.
 Elicitation (collecting intelligence information) of
stakeholder requirements
https://www.sebokwiki.org/wiki/System_Requirements
System Requirements (ISO)
 “A requirement is a statement that identifies a product or
processes operational, functional, or design characteristic or
constraint, which is unambiguous, testable, or measurable
and necessary for product or process acceptability” (ISO
2007)
 Process Role or State:
 its position in the system block (e.g. translated, derived, satisfied)
 or its state of agreement (e.g. proposed, approved, cancelled).
 Level of Abstraction: stakeholder requirement, system
requirement, system entity requirement
 Type of Requirement: functional, performance, constraint,
etc.
https://www.sebokwiki.org/wiki/System_Requirements
System Requirement Types
 Functional Requirements: qualitatively the system functions
or tasks to be performed in operation
 Performance Requirements: quantitatively, or how well and
under what conditions a function or task is to be performed
(e.g. rates, velocities)
 Usability Requirements: Quality of system use (e.g.
measurable effectiveness, efficiency, and satisfaction criteria)
 Interface Requirements: How the system is required to
interact with external systems (external interface), or how
system entities interact with each other (internal interface)
https://www.sebokwiki.org/wiki/System_Requirements
System Requirement Types
 Operational Requirements: Conditions or properties
required for the system to operate
 Modes or States Requirements: Events for transitions of
modes or states or versions.
 Adaptability Requirements: Potential extension, growth, or
scalability during the life of the system.
 Logistical Requirements: Conditions needed by the
continuous utilization. Includes: sustainment (provision of
facilities, level support, support personnel, spare parts,
training, technical documentation, etc.), packaging, handling,
shipping, transportation.
https://www.sebokwiki.org/wiki/System_Requirements
System Requirement Constraints
 Physical Constraints: Constraints on weight, volume, and
dimension
 Design Constraints: Limits on the options that are available
to a designer of a solution by imposing immovable
boundaries and limits
 Environmental Constraints: Environmental conditions to be
encountered by the system in its different operational modes.
 Policies and Regulations Constraints: Relevant and applicable
organizational policies or regulatory requirements that could
affect the operation or performance of the system
 Cost and Schedule Constraints
https://www.sebokwiki.org/wiki/System_Requirements
System Requirement Constraints
 the system shall incorporate a legacy or provided system entity,
 certain data shall be maintained in an online repository,
 threats to societal environment (e.g. political, economic, social,
etc.),
 natural environment (e.g. wind, rain, temperature, dust, radiation,
etc.)
 induced and/or self-induced environmental effects (e.g. motion,
shock, noise, electromagnetism, thermal, etc.),
 labor policies, reports to regulatory agency,
 health or safety criteria
 the cost of components of the system, and
 the expected delivery date
https://www.sebokwiki.org/wiki/System_Requirements
System Requirement Artifacts
 System Requirements Document
 System Requirements Justification Document (for
traceability purpose)
 System Requirements Database, including traceability,
analysis, rationale, decisions, and attributes, where
appropriate.
 System External Interface Requirements Document
(describes the interfaces of the system with external entities
of its context of use)
https://www.sebokwiki.org/wiki/System_Requirements
Stakeholder Requirements
 Stakeholder types
 End users, System managers, System owners, External stakeholders
 Stakeholder requirements are translated from statements of
engineering-oriented language to enable proper architecture
definition, design, and verification
 Form the basis of
 system architecture and design activities
 system integration and verification activities
 validation and stakeholder acceptance
 communication between the various technical staff that interact
throughout the project
https://www.sebokwiki.org/wiki/System_Requirements
System Requirements Engineering
 Functional and non-functional requirements (next)
 Requirements engineering processes (in this unit)
 Requirements elicitation (in this unit)
 Requirements specification (in this unit)
 Requirements validation (next units as system testing)
 Requirements change (next units as system evolution)
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Functional and Non-Functional
Requirements
Functional requirements
 Statements of services the system should provide, how the
system should react to particular inputs and how the system
should behave in particular situations.
 May state what the system should not do.
 Describe functionality or system services.
 Depend on the type of system, expected users and the type
of system where the system is used.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Functional requirements
 Functional user requirements may be high-level statements of
what the system should do.
 Functional system requirements should describe the system
services in detail.
 Domain requirements: Constraints on the system from the
domain of operation
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Non-Functional requirements
 Non-functional requirements
 Constraints on the services or functions offered by the system
such as timing constraints, constraints on the development
process, standards, etc.
 Often apply to the system as a whole rather than individual
features or services.
 Define system properties and constraints e.g. reliability,
response time and storage requirements.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Non-Functional requirements
 Non-functional requirements may be more critical than
functional requirements. If these are not met, the system may
be useless.
 Process and development requirements may also be specified
 Example: Constraints are I/O device capability
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Non-functional requirements
 Non-functional requirements may affect the overall
architecture of a system rather than the individual
components.
 For example, to ensure that performance requirements are met,
you may have to organize the system to minimize
communications between components.
 A single non-functional requirement, such as a security
requirement,
 It may also generate requirements that restrict existing
requirements.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Non-functional classifications
 Product requirements
 Requirements which specify that the delivered product must
behave in a particular way e.g. execution speed, reliability, etc.
 Organisational requirements
 Requirements which are a consequence of organisational
policies and procedures e.g. process standards used,
implementation requirements, etc.
 External requirements
 Requirements which arise from factors which are external to
the system and its development process e.g. interoperability
requirements, legislative requirements, etc.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Requirements completeness and
consistency
 In principle, requirements should be both complete and
consistent.
 Complete
 They should include descriptions of all facilities required.
 Consistent
 There should be no conflicts or contradictions in the
descriptions of the system facilities.
 In practice, because of system and environmental complexity, it is
impossible to produce a complete and consistent requirements
document.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Engineering Design Process and
Process Engineering
Engineering design process
 Series of steps that engineers use in creating functional
products and processes.
 The process is highly iterative - parts of the process often
need to be repeated many times before another can be
entered.
 Decision making process (often iterative) to optimize
resources for meeting requirements.
 Feasibility: an evaluation and analysis of the potential of
project can proceed into the project design phase
https://en.wikipedia.org/wiki/Engineering_design_process
Requirements engineering processes
 The processes used for RE vary widely depending on the
application domain, the people involved and the organisation
developing the requirements.
 However, there are a number of generic activities common to
all processes
 Requirements elicitation;
 Requirements analysis;
 Requirements validation;
 Requirements management.
 RE is an iterative activity in which these processes are
interleaved.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Requirements engineering process
 It is an iterative process that includes requirements
elicitation, specification and validation.
 Requirements elicitation is an iterative process that can be
represented as a spiral of activities – requirements discovery,
requirements classification and organization, requirements
negotiation and requirements documentation.
 Requirements elicitation techniques includes interviews and
ethnography. User stories and scenarios may be used to
facilitate discussions.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Process activities
 Requirements discovery
 Interacting with stakeholders to discover their requirements. Domain
requirements are also discovered at this stage.
 Requirements classification and organisation
 Groups related requirements and organises them into coherent clusters.
 Prioritisation and negotiation
 Prioritising requirements and resolving requirements conflicts.
 Requirements specification
 Requirements are documented and
input into the next round of the spiral.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Process Engineering
 Understanding the fundamental principles and laws of
engineering processes to transform raw into products useful
to society and industry.
 Focuses on the design, control, operation, optimization and
intensification of processes.
https://en.wikipedia.org/wiki/Process_engineering
Process Engineering
 Process design: synthesis of graphs or networks, hierarchical
decomposition flow sheets, structure optimization, design of the
product for the production.
 Process control: model predictive control, controllability
measures, robust control, nonlinear control, statistical process
control, process monitoring, a collection of measurements,
method of taking measurements, and controlling the desired
measurement.
 Process operations: scheduling process networks, time-variant
planning and optimization, data reconciliation, real-time
optimization, flexibility measures, fault diagnosis
 Process Economics: simulation software to find out the break even
point, net present value, marginal sales, marginal cost,
https://en.wikipedia.org/wiki/Process_engineering
Process Engineering
 Process Data Analytics:Applying data analytics and machine
learning methods for processes of engineering.
 Supporting tools:
 sequential modular simulation, equation-based process
simulation,
 AI/expert systems, large-scale nonlinear programming,
 optimization of differential algebraic equations (DAEs), mixed-
integer nonlinear programming (MINLP), global optimization,
optimization under uncertainty, and
 quality function deployment (QFD),
 cost estimation withASPEN, Super-Pro
https://en.wikipedia.org/wiki/Process_engineering
Process Flow Diagram (PFD)
 Process piping
 Major equipment items
 Connections with other systems
 Major bypass and recirculation (recycle) streams
 Operational data (temperature, pressure, mass flow rate,
density, etc.), often by stream references to a mass balance.
 Process stream names
https://en.wikipedia.org/wiki/Process_flow_diagram
Process Flow Diagram (PFD)
 Flow diagram
of a typical
amine treating
process used in
industrial
plants
https://en.wikipedia.org/wiki/Process_flow_diagram
Process Flow Diagram (PFD)
 Flowchart software
development cycle.
 Design the system, code it and
test it.
 When an error is found,
 it must be determined whether
the error is a design error or
not.
 coding errors can quickly be fixed,
 but design errors may take longer
https://www.rff.com/software_development.php
Process Flow Diagram (PFD)
http://tonyjuliendesign.com/blog/the-design-process-step-1/
System modeling
 System modeling is the process of developing abstract models
of a system, with each model presenting a different view or
perspective of that system.
 System modeling has now come to mean representing a
system using some kind of graphical notation, which is now
almost always based on notations in the Unified Modeling
Language (UML).
 System modelling helps the analyst to understand the
functionality of the system and models are used to
communicate with customers.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
UML diagram types
 Activity diagrams, which show the activities involved in a
process or in data processing .
 Use case diagrams, which show the interactions between a
system and its environment.
 Sequence diagrams, which show interactions between
actors and the system and between system components.
 State diagrams, which show how the system reacts to
internal and external events.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Use cases for the Mentcare system
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Sequence diagram for
View patient information
Sommerville, Ian. "Software engineering 10th Edition." (2015).
State diagram of a
Microwave oven operation
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Logistics Management
Logistics
 It is the science of planning and implementing the acquisition
and use of the resources necessary to sustain the operation of
a system.
 management of the flow of things between the point of origin
and the point of consumption to meet the requirements of
customers or corporations
 resources managed includes tangible goods such as
 Non-perishable goods (like materials, equipment, supplies, etc.)
 Perishable goods (like food, etc.) and
 other consumable items
 Example: Military logistics
https://en.wikipedia.org/wiki/Logistics
Logistics
 Ability to sustain the operation of a system is determined by the
inherent supportability of the system (a function of design)
and the processes used to sustain the functions and
capabilities of the system in the context of the end user.
 Affects
 the performance measures: availability, compatibility,
interoperability, transportability, reliability, maintainability,
 the effort and cost: life cycle cost, system operation,
maintenance,
 the environment: manpower, human factors, safety, natural
environment effects, habitability.
https://www.sebokwiki.org/wiki/Logistics
Logistics management
 It plans, implements, and controls the efficient, effective
forward, and reverse flow and storage of goods, services, and
related information between the point of origin and point of
consumption to meet customer's requirements.
 It is the part of
 supply chain management and
 supply chain engineering
https://en.wikipedia.org/wiki/Logistics
Computer Network: Packet Transfer
https://www.youtube.com/watch?v=ewrBalT_eBM
Space Transport Logistics
Drone to launch Satellite in space
 Aevum believes its Ravn X drone, which is said to be the
world's biggest drone, is now capable of sending low-Earth
orbit satellites into space
 https://www.youtube.com/watch?v=6YoKuObNPsw
Risk Management
Risk management
 Risk management is concerned with identifying risks and
drawing up plans to minimise their effect on a project.
 Project managers assess the risks that may affect a project,
monitor these risks and take action when problems arise
 to anticipate risks,
 understand the impact of these risks on
 project,
 product,
 business,
 take steps to avoid these risks
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Risk classification
 There are two dimensions of risk classification
 The type of risk (technical, organizational, ..)
 what is affected by the risk:
 Project risks affect schedule or resources;
 Product risks affect the quality or performance of the system;
 Business risks affect the organisation developing or procuring
the systems.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
The risk management process
 Risk identification
 Identify project, product and business risks;
 Risk analysis
 Assess the likelihood and consequences of these risks;
 Risk planning
 Draw up plans to avoid or minimise the effects of the risk;
 Risk monitoring
 Monitor the risks
throughout the project;
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Risk identification
 May be a team activities or based on the individual project
manager’s experience.
 A checklist of common risks may be used to identify risks in
a project
 Technology risks.
 Organizational risks.
 People risks.
 Requirements risks.
 Estimation risks.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Risk analysis
 Assess probability and seriousness of each risk.
 Probability may be very low, low, moderate, high or very
high.
 Risk consequences might be catastrophic, serious, tolerable
or insignificant.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Risk planning
 Consider each risk and develop a strategy to manage that
risk.
 Avoidance strategies
 The probability that the risk will arise is reduced;
 Minimization strategies
 The impact of the risk on the project or product will be
reduced;
 Contingency plans
 If the risk arises, contingency plans are plans to deal with that
risk;
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Risk monitoring
 Assess each identified risks regularly to decide whether or
not it is becoming less or more probable.
 Also assess whether the effects of the risk have changed.
 Each key risk should be discussed at management progress
meetings.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Requirements specification
Requirements specification
 The process of writing down the user and system
requirements in a requirements document.
 User requirements have to be understandable by end-users
and customers who do not have a technical background.
 System requirements are more detailed requirements and
may include more technical information.
 The requirements may be part of a contract for the system
development
 It is therefore important that these are as complete as possible.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Natural language specification
 Requirements are written as natural language sentences
supplemented by diagrams and tables.
 Used for writing requirements because it is expressive,
intuitive and universal.This means that the requirements can
be understood by users and customers.
 Problems arise when requirements are not precisely stated.
 Ambiguous requirements may be interpreted in different
ways.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Guidelines for writing requirements
 Invent a standard format and use it for all requirements.
 Use language in a consistent way.
 Use text highlighting to identify key parts of the
requirement.
 Avoid the use of systems jargon that require expertize.
 Include an explanation (rationale) of why a requirement is
necessary.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Problems with natural language
 Lack of clarity
 Precision is difficult without making the document difficult to
read.
 Requirements confusion
 Functional and non-functional requirements tend to be mixed-
up.
 Requirements amalgamation
 Several different requirements may be expressed together.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Form-based specifications
 Definition of the function or entity.
 Description of inputs and where they come from.
 Description of outputs and where they go to.
 Information about the information needed for the system and
its entities.
 Description of the action to be taken.
 Pre and post conditions (if appropriate).
 The side effects (if any) of the function.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Tabular specification
 Used to supplement natural language.
 Particularly useful when you have to define a number of
possible alternative courses of action.
 For example, the insulin pump systems bases its
computations on the rate of change of blood sugar level and
the tabular specification explains how to calculate the insulin
requirement for different scenarios.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Requirements evolution and
change management
 Deciding if a requirements change should be accepted
 Problem analysis and change specification
 Change analysis and costing
 Change implementation
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Summary
 Functional requirements are statements of the services that
the system must provide.
 Non-functional requirements often constrain the system.
Relate to the emergent properties of the system and
therefore apply to the system as a whole.
 Requirements specification is the process of formally
documenting the user and system requirements and creating
a system requirements document.
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Summary
 Requirements validation is the process of checking the
requirements for validity, consistency, completeness, realism
and verifiability. (System testing .. up-next .. )
 Business, organizational and technical changes inevitably lead
to changes to the requirements for a system. Requirements
management is the process of managing and controlling these
changes. (System evolution and maintenance .. up-next .. )
Sommerville, Ian. "Software engineering 10th Edition." (2015).
Thank You
Japanese
Hebrew
English
Merci
French
Russian
Danke
German
Grazie
Italian
Gracias
Spanish
Obrigado
Portuguese
Arabic
Simplified
Chinese
Traditional
Chinese
Tamil
Thai
Korean
https://sites.google.com/site/animeshchaturvedi07

Weitere ähnliche Inhalte

Was ist angesagt?

Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
Himanshu
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
Ammar Shafiq
 
System engineering
System engineeringSystem engineering
System engineering
Slideshare
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering Assignment
Sohaib Latif
 
Introduction to Software Engineering SE1
Introduction to Software Engineering SE1Introduction to Software Engineering SE1
Introduction to Software Engineering SE1
koolkampus
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9
Ian Sommerville
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
Kiran Munir
 

Was ist angesagt? (20)

Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
 
Slides chapter 10
Slides chapter 10Slides chapter 10
Slides chapter 10
 
Quality attributes in software architecture
Quality attributes in software architectureQuality attributes in software architecture
Quality attributes in software architecture
 
Software engineering lecture notes
Software engineering   lecture notesSoftware engineering   lecture notes
Software engineering lecture notes
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
System engineering
System engineeringSystem engineering
System engineering
 
Software Engineering Assignment
Software Engineering AssignmentSoftware Engineering Assignment
Software Engineering Assignment
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERINGSOFTWARE ENGINEERING
SOFTWARE ENGINEERING
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
software engineering
software engineering software engineering
software engineering
 
Introduction to Software Engineering SE1
Introduction to Software Engineering SE1Introduction to Software Engineering SE1
Introduction to Software Engineering SE1
 
Ch4-Software Engineering 9
Ch4-Software Engineering 9Ch4-Software Engineering 9
Ch4-Software Engineering 9
 
Unit 1
Unit 1Unit 1
Unit 1
 
Software engineering note
Software engineering noteSoftware engineering note
Software engineering note
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
 
Architecture evaluation
Architecture evaluationArchitecture evaluation
Architecture evaluation
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
 

Ähnlich wie System requirements engineering

86One of the fi rst activities of an analyst is to determi.docx
86One of the fi rst activities of an analyst is to determi.docx86One of the fi rst activities of an analyst is to determi.docx
86One of the fi rst activities of an analyst is to determi.docx
ransayo
 
Ch5 software imprementation1.0
Ch5 software imprementation1.0Ch5 software imprementation1.0
Ch5 software imprementation1.0
Kittitouch Suteeca
 
Complex System Engineering
Complex System EngineeringComplex System Engineering
Complex System Engineering
Emmanuel Fuchs
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirements
Mohesh Chandran
 

Ähnlich wie System requirements engineering (20)

Requirement Engineering for Dependable Systems
Requirement Engineering for Dependable SystemsRequirement Engineering for Dependable Systems
Requirement Engineering for Dependable Systems
 
Cse3 March2009cwd35with Crane
Cse3 March2009cwd35with CraneCse3 March2009cwd35with Crane
Cse3 March2009cwd35with Crane
 
Slides 6 design of sw arch using add
Slides 6 design of sw arch using addSlides 6 design of sw arch using add
Slides 6 design of sw arch using add
 
Se lec 4
Se lec 4Se lec 4
Se lec 4
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
86One of the fi rst activities of an analyst is to determi.docx
86One of the fi rst activities of an analyst is to determi.docx86One of the fi rst activities of an analyst is to determi.docx
86One of the fi rst activities of an analyst is to determi.docx
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
Software Architecture Standard IEEE 1471
Software Architecture Standard IEEE 1471Software Architecture Standard IEEE 1471
Software Architecture Standard IEEE 1471
 
9 requirements engineering2
9 requirements engineering29 requirements engineering2
9 requirements engineering2
 
Ch5 software imprementation1.0
Ch5 software imprementation1.0Ch5 software imprementation1.0
Ch5 software imprementation1.0
 
Complex System Engineering
Complex System EngineeringComplex System Engineering
Complex System Engineering
 
software engineering
software engineeringsoftware engineering
software engineering
 
Software development PROCESS
Software development PROCESSSoftware development PROCESS
Software development PROCESS
 
Gr 6 sdlc models
Gr 6   sdlc modelsGr 6   sdlc models
Gr 6 sdlc models
 
Ch 1-Introduction.ppt
Ch 1-Introduction.pptCh 1-Introduction.ppt
Ch 1-Introduction.ppt
 
Software Requrement
Software RequrementSoftware Requrement
Software Requrement
 
INTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specificationsINTRODUCTION to software engineering requirements specifications
INTRODUCTION to software engineering requirements specifications
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
04 fse understandingrequirements
04 fse understandingrequirements04 fse understandingrequirements
04 fse understandingrequirements
 

Mehr von Animesh Chaturvedi

Mehr von Animesh Chaturvedi (20)

Cloud Platforms & Frameworks
Cloud Platforms & FrameworksCloud Platforms & Frameworks
Cloud Platforms & Frameworks
 
Cloud platforms and frameworks
Cloud platforms and frameworksCloud platforms and frameworks
Cloud platforms and frameworks
 
Cloud service lifecycle management
Cloud service lifecycle managementCloud service lifecycle management
Cloud service lifecycle management
 
Graph Analytics and Complexity Questions and answers
Graph Analytics and Complexity Questions and answersGraph Analytics and Complexity Questions and answers
Graph Analytics and Complexity Questions and answers
 
Advance Systems Engineering Topics
Advance Systems Engineering TopicsAdvance Systems Engineering Topics
Advance Systems Engineering Topics
 
P, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-HardP, NP, NP-Complete, and NP-Hard
P, NP, NP-Complete, and NP-Hard
 
System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC)
 
Shortest path, Bellman-Ford's algorithm, Dijkastra's algorithm, their Java co...
Shortest path, Bellman-Ford's algorithm, Dijkastra's algorithm, their Java co...Shortest path, Bellman-Ford's algorithm, Dijkastra's algorithm, their Java co...
Shortest path, Bellman-Ford's algorithm, Dijkastra's algorithm, their Java co...
 
Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...
Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...
Minimum Spanning Tree (MST), Kruskal's algorithm and Prim's Algorithm, and th...
 
C- Programming Assignment practice set 2 solutions
C- Programming Assignment practice set 2 solutionsC- Programming Assignment practice set 2 solutions
C- Programming Assignment practice set 2 solutions
 
C- Programming Assignment 4 solution
C- Programming Assignment 4 solutionC- Programming Assignment 4 solution
C- Programming Assignment 4 solution
 
C- Programming Assignment 3
C- Programming Assignment 3C- Programming Assignment 3
C- Programming Assignment 3
 
C - Programming Assignment 1 and 2
C - Programming Assignment 1 and 2C - Programming Assignment 1 and 2
C - Programming Assignment 1 and 2
 
Informatics systems
Informatics systemsInformatics systems
Informatics systems
 
Introduction to Systems Engineering
Introduction to Systems EngineeringIntroduction to Systems Engineering
Introduction to Systems Engineering
 
Big Data Analytics and Ubiquitous computing
Big Data Analytics and Ubiquitous computingBig Data Analytics and Ubiquitous computing
Big Data Analytics and Ubiquitous computing
 
Cloud Platforms and Frameworks
Cloud Platforms and FrameworksCloud Platforms and Frameworks
Cloud Platforms and Frameworks
 
Cloud Service Life-cycle Management
Cloud Service Life-cycle ManagementCloud Service Life-cycle Management
Cloud Service Life-cycle Management
 
Push Down Automata (PDA)
Push Down Automata (PDA)Push Down Automata (PDA)
Push Down Automata (PDA)
 
Pumping Lemma and Regular language or not?
Pumping Lemma and Regular language or not?Pumping Lemma and Regular language or not?
Pumping Lemma and Regular language or not?
 

Kürzlich hochgeladen

Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
rknatarajan
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
Tonystark477637
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 

Kürzlich hochgeladen (20)

UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 

System requirements engineering

  • 1. System Requirements Engineering by Dr.Animesh Chaturvedi Assistant Professor: LNMIIT Jaipur Post Doctorate: King’s College London &TheAlanTuring Institute PhD: IIT Indore
  • 2. System Requirements Engineering  Requirements Engineering,  Functional and Non-Functional Requirements,  Engineering Design Process and Process Engineering,  Logistics Management,  Risk management, and  Requirements specification
  • 4. System Requirements  Requirements describing the functions to satisfy the stakeholder needs and requirements,  Expressed in textual statements, views, and non-functional requirements; e.g. levels of safety, security, reliability, etc.  Elicitation (collecting intelligence information) of stakeholder requirements https://www.sebokwiki.org/wiki/System_Requirements
  • 5. System Requirements (ISO)  “A requirement is a statement that identifies a product or processes operational, functional, or design characteristic or constraint, which is unambiguous, testable, or measurable and necessary for product or process acceptability” (ISO 2007)  Process Role or State:  its position in the system block (e.g. translated, derived, satisfied)  or its state of agreement (e.g. proposed, approved, cancelled).  Level of Abstraction: stakeholder requirement, system requirement, system entity requirement  Type of Requirement: functional, performance, constraint, etc. https://www.sebokwiki.org/wiki/System_Requirements
  • 6. System Requirement Types  Functional Requirements: qualitatively the system functions or tasks to be performed in operation  Performance Requirements: quantitatively, or how well and under what conditions a function or task is to be performed (e.g. rates, velocities)  Usability Requirements: Quality of system use (e.g. measurable effectiveness, efficiency, and satisfaction criteria)  Interface Requirements: How the system is required to interact with external systems (external interface), or how system entities interact with each other (internal interface) https://www.sebokwiki.org/wiki/System_Requirements
  • 7. System Requirement Types  Operational Requirements: Conditions or properties required for the system to operate  Modes or States Requirements: Events for transitions of modes or states or versions.  Adaptability Requirements: Potential extension, growth, or scalability during the life of the system.  Logistical Requirements: Conditions needed by the continuous utilization. Includes: sustainment (provision of facilities, level support, support personnel, spare parts, training, technical documentation, etc.), packaging, handling, shipping, transportation. https://www.sebokwiki.org/wiki/System_Requirements
  • 8. System Requirement Constraints  Physical Constraints: Constraints on weight, volume, and dimension  Design Constraints: Limits on the options that are available to a designer of a solution by imposing immovable boundaries and limits  Environmental Constraints: Environmental conditions to be encountered by the system in its different operational modes.  Policies and Regulations Constraints: Relevant and applicable organizational policies or regulatory requirements that could affect the operation or performance of the system  Cost and Schedule Constraints https://www.sebokwiki.org/wiki/System_Requirements
  • 9. System Requirement Constraints  the system shall incorporate a legacy or provided system entity,  certain data shall be maintained in an online repository,  threats to societal environment (e.g. political, economic, social, etc.),  natural environment (e.g. wind, rain, temperature, dust, radiation, etc.)  induced and/or self-induced environmental effects (e.g. motion, shock, noise, electromagnetism, thermal, etc.),  labor policies, reports to regulatory agency,  health or safety criteria  the cost of components of the system, and  the expected delivery date https://www.sebokwiki.org/wiki/System_Requirements
  • 10. System Requirement Artifacts  System Requirements Document  System Requirements Justification Document (for traceability purpose)  System Requirements Database, including traceability, analysis, rationale, decisions, and attributes, where appropriate.  System External Interface Requirements Document (describes the interfaces of the system with external entities of its context of use) https://www.sebokwiki.org/wiki/System_Requirements
  • 11. Stakeholder Requirements  Stakeholder types  End users, System managers, System owners, External stakeholders  Stakeholder requirements are translated from statements of engineering-oriented language to enable proper architecture definition, design, and verification  Form the basis of  system architecture and design activities  system integration and verification activities  validation and stakeholder acceptance  communication between the various technical staff that interact throughout the project https://www.sebokwiki.org/wiki/System_Requirements
  • 12. System Requirements Engineering  Functional and non-functional requirements (next)  Requirements engineering processes (in this unit)  Requirements elicitation (in this unit)  Requirements specification (in this unit)  Requirements validation (next units as system testing)  Requirements change (next units as system evolution) Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 14. Functional requirements  Statements of services the system should provide, how the system should react to particular inputs and how the system should behave in particular situations.  May state what the system should not do.  Describe functionality or system services.  Depend on the type of system, expected users and the type of system where the system is used. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 15. Functional requirements  Functional user requirements may be high-level statements of what the system should do.  Functional system requirements should describe the system services in detail.  Domain requirements: Constraints on the system from the domain of operation Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 16. Non-Functional requirements  Non-functional requirements  Constraints on the services or functions offered by the system such as timing constraints, constraints on the development process, standards, etc.  Often apply to the system as a whole rather than individual features or services.  Define system properties and constraints e.g. reliability, response time and storage requirements. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 17. Non-Functional requirements  Non-functional requirements may be more critical than functional requirements. If these are not met, the system may be useless.  Process and development requirements may also be specified  Example: Constraints are I/O device capability Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 18. Non-functional requirements  Non-functional requirements may affect the overall architecture of a system rather than the individual components.  For example, to ensure that performance requirements are met, you may have to organize the system to minimize communications between components.  A single non-functional requirement, such as a security requirement,  It may also generate requirements that restrict existing requirements. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 19. Non-functional classifications  Product requirements  Requirements which specify that the delivered product must behave in a particular way e.g. execution speed, reliability, etc.  Organisational requirements  Requirements which are a consequence of organisational policies and procedures e.g. process standards used, implementation requirements, etc.  External requirements  Requirements which arise from factors which are external to the system and its development process e.g. interoperability requirements, legislative requirements, etc. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 20. Requirements completeness and consistency  In principle, requirements should be both complete and consistent.  Complete  They should include descriptions of all facilities required.  Consistent  There should be no conflicts or contradictions in the descriptions of the system facilities.  In practice, because of system and environmental complexity, it is impossible to produce a complete and consistent requirements document. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 21. Engineering Design Process and Process Engineering
  • 22. Engineering design process  Series of steps that engineers use in creating functional products and processes.  The process is highly iterative - parts of the process often need to be repeated many times before another can be entered.  Decision making process (often iterative) to optimize resources for meeting requirements.  Feasibility: an evaluation and analysis of the potential of project can proceed into the project design phase https://en.wikipedia.org/wiki/Engineering_design_process
  • 23. Requirements engineering processes  The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However, there are a number of generic activities common to all processes  Requirements elicitation;  Requirements analysis;  Requirements validation;  Requirements management.  RE is an iterative activity in which these processes are interleaved. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 24. Requirements engineering process  It is an iterative process that includes requirements elicitation, specification and validation.  Requirements elicitation is an iterative process that can be represented as a spiral of activities – requirements discovery, requirements classification and organization, requirements negotiation and requirements documentation.  Requirements elicitation techniques includes interviews and ethnography. User stories and scenarios may be used to facilitate discussions. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 25. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 26. Process activities  Requirements discovery  Interacting with stakeholders to discover their requirements. Domain requirements are also discovered at this stage.  Requirements classification and organisation  Groups related requirements and organises them into coherent clusters.  Prioritisation and negotiation  Prioritising requirements and resolving requirements conflicts.  Requirements specification  Requirements are documented and input into the next round of the spiral. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 27. Process Engineering  Understanding the fundamental principles and laws of engineering processes to transform raw into products useful to society and industry.  Focuses on the design, control, operation, optimization and intensification of processes. https://en.wikipedia.org/wiki/Process_engineering
  • 28. Process Engineering  Process design: synthesis of graphs or networks, hierarchical decomposition flow sheets, structure optimization, design of the product for the production.  Process control: model predictive control, controllability measures, robust control, nonlinear control, statistical process control, process monitoring, a collection of measurements, method of taking measurements, and controlling the desired measurement.  Process operations: scheduling process networks, time-variant planning and optimization, data reconciliation, real-time optimization, flexibility measures, fault diagnosis  Process Economics: simulation software to find out the break even point, net present value, marginal sales, marginal cost, https://en.wikipedia.org/wiki/Process_engineering
  • 29. Process Engineering  Process Data Analytics:Applying data analytics and machine learning methods for processes of engineering.  Supporting tools:  sequential modular simulation, equation-based process simulation,  AI/expert systems, large-scale nonlinear programming,  optimization of differential algebraic equations (DAEs), mixed- integer nonlinear programming (MINLP), global optimization, optimization under uncertainty, and  quality function deployment (QFD),  cost estimation withASPEN, Super-Pro https://en.wikipedia.org/wiki/Process_engineering
  • 30. Process Flow Diagram (PFD)  Process piping  Major equipment items  Connections with other systems  Major bypass and recirculation (recycle) streams  Operational data (temperature, pressure, mass flow rate, density, etc.), often by stream references to a mass balance.  Process stream names https://en.wikipedia.org/wiki/Process_flow_diagram
  • 31. Process Flow Diagram (PFD)  Flow diagram of a typical amine treating process used in industrial plants https://en.wikipedia.org/wiki/Process_flow_diagram
  • 32. Process Flow Diagram (PFD)  Flowchart software development cycle.  Design the system, code it and test it.  When an error is found,  it must be determined whether the error is a design error or not.  coding errors can quickly be fixed,  but design errors may take longer https://www.rff.com/software_development.php
  • 33. Process Flow Diagram (PFD) http://tonyjuliendesign.com/blog/the-design-process-step-1/
  • 34. System modeling  System modeling is the process of developing abstract models of a system, with each model presenting a different view or perspective of that system.  System modeling has now come to mean representing a system using some kind of graphical notation, which is now almost always based on notations in the Unified Modeling Language (UML).  System modelling helps the analyst to understand the functionality of the system and models are used to communicate with customers. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 35. UML diagram types  Activity diagrams, which show the activities involved in a process or in data processing .  Use case diagrams, which show the interactions between a system and its environment.  Sequence diagrams, which show interactions between actors and the system and between system components.  State diagrams, which show how the system reacts to internal and external events. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 36. Use cases for the Mentcare system Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 37. Sequence diagram for View patient information Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 38. State diagram of a Microwave oven operation Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 40. Logistics  It is the science of planning and implementing the acquisition and use of the resources necessary to sustain the operation of a system.  management of the flow of things between the point of origin and the point of consumption to meet the requirements of customers or corporations  resources managed includes tangible goods such as  Non-perishable goods (like materials, equipment, supplies, etc.)  Perishable goods (like food, etc.) and  other consumable items  Example: Military logistics https://en.wikipedia.org/wiki/Logistics
  • 41. Logistics  Ability to sustain the operation of a system is determined by the inherent supportability of the system (a function of design) and the processes used to sustain the functions and capabilities of the system in the context of the end user.  Affects  the performance measures: availability, compatibility, interoperability, transportability, reliability, maintainability,  the effort and cost: life cycle cost, system operation, maintenance,  the environment: manpower, human factors, safety, natural environment effects, habitability. https://www.sebokwiki.org/wiki/Logistics
  • 42. Logistics management  It plans, implements, and controls the efficient, effective forward, and reverse flow and storage of goods, services, and related information between the point of origin and point of consumption to meet customer's requirements.  It is the part of  supply chain management and  supply chain engineering https://en.wikipedia.org/wiki/Logistics
  • 43. Computer Network: Packet Transfer https://www.youtube.com/watch?v=ewrBalT_eBM
  • 45. Drone to launch Satellite in space  Aevum believes its Ravn X drone, which is said to be the world's biggest drone, is now capable of sending low-Earth orbit satellites into space  https://www.youtube.com/watch?v=6YoKuObNPsw
  • 47. Risk management  Risk management is concerned with identifying risks and drawing up plans to minimise their effect on a project.  Project managers assess the risks that may affect a project, monitor these risks and take action when problems arise  to anticipate risks,  understand the impact of these risks on  project,  product,  business,  take steps to avoid these risks Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 48. Risk classification  There are two dimensions of risk classification  The type of risk (technical, organizational, ..)  what is affected by the risk:  Project risks affect schedule or resources;  Product risks affect the quality or performance of the system;  Business risks affect the organisation developing or procuring the systems. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 49. The risk management process  Risk identification  Identify project, product and business risks;  Risk analysis  Assess the likelihood and consequences of these risks;  Risk planning  Draw up plans to avoid or minimise the effects of the risk;  Risk monitoring  Monitor the risks throughout the project; Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 50. Risk identification  May be a team activities or based on the individual project manager’s experience.  A checklist of common risks may be used to identify risks in a project  Technology risks.  Organizational risks.  People risks.  Requirements risks.  Estimation risks. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 51. Risk analysis  Assess probability and seriousness of each risk.  Probability may be very low, low, moderate, high or very high.  Risk consequences might be catastrophic, serious, tolerable or insignificant. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 52. Risk planning  Consider each risk and develop a strategy to manage that risk.  Avoidance strategies  The probability that the risk will arise is reduced;  Minimization strategies  The impact of the risk on the project or product will be reduced;  Contingency plans  If the risk arises, contingency plans are plans to deal with that risk; Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 53. Risk monitoring  Assess each identified risks regularly to decide whether or not it is becoming less or more probable.  Also assess whether the effects of the risk have changed.  Each key risk should be discussed at management progress meetings. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 55. Requirements specification  The process of writing down the user and system requirements in a requirements document.  User requirements have to be understandable by end-users and customers who do not have a technical background.  System requirements are more detailed requirements and may include more technical information.  The requirements may be part of a contract for the system development  It is therefore important that these are as complete as possible. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 56. Natural language specification  Requirements are written as natural language sentences supplemented by diagrams and tables.  Used for writing requirements because it is expressive, intuitive and universal.This means that the requirements can be understood by users and customers.  Problems arise when requirements are not precisely stated.  Ambiguous requirements may be interpreted in different ways. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 57. Guidelines for writing requirements  Invent a standard format and use it for all requirements.  Use language in a consistent way.  Use text highlighting to identify key parts of the requirement.  Avoid the use of systems jargon that require expertize.  Include an explanation (rationale) of why a requirement is necessary. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 58. Problems with natural language  Lack of clarity  Precision is difficult without making the document difficult to read.  Requirements confusion  Functional and non-functional requirements tend to be mixed- up.  Requirements amalgamation  Several different requirements may be expressed together. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 59. Form-based specifications  Definition of the function or entity.  Description of inputs and where they come from.  Description of outputs and where they go to.  Information about the information needed for the system and its entities.  Description of the action to be taken.  Pre and post conditions (if appropriate).  The side effects (if any) of the function. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 60. Tabular specification  Used to supplement natural language.  Particularly useful when you have to define a number of possible alternative courses of action.  For example, the insulin pump systems bases its computations on the rate of change of blood sugar level and the tabular specification explains how to calculate the insulin requirement for different scenarios. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 61. Requirements evolution and change management  Deciding if a requirements change should be accepted  Problem analysis and change specification  Change analysis and costing  Change implementation Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 62. Summary  Functional requirements are statements of the services that the system must provide.  Non-functional requirements often constrain the system. Relate to the emergent properties of the system and therefore apply to the system as a whole.  Requirements specification is the process of formally documenting the user and system requirements and creating a system requirements document. Sommerville, Ian. "Software engineering 10th Edition." (2015).
  • 63. Summary  Requirements validation is the process of checking the requirements for validity, consistency, completeness, realism and verifiability. (System testing .. up-next .. )  Business, organizational and technical changes inevitably lead to changes to the requirements for a system. Requirements management is the process of managing and controlling these changes. (System evolution and maintenance .. up-next .. ) Sommerville, Ian. "Software engineering 10th Edition." (2015).