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.

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

Week 2 The Object-Oriented Approach to Requirements
Requirements Diagrams With UML Models
Karolina Muszyńska Based on:
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Object-Oriented Analysis and Design
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Use cases.
Objectives Detailed Object-Oriented Requirements Definitions
Object-Oriented Analysis
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
Systems Analysis and Design in a Changing World, Fourth Edition
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
Chapter 7 Using Data Flow Diagrams
© 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.
Systems Analysis and Design in a Changing World, 6th Edition
Detailed Object-Oriented Requirements Definitions
Chapter 13: Designing the User Interface
6 Systems Analysis and Design in a Changing World, Fourth Edition.
Object-Oriented Analysis and Design
Chapter 7: The Object-Oriented Approach to Requirements
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Systems Analysis and Design in a Changing World, Fifth Edition
Chapter 6 The Traditional Approach to Requirements
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)
Chapter 7 Structuring System Process Requirements
Detailed Object-Oriented Requirements Definitions
Systems Analysis and Design in a Changing World, 6th Edition
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Objectives Detailed Object-Oriented Requirements Definitions
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.
Systems Analysis and Design in a Changing World, 3rd Edition
Chapter 5 Models and UML Notation for The Object-Oriented Approach.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
5 Systems Analysis and Design in a Changing World, Fifth Edition.
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 3 Use Cases.
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
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.
Systems Analysis and Design in a Changing World, Fourth Edition
Object-Oriented Application Development Using VB.NET 1 Chapter 5 Object-Oriented Analysis and Design.
Week04 Project Requirements.
6 Systems Analysis and Design in a Changing World, Fourth Edition.
1 Lecture 7 – Chapter 7 The Object-Oriented Approach to Requirements.
 System Sequence Diagrams Sheridan SYST Engineering Quality Systems 11.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
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.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design in a Changing World, 6th Edition
Use Case Driven Analysis
Systems Analysis and Design in a Changing World, 6th Edition
CIS 375 Bruce R. Maxim UM-Dearborn
Interaction diagrams Interaction diagrams are models that describe how groups of objects collaborate in some behavior. Typically, an interaction diagram.
Use Case Modeling.
CIS 375 Bruce R. Maxim UM-Dearborn
Use cases Dr. X.
Presentation transcript:

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 (Satzinger: Systems Analysis & Design in a Changing World)

4 2009/10 Object Oriented Technology 2 Learning Objectives u Develop use case diagrams u Write use case and scenario descriptions u Develop system sequence diagrams u Explain how UML diagrams work together to define functional requirements for the object- oriented approach

4 2009/10 Object Oriented Technology 3 Overview u Objective of requirements definition is understanding user’s needs, business processes, and system to support business processes u Understand and define requirements for a new system using object-oriented analysis models and techniques u Object-oriented analysis and object-oriented design l Iterative approach to development l Models built in analysis are refined during design

4 2009/10 Object Oriented Technology 4 1.The Unified Modeling Language and the Object Management Group u Object-oriented modeling notation is Unified Modeling Language (UML 2.0) u UML was accepted by Object Management Group (OMG) as standard modeling technique u Purpose of Object Management Group l Promote theory and practice of object technology for development of distributed systems l Provide common architectural framework for OO

4 2009/10 Object Oriented Technology 5 2. Object-Oriented Requirements (continued) u Object-oriented system requirements are specified and documented through process of building models u Modeling process starts with identification of use cases and problem domain classes (things in users’ work environment) u Business events trigger elementary business processes (EBP) that new system must address as use cases u Use cases define functional requirements

4 2009/10 Object Oriented Technology 6 3. Object-Oriented Requirements Models u Use case diagrams – i dentify actors and their use cases (goals) u Use case descriptions – include details of a use case and how actors use the system u Systems sequence diagrams (SSDs) – define inputs and outputs and sequence of interactions between user and system for a use case u Activity diagrams – describe user and system activities for a use case u State machine diagrams – describe states of each object

4 2009/10 Object Oriented Technology Requirements Models: Traditional vs OO Models

4 2009/10 Object Oriented Technology 8 4. The System Activities – A Use Case / Scenario View (1) u Use case analysis used to identify and define all business processes that system must support u Use Case - an activity a system carried out, usually in response to a user request

4 2009/10 Object Oriented Technology 9 4. The System Activities – A Use Case / Scenario View (2) u Actor l Role played by user l Outside automation boundary l 2 types of actors: u Primary actor – the one who starts the sequence of events, or calls the system to finish a task/goal u Supporting actors – provide service to the system, might be a printer, web service, human or another system

4 2009/10 Object Oriented Technology Techniques for Identifying Use Cases 1. Identify user goals (Actor-Goal list) l Each goal at the elementary business process (EBP) level is a use case 2. Event decomposition technique (Event Analysis with the event table) 3. CRUD analysis technique (create, read/report, update, delete) to ensure coverage

4 2009/10 Object Oriented Technology Using EBP Guideline to identify a Use Case u EBP stands for Elementary Business Process l An EBP – a task performed by one person in one place and in response to business event that adds measurable business value, and leaves system and data in consistent state l Example Use cases:- u Add new customers u Handle returns u Buy a cinema ticket

4 2009/10 Object Oriented Technology How EBP helps to identify Use Cases? u EBP filters out l excessive low-level use cases u It is not a single small step like “delete a line item”, or “enter customer name” l excessive high-level use cases u Such as “negotiate a contract”, which takes days to complete l The main flow probably contains five to ten steps l It does not take days and multiple sessions l It is a task done during a single session l It emphasizes adding measurable business value

4 2009/10 Object Oriented Technology CRUD analysis for Identifying/Confirming Use Cases u CRUD – Create, Read/Report, Update, Delete u Identify event table events or develop use case diagram directly u Compares identified use cases with domain model class diagram u Every class in class diagram must have use cases to support creating, reading, reporting, updating, and deleting object instances u Confirms system integration requirements

4 2009/10 Object Oriented Technology Use Case Model u The Use Case Model consists of use case diagram and a set of Use Case descriptions

4 2009/10 Object Oriented Technology Use Case Diagram u Graphical UML diagram that summarizes information about actors and use cases u Simple diagram shows overview of functional requirements u Can have multiple use case diagrams l By subsystem l By actor

4 2009/10 Object Oriented Technology Simple Use Case with an Actor (Figure 7-2)

4 2009/10 Object Oriented Technology Use Case Diagram with Automation Boundary and Alternate Actor Notation (Figure 7-3)

4 2009/10 Object Oriented Technology All Use Cases Involving Customer as Actor (Figure 7-4)

4 2009/10 Object Oriented Technology Use Cases of RMO Order Entry Subsystem (Partial Figure 7-5 with package symbol)

4 2009/10 Object Oriented Technology > Relationships u Documents situation where one use case requires the services of a common subroutine u Another use case is developed for this common subroutine u A common use case can be reused by multiple use cases

4 2009/10 Object Oriented Technology Example of Order-Entry Subsystem with > Use Cases (Figure 7-6)

4 2009/10 Object Oriented Technology Drawing a Use Case Diagram u As soon as we have identified the uses cases using the techniques mentioned before, we can start drawing a Use Case Diagram u However, when common internal use cases are identified, they may have to be separated into different use cases

4 2009/10 Object Oriented Technology Use Case Description u Use case description provides details of preconditions, postconditions, sequence of activities, and exception conditions in use case u Describes actor interacting with computer system step- by-step to carry out business activity u May have several scenarios for a use case, each a specific use case instance u Three levels of detail: brief, intermediate (casual), and fully developed (fully dressed) description u Many analysts prefer to write narrative descriptions of use cases instead of drawing activity diagrams

4 2009/10 Object Oriented Technology The 3 levels of Use Cases 1. brief l One-paragraph summary, usually of the main success scenario (Fig 7-7) 2. intermediate (casual) l Multiple paragraphs that cover various scenarios (Fig 7-8, Fig 7-9) 3. fully developed (fully dressed) l All steps and variations are written in details, and there are supporting sections such as Preconditions and Postconditions. (Fig 7-10)

4 2009/10 Object Oriented Technology Brief Description of Create New Order Use Case (Figure 7-7)

4 2009/10 Object Oriented Technology Intermediate Description of the Telephone Order Scenario for Create New Order Use Case (Figure 7-8)

4 2009/10 Object Oriented Technology Intermediate Description of the Web Order Scenario for Create New Order (Figure 7-9)

4 2009/10 Object Oriented Technology Fully Developed Description of Telephone Order Scenario for Create New Order Use Case (Figure 7-10)

4 2009/10 Object Oriented Technology Top Detail from Fully Developed Use Case Description (Figure 7-10)

4 2009/10 Object Oriented Technology Middle Detail from Fully Developed Use Case Description (Figure 7-10)

4 2009/10 Object Oriented Technology Bottom Detail from Fully Developed Use Case Description (Figure 7-10)

4 2009/10 Object Oriented Technology Sections of a Use Case Description u Use case name/scenario name u Actors/stakeholders u Related use cases u Preconditions – set of criteria that must be true prior to initiation of the use case u Postconditions – set of criteria that must be true upon completion of the use case u Flow of activities (or Basic Flow or Main Path or Main Success Scenario) l (steps in one column or two) u Exception conditions (or Alternative Flows or Extensions)

4 2009/10 Object Oriented Technology Guidelines (tips) for writing Use Case Description 1. Give the use case an appropriate name 2. Use a consistent style 3. Use active voice 4. Use subsections (or steps) 5. Describe the flow as something that actually happens 6. Always use the name of the actor in the interaction 7. Do not mention GUI design details in the flow 8. Do not mention design or implementation details in the flow 9. Specify information retrieval and calculation means 10. Define long alternatives separately

4 2009/10 Object Oriented Technology Activity Diagrams u Used to document workflow of business process activities for each use case or scenario u Can support any level of use case description; a supplement to use case descriptions u Helpful in developing system sequence diagrams

4 2009/10 Object Oriented Technology Activity Diagram— Telephone Order Scenario (Figure 7-12)

4 2009/10 Object Oriented Technology Activity Diagram— Web Order Scenario (Figure 7-13)

4 2009/10 Object Oriented Technology Identifying Inputs and Outputs— The System Sequence Diagram u System sequence diagram (SSD) is type of UML 2.0 interaction diagram u Used to model input and output messaging requirements for a use case or scenario u Shows actor interacting with system u Shows sequence of interactions as messages during flow of activities u System is shown as one object: a “black box”

4 2009/10 Object Oriented Technology System Sequence Diagram (SSD) Notation (Figure 7-14)

4 2009/10 Object Oriented Technology SSD Notation u Actor represented by a stick figure – a person (or role) that interacts with system by entering input data and receiving output data u Object is a rectangle with name of object underlined – shows individual object and not class of all similar objects ( :System for SSD ) u Lifeline or object lifeline is a vertical line under object or actor to show passage of time for object u Message is labeled on arrows to show messages sent to or received by actor or system

4 2009/10 Object Oriented Technology SSD Lifelines u Vertical line under object or actor l Shows passage of time u If vertical line dashed l Creation and destruction of thing is not important for scenario u Long narrow rectangles l Activation lifelines emphasize that object is active only during part of scenario

4 2009/10 Object Oriented Technology SSD Messages u Internal events identified by the flow of objects in a scenario u Requests from one actor or object to another to do some action u Invoke a particular method

4 2009/10 Object Oriented Technology Repeating Message (Figure 7-15)

4 2009/10 Object Oriented Technology Repeating Message u Asterisk (*) indicates repeat or looping of message. u Brackets [ ] indicate a true/false condition. It is a test for that message only. If it evaluates to true, the message is sent. If it evaluates to false, the message is not sent. u Message-name is the description of the requested service. It is omitted on dashed-line return messages, which only show the return data parameters. u Parameter-list (with parentheses on initiating messages and without parentheses on return messages) shows the date that is passed with the message. * [true/false condition] return-value := message- name (parameter-list)

4 2009/10 Object Oriented Technology Developing a System Sequence Diagram u Begin with detailed description of use case from fully developed form or activity diagram u Identify input messages u Describe message from external actor to system using message notation u Identify and add any special conditions on input message, including iteration and true/false conditions u Identify and add output return messages

4 2009/10 Object Oriented Technology Activity Diagram and Resulting SSD for Telephone Order Scenario (Figures 7-16 and 7-17)

4 2009/10 Object Oriented Technology SSD of the Web Order Scenario for the Create New Order Use Case (Figure 7-18)

4 2009/10 Object Oriented Technology Integrating Object-Oriented Models u Complete use case diagram is needed to understand total scope of new system u Domain model class diagrams should be as complete as possible for entire system u With iterative approach, only construct use case descriptions, activity diagrams, and system sequence diagrams for use cases in iteration u Development of a new diagram often helps refine and correct previous diagrams

4 2009/10 Object Oriented Technology Relationships Between OO Requirements Models

4 2009/10 Object Oriented Technology 49 Summary u Object-oriented approach has complete set of diagrams that define the system requirements u Requirements specified using following models: l Domain model class diagrams (Topic 3) l Use case diagrams (Topic 4) l Use case detailed model, either descriptive format (Topic 4) or activity diagram l System sequence diagrams (SSDs) (Topic 4)