UML: Use Cases Michael L. Collard, Ph.D. Department of Computer Science Kent State University.

Slides:



Advertisements
Similar presentations
1 Aspects of IEEE P1471 Viewpoints in Unified Modeling Language (UML) Manzur Ashraf, BRAC University Humayra Binte Ali, Dhaka University Md.Mahfuz Ashraf,
Advertisements

UML Diagrams Jung Woo. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems, business.
Chapters 7 & 9 System Scope
Chapter 7 Structuring System Process Requirements
Analysis Modeling.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
Chapter 7 – Object-Oriented Design
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
Unified Modeling Language UML Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
Use Cases and Scenarios
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Object Oriented Analysis and Design Using the UML
UML. Overview of UML Diagrams Structural : element of spec. irrespective of time Class Component Deployment Object Composite structure Package Behavioral.
Unified Modeling Language
Chapter 7 Structuring System Process Requirements
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
2005/05/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Chapter 7 Structuring System Process Requirements
The Unified Modeling Language Part I Omar Meqdadi SE 2730 Lecture 6 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
1 Structuring Systems Requirements Use Case Description and Diagrams.
TAL7011 – Lecture 4 UML for Architecture Modeling.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
R R R CSE870: Advanced Software Engineering: UML-- Use Cases1 Use Cases and Scenarios.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
UML (Unified Modeling Language)
Prof. Hany H. Ammar, CSEE, WVU, and
UML - Development Process 1 Software Development Process Using UML.
Chapter 6: System Models Omar Meqdadi SE 273 Lecture 6 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
Unified Modeling Language. What is UML? Standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems,
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Design Review.
UML Diagrams: Class Diagrams The Static Analysis Model
Case Study -- Weather system
UML Diagrams By Daniel Damaris Novarianto S..
Component and Deployment Diagrams
Use Cases and Scenarios
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Department of Computer Science
UML Use Case Diagrams.
UML Diagrams Jung Woo.
Online Shopping APP.
Unified Modeling Language
Design and Implementation
Analysis models and design models
Software Design Lecture : 15.
Software Development Process Using UML Recap
From Use Cases to Implementation
Presentation transcript:

UML: Use Cases Michael L. Collard, Ph.D. Department of Computer Science Kent State University

Requirements Describes what the system is supposed to do Often is given in english (i.e., not in a formal language) If a system does not meet the actual requirements, then it has failed Requirements Engineering, Requirements Elicitation 2

Types of Requirements functional –System must perform the given action non-functional –System must perform actions within certain constraints –time, space, security, etc. 3

Diagram Types (Review) Structural Diagrams –focus on static aspects of the software system –Class, Object, Component, Deployment Behavioral Diagrams –focus on dynamic aspects of the software system –Use-case, Interaction, State Chart, Activity

Structural Diagrams (Review) Class Diagram –set of classes and their relationships. Describes interface to the class Object Diagram –set of objects (class instances) and their relationships Component Diagram –logical groupings of elements and their relationships Deployment Diagram –set of computational resources (nodes) that host each component.

Behavioral Diagrams (Review) Use Case Diagram –high-level behaviors of the system, user goals, external entities: actors Sequence Diagram –focus on time ordering of messages Collaboration Diagram –focus on structural organization of objects and messages State Chart Diagram –event driven state changes of system Activity Diagram –flow of control between activities

Diagrams & Process (Review) Requirements elicitation – High-level capture of user/system requirements –Use Case Diagram Identify major objects and relationships –Object and Class Diagrams Create scenarios of usage –Class, Sequence and Collaboration Diagrams Generalize scenarios to describe behavior –Class, State and Activity Diagrams Refine and add implementation details –Component and Deployment Diagrams

8 UML Driven Process (Review)

9 Modeling a System’s Architecture Design View Process View Deployment View Implementation View Use Case View Behavior Vocabulary Functionality Performance Scalability Throughput System assembly Configuration management System topology Distribution Delivery Installation

10 Use Case Diagrams Description of a system’s behavior as it responds to a request that originates from outside of that system. Describes a set of sequences. Each sequence represents the interactions of things outside the system (actors) with the system itself (and key abstractions) Use cases represent the functional requirements of the system (non-functional requirements must be given elsewhere)

11 Use case Each use case has a descriptive name Describes what a system does but not how it does it. Use case names must be unique within a given package Examples: withdraw money, process loan

12 Actor Actors have a name An actor is a set of roles that users of use cases play when interacting with the system They are external entities They may be external an system or DB Examples: Customer, Loan officer

13 What is a Use Case Use case captures some user-visible functionality Granularity of functionality depends on the level of detail in your model Each use case achieves a discrete goal for the user Use Cases are generated through requirements elicitation

14 Goals vs. Interaction Goals – something the user wants to achieve –Format a document –Ensure consistent formatting of two documents Interaction – things the user does to achieve the goal –Define a style –Change a style –Copy a style from one doc to the next

15 Developing Use Cases Understand what the system must do – capture the goals Understand how the user must interact to achieve the goals – capture user interactions Identify sequences of user interactions Start with goals and refine into interactions

16 Example

17 Refining Use Cases Separate internal and external issues Describe flow of events in text, clearly enough for customer to understand –Main flow of events –Exceptional flow of events Show common behaviors with includes Describe extensions and exceptions with extends

18 Extend and Include

19 System Boundary

20 Use Case – Buy Item Actors: Customer (initiator), Cashier Type: Primary Description: The costumer arrives at the checkout with items to purchase. Cashier records purchases and collects payment. Customer leaves with items

21 Example (generalization)

22 Example: Weather Monitoring Station This system shall provide automatic monitoring of various weather conditions. Specifically, it must measure: –wind speed and direction –temperature –barometric pressure –humidity The system shall also proved the following derived measurements: –wind chill –dew point temperature –temperature trend –barometric pressure trend

23 Weather Monitoring System Requirements The system shall have the means of determining the current time and date so that it can report the highest and lowest values for any of the four primary measurements during the previous 24 hour period. The system shall have a display that continuously indicates all eight primary and derived measurements, as well as current time and date. Through he use of a keypad the user may direct the system to display the 24 hour low or high of any one primary measurement, with the time of the reported value. The system shall allow the user to calibrate its sensors against known values, and set the current time and date.

24 Hardware Requirements Use a single board computer (486?) Time and date are supplied by an on-board clock accessible via memory mapped I/O Temperature, barometric pressure, and humidity are measured by on board circuits with remote sensors. Wind direction and speed are measure from a boom encompassing a wind vane (16 directions) and cups (which advance a counter every revolution) User input is provided through an off the shelf keypad, managed by onboard circuit supplying audible feed back for each key press. Display is off the self LCD with a simple set of graphics primitives. An onboard timer interrupts the computer every 1/60 second.

25 Display and Keypad LCDDisplay – Values and current system state (Running, Calibrating, Selecting, Mode) –Operations: drawtext, drawline, drawcircle, settextsize, settextstyle, setpensize Keypad allows user input and interaction –Operations: last key pressed –Attributes: key Date: Time: Temp: Pressure : Humidity : N S EW TempHumPress WindTimeDate SelectCalMode

26 Use Diagrams

27 Scenario: Powering Up 1.Power is turned on 2.Each sensor is constructed 3.User input buffer is initialized 4.Static elements of display are drawn 5.Sampling of sensors is initialized The past high/low values of each primary measurement is set to the value and time of their first sample. The temperature and Pressure trends are flat. The input manager is in the Running state

28 Scenario: Setting Time and Date 1.User presses Select key 2.System displays selecting 3.User presses any one of the keys Time or Date. Any other key is ignored except Run 4.System flashes the corresponding label 5.Users presses Up or Down to change date or time. 6.Control passes back to step 3 or 5 User may press Run to abandon the operation.

29 Scenario: Display highest and lowest 1.User presses Select key 2.System displays selecting 3.User presses any one of the keys (Wind, Temp, Humidity, Pressure). Any other key is ignored except Run 4.System flashes the corresponding label 5.Users presses Up or Down to select display of highest or lowest in 24 hour period. Any other key press is ignored except for Run 6.System displays value with time of occurrence 7.Control passes back to step 3 or 5 User may press Run to abandon the operation.

30 Use Diagrams

31 Well-Structured Use Cases Names a single identifiable and reasonably atomic behavior of the system Factors common behavior by pulling such behavior from other use cases that include it Factors variants by pushing such behavior into other uses cases that extend it Describes flow of events clearly Described in a minimal set of scenarios