1 Object-Oriented Modeling Using 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 OnOff 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 Source Event [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 anomaly Normal Recovery Identification Pressure Recovery Temperature Recovery recovery success recovery success temperature pressure recovery failure recovery failure recovery failure
11 Composite States anomaly Normal Recovery Identification Pressure Recovery Temperature Recovery recovery success temperature pressure Recovery recovery failure
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 tone exit / end dial tone Partial Dialing entry / number.append(n) digit(n) [number.isValid()] Dialing Dial Number Include / Dialing
15 Parallel Composition Concurrency (split of control) Synchronization substate1substate2 Superstate substate3substate4
16 Example HW1HW2 Incomplete Project MidtermFinal Passed Failed fail
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 message lifetime control object
21 Example (Cont.) Sequence of message sending
22 Collaboration Diagram object link message
23 Collaboration Diagram 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 Check Grades Register actor system boundary use case Validate User > 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.) > UserStudentFaculty Enter GradesValidate UserCheck GradesGet RosterRegister > User StudentFaculty
29 Use Case Scenarios Use Case: Check Grades Description: View the grades of a specific year and semester Actors: Student Precondition: The student is already registered Main scenario: User System 3. The user enters the year and semester, e.g., Fall 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 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.