OBJECT-ORIENTED ANALYSIS - PowerPoint PPT Presentation

About This Presentation
Title:

OBJECT-ORIENTED ANALYSIS

Description:

Objects include physical entities (house, employees, button, etc.) and concepts ... left mouse-button pushed (location) CS3320::CH11. 31. Example ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 42
Provided by: aliber
Learn more at: http://cms.dt.uh.edu
Category:

less

Transcript and Presenter's Notes

Title: OBJECT-ORIENTED ANALYSIS


1
OBJECT-ORIENTED ANALYSIS
  • Chapter 11

2
OBJECT-ORIENTED ANALYSIS (OOA)
  • Semi-formal specification technique
  • Several methods
  • Booch, OMT, OOSE, Objectory--Essentially
    equivalent
  • Nowadays--represent OOA using UML (Unified
    Modeling Language)

3
THE THREE STEPS OF OOA
  • 1. Use-case Modeling
  • Determine how the various results are computed by
    the product (without regard to sequencing)
  • Largely action-oriented
  • 2. Class Modeling (Object Modeling)
  • Determine the classes and their attributes
  • Purely data-oriented
  • 3. Dynamic Modeling
  • Determine the actions performed by and to each
    class
  • Purely action-oriented

4
Elevator ProblemOOA
  • 1. Use-case Modeling
  • Use cases Describe the behavior of the system as
    seen from actors point of view.
  • Actors external entities that interact with the
    system (e.g. A system adm, a bank customer, a
    bank teller, a central database, etc.)
  • A Scenario a concise description of how an actor
    may interact with the system
  • a scenario is an instance of a use case

5
1. Use-case Modeling
  • Identify the actors
  • Identify a list of "typical" scenarios to get
    insight into the systems behavior
  • Identify use-cases
  • a use-case specifies all possible scenarios for
    a given functionality.
  • a use case is initiated by an actor.
  • A use case represents a flow of events thru the
    system.

6
Elevator Problem OOA
7
Normal Scenario
8
Abnormal Scenario
9
2. Object Modeling
  • The object model describes the real-world object
    classes of the systems and their relationship to
    each other with an entity-relationship diagram
  • It shows the static structure of the system.
  • 1. Identify classes/objects
  • 2. Identify associations between objects
  • 3. Identify attributes of objects
  • 4. Represent them using an entity-relationship
    diagram
  • 5. Prepare a data dictionary

10
Identifying Object Classes
  • An Object is an instance of a class that consists
    of
  • Data (attributes, state variables, instance
    variables, fields, data members)
  • Actions (methods , member functions)
  • An object has a state (represented by data
    members) that changes during execution.

11
Identifying Object Classes
  • Objects include physical entities (house,
    employees, button, etc.) and concepts (payment
    schedule, seating assignment, trajectory, etc.)
  • Avoid computer implementation constructs (an
    array, a linked list, a binary tree, etc.)
  • Dont be concerned with operations at this points.

12
Identifying Object Classes
  • Two approaches
  • Deduce from use cases and their scenarios
  • often many scenarios
  • too many candidate classes
  • Noun Extraction
  • The two approaches are complementary

13
Noun Extraction
  • Stage 1 Concise Problem Definition
  • Define product in a single sentence
  • Buttons in elevators and floors are to be used
    to control motion of n elevators in building with
    m floors.
  • Stage 2 Incorporate constraints
  • buttons illuminate when pressed to request
    elevator to stop at specific floor illumination
    is cancelled when request has been satisfied. If
    elevator has no requests, it remains at its
    current floor with its doors closed.

14
Noun Extraction
  • Stage 3 Identify nouns.
  • Nouns buttons, elevator, floor, movement,
    building, illumination, door
  • floor, building, door are outside the problem
    boundarygtexcluded
  • Movement, illumination are abstract nouns
    gtexcluded (may become attributes)
  • Candidate classes elevator, button
  • Subclasses Elevator button and floor button

15
Noun Extraction
16
Identify Associations
  • An association is any dependency between two or
    more classes.
  • Example
  • Person works-for Company
  • User has Home Directory
  • Directory contains Files
  • contains and part-of are special types of
    associations called aggregation
  • Inheritance is also a special type of
    association.

17
Identifying Associations
  • Problem statement
  • location phrases next to, contained in, etc
  • communication talk to
  • ownership phrases has, part of
  • satisfaction of some condition works for,
    married to, manages
  • Some depend on knowledge of application domain.

18
Identifying Associations
  • Example Buttons in elevators and floors are to
    be used to control motion of n elevators in
    building with m floors.
  • Buttons control elevators
  • There are two types of buttons floor buttons and
    elevator buttons
  • However, buttons do not really control elevator
    they simply communicate with it.

19
Identify Associations
  • Identify association multiplicity
  • 1 to 1
  • 1 to many
  • Many to many
  • Identify aggregations
  • Identify inheritance relations

20
First Iteration of Class Model
  • Problem buttons do not communicate directly with
    elevatorgt class Elevator Controller

21
Second Iteration of Class Model
22
Identify Attributes
  • Attributes are properties of individual objects
  • Problem Statement
  • Correspond to nouns followed by possessive
    phrase collar of the car, position of the
    cursor, salary of the employee, etc.
  • Attributes are less likely to occur in statement
    of the problem. Knowledge of application domain.
  • Try to get only the most important attributes at
    this stage. Others can be added later

23
Prepare Data Dictionary
  • Write a paragraph describing each object class.
    Described the scope of the class within the
    current problem
  • Describe associations and attributes
  • Data dictionaries also include description of
    operations.

24
CRC Cards
  • Used since 1989 for OOA
  • For each class, fill in card showing
  • name of Class
  • Responsibility functionality
  • Collaboration list of classes it invokes

25
Elevator Controller--CRC
1. Turn on elevator button Totally unacceptable
in OOA
26
Elevator Controller--CRC
  • 1. Turn on Elevator Button
  • Should be
  • 1. Send message to Elevator Button to turn on
    button
  • What about ?
  • 5. Open elevator doors
  • Note Elevator doors have a state that changes
    during execution (class characteristic)
  • gt add class Elevator Doors

27
Elevator Controller--CRC
28
3. Dynamic Modeling
  • The dynamic model shows the time-dependent
    behavior of the system
  • Aim
  • Produce a UML state diagram for each object
    class.
  • A state diagram is less formal than an FSM
  • States, events, and conditions

29
States and Events
  • The state of an object are defined by the values
    of its attributes.
  • Objects change state when stimulated by other
    objects or external actors.
  • A event is an individual stimulus from one object
    to another.
  • The response to an event by the object receiving
    it can include a change of state or the sending
    of an another event (to the original object or
    another object)

30
Events
  • An event is something that happens at a point in
    time user depresses left-button, phone receiver
    lifted, call is routed, input string entered.
  • An event has no duration assumed to be
    instantaneous
  • An event coveys information from one object to
    another
  • signal that something has occurred
  • Send data values
  • left mouse-button pushed (location)

31
Example
  • Draw a state diagram for a phone line

32
Conditions
  • A condition is a Boolean function of an object
    values. Example
  • Temperature is below freezing
  • Floor button is lit
  • No cars on N/S left lanes
  • A condition is valid over an interval of time
  • Generally, a condition indicates the state of
    another object in the system.

33
Conditions
  • Conditions are used as guards on transitions
  • A transition fires when its event occurs, only if
    the guard condition is true
  • When you go out in the morning (event), if the
    temperature is below freezing (condition), then
    put on your gloves (next state)

34
Traffic Light Controller
  • Straight N/S or W/E
  • After N/S times-out,
  • if there are cars on N/S left lane, N/E left-turn
    signal is turned on
  • else straight W/E light is turned on
  • Same for W/E left-lane

35
Time-out cars in N/S left lane
N/S may go straight
N/S may turn left
Time-out No cars in N/S left lane
Time-out
Time-out
Time-out No cars in W/E left lane
W/E may go straight
W/E may turn left
Time-out cars in W/E left lane
36
Operations--Activities Actions
  • Operations are performed in response to states or
    events
  • Activity an operation that takes time to
    complete.
  • Continuous operations display a picture
  • Sequential operations that terminate after an
    interval of time performing a computation, play
    a recorded message

37
Activities
  • An activity continues until complete or
    interrupted by an event that causes transition to
    a another state
  • e.g. ringing a telephone bell
  • Activities are associated with states

State1 do activity1 do activity2
38
Operations--Activities Actions
  • Action is associated with an event
  • Instantaneous duration is insignificant compared
    to the resolution of the state diagram
  • e.g. when callee hangs-up disconnect phone line
  • Changing attribute values
  • e.g. increment count when some event occurs.

39
Summary of Notation
Event condition/action
40
(No Transcript)
41
CASE Tools for OOA Phase
  • Paradigm Plus
  • Software through Pictures
  • Rose
Write a Comment
User Comments (0)
About PowerShow.com