1 / 15

Use Cases as a Method of Collaboration in the EA

Use Cases as a Method of Collaboration in the EA. Vito Baggiolini, SL/CO. Outline . Tutorial on Use Cases What, Why, How Example Essential points Bigger picture Applying use cases in EA Current state of work Possible fields of collaboration Conclusions. What is a Use Case?.

scout
Download Presentation

Use Cases as a Method of Collaboration in the EA

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. Use Cases as a Method of Collaboration in the EA Vito Baggiolini, SL/CO Vito Baggiolini, SL/CO

  2. Outline • Tutorial on Use Cases • What, Why, How • Example • Essential points • Bigger picture • Applying use cases in EA • Current state of work • Possible fields of collaboration • Conclusions Vito Baggiolini, SL/CO

  3. What is a Use Case? [a description in plain english of:] “A typical scenario of how a useruses the system to get something done.” Examples: • set a Motor to new position • take a measurement (e.g. a profile) • apply a “beam file” to the beamline • prepare and execute a scan procedure Vito Baggiolini, SL/CO

  4. Why Use Cases? • Good for requirementsgathering • to find all necessary, but no superfluous requirements • good for work in interdisciplinary teams • understandable also by non-software experts => A replacement for the ESA URD. • Useful for development and operations • for architecture, design and implementation • for testing and validation • for documentation and user training Vito Baggiolini, SL/CO

  5. Template of a Use Case Description • Actor(s) (human user or non-human entity that interacts with the System) • System boundary (of the (sub-)system we analyse) • Pre-condition (state of system before) • Normal flow of interactions (“the scenario”) • Post-condition (result & state of system after) • Variations (of normal flow of interactions) PLUS: Glossary of Domain Concepts Vito Baggiolini, SL/CO

  6. GUI Example: “Get Profile” • Actors: any authorized User; XWCA equipment; timing system • System boundary: GUI, XWCA data module, timing system • Pre-condition: control system is operational, XWCA is operational; there is beam User System XWCA D.M. Timing System Vito Baggiolini, SL/CO

  7. GUI Example (cont): “Get Profile” Normal flow of interactions 1) User selects the XWCA and requests a profile 2) The system verifies that the XWCA is operational 3) The system waits for timing system to send an EFLAT event 4) The timing system sends EFLAT 5) The system retrieves the profile data from the XWCA 6) The system presents the profile data to the user Post-condition: the user has obtained a profile. User System XWCA D.M. Timing System Vito Baggiolini, SL/CO

  8. Essential Points • Concentrate on what, not how! • Requirements, not design • Formulate using general terms • no implicit design decisions because of formulation • “System” = black box • No assumptions that influence internal design • System boundary must be well-specified • External entities and their interfaces • Right use case size (“get something done”) • Don’t worry: use cases can be split or merged later Questions? Vito Baggiolini, SL/CO

  9. Bigger Picture • “Unified Software Development Process” • In the present (inception) phase, we do the following: • Gather requirements • Elaborate a first architecture • Identify and mitigate the risks • Use cases help us in many ways: Req. Arch. Risk • Gather use cases x • Prioritize the use cases x x • Describe important ones in detail x x x • Analyse u.c. and design architecture x • Prototype critical use cases x x Vito Baggiolini, SL/CO

  10. Use Case Diagrams (in UML) Control System Scan Set limits Liason Physicist Take profile Experimental Physicist Calibrate Vito Baggiolini, SL/CO Hardware Specialist

  11. Use Cases in EA • Actors: • Experimental Physicists, Liaison Physicists, Operators, Hardware Specialists, Software Engineers, ... • Equipment, Timing System, Automatic Supervision Programs, Interlock system,... • (Sub-)System Boundaries: (must be agreed on...) • Old Data Modules, new VME modules (?) • Middleware • Configuration Database (?) • Use Case list for EA • Glossary of Domain Concepts Vito Baggiolini, SL/CO

  12. Exploit beam on fixed target Zone access Beamline design and tuning Creation of beam settings Initialization/Shutdown Diagnostics and test Upgrading/Migration • Communication (Middleware) • Security & privilege management • Reservation • Logging Use Case List and Glossary Use case list (categories): Glossary (excerpt): • Beamline, equipment, device, property, ... • configuration, setting, layout, ... • control, supervision, tuning, measurement, ... Vito Baggiolini, SL/CO

  13. Current state of work • SL/CO/AE • Preliminary list of Use Cases & preliminary Glossary • Proposal for Architecture • Good overview (technology, methods, risks, other projects) • Selective Prototyping • Middleware Project • Requirements document • Analysis & Design based on Use Cases (ongoing) • Product evaluation (prototypes implementing use cases) • Java API Project • Device/Property model • Narrow Java CDEV API implemented using SL_Equip • Proposal for a wide “BeansAPI” interface • SPS-2001 Project • Draft definition of “Contracts” Vito Baggiolini, SL/CO

  14. Areas of Collaboration • Use Cases (SL/BI, SL/EA, SL/CO) • Identify further actors and use cases • Detail some use cases • Work on Glossary of Domain Terms • (Sub-)System Boundary definition(SL/BI, SL/CO) • Identify old and new SL/BI (sub-)systems • Define their interfaces • Prototyping • Select, design and implement critical use cases (?) Vito Baggiolini, SL/CO

  15. Conclusions • Use Cases are more than a “fashion” • Good method of collaboration • Lasting investment (beyond requirements) • Part of Unified SW Development Process • But more is needed... • Distribution of responsibilities and work • Allocation & training of human resources • Organization of regular meetings • Coordination with other projects • A Project involving three SL Groups? Vito Baggiolini, SL/CO

More Related