Introduction to Use Case Maps - TT

Introduction to Use Case Maps - TT

Use Case Maps Introduction to Use Case Maps Daniel Amyot, Gunter Mussbacher [email protected] http://www.UseCaseMaps.org Page 2 Table of Contents Requirements & Software Engineering Issues Introduction to Use Case Maps UCM Usage 2001 Requirements Capture Architectural Evaluation Transformations to Designs and Tests Bridging the Gap Between Requirements and Design with Use Case Maps Page 3 Requirements Engineering Issues

Early focus on low-level abstractions Requirements and high-level decisions buried in the details Evolution of functionalities difficult to handle (feature interactions, V&V, adaptability to legacy architectures...) Delay introduction of new services 2001 Bridging the Gap Between Requirements and Design with Use Case Maps Page 4 Software Engineering Issues Requirements/analysis models need to support new types of dynamic systems Run-time modification of system structure Run-time modification of behaviour Need to go from a requirements/analysis

model to design models in a seemless way We propose Use Case Maps (UCMs)! 2001 Bridging the Gap Between Requirements and Design with Use Case Maps Page 5 Table of Contents Requirements & Software Engineering Issues Introduction to Use Case Maps UCM Usage 2001 Requirements Capture Architectural Evaluation Validation and Feature Interaction Detection

Bridging the Gap Between Requirements and Design with Use Case Maps Page 6 Use Case Maps (UCMs) The Use Case Maps notation allows illustrating a scenario path relative to optional components involved in the scenario (gray box view of system) UCMs are a scenario-based software engineering technique for describing causal relationships between responsibilities of one or more use cases UCMs show related use cases in a map-like diagram 2001 Bridging the Gap Between Requirements and Design with Use Case Maps Page 7 UCM Notation - Basic UCM Example: Commuting home transport

secure home ready to leave home X Basic Path commute X Responsibility Point elevator take elevator X Component (from circle to bar) 2001 in cubicle Bridging the Gap Between Requirements and Design with Use Case Maps

(generic) Page 8 Why Use Case Maps? Bridge the modeling gap between requirements (use cases) and design Link behavior and structure in an explicit and visual way Provide a behavioral framework for making (evaluating) architectural decisions at a high level of design Characterize the behavior at the architecture level once the architecture is decided Convey a lot of information in a compact form Use case maps integrate many scenarios - enables reasoning about potential undesirable interactions of scenarios 2001 Bridging the Gap Between Requirements and Design with Use Case Maps Page 9

Why Use Case Maps? Provide ability to model dynamic systems where scenarios and structures may change at run-time E-commerce applications Telecommunication systems based on agents Simple, intuitive, low learning curve Document while you design Effective learning tool for people unfamiliar with the domain May be transformed (e.g. into MSC/sequence diagrams, performance models, test cases) 2001 Bridging the Gap Between Requirements and Design with Use Case Maps Page 10 The Development Pyramid Requirements Analysis/

High-level Design Detailed design Implementation 2001 NFR Use cases Problem modeling Use Case Maps Sequence/collaboration diagrams, statechart diagrams, class/object diagrams, component/deployment diagrams (UML); message sequence charts, SDL (ITU-T) Code Bridging the Gap Between Requirements and Design with Use Case Maps Page 11 UCM Notation - Hierarchy UCM Example: Commuting home ready to leave home transport secure

secure home home commute commute X X elevator take take elevator elevator X stay home Dynamic Stub Static Stub (selection policy) 2001 Bridging the Gap Between Requirements and Design with Use Case Maps in cubicle

Page 12 UCM Notation - Simple Plug-in UCM Example: Commute - Car (Plug-in) transport drive car X 2001 Bridging the Gap Between Requirements and Design with Use Case Maps Page 13 UCM Notation - AND/OR UCM Example: Commute - Bus (Plug-in) person read Dilbert transport X take 95 take 182 X X

take 97 X AND Fork 2001 OR Fork OR Join Bridging the Gap Between Requirements and Design with Use Case Maps AND Join Page 14 UCM Notation Dynamic Structures Generic UCM Example slot A create + create start + slot B move into - Slot (component)

move out pool A + move into copy Pool pool B destroy (component) destroy end Dynamic Responsibilities and Dynamic Components 2001 Bridging the Gap Between Requirements and Design with Use Case Maps Page 15 Table of Contents Requirements & Software Engineering Issues Introduction to Use Case Maps

UCM Usage Requirements Capture Architectural Evaluation Validation and Feature Interaction Detection Transformations to Designs and Tests Standardization Research Issues 2001 Bridging the Gap Between Requirements and Design with Use Case Maps Page 16 User Elevator Control System [not requested] [moving] door close decide on

direction [stationary] below above in elevator motor down [requested] add to list motor stop no requests [else] at requested floor [more requests] door closing-delay The elevator control system case study is adapted from Hassan Gomaa's Designing Concurrent, Distributed, And Real-Time Applications with UML (p459-462), copyright Hassan Gomaa 2001, published by Addison Wesley. Used with permission. door open remove

from list Arrival Sensor approaching floor Select Destination 2001 moving motor up Bridging the Gap Between Requirements and Design with Use Case Maps Page 17 Table of Contents Requirements & Software Engineering Issues Introduction to Use Case Maps UCM Usage

Requirements Capture Architectural Evaluation Validation and Feature Interaction Detection Transformations to Designs and Tests Standardization Research Issues 2001 Bridging the Gap Between Requirements and Design with Use Case Maps Page 18 User up Scheduler down at floor below above in elevator at requested floor [requested] [not requested] moving select

elevator already add to on list decide on list direction [on list] [else] Arrival Sensor approaching floor Elevator door close stationarymemory motor up motor door down closing-delay remove from list Service Personnel switch on Arch. Alternative (I) 2001 motor stop door open

Bridging the Gap Between Requirements and Design with Use Case Maps Page 19 User down up at floor below Status&Plan Scheduler [not requested] select elevator already on list Elev. Mgr above [requested] Arrival Sensor Elev. Control approaching floor moving [on list] in elevator

at requested floor [else] Status&Plan add to list remove from list decide on direction Elevator door close stationarymemory door closingdelay motor up motor down Service Personnel switch on Arch. Alternative (II) 2001

Bridging the Gap Between Requirements and Design with Use Case Maps motor stop door open Page 20 Table of Contents Requirements & Software Engineering Issues Introduction to Use Case Maps UCM Usage Requirements Capture Architectural Evaluation Validation and Feature Interaction Detection Transformations to Designs and Tests Standardization

Research Issues 2001 Bridging the Gap Between Requirements and Design with Use Case Maps Page 21 Generic Problem with Scenarios Given a set of scenarios capturing informal (functional) requirements Specify (formally) the integration of scenarios Undesirable emergent behaviour may result Validate, i.e. look for logical errors and check against informal requirements Numerous tools and techniques can be applied (e.g. functional testing) 2001 Bridging the Gap Between Requirements and Design with Use Case Maps Page 22

UCM Validation by Inspection Several problems detectable by inspection Non-determinism in selection policies and OR-forks Erroneous UCMs Ambiguous UCMs, lack of comments Many feature interactions (FI) solved while integrating feature scenarios together Remaining undesirable FI need to be detected! 2001 Many are located in stubs and selection policies Need more formal analysis Bridging the Gap Between Requirements and Design with Use Case Maps Page 23 Feature Interaction

Conflict between candidate plug-ins for the same stub (preconditions of plug-ins are the same) Call waiting (CW) vs. automatic re-call (ARC) ORIG TERM in out CW busy 2001 ARC out busy Bridging the Gap Between Requirements and Design with Use Case Maps out Page 24 Feature Interaction

Unexpected behavior among different selected plugins for different stubs (postconditions of plug-ins are not the same) Originating call screening (OCS) denies call whereas call forward (CF) redirects call to screened number ORIG TERM in out OCS in 2001 CF deny in Bridging the Gap Between Requirements and Design with Use Case Maps redirect Page 25 Analysis Model Construction

Source scenario model Target analysis model Q1. What should the target language be? Use Case Maps Specification ? Q2. What should the construction strategy be? Analytic approach Synthetic approach build-and-test construction scenarios "compiled" into new target model interactive or automated Several approaches studied (UCM to LOTOS, UCM to SDL, ) 2001 Bridging the Gap Between Requirements and Design with Use Case Maps

Recently Viewed Presentations

  • 1945-1960 - Pc\|Mac

    1945-1960 - Pc\|Mac

    1945-1960. 1945-1960. Foreign. Policy. Reasons for the Cold War. ... Lack of popular support for Chiang Kai-shek and the Nationalists because: Rice tax increased the price of rice 10,000%. ... Gen. Mark Clark (1952-53) Affect on Truman's Presidency.
  • The Animal Kingdom  Define phylogenic tree-explain why scientists

    The Animal Kingdom Define phylogenic tree-explain why scientists

    Define phylogenic tree-explain why scientists use them. ~General Characteristics ~ Multicellular-made up of more than one type of cell. Eukaryotic. Heterotrophs ~General Characteristics ~ Invertebrate- Does NOT possess or develop a vertebral column (backbone), derived from the notochord ...
  • Short Story Elements - metcalfe.k12.ky.us

    Short Story Elements - metcalfe.k12.ky.us

    Short Story Elements ... Setting Basic situation Characters involved Narrative Hook: question or statement that grabs the reader's attention Inciting Incident The first major action in the story that sets the story in motion (gets the ball rolling). Rising Action...
  • Presentation 20.6.06 - uni-due.de

    Presentation 20.6.06 - uni-due.de

    def.: a pidgin becomes a creole when it acquires native speakers creolisation is the inverse of pidginisation: while pidginisation involves reduction and simplification, creolisation is typical for expansion and elaboration Morphology creolised Tok Pisin: - Speakers use -ol to indicate...
  • Development of Oxygen Electrodes for High Temperature and

    Development of Oxygen Electrodes for High Temperature and

    ECerS conference 2017, Budapest. Motivation for the work. Selection of materials. Electrochemical activity towards the OER. Chemical stability of materials at high temperature. Processing porous LaNi. 0.6. Fe. 0.4. O. 3. electrodes. 2017-07-13. Motivation and past results (high current density...
  • Category #1

    Category #1

    What are the symbols of Baptism used in the Roman Catholic Church? Category #1: Sacraments. 4. In Roman Catholic teaching, what is the most important thing that all Seven Sacraments have in common? ... Who usually administers the Sacrament of...
  • Memory - Cabarrus County Schools

    Memory - Cabarrus County Schools

    The time in between the two stimuli should be about half a second. * Acquisition The CS needs to come half a second before the US for acquisition to occur. * Extinction When the US (food) does not follow the...
  • Biomarker Core ADNI Steering Committee Boston, MA 4/24/2017

    Biomarker Core ADNI Steering Committee Boston, MA 4/24/2017

    Incidental Alpha-synuclein (Syn) And TDP-43 (TDP) Pathologies Are Rare In PART/NA, But Very Common In AD Such That Only 35% Of AD Patients In Our CNDR Brain Bank Have Pure Plaque And Tangle only AD.