+ All Categories
Home > Documents > 1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.

1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.

Date post: 29-Dec-2015
Category:
Upload: morgan-jennings
View: 213 times
Download: 0 times
Share this document with a friend
30
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009
Transcript

1

Object-Oriented ModelingUsing UML (2)

CS 3331

Fall 2009

2

Outline

Modeling dynamic behavior Statechart diagram Sequence diagram

Modeling requirements Use case diagram

3

Modeling Dynamic Behavior

Statechart diagram Depicts the flow of control using states and

transitions Generalization of finite state machines

Sequence diagram Depicts object interaction by highlighting the

time ordering of method invocations

4

Statechart Diagram

Graph representing finite state machine Network of states and transitions Good for modeling reactive systems

On Off

push switch

push switch

5

Elements of Statechart

Idle

Initial State

Running

Final State

State

Transition

6

State

Condition or situation in the life of a system (or object) during which it: Satisfies some condition, Performs some activity, or Waits for some events.

Set of values of properties that affect the behavior of the system (or object). Determines response to an event, Thus, different states may produce different

responses to the same event

7

Transition

Relationship between two states indicating that a system (or object) in the first state will: Perform certain actions and Enter the second state when specified event occurs

and specified condition is satisfied. Consists of:

Source and target states Optional event, guard condition, and action

SourceEvent [Condition] / Action

Target

8

Definition

Event An occurrence of a stimulus that can trigger a state

transition Instantaneous and no duration

Action An executable atomic computation that results in a

change in state of the model or the return of a value

9

Example

dial digit(n)[incomplete]

Dialing Connecting

busy

connected

dial digit(n)[valid] / connect

dial digit(n)[invalid]

Invalid

Ringing

Busy

10

Another Example

anomalyNormal Recovery

Identification

PressureRecovery

TemperatureRecovery

recovery success

recovery success

recovery success

temperaturepressure

recovery failure

recoveryfailure

recoveryfailure

11

Composite States

anomaly

Normal RecoveryIdentification

PressureRecovery

TemperatureRecovery

recoverysuccess temperaturepressure

Recovery

recoveryfailure

12

Composite States (Cont.)

Used to simplify diagrams Inside, looks like statechart May have composite transitions May have transitions from substates Sequential and parallel

13

Composites and Transitions

Idle

Maintenance

Printing

Selecting Processing

Validating

Transition from substate

Transition to/from composite state

Active

14

Including Composite States

Start

entry / start dial toneexit / end dial tone

Partial Dialing

entry / number.append(n)

digit(n)

digit(n)

[number.isValid()]

Dialing

Dial Number

Include / Dialing

15

Parallel Composition

Concurrency (split of control) Synchronization

substate1 substate2

Superstate

substate3 substate4

16

Example

HW1 HW2

Incomplete

Project

Midterm Final

Passed

Failedfail

17

Group Exercise: Cellular Phone

Draw a statechart describing the operation of a cellular phone. Assume that the cellular phone has keys for: power on and off keypad locking and unlocking 0-9, #, and * talk (or send) and end

Model at least the following operations: power on/off keypad locking/unlocking making calls (e.g., dialing, connecting, talking), receiving calls (e.g., ringing, talking)

18

Outline

Modeling dynamic behavior Statechart diagram Sequence diagram

Modeling requirements Use case diagram

19

Sequence Diagram

Describes a sequence of method calls among objects

Highlights the time ordering of method calls

20

Example

: Customer : Order : Payment : Product : Supplier

place an order

process

validate

deliver

if ( payment ok )

back order

if ( not in stock )

get address

mail to address

message

lifetimecontrol

object

21

Example (Cont.)

: Customer : Order : Payment : Product : Supplier

place an order

process

validate

deliver

if ( payment ok )

back order

if ( not in stock )

get address

mail to address

Sequence of message sending

22

Collaboration Diagram

p : Product

: Order : Payment

c : Customer

: Supplier

1.1 : ok := validate()

1.2 [ok] : deliver(c)

1.2.1 [not in stock] : back order(p)

1.2.2 : get address()

1 : place an order(c)

object

link

message

23

Collaboration Diagram

p : Product

: Order : Payment

c : Customer

: Supplier

1.1 : ok := validate()

1.2 [ok] : deliver(c)

1.2.1 [not in stock] : back order(p)

1.2.2 : get address()

1 : place an order(c)

Collaboration

24

Outline

Modeling dynamic behavior Statechart diagram Sequence diagram

Modeling requirements Use case diagram

25

Modeling Requirements

Use case diagram Describes the externally observable behavior

of system functions, usually to define system requirements

Describes interactions between the system and external entities

26

Example: Goldmine

CheckGrades

Registeractor

systemboundary

use case

Validate User

<<include>>

Student

27

Elements of Use Case Diagram

Actor: represents a role played by external entities that

interact with the system Use case:

Describes what the system does (i.e., functionality) Scenario: sequence of interactions between the

actors and the system Relationship:

Extension (or generalization) among actors Association between actors and use cases Dependency among use cases: include and extend

28

Example: Goldmine (Cont.)

<<include>>

User

Student

FacultyEnter Grades

Validate User

Check Grades

Get Roster

Register

<<include>>

<<extend>>

User

Student Faculty

29

Use Case ScenariosUse Case: Check Grades

Description: View the grades of a specific year and semesterActors: StudentPrecondition: The student is already registeredMain scenario:

User System

3. The user enters the year and semester, e.g., Fall 2007.

1. The system carries out “Validate User”, e.g., for user “miner” with password “allAs”.2. The system prompts for the year and

semester.

4. The system displays the grades of the courses taken in the given semester, i.e., Fall 2007.

Alternative: The student enters “All” for the year and semester, and the system displays grades of all courses taken so far.Exceptional: The “Validate User” use case fails; the system repeats the validation use case.

30

Group Exercise: E-book Store

Identify the main actors and the key use cases for an e-bookstore, and draw a use case diagram. Describe the use case scenario for the most important use case.

The core requirements of the e-bookstore are to allow its customers to browse and order books, music CDs, and computer software through the Internet. The main functionalities of the system are to provide information about the titles it carries to help customers make purchasing decisions; handle customer registration, order processing, and shipping; and support management of the system, such as adding, deleting, and updating titles and customer information.


Recommended