Oct 200592.3913 R. McFadyen1 Statechart Diagrams Example: Suppose we have a class Copy, representing copies of books. We can consider two states: available,

Slides:



Advertisements
Similar presentations
State Diagram 1. State diagram: Shows the behavior of one object. They describe all of the possible states that a particular object can get into and how.
Advertisements

Extending the Requirements Model - techniques for detailing use cases
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
1 Chapter 4 Dynamic Modeling and Analysis (Part I) Object-Oriented Technology From Diagram to Code with Visual Paradigm for UML Curtis H.K. Tsang, Clarence.
Chapter 12 ATM Case Study, Part 1: Object-Oriented Design with the UML
Interaction Diagrams Activity Diagram State Machine Diagram
Jan 16, Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Iteration 1: a simple cash-only success scenario of Process Sale.
Jan Ron McFadyen1 Consider a simple cash-only Process Sale scenario 1. Customer arrives at a POS checkout with goods and/or services to purchase.
Chapter 15: System Modeling with UML
SE 555 Software Requirements & Specification 1 Activity Diagrams.
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
March R. McFadyen1 Statechart Diagram A Statechart Diagram describes states for an object how/why an objects’ state changes A Statechart Diagram.
Systems Analysis and Design
State Diagram. What is State Diagram?  State diagram is used to show the state space of a given class, the events that cause a transition from one state.
Essentials of state and activity diagram Lecture 24.
Fall 2009ACS Ron McFadyen1 The context maintains an instance of a concrete state subclass State Pattern Each subclass (concrete state) implements.
2007ACS-3913 R. McFadyen1 UML Statechart Diagram A UML Statechart Diagram describes states for an object how/why an objects’ state changes A Statechart.
Oct Ron McFadyen Visibility Visibility: the ability of one object to see or have a reference to another object. e.g. When a register object.
Nov 2002 R. McFadyen1 Statechart Diagrams - Ch 29 Example: Suppose we have a class Copy, representing copies of books. We can consider two states:
System Analysis and Design
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 10: Statecharts.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
© 2008 Prentice Hall Business Publishing Accounting Information Systems, 11/e Romney/Steinbart1 of 138 C HAPTER 15 Database Design Using the REA Data Model.
State Machines State diagrams SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
Database Design Using the REA Data Model
Chapter 10 State Machine Diagrams
Use Cases 2 ENGR ♯10 Peter Andreae
E-Learning Material Web Application Design 2. Web Application Design Use cases Guidelines Exceptions Interaction Sequence diagrams Finding objects.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Guide to State Transition Diagram. 2 Contents  What is state transition diagram?  When is state transition diagram used?  What are state transition.
Behavioral diagrams Lecture p4 T120B pavasario sem.
Object-Oriented Modeling Using UML CS 3331 Section 2.3 of Jia 2003.
Faculty of Computer & Information
UML -Part 3. Dynamic Diagram Types Interaction Diagrams - Set of objects or roles and the messages that can be passed among them. – Sequence Diagrams.
Chapter 4.  Assets have debit balances  Liabilities and Capital have credit balances.
1 A Student Guide to Object- Oriented Development Chapter 7 State Diagrams.
Sept Ron McFadyen1 Class Diagram Begins as a conceptual or analysis class model and evolves to a design class model Used throughout the development.
McGraw-Hill/Irwin © 2008 The McGraw-Hill Companies, Inc., All Rights Reserved. 1-1 McGraw-Hill/Irwin © 2008 The McGraw-Hill Companies, Inc., All Rights.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
January Ron McFadyen1 January 2004 Assignment 1 Due: Friday Jan 23, Implement the ProductSpecification and Payment classes in any OO.
CSCI-383 Object-Oriented Programming & Design Lecture 12.
Chapter 2 Starting a Proprietorship: Changes That Affect Owner’s Equity.
States.
Information Systems Engineering Activity Diagram 1.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 26. Review UML behavioral Diagrams – Sequence diagram.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 10: Statecharts.
Accounting Information Systems: A Business Process Approach Chapter Three: Documenting Accounting Systems.
Property and Financial Claims Property is anything of value that is owned or controlled. Financial Claim is the legal right to an item or property. Property.
Define account (overdraft) Agreement between the Bank and the client from which the customer can withdraw the money within certain limits called the overdraft.
Chapter 7 Behavioral Modeling Brandon A. Jones Stand and Deliver ITEC March 6, 2011.
March 2007ACS-3913 R. McFadyen1 UML Statechart Diagram A UML Statechart Diagram describes states for an object how/why an objects’ state changes A Statechart.
Inf 43: Introduction to Software Engineering May 7, 2016.
State Modeling. Introduction A state model describes the sequences of operations that occur in response to external stimuli. As opposed to what the operations.
Chapter 3 Business Transactions and the Accounting Equation
State transition modeling
State Machine Diagrams
Database Design Using the REA Data Model
The Fulfillment Process
Use Case Modeling - techniques for detailing use cases
States.
Object Oriented System Design
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Chapter 10 Object States and The Statechart Diagram
Using Use Case Diagrams
States.
Property and Financial Claims
UML State Diagrams.
Presentation transcript:

Oct R. McFadyen1 Statechart Diagrams Example: Suppose we have a class Copy, representing copies of books. We can consider two states: available, borrowed; and model how a single copy can move from one state to the other. Borrowed return borrow Available event transition another state Initial state

Oct R. McFadyen2 Statechart Diagram A Statechart Diagram describes states for an object how/why an objects’ state changes A Statechart Diagram is a State Machine Possible states are related to an objects attributes, related classes, operations A State Diagram models an object’s decision about what it does when it receives a message

Oct R. McFadyen3 States, Events, Transitions State - a condition or situation during the life of an object during which it satisfies some condition, performs some activity, or waits for some event. Event - a noteworthy occurrence An event can trigger a state transition Transition – a relationship between two states indicating that an object in the first state will perform certain actions and enter the second state when a specified event occurs and specified conditions are satisfied

Oct R. McFadyen4 State Machine State Machine - a specification of the sequences of states that an object goes through in response to events during its life A State Machine is a graph of states and transitions that describes the response of an instance of a classifier to the receipt of events State Machines may be attached to classes, use cases,...

Oct R. McFadyen5 State Diagram - General Form state1state2 event [guard] /action initial state We choose to represent events that suit us - enabling a diagram to represent the level of detail we need final state

Oct R. McFadyen6 Employee Example WorkingOn Break Start break End break Suppose we have a class Employee, representing employees of our company Two states: working and on break

Oct R. McFadyen7 Library Book Example Now consider a class Book. Suppose there may be several copies of the book. Here, we’ll model the states Borrowable, and Not borrowable, which are related to books (not copies). Not borrowableBorrowable returned borrowed[last copy] returned borrowed[not last copy]

Oct R. McFadyen8 Library Book Example Not borrowableBorrowable returned borrowed[last copy] returned borrowed[not last copy] Note: when a Book receives the returned event, the next state depends only on the current state when a Book receives the borrowed event, the next state is determined by the guard

Oct R. McFadyen9 Selling Seats Example availablefull Consider a situation where tickets are being sold for a voyage. Tickets can be sold as long as there are seats available. At some point, all seats could have been sold and the voyage is full. Eventually, sales are closed and no more seats can be sold. We’ll consider states full and available for a voyage. Seat sold [not last one] Seat sold [last one] Sales closed

Oct R. McFadyen10 Process Sale Use Case We can construct a State Diagram showing states for this use case

Oct R. McFadyen11 Waiting For Sale; Entering Items; Waiting For Payment are System states that arise in the Process Sale use case. Transitions are system events … the diagram clearly shows when events, such as makeNewSale, are legal.

Oct R. McFadyen12 Including the Authorizing Payment state.

Oct R. McFadyen13 Consider a banking environment where an Account is considered active when it is first created (i.e. opened). When a Customer performs a transaction (withdraws or deposits money), the balance in the Account is affected. If the Account balance becomes negative the Account is considered overdrawn. As well as withdraw or deposit money, a Customer might close his/her Account. Only active accounts can be closed. Closed accounts can be reopened. At some time in the future, after the Customer closed the account, the Bank might delete the Account (and it is gone forever). In the example, events, guards, transitions and actions are shown. Bank Account Example

Oct R. McFadyen14 active Four States: active overdrawn closed deleted overdrawn deletedclosed Bank Account Example We’ll develop the example by considering each state, and the transitions that can occur when an account is in that state.

Oct R. McFadyen15 active trx [pos] overdrawn trx [neg]/warn() closed close An account begins by being Active. Once in the Active state, the account can remain active, become overdrawn, or be closed. {trx stands for “transaction” which represents a deposit or withdrawal} Bank Account Example

Oct R. McFadyen16 activeoverdrawn trx[pos] trx [neg]/warn() close /warn() From the Overdrawn state, an account can remain overdrawn, or move to the active state Bank Account Example [pos] is a guard that stands for “the account balance is positive” [neg] …

Oct R. McFadyen17 deleted delete closed From the Closed state, an account can move to the Deleted state; it can also be made active again. Deleted is considered the final state for an account reopen active Bank Account Example

Oct R. McFadyen18 active trx [pos] overdrawn trx [neg]/warn() deleted delete closed close trx [pos] trx [neg]/warn() close /warn() reopen All together: Bank Account Example