SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Chapt er 6
Syst em Engineer ing

Software Engineering: A Practitioner’s Approach, 6th edition
by Roger S. Pressman

1
Syst em Engineer ing
 Software Engineering occurs as a
consequence of a process called system
engineering.
 System engineering process takes on
different forms depending on the application
domain in which it is applied.

1 Business Process engineering
2 Product engineering
2
The
Hier ar chy
Business or
Product Dom
ain

World view

Dom
ain of interest

Dom
ain view

System elem
ent

Elem
ent view

Detailed view

3
Pr oduct Engineer ing
The complete
product

System analysis
(World view)

capabilities

hardware

Component
engineering
( Domain view)

software

P rocessing requirement

data

function

behavior

Analysis & Design
M odeling
(Element view)

program
component

Software
E ngineering

Construction
&
Integration
(Detailed view)

4
Syst em Engineer ing Cont .
 Definition of Computer based system: A
set or arrangement of elements that are
organized to accomplish some predefined
goal by processing information.

 Elements of computer based system:
1. Software
2. Hardware
3. People

4. Documentation
5. Database
6. Procedures
5
Chapt er 7
Requir ement s Engineer ing

Software Engineering: A Practitioner’s Approach, 6th edition
by Roger S. Pressman

6
Requir ement s Engineer ing
 Requirement: A

function, constraint or other property
that the system must provide to fill the needs of the
system’s intended user(s)

 Engineering:

implies that systematic and repeatable
techniques should be used to ensure that system
requirements are complete, consistent, relevant . . .
etc.
 Requirement Engineering covers all of the activities
involved in discovering, documenting, and
maintaining a set of requirements for a system.
 RE means that requirements for a product are
defined, managed and tested systematically

7
Requir ement s Engineer ing
Requirement engineering process is accomplished through the
execution of seven distinct functions:
Inception—Establish a basic understanding of the problem and
the nature of the solution.
Elicitation—Draw out the requirements from stakeholders.
Elaboration—Create an analysis model that represents
information, functional, and behavioral aspects of the
requirements.
Negotiation—Agree on a deliverable system that is realistic for
developers and customers.
Specification—Describe the requirements formally or informally.
Validation—Review the requirement specification for errors,
ambiguities, omissions, and conflicts.
8
Requirements management—Manage changing requirements.
I ncept ion
 Ask “context-free” questions











Who is behind the request for this work?
Who will use the solution (product/system)?
What will be the economic benefits?
How would you characterize “good” output from the
system?
What problems does this solution address?
What environment will the product be used in?
Are you the right person to answer these questions?
Are these question relevant?
Can anyone else provide additional information?
Should I be asking you anything else?

9
Get t ing Requir ement s Right
 “The hardest single part of building a software system is
deciding what to build. No part of the work so cripples the
resulting system if done wrong. No other part is more difficult to
rectify later.”
—Fred Brooks
 “The seeds of major software disasters are usually sown within
the first three months of commencing the software project.”
—Capers Jones
 “We spend a lot of time—the majority of project effort—not
implementing or testing, but trying to decide what to build.”
—Brian Lawrence
10
Elicit ing Requir ement s
 Why is it so difficult to clearly understand what the customer wants?
 Problems of Scope
 The boundary of the system is ill-defined.
 Customers/users specify unnecessary technical detail that may confuse
rather than clarify objectives.

 Problems of understanding
 Customers are not completely sure of what is needed.
 Customers have a poor understanding of the capabilities and limitations of
the computing environment.
 Customers don’t have a full understanding of their problem domain.
 Customers have trouble communicating needs to the system engineer.
 Customers omit detail that is believed to be obvious.
 Customers specify requirements that conflict with other requirements.
 Customers specify requirements that are ambiguous or untestable.

 Problems of Volatility
 Requirements change over time.

11
Elabor at ion, Negot iat ion
 Information obtained from the customer
during inception and elicitation is expanded
and refined during elaboration.
 The end result of elaboration is an analysis
model that defines the informational,
functional, and behavioral domain of the
problem.
 Requirement engineer reconcile the conflicts if
any through the process of negotiation.
12
Specif icat ion, Validat ion
 Specification means different things to different
people.
 Specification can be a written document, a set of
graphical models, a formal mathematical model, a
collection of usage scenarios, a prototype, or any
combination of these.
 Work products produced as a consequence of
requirements engineering are assessed for quality
during validation step.
 Primary requirement validation mechanism is the
formal technical review.

13
Requir ement s Management
 Requirement management is a set of
activities that help the project team identify,
control, and track requirements and changes
to requirements at any time as the project
proceeds.

14
I nit iat ing t he Requir ement s
Engineer ing Pr ocess
 To get the project started in a way that
will keep it moving forward toward a
successful solution.
 Identifying the stakeholders
 Recognizing Multiple Viewpoints
 Working toward Collaboration
 Asking the first questions
15
Elicit ing Requir ement s
 Various approaches can be taken into
consideration like
•
•
•
•

Collaborative Requirements Gathering
Quality Function Deployment
User Scenarios
Elicitation Work Products

16
What ar e t he basic guidelines f or conduct ing
a collabor at ive r equir ement s gat her ing
meet ing?
 Meetings are conducted and attended by all interested stakeholders.
 Rules for preparation and participation are established.
 Agenda should be formal enough to cover all important points, but
informal enough to encourage the free flow of ideas.
 A facilitator (can be customer, a developer, or an outsider) controls
the meeting.
 A definition mechanism (blackboard, flip charts, etc.) is used.
 During the meeting:






The problem is identified.
Elements of the solution are proposed.
Different approaches are negotiated.
A preliminary set of solution requirements are obtained.
The atmosphere is collaborative and non-threatening.

17
Qualit y Funct ion Deployment
 Quality function deployment is a technique that
translates the needs of the customer into technical
requirements for software.
 QFD identifies three types of requirements
 Normal requirements: reflect objectives and goals
stated for a product
 Expected requirements: are implicit to the product
or system and may be so fundamental that the
customer does not explicitly state them.
 Exciting requirements: reflect features that go
beyond the customer’s expectations and prove to
be very satisfying when present.
18
User Scenar ios
 It is difficult to move into more technical
software engineering activities until the
software team understands how these
functions and features will be used by
different classes of end users.
 To accomplish this, developers and
users create a set of scenarios often
called use-cases.
19
Elicit at ion Wor k
Pr oduct s

 What information is produced as a consequence of
requirements gathering?
•
•
•
•
•

Statement of need and feasibility.
Bounded Statement of scope.
List of participants in requirements elicitation.
Description of the system’s technical environment.
List of requirements and associated domain
constraints.
• List of usage scenarios.
• Any prototypes developed to refine requirements.

20
Developing Use-Cases
 A use-case scenario is a story about how someone or something
external to the software (known as an actor) interacts with the system.
 Each scenario answers the following questions:
•

Who is the primary actor, the secondary actor(s)?









What are the actor’s goals?
What preconditions should exist before the story begins?
What main tasks or functions are performed by the actor?
What exceptions might be considered as the story is described?
What variations in the actor’s interaction are possible?
What system information will the actor acquire, produce, or change?
Will the actor have to inform the system about changes in the external
environment?
 What information does the actor desire from the system?
 Does the actor wish to be informed about unexpected changes?

21
Use-Case Diagr am

22
Element s of t he Analysis
Model
 Scenario-based elements
 Use-case—How external actors interact with the
system (use-case diagrams; detailed templates)
 Functional—How software functions are processed in
the system (flow charts; activity diagrams)
 Class-based elements
 The various system objects (obtained from scenarios)
including their attributes and functions (class diagram)
 Behavioral elements
 How the system behaves in response to different
events (state diagram)
 Flow-oriented elements
 How information is transformed as if flows through the
system (data flow diagram)

23
Act ivit y Diagr am f or RE

24
Class Diagr am

25
St at e Diagr am

26
Analysis Pat t er ns
Pattern name: Captures the essence of the pattern.
Intent: What the pattern accomplishes or represents.
Motivation: A scenario that illustrates how the pattern solves a problem.
Forces and context: External issues (forces) that affect how the pattern is
used, and external issues resolved when the pattern is applied.
Solution: How the pattern is applied to solve the problem; emphasizes
structural and behavioral issues.
Consequences: What happens when the pattern is applied; what trade-offs
exist during its application.
Design: How the pattern can be achieved via known design patterns.
Known uses: Examples of uses within actual systems.
Related patterns: Patterns related to the named pattern because
(1) they are commonly used with the named pattern;
(2) they are structurally similar to the named pattern;
(3) they are a variation of the named pattern.

27
Negot iat ing Requir ement s
 Identify the key stakeholders
 These are the people who will be involved in the
negotiation

 Determine each of the stakeholders “win
conditions”
 Win conditions are not always obvious

 Negotiate
 Work toward a set of requirements that lead to
“win-win”

28
Validat ing Requir ement s
 Is each requirement consistent with the objective of the
system?
 Have all requirements been specified at the proper level of
abstraction?
 Is the requirement really necessary?
 Is each requirement bounded and unambiguous?
 Does each requirement have attribution?
 Do any requirements conflict with other requirements?
 Is each requirement achievable in the system’s technical
environment?
 Is each requirement testable, once implemented?
 Does the model reflect the system’s information, function and
behavior?
29

Example CRG Meet ing
 First CRG meeting of the SafeHome project.
 After Q&A session (inception meeting), stakeholders write a
two page product request, which is delivered to those
attending the first CRG meeting.
 Attendees are asked to make a rough list of objects,
services, constraints, and performance criteria for the
product.
 At the meeting, a combined list is created in each topic.
 Subgroups write mini-specifications for each list item.
 Relevant features in mini-specifications are added to the list.
30
Example CRG Meet ing
 Our research indicates that the market for home management
systems is growing at a rate of 40 percent per year. The first
SafeHome function we bring to market should be the home
security function. Most people are familiar with “alarm systems”
so this would be an easy sell.
 The home security function would protect against and/or
recognize a variety of undesirable “situations” such as illegal
entry, fire, flooding, carbon monoxide levels, and others. It’ll use
our wireless sensors to detect each situation, can be
programmed by the homeowner, and will automatically
telephone a monitoring agency when a situation is detected.
31
Example CRG Meet ing
 Objects – control panel, smoke detectors, window and door
sensors, motion detectors, an alarm, an event (sensor has been
activated), a display, a PC, telephone numbers, a telephone
call, …
 Services – configuring the system, setting the alarm, monitoring
the sensors, dialing the phone, programming the control panel,
reading the display, …
 Constraints – System must recognize when sensors are not
operating, must be user friendly, must interface directly to a
standard phone line, …
 Performance criteria – Sensor event should be recognized within
one second, an event priority scheme should be implemented,
…
32
Example CRG Meet ing
 Mini-specification for Control Panel
 The Control Panel is a wall-mounted unit
that is approximately 9 x 5 inches in size.
The control panel has wireless connectivity
to sensors and a PC. User interaction
occurs through a keypad containing 12
keys. A 2 x 2 inch LCD display provides
user feedback. Software provides
interactive prompts, echo, and similar
functions.

33

Weitere ähnliche Inhalte

Was ist angesagt?

Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
Abdul Basit
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
Webx
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
vucevic
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
Kiran Munir
 
Software requirement enginering
Software requirement engineringSoftware requirement enginering
Software requirement enginering
Wajid Ali
 

Was ist angesagt? (20)

Requirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharyaRequirement Analysis & Specification sharbani bhattacharya
Requirement Analysis & Specification sharbani bhattacharya
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
7. requirement-engineering
7. requirement-engineering7. requirement-engineering
7. requirement-engineering
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
 
Requirement Engineering
Requirement EngineeringRequirement Engineering
Requirement Engineering
 
software engineering
software engineeringsoftware engineering
software engineering
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Lecture4 requirement engineering
Lecture4 requirement engineeringLecture4 requirement engineering
Lecture4 requirement engineering
 
Business requirement analysis session 5
Business requirement analysis   session 5Business requirement analysis   session 5
Business requirement analysis session 5
 
Requirement analysis
Requirement analysisRequirement analysis
Requirement analysis
 
Requirements Analysis
Requirements AnalysisRequirements Analysis
Requirements Analysis
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
software requirement
software requirement software requirement
software requirement
 
Requirement Analysis
Requirement AnalysisRequirement Analysis
Requirement Analysis
 
Unit1
Unit1Unit1
Unit1
 
Requirement analysis with use case
Requirement analysis with use caseRequirement analysis with use case
Requirement analysis with use case
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Software Requirements Engineering Methodologies
Software Requirements Engineering MethodologiesSoftware Requirements Engineering Methodologies
Software Requirements Engineering Methodologies
 
Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)Requirements Engineering (CS 5032 2012)
Requirements Engineering (CS 5032 2012)
 
Software requirement enginering
Software requirement engineringSoftware requirement enginering
Software requirement enginering
 

Ähnlich wie Software engg. pressman_ch-6 & 7

Ähnlich wie Software engg. pressman_ch-6 & 7 (20)

Requirement Engineering.pdf
Requirement Engineering.pdfRequirement Engineering.pdf
Requirement Engineering.pdf
 
SE UNIT-2.pdf
SE UNIT-2.pdfSE UNIT-2.pdf
SE UNIT-2.pdf
 
Software engineering requirements help11
Software engineering requirements help11Software engineering requirements help11
Software engineering requirements help11
 
6. ch 5-understanding requirements
6. ch 5-understanding requirements6. ch 5-understanding requirements
6. ch 5-understanding requirements
 
system development life cycle
system development life cyclesystem development life cycle
system development life cycle
 
SE chapters 6-7
SE chapters 6-7SE chapters 6-7
SE chapters 6-7
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
SAD_UnitII.docx
SAD_UnitII.docxSAD_UnitII.docx
SAD_UnitII.docx
 
Requirements Engineering
Requirements EngineeringRequirements Engineering
Requirements Engineering
 
software engineering
software engineering software engineering
software engineering
 
Ch 2-RE-process.pptx
Ch 2-RE-process.pptxCh 2-RE-process.pptx
Ch 2-RE-process.pptx
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
System Development Life Cycle part3
System Development Life Cycle part3System Development Life Cycle part3
System Development Life Cycle part3
 
Managing Software Project
Managing Software ProjectManaging Software Project
Managing Software Project
 
Softwareenggineering lab manual
Softwareenggineering lab manualSoftwareenggineering lab manual
Softwareenggineering lab manual
 
System_Analysis_and_Design_Assignment_New2.ppt
System_Analysis_and_Design_Assignment_New2.pptSystem_Analysis_and_Design_Assignment_New2.ppt
System_Analysis_and_Design_Assignment_New2.ppt
 
Requirementengg
RequirementenggRequirementengg
Requirementengg
 
Ch07
Ch07Ch07
Ch07
 
Ch07
Ch07Ch07
Ch07
 

Kürzlich hochgeladen

VADODARA CALL GIRL AVAILABLE 7568201473 call me
VADODARA CALL GIRL AVAILABLE 7568201473 call meVADODARA CALL GIRL AVAILABLE 7568201473 call me
VADODARA CALL GIRL AVAILABLE 7568201473 call me
shivanisharma5244
 
Authentic Black magic, Kala ilam expert in UAE and Kala ilam specialist in S...
Authentic Black magic, Kala ilam expert in UAE  and Kala ilam specialist in S...Authentic Black magic, Kala ilam expert in UAE  and Kala ilam specialist in S...
Authentic Black magic, Kala ilam expert in UAE and Kala ilam specialist in S...
baharayali
 

Kürzlich hochgeladen (20)

From The Heart v8.pdf xxxxxxxxxxxxxxxxxxx
From The Heart v8.pdf xxxxxxxxxxxxxxxxxxxFrom The Heart v8.pdf xxxxxxxxxxxxxxxxxxx
From The Heart v8.pdf xxxxxxxxxxxxxxxxxxx
 
VADODARA CALL GIRL AVAILABLE 7568201473 call me
VADODARA CALL GIRL AVAILABLE 7568201473 call meVADODARA CALL GIRL AVAILABLE 7568201473 call me
VADODARA CALL GIRL AVAILABLE 7568201473 call me
 
English - The Forgotten Books of Eden.pdf
English - The Forgotten Books of Eden.pdfEnglish - The Forgotten Books of Eden.pdf
English - The Forgotten Books of Eden.pdf
 
Genesis 1:10 || Meditate the Scripture daily verse by verse
Genesis 1:10  ||  Meditate the Scripture daily verse by verseGenesis 1:10  ||  Meditate the Scripture daily verse by verse
Genesis 1:10 || Meditate the Scripture daily verse by verse
 
St. Louise de Marillac and Poor Children
St. Louise de Marillac and Poor ChildrenSt. Louise de Marillac and Poor Children
St. Louise de Marillac and Poor Children
 
Amil baba in Lahore /Amil baba in Karachi /Amil baba in Pakistan
Amil baba in Lahore /Amil baba in Karachi /Amil baba in PakistanAmil baba in Lahore /Amil baba in Karachi /Amil baba in Pakistan
Amil baba in Lahore /Amil baba in Karachi /Amil baba in Pakistan
 
"The Magnificent Surah Rahman: PDF Version"
"The Magnificent Surah Rahman: PDF Version""The Magnificent Surah Rahman: PDF Version"
"The Magnificent Surah Rahman: PDF Version"
 
A Spiritual Guide To Truth v10.pdf xxxxxxx
A Spiritual Guide To Truth v10.pdf xxxxxxxA Spiritual Guide To Truth v10.pdf xxxxxxx
A Spiritual Guide To Truth v10.pdf xxxxxxx
 
The_Chronological_Life_of_Christ_Part_99_Words_and_Works
The_Chronological_Life_of_Christ_Part_99_Words_and_WorksThe_Chronological_Life_of_Christ_Part_99_Words_and_Works
The_Chronological_Life_of_Christ_Part_99_Words_and_Works
 
Zulu - The Epistle of Ignatius to Polycarp.pdf
Zulu - The Epistle of Ignatius to Polycarp.pdfZulu - The Epistle of Ignatius to Polycarp.pdf
Zulu - The Epistle of Ignatius to Polycarp.pdf
 
Flores de Mayo-history and origin we need to understand
Flores de Mayo-history and origin we need to understandFlores de Mayo-history and origin we need to understand
Flores de Mayo-history and origin we need to understand
 
Deerfoot Church of Christ Bulletin 5 5 24
Deerfoot Church of Christ Bulletin 5 5 24Deerfoot Church of Christ Bulletin 5 5 24
Deerfoot Church of Christ Bulletin 5 5 24
 
The Revelation Chapter 4 Working Copy.docx
The Revelation Chapter 4 Working Copy.docxThe Revelation Chapter 4 Working Copy.docx
The Revelation Chapter 4 Working Copy.docx
 
Genesis 1:8 || Meditate the Scripture daily verse by verse
Genesis 1:8  ||  Meditate the Scripture daily verse by verseGenesis 1:8  ||  Meditate the Scripture daily verse by verse
Genesis 1:8 || Meditate the Scripture daily verse by verse
 
Genesis 1:2 - Meditate the Scripture Daily bit by bit
Genesis 1:2 - Meditate the Scripture Daily bit by bitGenesis 1:2 - Meditate the Scripture Daily bit by bit
Genesis 1:2 - Meditate the Scripture Daily bit by bit
 
+92343-7800299 No.1 Amil baba in Pakistan amil baba in Lahore amil baba in Ka...
+92343-7800299 No.1 Amil baba in Pakistan amil baba in Lahore amil baba in Ka...+92343-7800299 No.1 Amil baba in Pakistan amil baba in Lahore amil baba in Ka...
+92343-7800299 No.1 Amil baba in Pakistan amil baba in Lahore amil baba in Ka...
 
Legends of the Light v2.pdf xxxxxxxxxxxxx
Legends of the Light v2.pdf xxxxxxxxxxxxxLegends of the Light v2.pdf xxxxxxxxxxxxx
Legends of the Light v2.pdf xxxxxxxxxxxxx
 
Authentic Black magic, Kala ilam expert in UAE and Kala ilam specialist in S...
Authentic Black magic, Kala ilam expert in UAE  and Kala ilam specialist in S...Authentic Black magic, Kala ilam expert in UAE  and Kala ilam specialist in S...
Authentic Black magic, Kala ilam expert in UAE and Kala ilam specialist in S...
 
Genesis 1:7 || Meditate the Scripture daily verse by verse
Genesis 1:7  ||  Meditate the Scripture daily verse by verseGenesis 1:7  ||  Meditate the Scripture daily verse by verse
Genesis 1:7 || Meditate the Scripture daily verse by verse
 
Jude: The Acts of the Apostates (Jude vv.1-4).pptx
Jude: The Acts of the Apostates (Jude vv.1-4).pptxJude: The Acts of the Apostates (Jude vv.1-4).pptx
Jude: The Acts of the Apostates (Jude vv.1-4).pptx
 

Software engg. pressman_ch-6 & 7

  • 1. Chapt er 6 Syst em Engineer ing Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman 1
  • 2. Syst em Engineer ing  Software Engineering occurs as a consequence of a process called system engineering.  System engineering process takes on different forms depending on the application domain in which it is applied. 1 Business Process engineering 2 Product engineering 2
  • 3. The Hier ar chy Business or Product Dom ain World view Dom ain of interest Dom ain view System elem ent Elem ent view Detailed view 3
  • 4. Pr oduct Engineer ing The complete product System analysis (World view) capabilities hardware Component engineering ( Domain view) software P rocessing requirement data function behavior Analysis & Design M odeling (Element view) program component Software E ngineering Construction & Integration (Detailed view) 4
  • 5. Syst em Engineer ing Cont .  Definition of Computer based system: A set or arrangement of elements that are organized to accomplish some predefined goal by processing information.  Elements of computer based system: 1. Software 2. Hardware 3. People 4. Documentation 5. Database 6. Procedures 5
  • 6. Chapt er 7 Requir ement s Engineer ing Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman 6
  • 7. Requir ement s Engineer ing  Requirement: A function, constraint or other property that the system must provide to fill the needs of the system’s intended user(s)  Engineering: implies that systematic and repeatable techniques should be used to ensure that system requirements are complete, consistent, relevant . . . etc.  Requirement Engineering covers all of the activities involved in discovering, documenting, and maintaining a set of requirements for a system.  RE means that requirements for a product are defined, managed and tested systematically 7
  • 8. Requir ement s Engineer ing Requirement engineering process is accomplished through the execution of seven distinct functions: Inception—Establish a basic understanding of the problem and the nature of the solution. Elicitation—Draw out the requirements from stakeholders. Elaboration—Create an analysis model that represents information, functional, and behavioral aspects of the requirements. Negotiation—Agree on a deliverable system that is realistic for developers and customers. Specification—Describe the requirements formally or informally. Validation—Review the requirement specification for errors, ambiguities, omissions, and conflicts. 8 Requirements management—Manage changing requirements.
  • 9. I ncept ion  Ask “context-free” questions           Who is behind the request for this work? Who will use the solution (product/system)? What will be the economic benefits? How would you characterize “good” output from the system? What problems does this solution address? What environment will the product be used in? Are you the right person to answer these questions? Are these question relevant? Can anyone else provide additional information? Should I be asking you anything else? 9
  • 10. Get t ing Requir ement s Right  “The hardest single part of building a software system is deciding what to build. No part of the work so cripples the resulting system if done wrong. No other part is more difficult to rectify later.” —Fred Brooks  “The seeds of major software disasters are usually sown within the first three months of commencing the software project.” —Capers Jones  “We spend a lot of time—the majority of project effort—not implementing or testing, but trying to decide what to build.” —Brian Lawrence 10
  • 11. Elicit ing Requir ement s  Why is it so difficult to clearly understand what the customer wants?  Problems of Scope  The boundary of the system is ill-defined.  Customers/users specify unnecessary technical detail that may confuse rather than clarify objectives.  Problems of understanding  Customers are not completely sure of what is needed.  Customers have a poor understanding of the capabilities and limitations of the computing environment.  Customers don’t have a full understanding of their problem domain.  Customers have trouble communicating needs to the system engineer.  Customers omit detail that is believed to be obvious.  Customers specify requirements that conflict with other requirements.  Customers specify requirements that are ambiguous or untestable.  Problems of Volatility  Requirements change over time. 11
  • 12. Elabor at ion, Negot iat ion  Information obtained from the customer during inception and elicitation is expanded and refined during elaboration.  The end result of elaboration is an analysis model that defines the informational, functional, and behavioral domain of the problem.  Requirement engineer reconcile the conflicts if any through the process of negotiation. 12
  • 13. Specif icat ion, Validat ion  Specification means different things to different people.  Specification can be a written document, a set of graphical models, a formal mathematical model, a collection of usage scenarios, a prototype, or any combination of these.  Work products produced as a consequence of requirements engineering are assessed for quality during validation step.  Primary requirement validation mechanism is the formal technical review. 13
  • 14. Requir ement s Management  Requirement management is a set of activities that help the project team identify, control, and track requirements and changes to requirements at any time as the project proceeds. 14
  • 15. I nit iat ing t he Requir ement s Engineer ing Pr ocess  To get the project started in a way that will keep it moving forward toward a successful solution.  Identifying the stakeholders  Recognizing Multiple Viewpoints  Working toward Collaboration  Asking the first questions 15
  • 16. Elicit ing Requir ement s  Various approaches can be taken into consideration like • • • • Collaborative Requirements Gathering Quality Function Deployment User Scenarios Elicitation Work Products 16
  • 17. What ar e t he basic guidelines f or conduct ing a collabor at ive r equir ement s gat her ing meet ing?  Meetings are conducted and attended by all interested stakeholders.  Rules for preparation and participation are established.  Agenda should be formal enough to cover all important points, but informal enough to encourage the free flow of ideas.  A facilitator (can be customer, a developer, or an outsider) controls the meeting.  A definition mechanism (blackboard, flip charts, etc.) is used.  During the meeting:      The problem is identified. Elements of the solution are proposed. Different approaches are negotiated. A preliminary set of solution requirements are obtained. The atmosphere is collaborative and non-threatening. 17
  • 18. Qualit y Funct ion Deployment  Quality function deployment is a technique that translates the needs of the customer into technical requirements for software.  QFD identifies three types of requirements  Normal requirements: reflect objectives and goals stated for a product  Expected requirements: are implicit to the product or system and may be so fundamental that the customer does not explicitly state them.  Exciting requirements: reflect features that go beyond the customer’s expectations and prove to be very satisfying when present. 18
  • 19. User Scenar ios  It is difficult to move into more technical software engineering activities until the software team understands how these functions and features will be used by different classes of end users.  To accomplish this, developers and users create a set of scenarios often called use-cases. 19
  • 20. Elicit at ion Wor k Pr oduct s  What information is produced as a consequence of requirements gathering? • • • • • Statement of need and feasibility. Bounded Statement of scope. List of participants in requirements elicitation. Description of the system’s technical environment. List of requirements and associated domain constraints. • List of usage scenarios. • Any prototypes developed to refine requirements. 20
  • 21. Developing Use-Cases  A use-case scenario is a story about how someone or something external to the software (known as an actor) interacts with the system.  Each scenario answers the following questions: • Who is the primary actor, the secondary actor(s)?        What are the actor’s goals? What preconditions should exist before the story begins? What main tasks or functions are performed by the actor? What exceptions might be considered as the story is described? What variations in the actor’s interaction are possible? What system information will the actor acquire, produce, or change? Will the actor have to inform the system about changes in the external environment?  What information does the actor desire from the system?  Does the actor wish to be informed about unexpected changes? 21
  • 23. Element s of t he Analysis Model  Scenario-based elements  Use-case—How external actors interact with the system (use-case diagrams; detailed templates)  Functional—How software functions are processed in the system (flow charts; activity diagrams)  Class-based elements  The various system objects (obtained from scenarios) including their attributes and functions (class diagram)  Behavioral elements  How the system behaves in response to different events (state diagram)  Flow-oriented elements  How information is transformed as if flows through the system (data flow diagram) 23
  • 24. Act ivit y Diagr am f or RE 24
  • 26. St at e Diagr am 26
  • 27. Analysis Pat t er ns Pattern name: Captures the essence of the pattern. Intent: What the pattern accomplishes or represents. Motivation: A scenario that illustrates how the pattern solves a problem. Forces and context: External issues (forces) that affect how the pattern is used, and external issues resolved when the pattern is applied. Solution: How the pattern is applied to solve the problem; emphasizes structural and behavioral issues. Consequences: What happens when the pattern is applied; what trade-offs exist during its application. Design: How the pattern can be achieved via known design patterns. Known uses: Examples of uses within actual systems. Related patterns: Patterns related to the named pattern because (1) they are commonly used with the named pattern; (2) they are structurally similar to the named pattern; (3) they are a variation of the named pattern. 27
  • 28. Negot iat ing Requir ement s  Identify the key stakeholders  These are the people who will be involved in the negotiation  Determine each of the stakeholders “win conditions”  Win conditions are not always obvious  Negotiate  Work toward a set of requirements that lead to “win-win” 28
  • 29. Validat ing Requir ement s  Is each requirement consistent with the objective of the system?  Have all requirements been specified at the proper level of abstraction?  Is the requirement really necessary?  Is each requirement bounded and unambiguous?  Does each requirement have attribution?  Do any requirements conflict with other requirements?  Is each requirement achievable in the system’s technical environment?  Is each requirement testable, once implemented?  Does the model reflect the system’s information, function and behavior? 29 
  • 30. Example CRG Meet ing  First CRG meeting of the SafeHome project.  After Q&A session (inception meeting), stakeholders write a two page product request, which is delivered to those attending the first CRG meeting.  Attendees are asked to make a rough list of objects, services, constraints, and performance criteria for the product.  At the meeting, a combined list is created in each topic.  Subgroups write mini-specifications for each list item.  Relevant features in mini-specifications are added to the list. 30
  • 31. Example CRG Meet ing  Our research indicates that the market for home management systems is growing at a rate of 40 percent per year. The first SafeHome function we bring to market should be the home security function. Most people are familiar with “alarm systems” so this would be an easy sell.  The home security function would protect against and/or recognize a variety of undesirable “situations” such as illegal entry, fire, flooding, carbon monoxide levels, and others. It’ll use our wireless sensors to detect each situation, can be programmed by the homeowner, and will automatically telephone a monitoring agency when a situation is detected. 31
  • 32. Example CRG Meet ing  Objects – control panel, smoke detectors, window and door sensors, motion detectors, an alarm, an event (sensor has been activated), a display, a PC, telephone numbers, a telephone call, …  Services – configuring the system, setting the alarm, monitoring the sensors, dialing the phone, programming the control panel, reading the display, …  Constraints – System must recognize when sensors are not operating, must be user friendly, must interface directly to a standard phone line, …  Performance criteria – Sensor event should be recognized within one second, an event priority scheme should be implemented, … 32
  • 33. Example CRG Meet ing  Mini-specification for Control Panel  The Control Panel is a wall-mounted unit that is approximately 9 x 5 inches in size. The control panel has wireless connectivity to sensors and a PC. User interaction occurs through a keypad containing 12 keys. A 2 x 2 inch LCD display provides user feedback. Software provides interactive prompts, echo, and similar functions. 33