1 / 43

Objectives

Objectives. Detailed Object-Oriented Requirements Definitions System Processes—A Use Case/Scenario View  Identifying Inputs and Outputs—The System Sequence Diagram Identifying Object Behavior—The Statechart Diagram Integrating Object-Oriented Models.

Download Presentation

Objectives

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Objectives • Detailed Object-Oriented Requirements Definitions • System Processes—A Use Case/Scenario View  • Identifying Inputs and Outputs—The System Sequence Diagram • Identifying Object Behavior—The Statechart Diagram • Integrating Object-Oriented Models Object-Oriented Analysis and Design with the Unified Process

  2. Detailed Object-Oriented Requirements Definitions • System requirements captured with OO models • Use formalized models to show relationship • Use a “Divide and conquer” strategy toward complexity • Two subsets of OO analysis applied • Use case driven - extend four specific models to explain the business processes • Use case diagrams, use case descriptions, activity diagrams, system sequence diagrams • Object driven – use UML statechart diagram to explain individual object transitions between states Object-Oriented Analysis and Design with the Unified Process

  3. Object-Oriented Models • Global Use case diagram: system scope and automation boundary for system • System sequence diagrams (SSDs) • Define and order sequence of inputs and outputs • Information flows referred to as messages • Class diagrams • Identify real-world “things” of value to the business • Determine associations between classes • Statechart diagram describes collection of object states Object-Oriented Analysis and Design with the Unified Process

  4. System Processes—A Use Case/Scenario View • Define use cases in two ways: • Overview or composite level derived from: • Event table and use case diagrams • Detailed level derived from combination of: • Use case description • Activity diagram • Sequence diagram Complete explanationof business process Object-Oriented Analysis and Design with the Unified Process

  5. Use Cases and Actors • Source • Person or thing initiating the business event • Must be external to the system • Actor • Person or thing that touches the system • Lies outside of automation boundary • Identifying actors at the right level of detail • Assume actors (even non-human types) have hands • Use case is a goal that the actor wants to achieve Object-Oriented Analysis and Design with the Unified Process

  6. The Use Case Diagram • Notation for use case diagrams • Simple stick figure represents an actor • Actor’s hands indicate direct system access (not part of UML definition) • Use case itself symbolized by an oval • Connecting lines match actors to use cases and show direction of initiating event • Actors may also be system interfaces • May be represented with stick figure or rectangle, but is not a person Object-Oriented Analysis and Design with the Unified Process

  7. Figure 6-2 A Simple Use Case with an Actor Object-Oriented Analysis and Design with the Unified Process

  8. Automation Boundary and Organization • Expand use case diagrams with other actors and use cases • Relationship line: allows each actor to interact with each use case • Automation boundary • Line drawn around the entire set of use cases • Defines interface between actors and computer system Object-Oriented Analysis and Design with the Unified Process

  9. Figure 6-3 A Use Case Diagram of the Order-Entry Subsystem for RMO, Showing a System Boundary Object-Oriented Analysis and Design with the Unified Process

  10. Can breakdown use cases by: • Business functions • System subsystems • By actor interaction • Development preference Figure 6-4 A Use Case Diagram of the Customer Support System (by Subsystem) Object-Oriented Analysis and Design with the Unified Process

  11. « Includes » Relationships • «includes» or «uses» relationship • Use case calling services of common subroutine • Common subroutine itself becomes additional use case • Examples: “Validate customer account” and “Look Up Item Availability” • Notation • Relationship denoted by connecting line with arrow • Direction of the arrow indicates dependency Object-Oriented Analysis and Design with the Unified Process

  12. Figure 6-6 An Example of the Order-entry Subsystem With «Includes» Use Cases Object-Oriented Analysis and Design with the Unified Process

  13. Developing a Use Case Diagram • Two ways to identify additional use cases • Divide one large use case into two • Define another use case based on a common subroutine • Distinguish between temporal and state events • Iterative process translates business events to use cases • [1] Identify the actors and roles for each use case • [2] Extract system response to business events • Data of system should be stable at the beginning and stabilizes again after completion of the goal Object-Oriented Analysis and Design with the Unified Process

  14. Use Case Detailed Descriptions • Use case descriptions written at (3) levels of detail • Brief description • Summary statement conjoined to activity diagram • Intermediate description • Expands brief description with internal flow of activities • Fully Developed Description • Expands intermediate description for richer view Object-Oriented Analysis and Design with the Unified Process

  15. Use Case Components • Flow of Events – is a series of declarative statements listing the steps of a use case, sometimes called the primary scenario • Alternative Paths – gives alternative to basic path above, or alternative scenarios • Precondition and Postconditions – indicates what come before and after the use case • Exceptions – what happens if the flow is interrupted or an error occurs Object-Oriented Analysis and Design with the Unified Process

  16. Figure 6-7 Brief Description of Create New Order Use Case Object-Oriented Analysis and Design with the Unified Process

  17. Figure 6-8 Intermediate Description of Telephone Order Scenario for Create New Order Use Case Object-Oriented Analysis and Design with the Unified Process

  18. Use Case Detailed Descriptions • Fully developed use case description • Superset of intermediate and brief descriptions • Consists of eleven compartments • User, actor, stakeholder, EBP, and conditions identified • Activity Diagram Description • Document the workflows of business processes • Document flow of activities for use case scenarios • Form basis of system sequence diagrams (SSDs)  Object-Oriented Analysis and Design with the Unified Process

  19. Figure 6-10 Fully Developed Description of Telephone Order Scenario for Create New Order Use Case Object-Oriented Analysis and Design with the Unified Process

  20. Figure 6-12 Activity Diagram of the Telephone Order Scenario Object-Oriented Analysis and Design with the Unified Process

  21. Guidelines for Correctness and Completeness • Each step of the scenario should be a simple, declarative statement. Actions and data is a good rule of thumb. • Resist the temptation to get too detailed. Make it simple and complete. • Many use cases start and end with an actor. Use cases should start outside the system boundary. • Scenarios should be written from the actors perspective as a communication tool. • Validate that you have all the primary scenarios covered. • Presentation styles can be text, numbered steps, or pseudocode. Object-Oriented Analysis and Design with the Unified Process

  22. Identifying Inputs and Outputs—the System Sequence Diagram • System sequence diagram (SSD) • Describes flow of information • Identifies interaction between actors and system • Message oriented Object-Oriented Analysis and Design with the Unified Process

  23. SSD Problem • This is overhead in project an we will use another method called Robustness Analysis • The problem is: • Develop SSD • Redevelop sequence diagram in design • Change and correct sequence diagram for user interface • Change and correct sequence diagram in design for controller type objects Object-Oriented Analysis and Design with the Unified Process

  24. Identifying the Object Behaviorthe Statechart Diagram • A state in a statechart similar to status condition • Spans many business events • Developed for complex problem domain classes • Statechart diagram • Composed of ovals representing status of object • Arrows represent transitions   Object-Oriented Analysis and Design with the Unified Process

  25. Figure 6-19 Simple Statechart for a Printer Object-Oriented Analysis and Design with the Unified Process

  26. Identifying the Object Behaviorthe Statechart Diagram (continued) • Guidelines to help identify states • Check naming convention for status conditions • Simple states reflect simple conditions such as “On” • Complex states labeled with gerunds or verb phrases • Example: “Being shipped” • Active states usually not labeled with nouns • Describe only states of being of the object itself • Status conditions reported to management/customers • Example: “Shipped” Object-Oriented Analysis and Design with the Unified Process

  27. Nested States And Concurrency • Concurrency: condition of being in more than one state at a time • Two modes of representation • Use synchronization bars and concurrent paths • Nest low-level states inside higher-level states • Higher-level states also called composite states • Complex structure of sets of states and transitions • Represent a higher level of abstraction Object-Oriented Analysis and Design with the Unified Process

  28. Figure 6-20 Sample Composite States for the Printer Object Object-Oriented Analysis and Design with the Unified Process

  29. Figure 6-21 Concurrent Paths for the Printer in the On State Object-Oriented Analysis and Design with the Unified Process

  30. Rules for Developing Statecharts • [1] Select the classes that will require statecharts • [2] List all the status conditions for each group • [3] Specify transitions that cause object to leave the identified state • [4] Sequence state-transition combinations in correct order Object-Oriented Analysis and Design with the Unified Process

  31. Rules for Developing Statecharts (continued) • [5] Identify concurrent paths. • [6] Look for additional transitions • [7] Expand each transition as appropriate • [8] Review and test each statechart Object-Oriented Analysis and Design with the Unified Process

  32. Developing RMO Statecharts • Review the domain class diagram • Select classes with status conditions that need to be tracked • Candidates: Order, OrderItem, InventoryItem, Shipment, Customer • Choose Order and OrderItem • Simplicity • Location in the class hierarchy Object-Oriented Analysis and Design with the Unified Process

  33. Developing The Order Item State Chart • Identify possible status conditions of interest • “Ready to be shipped” • “On back order” • “Shipped” • Continue developing statechart according to eight rules   Object-Oriented Analysis and Design with the Unified Process

  34. Figure 6-22 States and Exit Transitions for Orderitem Object-Oriented Analysis and Design with the Unified Process

  35. Figure 6-24 Final Statechart for Orderitem Object-Oriented Analysis and Design with the Unified Process

  36. Developing the Order State Chart • States mirror the life cycle of an order • Application of rules leads to greater complexity • Concurrent states • New transitions • Benefits of developing a statechart for an object • Captures and clarifies business rules • Gain true understanding of system requirements Object-Oriented Analysis and Design with the Unified Process

  37. Figure 6-25 States and Exit Transitions for Order Object-Oriented Analysis and Design with the Unified Process

  38. Figure 6-27 Second-cut Statechart for Order Object-Oriented Analysis and Design with the Unified Process

  39. Integrating Object-Oriented Models • Primary (or source) models • Use case diagram • Problem domain class diagram • CRUD analysis validates model completeness • Construction of one model depends on another • Models capturing processes of new system • Use case diagram and models to lower left • Models capturing information about classes • Class diagrams and dependencies Object-Oriented Analysis and Design with the Unified Process

  40. Figure 6-28 Relationships among OO Requirements Models Object-Oriented Analysis and Design with the Unified Process

  41. Summary • OOA family of models documents users’ needs and defines system requirements • Use case detailed models (descriptive or activity) • Domain model class diagrams • Statechart diagrams Object-Oriented Analysis and Design with the Unified Process

  42. Summary (continued) • Use case: single system function responding to an event • Actors: human users or system interfaces that initiate system response • System function decomposed into workflows • SSDs, domain models, statecharts emulate routines and object interaction • Software engineering terms signal transition into design phase Object-Oriented Analysis and Design with the Unified Process

More Related