Professional Documents
Culture Documents
Requirements Analysis
Requirements analysis
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
A Bridge
system
description
analysis
model
design
model
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Rules of Thumb
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Domain Analysis
Software domain analysis is the identification, analysis,
and specification of common requirements from a
specific application domain, typically for reuse on
multiple projects within that application domain . . .
[Object-oriented domain analysis is] the identification,
analysis, and specification of common, reusable
capabilities within a specific application domain, in
terms of common objects, classes, subassemblies, and
frameworks . . .
Donald Firesmith
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Domain Analysis
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
Scenario-Based Modeling
[Use-cases] are simply an aid to defining what exists
outside the system (actors) and what should be
performed by the system (use-cases). Ivar Jacobson
(1) What should we write about?
(2) How much should we write about it?
(3) How detailed should we make our description?
(4) How should we organize the description?
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
identify stakeholders
define the scope of the problem
specify overall operational goals
establish priorities
outline all known functional requirements, and
describe the things (objects) that will be manipulated by the
system.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
10
Use-Cases
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
11
Developing a Use-Case
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
12
Use-Case Diagram
SafeHome
Access camera
surveillance via the
Internet
cameras
Configure SafeHome
system parameters
homeowner
Set alarm
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
13
Activity Diagram
Supplements the use
case by providing a
graphical
representation of the
flow of interaction
within a specific
scenario
enter password
and user ID
valid passwords/ ID
invalid passwords/ ID
other f unctions
may also be
selected
input tries remain
select surveillance
thumbnail views
no input
tries remain
select specific
camera - thumbnails
prompt for
another view
exit this f unction
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
14
Swimlane Diagrams
h o m e o wn e r
c a m e ra
i n t e rf a c e
enter password
and user ID
inpu t t ries
remain
select surveillance
n o input
t ries remain
select specific
camera - thumbnails
generate video
output
view camera output
in labelled window
prompt for
another view
exit t his
f unct io n
see
an o t her
camera
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
15
Data Modeling
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
16
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
17
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
18
What is a Relationship?
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
19
ERD Notation
One common form:
object1
(0, m)
relationship
(1, 1)
object 2
attribute
object1
(0, m)
(1, 1)
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
object 2
20
Building an ERD
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
21
(1,1)
places
(1,m)
request
for service
(1,1)
standard
task table
generates
(1,1)
selected
from
work
(1,w) tasks
materials
(1,w)
(1,i)
(1,n)
work
order
(1,1)
(1,1)
consists
of
lists
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
22
Class-Based Modeling
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
23
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
24
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
25
Potential Classes
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
26
Defining Attributes
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
27
Defining Operations
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
28
CRC Models
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
29
CRC Modeling
Class:
Class:
Description:
Class:
Description:
Class:FloorPlan
Description:
Responsibility:
Description:
Responsibility:
Responsibility:
Responsibility:
Collaborator:
Collaborator:
Collaborator:
Collaborator:
Wall
Camera
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
30
Class Types
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
31
Responsibilities
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
32
Collaborations
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
33
PlayerHead
PlayerBody
PlayerArms
PlayerLegs
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
34
In such cases, a client-class depends on the serverclass in some way and a dependency relationship is
established
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
35
Multiplicity
Wall
1
is used to build
1
is used to build
1..*
WallSegment
Window
0..*
Door
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
36
Dependencies
Camera
DisplayWindow
<<access>>
{password}
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
37
Analysis Packages
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
38
Analysis Packages
package name
Environment
+Tree
+Landscape
+Road
+Wall
+Bridge
+Building
+VisualEffect
+Scene
RulesOfTheGame
+RulesOfMovement
+ConstraintsOnAction
Characters
+Player
+Protagonist
+Antagonist
+SupportingRole
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
39
All participants in the review (of the CRC model) are given a subset of the CRC model
index cards.
Cards that collaborate should be separated (i.e., no reviewer should have two cards
that collaborate).
All use-case scenarios (and corresponding use-case diagrams) should be organized into
categories.
The review leader reads the use-case deliberately.
As the review leader comes to a named object, she passes a token to the person
holding the corresponding class index card.
When the token is passed, the holder of the class card is asked to describe the
responsibilities noted on the card.
The group determines whether one (or more) of the responsibilities satisfies the
use-case requirement.
If the responsibilities and collaborations noted on the index cards cannot accommodate
the use-case, modifications are made to the cards.
This may include the definition of new classes (and corresponding CRC index cards)
or the specification of new or revised responsibilities or collaborations on existing
cards.
These slides are designed to accompany Software Engineering: A Practitioners Approach, 7/e
(McGraw-Hill, 2009). Slides copyright 2009 by Roger Pressman.
40