Use Case Maps (UCMs) and UML Use Case Diagrams SEG3201 Fall 2006.

Slides:



Advertisements
Similar presentations
Use Case Maps Daniel Amyot, Gunter Mussbacher Introduction to Use Case Maps.
Advertisements

UCM Path Traversal Daniel Amyot SG17, Geneva, March 5 th, 2002 UCM Scenarios and Path Traversal.
Use cases Use-cases are a scenario based technique in the UML which identify the actors in an interaction and which describe the interaction itself A set.
Use Case Diagrams Damian Gordon.
Use Case & Use Case Diagram
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
Unified Modeling Language Sequence Diagrams Chapter 2 (JIA)
Introduction To System Analysis and Design
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
Use Cases Chapter 4. After Scenarios Find all the use cases in the scenario that specifies all possible instances of how to report a fire –Ex: “Report.
Architecture, Deployment Diagrams, Web Modeling Elizabeth Bigelow CS-15499C October 6, 2000.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
 What is Interaction Modelling What is Interaction Modelling  Use Case Models Use Case Models Actor Use cases Use Case Diagram Symbols Use case Diagram.
An Object-Oriented Approach to Programming Logic and Design
New Features Visual Voic Single Number Reach.
Managing Changing Requirements: Structure the Use Case Model PowerPoint Presentation derived from IBM/Rational course Mastering Requirements Management.
Integration of User Requirements Notation (URN) and DOORS with URNtoDOORS SEG3201 Fall 2006.
Elevator Control System
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
1 IBM Software Group ® Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model.
Introduction To System Analysis and Design
Dynamic Modeling Chapter 11 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Use Cases 7/09. lnot part of the system lrepresents roles a user can play lrepresents a human, a machine or another system lactively exchanges information.
 2000 Deitel & Associates, Inc. All rights reserved. Optional Case Study - Chapter 3 Outline 3.1 Introduction 3.2 Class Attributes 3.3 Statechart Diagrams.
Lecture 14 & 15: Object- Oriented Analysis Anita S. Malik Adapted from Schach (2004) Chapter 12.
S CHOOL OF I NFORMATION T ECHNOLOGY AND E NGINEERING U NIVERSITY OF O TTAWA Feature Description and Feature Interaction Analysis with Use Case Maps and.
Winter 2007, rev. 2008SEG Chapter 21 Chapter 2 Basic Principles.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
Miguel Garzón, University of Ottawa Based on material from: Mussbacher and Amyot, User Requirements Notation (Part II) SEG3101 (Fall 2015)
TDT 4242 Inah Omoronyia and Tor Stålhane Advanced Use cases TDT 4242 Institutt for datateknikk og informasjonsvitenskap.
Use Case Modeling Chapter 7 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Inah Omoronyia and Tor Stålhane
Static Modeling Chapter 8 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
 Week08.  Review Schedule Weeks 8-14  This week o Review last class o Introduce Class Diagrams o ICE-03 Sheridan SYST Engineering Quality Systems.
UML (Unified Modeling Language)
Elevator Example.
UML - Development Process 1 Software Development Process Using UML.
Refining the Use Cases 1. How Use Cases Evolve  Early efforts typically define most of the major use cases.  The refining stages complete the process.
Object and Class Structuring Chapter 9 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
Use Case Diagrams-2. Relationships between Use Cases 2 1. Generalization - use cases that are specialized versions of other use cases. 2. Include - use.
1 After the scenarios are formulated Find all the use cases in the scenario Describe each of these use cases in more detail Participating actors Describe.
® IBM Software Group © 2009 IBM Corporation Module 11: Creating State Machine Diagrams Essentials of Modeling with IBM Rational Software Architect V7.5.
Elevator Example. Problem GSU schedules to upgrade all the campus elevators in 6 months. Due to incompatibility with the new hardware, the current software.
Systems Analysis and Design in a Changing World, Fourth Edition
Design Patterns: MORE Examples
Cmpe 589 Spring 2006.
Strategy Design Pattern
Component and Deployment Diagrams
Use Case Modeling - II Lecture # 27.
Inheritance Allows extension and reuse of existing code
Object-Oriented Analysis and Design
Outline 1. Exercise on use case diagram
Visit for more Learning Resources
Business System Development
Object Oriented Analysis and Design
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Inah Omoronyia and Tor Stålhane
Use Cases Based on the paper
Software Design Lecture : 15.
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Appendix 3 Object-Oriented Analysis and Design
STATE MACHINE AND CONCURRENT PROCESS MODEL
STATE MACHINE AND CONCURRENT
Software Development Process Using UML Recap
Presentation transcript:

Use Case Maps (UCMs) and UML Use Case Diagrams SEG3201 Fall 2006

© 2006 Page 2 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) Include Relationship u Helps to clarify a use case by isolating and encapsulating complex details and by improving consistency. u Base use case requires included use case for completion u Solution: Use static stubs on the path representing a base use case. – Stubs hide the details contained in their plug-ins (the included use case) – The plug-in can be reused in multiple stubs, hence improving consistency among the UCMs.

© 2006 Page 3 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) req msg ring Basic Call Include Relationship: Example Basic Call Originating « include » OCS Call « include » Terminating « include » TerminatingOriginating req msg ring OCS OCS Call Terminating

© 2006 Page 4 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) Extend Relationship u Shows that part of a use case is: – (potentially) optional; – executed only under certain conditions; – inserted at an extension point in a base use case; – not required for the completion of base use case. u Solution: Use (guarded) OR-forks or dynamic stubs on a base use case. – Extension points are visual. – For dynamic stubs, there is a default plug-in that represents the original base case.

© 2006 Page 5 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) Extend Relationship: Example Basic Call Busy Treatment « extend » OCS Feature « extend » OCS plug-in in1 out2 out1 chk [allowed] [denied] md OCSlist in1 out1 Default plug-in req ring Basic Call Originating upd msg [idle] [busy] mb Selection Strategy

© 2006 Page 6 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) Generalization Relationship u Used when two or more use cases have commonalties in behavior, structure, and purpose. The shared part can then be described in a new parent use case specialized by child use cases. u Solution: Use OR-joins and OR-forks, or multiple dynamic stubs. – Parent use case contains dynamic stubs for diverging behavior. – Child use case is parent + plug-ins.

© 2006 Page 7 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) Generalization Relation:Example Phone Session req msg ring Phone Session Originating UserOAgentOUserTAgentT Basic Call =Phone Session + Originating plug-in OCS Call =Phone Session + OCS plug-in Basic Call OCS Call

© 2006 Page 8 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) User Elevator Control System in elevator at requested floor Arrival Sensor approaching floor add to list [else] no requests [stationary] [moving] [not requested] door close motor up motor down moving decide on direction Select Destination motor stop [requested] door open remove from list [more requests] The elevator control system is adapted from Hassan Gomaa (2001) Designing Concurrent, Distributed, And Real-Time Applications with UML. Addison Wesley p press number

© 2006 Page 9 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) Elevator Control System [stationary] add to list User at floor select elevator Request Elevator press up/down

© 2006 Page 10 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) User Arrival Sensor Elevator Control System decide on direction door close motor up motor down select elevator approaching floor [not requested] at requested floor [stationary] [more requests] [else] no requests [moving] Both Use Cases motor stop door open add to list moving [requested] remove from list in elevator press number at floor press up/down

© 2006 Page 11 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) User in elevator press number at floor press up/down [stationary] [more requests] [else] no requests [moving] Arrival Sensor Elevator Control System decide on direction door close motor up motor down select elevator approaching floor [not requested] at requested floor motor stop add to list moving stationary [requested] door open Service Personnel switch on remove from list Both Use Cases + Switch On [stat.]

© 2006 Page 12 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) remove from list User in elevator press number at floor press up/down decide on direction door close motor up motor down [not requested] moving [requested] motor stop door open Arrival Sensor Elevator Control System select elevator approaching floor at requested floor add to list stationary Service Personnel switch on IN1 OUT1 Dispatch Elevator IN1 OUT1 IN2 Stop Elevator at Floor Included Use Cases [moving] [stat.]

© 2006 Page 13 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) High Level UCM User start walk_IN OUT1 IN1 Request Elevator Request Elevator bindings: IN1 … at floor OUT1 … at requested floor Select Destination bindings: IN1 … in elevator OUT1 … at requested floor OUT1 IN1 Select Destination end walk_OUT

© 2006 Page 14 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) User Arrival Sensor Service Personnel Scheduler Elevator decide on direction [stat.] door close motor up motor down moving select elevator approaching floor [not requested] motor stop [requested] door open at requested floor stationary switch on add to list [moving] remove from list Arch. Alternative (I) in elevator press number at floor press up/down

© 2006 Page 15 SEG3201 / Fall 2006 UCM and Use Cases (Elevator Control System) UCM and Use Cases (Elevator Control System) in elevator press number at floor press up/down User Service Personnel Elevator Scheduler Status&Plan Elev. Control Elev. Mgr decide on direction [stat.] door close motor up motor down moving select elevator Arrival Sensor approaching floor [not requested] motor stop door open stationary switch on add to list [moving] [requested] remove from list at requested floor Arch. Alternative (II)