Objectives Detailed Object-Oriented Requirements Definitions

Slides:



Advertisements
Similar presentations
Week 2 The Object-Oriented Approach to Requirements
Advertisements

Requirements Diagrams With UML Models
Karolina Muszyńska Based on:
Chapter 7 Structuring System Process Requirements
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Object-Oriented Analysis and Design
Objectives Detailed Object-Oriented Requirements Definitions
Object-Oriented Analysis
CS3773 Software Engineering Lecture 03 UML Use Cases.
Systems Analysis and Design in a Changing World, Fourth Edition
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Use Case Modeling.
Detailed Object-Oriented Requirements Definitions
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Chapter 7 Structuring System Process Requirements
Object-Oriented Analysis and Design
Chapter 7: The Object-Oriented Approach to Requirements
The Design Discipline.
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis and Design in a Changing World, Fifth Edition
State Diagrams / System Sequence Diagrams (SSDs)
Data Flow Diagrams.
Chapter 7 Structuring System Process Requirements
Chapter 4 System Models A description of the various models that can be used to specify software systems.
Detailed Object-Oriented Requirements Definitions
12 Systems Analysis and Design in a Changing World, Fifth Edition.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
The Object-Oriented Approach to Requirements
4 2009/10 Object Oriented Technology 1 Topic 4: The Object-Oriented Approach to Requirements Adopted from: Ch.7 The Object-Oriented Approach to Requirements.
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
Systems Analysis and Design in a Changing World, 3rd Edition
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
2 Object-Oriented Analysis and Design and the Unified Process Objectives  Explain the purpose and objectives of object- oriented design  Develop design.
UML Use Case Diagramming Guidelines. What is UML? The Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing,
7 Systems Analysis and Design in a Changing World, Fifth Edition.
1 Structuring Systems Requirements Use Case Description and Diagrams.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
Systems Analysis and Design in a Changing World, 6th Edition
Drawing System Sequence Diagrams
COMP-350 Object-Oriented Analysis and Design Drawing System Sequence Diagrams Reference: Larman, Chapter 9.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 5 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH CHAPTER.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
Week04 Project Requirements.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
 System Sequence Diagrams Sheridan SYST Engineering Quality Systems 11.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Systems Analysis and Design in a Changing World, Fourth Edition
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
Business Process and Functional Modeling
Chapter 4: Business Process and Functional Modeling, continued
Chapter 6 The Traditional Approach to Requirements.
Systems Analysis and Design in a Changing World, 6th Edition
Unified Modeling Language
Sequence Diagrams.
Systems Analysis and Design in a Changing World, 6th Edition
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
CIS 375 Bruce R. Maxim UM-Dearborn
CIS 375 Bruce R. Maxim UM-Dearborn
Presentation transcript:

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

Overview Refine requirements to threshold of implementation Apply OOA to use cases and models Translate process descriptions into working algorithms Observe that analysis-design boundary is fluid Object-Oriented Analysis and Design with the Unified Process

Detailed Object-Oriented Requirements Definitions System requirements captured with OO models “Divide and conquer” strategy toward complexity Two subsets of OO modeling approach Use case driven extending four specific models Use case diagrams, use case descriptions, activity diagrams, system sequence diagrams Object driven extending statechart diagram Object-Oriented Analysis and Design with the Unified Process

Requirements Diagrams With UML Models Figure 6-1 Requirements Diagrams With UML Models Object-Oriented Analysis and Design with the Unified Process

Detailed Object-Oriented Requirements Definitions (continued) Use case diagram: table of contents for business events System sequence diagrams (SSDs) Define and order sequence of inputs and outputs Information flows referred to as messages Class diagrams Identify real-world “things” Determine the structure of the programming classes Statechart diagram describes collection of object states Object-Oriented Analysis and Design with the Unified Process

System Processes—A Use Case/Scenario View Define use cases into two tiers: Overview level derived from: Event table and use case diagrams Detailed level derived from combination of: Use case description Activity diagram Sequence diagram Object-Oriented Analysis and Design with the Unified Process

Use Cases and Actors Source Actor 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

The Use Case Diagram Notation for use case diagrams Simple stick figure represents an actor Actor’s hands indicate direct system access Use case itself symbolized by an oval Connecting lines match actors to use cases Actors may also be other system interfaces May be represented with stick figure or rectangle  Object-Oriented Analysis and Design with the Unified Process

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

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

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

A Use Case Diagram of the Customer Support System (by Subsystem) Figure 6-4 A Use Case Diagram of the Customer Support System (by Subsystem) Object-Oriented Analysis and Design with the Unified Process

« 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 major/minor cases Object-Oriented Analysis and Design with the Unified Process

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

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 stabilizes after completion of the goal Object-Oriented Analysis and Design with the Unified Process

Use Case Detailed Descriptions Use cases have internal complexity Sequence of steps to execute business process Several variations may exist within single use case Valid variation known as scenario Example: “Create new order” varies from phone to Internet order Work with variety of diagrams and descriptions for each use case Object-Oriented Analysis and Design with the Unified Process

Use Case Detailed Descriptions (continued) 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

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

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

Use Case Detailed Descriptions (continued) 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

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

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

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

SSD Notation Actor “interacts” with the system via input/output SSDs use object notation Box (rectangle) refers to individual object Name of the object underlined Messages sent/received by objects, not classes   Lifeline Extension of object or actor for duration of the SSD Indicates sequence of the messages sent/received Object-Oriented Analysis and Design with the Unified Process

Sample System Sequence Diagram Figure 6-14 Sample System Sequence Diagram Object-Oriented Analysis and Design with the Unified Process

SSD Notation (continued) Message syntax can take several forms Depends on send/return direction Message semantics: actions (like commands) invoked on destination object   Complete message notation:*[true/false condition] return-value := message-name (parameter-list)   Object-Oriented Analysis and Design with the Unified Process

Repeating Message (A) Detailed Notation (B) Alternate Notation   Figure 6-15 Repeating Message (A) Detailed Notation (B) Alternate Notation Object-Oriented Analysis and Design with the Unified Process

Developing a System Sequence Diagram Begin with detailed description of use case Fully developed form Activity diagrams (4) step process for turning activity diagram into SSD   [1] Identify the input messages [2] Describe messages from external actor to system [3] Identify/apply special conditions to input messages [4] Identify and add the output return messages  Object-Oriented Analysis and Design with the Unified Process

A Simplified Diagram of the Telephone Order Scenario Figure 6-16 A Simplified Diagram of the Telephone Order Scenario Object-Oriented Analysis and Design with the Unified Process

Developing a System Sequence Diagram (continued) Names of messages reflect services performed Important principle for identifying data parameters Base the list on the class diagram Attributes from the classes listed as parameters   Iteratively define input/output parameters around workflows Objective: discovery and understanding Object-Oriented Analysis and Design with the Unified Process

Figure 6-17 An SSD of the Simplified Telephone Order Scenario for the Create New Order Use Case Object-Oriented Analysis and Design with the Unified Process

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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