Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design

advertisement
Chapter 9:
Analysis Classes
Object-Oriented Systems Analysis and
Design
Joey F. George, Dinesh Batra,
Joseph S. Valacich, Jeffrey A. Hoffer
© Prentice Hall, 2007
9-1
Chapter Objectives

After studying this chapter you should
be able to:
– Stereotype classes into entity, boundary,
and control.
– Draw a sequence diagram based on a use
case description.
– Translate a sequence diagram into a
communication diagram.
Chapter 9
© Prentice Hall, 2007
9-2
Chapter Objectives
(Continued)

After studying this chapter you should be
able to:
– Convert a communication diagram into analysis
classes.
– Draw an activity diagram and a state diagram.
– Document business rules using Object
Constraint Language (OCL).
– Develop decision tables of complex rules.
Chapter 9
© Prentice Hall, 2007
9-3
Chapter 9
© Prentice Hall, 2007
9-4
Chapter 9
© Prentice Hall, 2007
9-5
What Is an Analysis Class?

A class that represents initial data and
behavior requirements, and whose software
and hardware-oriented details have not been
specified

Analysis class diagram – a UML diagram
showing analysis classes and their
relationships
Chapter 9
© Prentice Hall, 2007
9-6
Stereotypes of Analysis Classes
Mostly corresponds
to conceptual data
model classes
Chapter 9
Encapsulates
connections
between actors and
use cases
© Prentice Hall, 2007
Mostly performs
behaviors
associated with
inner workings of
use cases
9-7
Chapter 9
© Prentice Hall, 2007
9-8
What Is a Sequence
Diagram?

A UML diagram that shows the interaction
between objects to perform critical pieces of
use case behavior in a time-ordered manner

Interactions are in the form of messages

Behavioral responsibilities are assigned to
message recipients
Chapter 9
© Prentice Hall, 2007
9-9
Messages are passed between objects, and may
contain parameters
Chapter 9
© Prentice Hall, 2007
9-10
Symbols in a Sequence Diagram

Box or class stereotype symbol represents objects.

Dotted vertical line represents object’s lifetime.

Thin bars represent focus of control, periods of
time when object is behaving (fulfilling
responsibilities).

Labeled horizontal lines represent messages
passing between objects.
Chapter 9
© Prentice Hall, 2007
9-11
Chapter 9
© Prentice Hall, 2007
9-12
Typically, actors
interact with
boundary classes,
which in turn interact
with control classes,
which in turn interact
with entity classes.
Chapter 9
© Prentice Hall, 2007
9-13
What Is Robustness Analysis?
• Involves analyzing the narrative text of each
of the use cases and identifying a first-guess
set of the objects into entity, boundary, and
control classes
• Requires completeness checks and
adherence to diagramming rules
Chapter 9
© Prentice Hall, 2007
9-14
Chapter 9
© Prentice Hall, 2007
9-15
What Is a Communication
Diagram?

A UML diagram that shows the interactions
between objects to perform critical pieces of
the use case behavior

Unlike sequence diagrams, communication
diagrams have no spatial representation of
time; sequences of messages are shown by
numbering.
Chapter 9
© Prentice Hall, 2007
9-16
Chapter 9
© Prentice Hall, 2007
9-17
Drawing Analysis Class
Diagrams
• Analysis classes are completed by including
operations, which fulfill the responsibilities
taken by the analysis class.
• In addition, attributes and relationships
from the conceptual data model are retained
and refined.
Chapter 9
© Prentice Hall, 2007
9-18
Operations
(behaviors) are
depicted in the
lower third of a
class box.
Operations fulfill
the class’s
responsibilities.
Chapter 9
© Prentice Hall, 2007
9-19
What Is an Activity Diagram?

A diagram that emphasizes the flow of
control from activity to activity in an object

Similar to the traditional program flowchart

Used to provide detail for complex
algorithms
Chapter 9
© Prentice Hall, 2007
9-20
Elements of Activity Diagrams

Activity – a behavior that an object carries out while in a
particular state

Transition – a movement from one activity or state to another

Decision point – a diamond symbol containing a condition
whose results provide transitions to different paths of activities

Swimlanes – lanes that partition the diagram to show who does
what activities

Synchronization bar – horizontal or vertical bars denoting
parallel or concurrent paths of activities
Chapter 9
© Prentice Hall, 2007
9-21
Activity
diagram
with the
decision
points and
three
swimlanes
Chapter 9
© Prentice Hall, 2007
9-22
Activity diagram
with synchronization
bars
Top synchronization
bar is a fork.
Bottom
synchronization bar
is a join.
Chapter 9
© Prentice Hall, 2007
9-23
What is a State Diagram?

A diagram that captures the behavior of an object by
specifying the sequence of states it goes through during its
lifetime in response to events, together with the responses
to those events

Also called statechart diagram

-State – a condition or situation during the life of an object
at which time it satisfies some condition, performs some
activity, or waits for some event.

-All activities are states
Chapter 9
© Prentice Hall, 2007
9-24
Chapter 9
© Prentice Hall, 2007
9-25
When to Use State Diagrams

For describing object behavior across many
use cases

Not useful for describing behavior of many
objects collaborating together

Not for everybody…some analysts like
them and others do not
Chapter 9
© Prentice Hall, 2007
9-26
What Is a Business Rule?

A directive that is intended to influence or
guide business behavior in support of
business policy formulated in response to an
opportunity or threat

In information systems, business rules are
implemented as data, constraints, and/or
program code.
Chapter 9
© Prentice Hall, 2007
9-27
Types of Business Rules
Constraints – restrictions, mainly in the
form of permissible values, validation rules,
and multiplicities
 Calculations – mathematical formulas or
algorithms that produce some value
 Value inferences – establishing the value of
an attribute based on a test condition
 Action enablers – deciding on an action
based on a test condition

Chapter 9
© Prentice Hall, 2007
9-28
Approaches for Value Inferences
and Action Enablers

Decision Tables
– Matrix representation of the logic of decisions,
specifying possible conditions and resulting actions

Decision Trees
– Node-and link representation of the paths of choices
and decisions

Structured English
– Verbal description of decision logic
Chapter 9
© Prentice Hall, 2007
9-29
Components of Decision Tables

Condition stub
– The part of the decision table that lists the conditions
relevant to the decision

Action stub
– The part of the decision table that lists the possible
actions or values of the decision

Rule
– The part of the decision table that specifies the
specific mapping of conditions to actions or values
Chapter 9
© Prentice Hall, 2007
9-30
Chapter 9
© Prentice Hall, 2007
9-31
Reducing the Decision Table

A complete decision table may have
indifferent conditions for certain rules

Therefore, rules can sometimes be
combined to simplify the decision table
Chapter 9
© Prentice Hall, 2007
9-32
Chapter 9
© Prentice Hall, 2007
9-33
What is Object Contraint
Language (OCL)?

An formal, declarative language add-on to UML
for writing expressions that unambiguously
specify business rules

OCL expressions consist of:
– Context – the element for which the expression is
defined
– Invariant – A constraint that should be true for an
object during its lifetime
Chapter 9
© Prentice Hall, 2007
9-34
Elements of OCL Expressions

For each context, you can specify
– Initial values
– Derivation rules
– Constraints
– Query optimizations
– Invariants
– Pre- and Post-conditions
Chapter 9
© Prentice Hall, 2007
9-35
OCL Expressions
Chapter 9
© Prentice Hall, 2007
9-36
Download