Date post: | 29-Dec-2015 |
Category: |
Documents |
Upload: | morgan-jennings |
View: | 213 times |
Download: | 0 times |
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
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
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.