Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.

Slides:



Advertisements
Similar presentations
Writing Good Use Cases - Instructor Notes
Advertisements

OOAD – Dr. A. Alghamdi Mastering Object-Oriented Analysis and Design with UML Module 3: Requirements Overview Module 3 - Requirements Overview.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
UML Unified Modeling Language Basic Concepts. UML What is the UML*? UML stands for Unified Modeling Language The UML combines the best of the best from:
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
UML Overview Unified Modeling Language Basic Concepts.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Chapter 2 Text Introduction to Rational Unified Process Modified.
SwE 313 Case Study Registration System.
Close Registration Brief Description
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process.
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Fundamentals of Visual Modeling with UML Module 2: Principles of Visual Modeling.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Introduction to Rational Unified Process.
1 Business Models Modeling. 2 Why Model the Business Business modeling is a technique to help answer critical questions, such as: What do the workers.
Page 1 R Copyright © 1997 by Rational Software Corporation Analysis and Design with UML.
An Introduction to Rational Rose Real-Time
Software Architecture and the UML Grady Booch. 2 Dimensions of software complexity Higher technical complexity - Embedded, real-time, distributed, fault-tolerant.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 19 Chapter 2 Text Introduction to Rational Unified Process.
Principles of Object Technology Module 1: Principles of Modeling.
RUP Requirements RUP Artifacts and Deliverables
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
Requirements Analysis via Use Cases SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
SWEN 5130 REQUIREMENTS ENGINEERING Unified Modeling Language Short Tutorial By Yuvaraj Mani Teaching Assistant SWEN 5130 Spring semester 2006.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Unified Software Practices v 5.0 Copyright  1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process Adapted by Dr. Spiegel.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
ARTIFACT UML Actor A Use Case 1 Use Case 2 Actor B Document FileManager GraphicFile File Repository DocumentList FileList Customer name addr withdraw()
CSC 131 Fall 2006 Lecture # 5 UML Use Cases. UML The UML is a graphical language for  specifying  visualizing  constructing  documenting the artifacts.
Use Case Model Use case diagram.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
1 The Unified Modeling Language. 2 The Unified Modeling Language (UML) is a standard language for writing software blueprints. The UML may be used to.
CS 772: Global Knowledge Networks V. “Juggy” Jagannathan CSEE, West Virginia University.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Chapter 2 Text Introduction to Rational Unified Process.
Rational Unified Process Fundamentals Module 3: Disciplines I.
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
Unified Software Practices v 5.0-D Copyright  1998 Rational Software, all rights reserved 1 Chapter 2 Text Introduction to Rational Unified Process Modified.
Use Case Model Use case diagram. Relevant Requirements Artifacts Use-Case Model Supplementary Specification Use-Case Specifications... Glossary Actors.
UML Diagrams for Caradon developers Daniel DG Moth Core Development Group, Research Student University of Brighton, MSc Object Oriented Software Technology.
Introduction to Rational Unified Process
1 What is the Software Life Cycle? The stages of developing a software application Requirements Analysis High-level Design Plan Low-level Design Implementation.
Essentials of Visual Modeling w/ UML Instructor Notes
Object Oriented Analysis and Design using the UML Use-Case Analysis Adapted by Dr. Spiegel from Slides Provided by Rational Software.
Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts Rational Unified Process Fundamentals Module 3: Core Workflows I - Concepts.
UML Activity Diagrams.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 3: Outlining Use Cases.
UML - Development Process 1 Software Development Process Using UML.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
GOVT. ENGINEERING COLLEGE, AJMER. A SEMINAR PRESENTATION ON UNIFIED MODELING LANGUAGE(UML) SUBMITTED TO:-PRESENTED BY:- Dr. REENA DADHICHPALLAVI VASHISTHA.
Introduction to UML.
Business Models Modeling.
Use Case Model Use case diagram.
The Unified Modeling Language
Software Design Lecture : 15.
Software Development Process Using UML Recap
Presentation transcript:

Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003

2 Outline UML Use cases Sequence diagrams Activity diagrams How to write use cases

3 Note About Slides Some of these slides are from a course by Rational Software Corp. Some of these slides are from Alastair Cockburn Please respect their copyrights

4 What Is the UML? The Unified Modeling Language (UML) is a language for Specifying Visualizing Constructing Documenting the artifacts of a software-intensive system

5 UML History

Inputs to UML Fusion Operation descriptions, Message numbering Meyer Before and after conditions Harel State charts Wirfs-Brock Responsibilities Embley Singleton classes, High-level view Odell Classification Shlaer - Mellor Object Lifecycles Gamma, et.al Frameworks, patterns, notes Booch Jacobson Rumbaugh

7 The UML Provides Standardized Diagrams Deployment Diagram Deployment Diagram Use Case Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Sequence Diagrams Sequence Diagrams State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams State Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Component Diagrams Model State Diagrams State Diagrams State Diagrams State Diagrams Object Diagrams Object Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Scenario Diagrams Collaboration Diagrams Collaboration Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Use Case Diagrams Activity Diagrams Activity Diagrams State Diagrams State Diagrams State Diagrams State Diagrams Class Diagrams Class Diagrams

8 UML Diagrams Are Key System Artifacts Actor A Use Case 1 Use Case 2 Actor B Document FileManager GraphicFile File Repository DocumentList FileList Customer name addr withdraw() fetch() send() receive() > Forward Engineering(Code Generation) and Reverse Engineering Executable System User Interface Definition Domain Expert Use Case 3 Source Code edit, compile, debug, link Use-Case Diagram Class Diagram Collaboration Diagram Sequence Diagram Component Diagram State Diagram Package Diagram Deployment Diagram Class

9 Rational Unified Process (RUP) Management Environment Business Modeling Implementation Test Analysis & Design Preliminary Iteration(s) Iter. #1 Phases Process Workflows Iterations Supporting Workflows Iter. #2 Iter. #n Iter. #n+1 Iter. #n+2 Iter. #m Iter. #m+1 Deployment Configuration Mgmt Requirements ElaborationTransitionInceptionConstruction

10 Business Modeling Workflow

11 Requirements Workflow

12 Analysis & Design Workflow

13 Outline UML Use cases Sequence diagrams Activity diagrams How to write use cases

14 Use-Case Name Brief description Flows of Events Relationships Activity and State diagrams Use-Case diagrams Special requirements Preconditions Postconditions Other diagrams Use-Case Reports... Use Case Model Actors Use Cases

Example Use-Case Diagram Submit Grades Professor View Report Card Select Courses to Teach Student Course Catalog Register for Courses Maintain Student Information Maintain Professor Information Registrar Billing System Close Registration Login

16 Use-Case Flows of Events Has one normal, basic flow ("Happy Path" or "Sunny Day Scenario") Several alternative flows Regular variants Odd cases Exceptional flows handling error situations “Happy Path”

What Are Scenarios ? A scenario is an instance of a use case

18 Checkpoints: Actors Have all the actors been identified? Is each actor involved with at least one use case? Is each actor really a role? Should any be merged or split? Do two actors play the same role in relation to a use case? Do the actors have intuitive and descriptive names? Can both users and customers understand the names?

19 Checkpoints: Use-Cases Is each use case involved with at least one actor? Is each use case independent of the others? Do any use cases have very similar behaviors or flows of events? Do the use cases have unique, intuitive, and explanatory names so that they cannot be mixed up at a later stage? Do customers and users alike understand the names and descriptions of the use cases?

A First Step Towards Executables Use CasesAnalysis Classes Source Code ExecDesign Classes

21 Use Case Realization Use CaseUse Case Realization > Class Diagrams Sequence Diagrams Collaboration Diagrams Use Case Realization Documentation Use Case ModelDesign Model

22 Outline UML Use cases Sequence diagrams Activity diagrams How to write use cases

23 Example: Sequence Diagram : Student : Maintain ScheduleForm : Registration Controller : Schedule : MainForm : CourseCatalog System 5: // select 4 primary and 2 alternate offerings( ) 6: // add courses to schedule( ) 7: // create with offerings( ) 1: // select maintain schedule( ) 2: // open schedule form( ) 3: // get course offerings( ) 4: // get course offerings( )

24 AF3 One Interaction Diagram Not Good Enough Alternate Flow 4Alternate Flow 5Alternate Flow n Alternate Flow 1Alternate Flow 2Alternate Flow 3 AF1 AF2 Basic Flow

25 Outline UML Use cases Sequence diagrams Activity diagrams How to write use cases

26 Select Course Check Schedule Check Pre-requisites Assign to Course Resolve Conflict Update Schedule [checks completed] [checks failed] [student added to course] Example: Activity Diagram

27 Outline UML Use cases Sequence diagrams Activity diagrams How to write use cases

28 Cartoon of the Day

29 Switch to other talk...