Uploaded by shuklamansi441

Ch6-7

advertisement
Chapter 6-7
Analysis Modeling
Adapted by Dan Fleck from:
- Roger Pressman’s Slides
- http://www.informatics.sussex.ac.uk/users/lb203/se/SE04.pdf
- Jochen Rick’s slides from GA Institute of Technology
- http://webfuse.cqu.edu.au/Courses/aut2001/95169/
Extra_Examples/DFD_Example_1/
- System Analysis and Design slides edited by Yale Braunstein
1
Coming up: Requirements Analysis
Requirements Analysis

Requirements analysis




specifies software’s operational characteristics
indicates software's interface with other system elements
establishes constraints that software must meet
Requirements analysis allows the software engineer
(called an analyst or modeler in this role) to:
elaborate on basic requirements established during earlier
requirement engineering tasks
 build models that depict user scenarios, functional
activities, problem classes and their relationships, system
and class behavior, and the flow of data as it is
transformed.
Coming up: Analysis Phase: What is it?

2
Analysis Phase: What is it?
system
description
analysis
model
design
model
Three objectives:
• To describe what the customer requires
• To establish a basis for the creation of a software design
• To define a set of requirements that can be validated once
the software is built
Coming up: Analysis Modeling Approaches
3
Elements of the Analysis Model
Scenario-based
elements
Use-case diagrams
Use cases - text
Activity Diagrams
Swim lane diagrams
Flow-oriented
elements
Data-flow diagrams
Control flow diagrams
Processing narratives
Analysis
Model
Class-based elements
Class diagrams
Analysis Packages
CRC Models
Collaboration Diagrams
Behavioral elements
State diagrams
Sequence diagrams
4
Coming up: Elements of the Analysis Model
Elements of the Analysis Model
Scenario-based elements
High level idea of the system from user’s
or a functional perspective
Flow-oriented elements
How information flows throughout the
system (data and control flow)
Behavioral elements
How the system responds to external
stimuli
Class-based elements
Static view of the system and how the
different parts are related. Tries to show
standard ideas of object oriented
development
5
Coming up: Class-Based Modeling
Class-Based Modeling




Identify analysis classes by examining
the problem statement
Use a “grammatical parse” to isolate
potential classes
Identify the attributes of each class
Identify operations that manipulate the
attributes
6
Coming up: Grammatical Parsing
Grammatical Parsing

Write an informal description of the problem. The
customer requirements document is one such
description.

Underline all nouns in the description

Decide which of these are really objects which the
project requires and organize them in related
clusters
7
Coming up: Grammatical Parsing
Grammatical Parsing
University Bank will be opening in Oxford, Mississippi, in January,
2000. We plan to use a full service automated teller machine (ATM)
system.The ATM system will interact with the customer through a
display screen, numeric and special input keys, a bankcard reader, a
deposit slot, and a receipt printer.Customers may make deposits,
withdrawals, and balance inquires using the ATM machine, but the
update to accounts will be handled through an interface to the
Accounts system.Customers will be assigned a Personal Identification
Number (PIN) and clearance level by the Security system. The PIN can
be verified prior to any transaction.In the future, we would also like to
support routine operations such as a change of address or phone
number using the ATM
8
Coming up: Grammatical Parsing
Grammatical Parsing

University Bank will be opening in Oxford, Mississippi, in
January, 2000. We plan to use a full service automated teller
machine (ATM) system.The ATM system will interact with the
customer through a display screen, numeric and special
input keys, a bankcard reader, a deposit slot, and a receipt
printer.Customers may make deposits, withdrawals, and
balance inquires using the ATM machine, but the update to
accounts will be handled through an interface to the
Accounts system.Customers will be assigned a Personal
Identification Number (PIN) and clearance level by the
Security system. The PIN can be verified prior to any
transaction.In the future, we would also like to support routine
operations such as a change of address or phone number
using the ATM
9
Coming up: Typical Classes (a reminder)
Typical Classes (a reminder)







External entities - printer, user, sensor
Things - reports, displays, signals
Occurrences or events (e.g., interrupt, alarm)
Roles (e.g., manager, engineer, salesperson)
Organizational units (e.g., division, team)
Places (e.g., manufacturing floor or loading dock)
Structures (e.g., sensors, four-wheeled vehicles, or computers)
But, how do we select classes?
10
Coming up: Selecting Classes—Criteria
Selecting Classes—Criteria
retained information – information about it must be remembered
needed services – operations that change the attributes
multiple attributes – if it is only one attribute,
common attributes
probably should be part of another class
– common things for all instances of a class
common operations – for all instances of the class
essential requirements – appear in the PROBLEM space
(remember we’re doing analysis modeling!)
11
Coming up: Selecting Classes—Example
Selecting Classes—Example
ATMUser
PinNum
retained information
Yes
Yes
needed services
Yes
No
multiple attributes
Yes
No
common attributes
Yes
Yes
Yes
Maybe
Yes
Yes
common operations
essential requirements
12
Coming up: Elements of the Analysis Model
CRC Cards

Is there a better way to find classes?

Sure… Class Responsibility Collaborator
Cards (see CRC slides and book pg 173)
13
Elements of the Analysis Model
Scenario-based
elements
Use-case diagrams
Use cases - text
Activity Diagrams
Swim lane diagrams
Flow-oriented
elements
Data-flow diagrams
Control flow diagrams
Processing narratives
Analysis
Model
Class-based elements
Class diagrams
Analysis Packages
CRC Models
Collaboration Diagrams
Behavioral elements
State diagrams
Sequence diagrams
14
Coming up: Data Modeling
Data Modeling




examines data objects independently
of processing
focuses attention on the data domain
creates a model at the customer’s
level of abstraction
indicates how data objects relate to
one another
15
Coming up: What is a Data Object?
What is a Data Object?
Object —something that is described by a set
of attributes (data items) and that will be
manipulated within the software (system)
each instance of an object (e.g., a book)
can be identified uniquely (e.g., ISBN #)
each plays a necessary role in the system
i.e., the system could not function without
access to instances of the object
each is described by attributes that are
themselves data items
What are some typical data objects?
16
Coming up: Typical Data Objects
Typical Data Objects
external entities (printer, user, sensor)
things (e.g, reports, displays, signals)
occurrences or events (e.g., interrupt, alarm)
roles (e.g., manager, engineer, salesperson)
organizational units (e.g., division, team)
places (e.g., manufacturing floor)
structures (e.g., employee record)
17
Coming up: Data Objects and Attributes
Data Objects and Attributes
A data object contains a set of attributes that
act as an aspect, quality, characteristic, or
descriptor of the object
object: automobile
attributes:
make
model
body type
price
options code
How do data objects differ from OO classes or do they?
18
Coming up: What is a Relationship?
What is a Relationship?
relationship —indicates “connectedness”;
a "fact" that must be "remembered"
by the system and cannot or is not computed
or derived mechanically


several instances of a relationship can exist
objects can be related in many different ways
19
Coming up: Crow’s Foot Style ERD
Crow’s Foot Style ERD
The ERD: Other style’s exist. There are a few, but most are more
confusing and less common than Crow’s foot. Depending on who
you ask this was invented by Dr. Gordon Everest or Clive
Finkelstein.
Teacher teaches 0 to many classes
Teacher
Class
Student
Address
Classes have 1 and only 1 teacher
Students have 1 to many addresses
An address is for zero to one student
(addresses may not be associated
with multiple students)
First “thing” denotes optional or mandatory.
Second “thing” denotes cardinality (one or many)
20
Coming up: The ERD: An Example
The ERD: An Example
Customer
places
standard
task table
selected
from
request
for service
generates
work
tasks
materials
work
order
(1,1)
consists
of
lists
21
Coming up: Elements of the Analysis Model
Elements of the Analysis Model
Scenario-based
elements
Use-case diagrams
Use cases - text
Activity Diagrams
Swim lane diagrams
Class-based elements
Class diagrams
Analysis Packages
CRC Models
Collaboration Diagrams
Onward to data flow diagrams!
Flow-oriented
elements
Data-flow diagrams
Control flow diagrams
Processing narratives
Analysis
Model
Behavioral elements
State diagrams
Sequence diagrams
22
Coming up: Flow-Oriented Modeling
Flow-Oriented
Modeling
Represents how data objects are transformed at they
move through the system
A data flow diagram (DFD) is the diagrammatic form that
is used
Considered by many to be an ‘old school’ approach, floworiented modeling continues to provide a view of the
system that is unique—it should be used to supplement
other analysis model elements
23
Coming up: The Flow Model
The Flow Model
Every computer-based system is an
information transform ....
input
computer
based
system
output
24
Coming up: Flow Modeling Notation
Flow Modeling Notation
external entity
process
data flow
data store
25
Coming up: External Entity
External Entity
A producer or consumer of data
Examples: a person, a device, a sensor
Another example: computer-based
system
Data must always originate somewhere
and must always be sent to something
26
Coming up: Process
Process
A data transformer (changes input
to output)
Examples: compute taxes, determine area,
format report, display graph
Data must always be processed in some
way to achieve system function
27
Coming up: Data Flow
Data Flow
Data flows through a system, beginning
as input and be transformed into output.
base
height
compute
triangle
area
area
28
Coming up: Data Stores
Data Stores
Data is often stored for later use.
sensor #
report required
look-up
sensor
data
sensor number
sensor #, type,
location, age
type,
location, age
sensor data
29
Coming up: Data Flow Diagramming:
Data Flow Diagramming:
Guidelines






all icons must be labeled with
meaningful names
the DFD evolves through a number of
levels of detail
always begin with a context level
diagram (also called level 0)
always show external entities at level 0
always label data flow arrows
do not represent procedural logic
30
Coming up: Constructing a DFD—I
Constructing a DFD—I



review the data model to isolate data
objects and use a grammatical parse to
determine “operations”
determine external entities (producers
and consumers of data)
create a level 0 DFD
31
Coming up: Level 0 DFD Examples
Level 0 DFD Examples
user
processing
request
digital
video
processor
video
source
requested
video
signal
monitor
NTSC
video signal
32
Coming up: Constructing a DFD—II
Constructing a DFD—II





write a narrative describing the
transform
parse to determine next level
transforms
“balance” the flow to maintain data
flow continuity
develop a level 1 DFD
use a 1:5 (approx.) expansion ratio
33
Coming up: The Data Flow Hierarchy
The Data Flow Hierarchy
x
a
a
b
P
c
p2
level 1
p4
p3
level 0
f
p1
d
y
e
g
5
b
34
Coming up: Example DFD: Level 1
Example DFD: Level 1
35
Coming up: DFD: A practical example
DFD: A practical example
Launched Dec. 11, 1998, the Climate Orbiter plunged too steeply
into the Martian atmosphere Sept. 23, 1999, and either burned up
or crashed. In an initial failure report released Oct. 15, 2000 the
review board blamed the navigation error on a communications
foul-up between NASA's Jet Propulsion Laboratory and prime
contractor Lockheed Martin.
Who was
responsible
for this task?
Transfer of Flight Control Data
This process
was missing
JPL-1
?
?
LM-1
Collect,
analyze,
generate flight
control data
Transfer data
Convert data
from Metric to
English
Control
spaceflight
Metric data
English data
36
Coming up: Lets Try It
J1
JPL store
LM1
LM store
Lets Try It




Lets create a DFD for
A carpet cleaning business
A web-based order processing system for a
computer store
An address book for an iPhone
37
Coming up: Flow Modeling Notes
Flow Modeling Notes




each bubble is refined until it does just one
thing
the expansion ratio decreases as the
number of levels increase
most systems require between 3 and 7
levels for an adequate flow model
a single data flow item (arrow) may be
expanded as levels increase (data dictionary
provides information)
38
Coming up: Elements of the Analysis Model
Elements of the Analysis Model
Scenario-based
elements
Use-case diagrams
Use cases - text
Activity Diagrams
Swim lane diagrams
Flow-oriented
elements
Data-flow diagrams
Control flow diagrams
Processing narratives
Analysis
Model
Class-based elements
Class diagrams
Analysis Packages
CRC Models
Collaboration Diagrams
Oh behave!
Behavioral elements
State diagrams
Sequence diagrams
39
Coming up: Behavioral Modeling
Behavioral Modeling

The behavioral model indicates how software will
respond to external events or stimuli. To create the
model, the analyst must perform the following steps:





Evaluate all use-cases to fully understand the sequence of
interaction within the system.
Identify events that drive the interaction sequence and
understand how these events relate to specific objects.
Create a sequence diagram for each use-case.
Build a state diagram for the system.
Review the behavioral model to verify accuracy and
consistency.
40
Coming up: State Representations
State Representations

In the context of behavioral modeling, two different
characterizations of states must be considered:



the state of each class as the system performs its function
and
the state of the system as observed from the outside as the
system performs its function
What are some states for an ATM machine?
Washing machine? Cell phone?
41
Coming up: State Diagram for the ControlPanel Class
State Diagram for the
ControlPanel Class
t imer < lockedTime
t imer > lockedTime
locked
password = incorrect
& numberOfTries < maxTries
comparing
reading
numberOfTries > maxTries
key hit
password
ent ered
do: validat ePassw ord
password = correct
select ing
act iv at ion successful
Coming up: State Diagram Details
42
State Diagram Details
State Name (verb
in current tense)
[age <= 20]
(Optional) actions
happening during
state
[age > 20]
Name Examples:
sorting
validating
updating status
…
Guards: Use to
describe event
that causes a
state transition
happens (ALL
transitions
should have
guards)
[age <= 20]/setFlag(false)
Action: If
something
happens while
transitioning to
another state.
(Optional)
43
Coming up: The States of a System
The States of a System




state—a set of observable
circumstances that characterizes the
behavior of a system at a given time
state transition —the movement from
one state to another
event —an occurrence that causes
the system to exhibit some
predictable form of behavior
action —process that occurs as a
consequence of making a transition
44
Coming up: Behavioral Modeling
Behavioral Modeling


make a list of the different states of a
system (How does the system behave?)
indicate how the system makes a
transition from one state to another (How
does the system change state?)



indicate event
indicate action
draw a state diagram or a sequence
diagram
45
Coming up: State Diagram - Lets Try It!
State Diagram - Lets Try It!
You are designing
a traffic light
system for this
intersection.
North
West
Draw a state
diagram showing
the different
states and how
they transition.
East
South
46
Coming up: Elements of the Analysis Model
Elements of the Analysis Model
Scenario-based
elements
Use-case diagrams
Use cases - text
Activity Diagrams
Swim lane diagrams
Flow-oriented
elements
Data-flow diagrams
Control flow diagrams
Processing narratives
Analysis
Model
Class-based elements
Class diagrams
Analysis Packages
CRC Models
Collaboration Diagrams
Behavioral elements
State diagrams
Sequence diagrams
47
Coming up: Object Oriented Analysis (OOA)
Object Oriented Analysis (OOA)

The intent of OOA is to define all classes (and the
relationships and behavior associated with them)
that are relevant to the problem to be solved. For
that, a number of tasks must occur:
1.
2.
3.
4.
5.
Classes must be identified (i.e., attributes and methods)
A class hierarchy is defined
Object-to-object relationships should be represented
Object behavior must be modeled
Tasks 1 through 4 are reapplied iteratively
48
Coming up: Object-Oriented Concepts
Object-Oriented Concepts

What are the basic object oriented
concepts?
49
Coming up: Object-Oriented Concepts
Object-Oriented Concepts

What are the basic object oriented
concepts?





Classes and objects
Attributes and operations
Encapsulation and instantiation
Inheritance
The analysis model is designed to help
you make “good” choices
50
Coming up: Object-Oriented Concepts
Object-Oriented Concepts



What helps you determine if
something should be a class or an
attribute?
What helps you determine needed
operations?
How does the analysis model make
sure your requirements are correct?
51
Coming up: Elements of the Analysis Model
Elements of the Analysis Model
Scenario-based elements
High level idea of the system from user’s
or a functional perspective
Flow-oriented elements
How information flows throughout the
system (data and control flow)
Behavioral elements
How the system responds to external
stimuli
Class-based elements
Static view of the system and how the
different parts are related. Tries to show
standard ideas of object oriented
development
52
Coming up: Analysis Model Rules of Thumb
Analysis Model
Rules of Thumb






The model should focus on requirements that are visible
within the problem or business domain. The level of
abstraction should be relatively high.
Each element of the analysis model should add to an overall
understanding of software requirements and provide insight
into the information domain, function and behavior of the
system.
Delay consideration of infrastructure and other nonfunctional
models until design
Minimize coupling throughout the system.
Be certain that the analysis model provides value to all
stakeholders.
Keep the model as simple as it can be.
53
Coming up: Analysis Phase: What is it?
Analysis Phase: What is it?
system
description
analysis
model
design
model
Three objectives:
• To describe what the customer requires
• To establish a basis for the creation of a software design
• To define a set of requirements that can be validated once
the software is built
Coming up: Writing the Software Specification
54
Writing the Software Specification
Everyone knew exactly
what had to be done
until someone wrote it
down!
55
Coming up: Specification Guidelines
Specification Guidelines
use a layered format that provides increasing detail
as the "layers" deepen
use consistent graphical notation and apply textual
terms consistently (stay away from aliases)
be sure to define all acronyms
be sure to include a table of contents; ideally,
include an index and/or a glossary
write in a simple, unambiguous style (see "editing
suggestions" on the following pages)
always put yourself in the reader's position, "Would
I be able to understand this if I wasn't intimately
familiar with the system?"
56
Coming up: Specification Guidelines
Specification Guidelines
Be on the lookout for persuasive connectors, ask why?
keys: certainly, therefore, clearly, obviously, it follows that ...
Watch out for vague terms
keys: some, sometimes, often, usually,ordinarily, most, mostly ...
When lists are given, but not completed, be sure all items are understood
keys: etc., and so forth, and so on, such as
Be sure stated ranges don't contain unstated assumptions
e.g., Valid codes range from 10 to 100. Integer? Real? Hex?
Beware of vague verbs such as handled, rejected, processed, ...
Beware "passive voice" statements
e.g., The parameters are initialized. By what?
Beware "dangling" pronouns
e.g., The I/O module communicated with the data validation module and
its contol flag is set. Whose control flag?
57
Coming up: Specification Guidelines
Specification Guidelines
When a term is explicitly defined in one place, try
substituting the definition forother occurrences of the term
When a structure is described in words, draw a picture
When a structure is described with a picture, try to redraw
the picture to emphasize different elements of the structure
When symbolic equations are used, try expressing their
meaning in words
When a calculation is specified, work at least two
examples
Look for statements that imply certainty, then ask for proof
keys; always, every, all, none, never
Search behind certainty statements—be sure restrictions
or limitations are realistic
58
End of presentation
Download