Use Cases UML. Use Cases What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from.

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Advertisements

A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Unified Modeling Language
CS3773 Software Engineering Lecture 03 UML Use Cases.
Object-Oriented Analysis and Design
Chapter 15: System Modeling with UML
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
UML: Unified Modeling Language
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
© Copyright Eliyahu Brutman Programming Techniques Course.
Use Case Modeling.
Unified Modeling Language
The definition and history of creating the UML Lection №1.
Chapter 7: The Object-Oriented Approach to Requirements
Introduction to UML 1 Quick Tour Why do we model? What is the UML? Foundation elements Unifying concepts Language architecture Relation to other OMG technologies.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Introduction to UML By: Prof. Aiman Hanna Department of Computer Science, Concordia University, Montreal, Canada.
Unified Modeling Language, Version 2.0
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Why Written Requirements?  Unambiguous  Defines goals  Cost of finding a requirements bug later can be 100 times more expensive.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Systems Analysis and Design in a Changing World, 3rd Edition
Programming Logic and Design Fourth Edition, Comprehensive Chapter 15 System Modeling with the UML.
Copyright © 2013 Curt Hill UML Unified Modeling Language.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introduction to UML CS A470. What is UML? Unified Modeling Language –OMG Standard, Object Management Group –Based on work from Booch, Rumbaugh, Jacobson.
©2007 · Georges Merx and Ronald J. NormanSlide 1 Chapter 15 The Unified Modeling Language: a Primer.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Unified Modeling Language, Version 2.0 Chapter 2.
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Basic Characteristics of Object-Oriented Systems
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
UML (Unified Modeling Language)
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Fundamentals of Object Oriented Modeling
Introduction to UML.
Systems Analysis and Design in a Changing World, Fourth Edition
UML Diagrams By Daniel Damaris Novarianto S..
The Movement To Objects
Evolution of UML.
Object-Oriented Analysis and Design
Introduction to the Unified Modeling Language
Systems Analysis and Design With UML 2
Introduction to Unified Modeling Language (UML)
Week 10: Object Modeling (1)Use Case Model
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
UML: Unified modeling language
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
A tool for presentation of Architecture
A tool for presentation of Architecture
Unified Modeling Language
Introduction to UML.
Introduction to the Unified Modeling Language
Analysis models and design models
Software Design Lecture : 15.
Presentation transcript:

Use Cases UML

Use Cases

What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from user stories because they are from the software’s perspective  Functional units are any natural division  Relationships between user types and use cases  User activities, decisions, and objects involved  In terms of user types: classifications that the system recognizes

Use Case Usage  determining features (requirements)  basis for communicating with clients  generating test cases

For requirements sprint  Concept  User stories  Personas  Full set of use cases and requirements

For each sprint  Select the use case(s) that you will support  Identify the requirements they engender  For those cases,  Functional spec: what it does  Test cases: how I know it does it  Design doc: how it does it  User manual: how the user knows what to do  Code: does it

Documenting Use Cases  Simple text description  UML diagrams

Documenting Use Cases  We will use simple text description  Examples from prior years  Butterfly Lab Butterfly Lab  Foreign Language Resource Center Foreign Language Resource Center

UML: Unified Modeling Language A BRIEF DETOUR

What is UML?  software blueprint language: common vocabulary  for analysts, designers, and programmers  not for the customer  applicable to object-oriented problem solving  begins with the construction of a model  models consist of objects  interact by sending messages  attributes: things they know  behaviors or operations: things they can do  state  Also used for business processes  Contradicts “not for the customer”

Modeling (Will return to it)  Based on abstraction  looking only at relevant information  hiding details  Multiple views  as orthogonal as possible  each view has information that  is unique  appears in other views  common information is consistent

Modeling Languages and Processes  Language: syntax  usually graphical  used to express design  Process: steps to take to create a design  Many processes, not a lot of agreement  General consensus has built around UML as a language

UML History  Three well received models in early 90s  Grady Booch (Rational), Object Oriented Analysis and Design  Jim Rumbaugh (GE), Object Modeling Technique  Ivar Jacobson (Ericsson), Object Oriented Software Engineering  By ’95, all three “amigos” were working for Rational (acquired by IBM in 2002)  OMG adopted UML in ’97 (  Version 2.0 completed in 2004

Why Study UML?  software engineering cultural literacy  useful tool  natural model for design  lots of good tools  Rational generates C++ and Java code  Some people expect tools to generate code  good for prototyping  good for development?  Would this be good or bad?

What UML Is and Isn’t  Syntax only  Standardized  Language and tool independent  Generic enough to be  Usable in lots of environments  And leaving you lots of space to misuse it  Extendable through “stereotypes”  New symbols built up from basic ones  Used to develop a business process model  Not a process  There is a companion one—Unified Process

Good Reference  Fowler, UML Distilled, Addison-Wesley  3 rd edition, 2004, covers 2.0  Short  Good summary charts on inside covers

Diagram Types DiagramStatic/DynamicPhase Use caseDynamicRequirements ClassStaticDesign ObjectStaticDesign SequenceDynamicDesign CollaborationDynamicDesign StatechartDynamicDesign ActivityDynamicDesign ComponentStaticCode DeploymentStaticDeploy

UML Views: Diagram Types Use Case – outside view (scenarios) Class – classes and relationships among them Object – instances instead of classes Sequence – how & when objects interact through messages Collaboration – how objects interact through roles Statechart – object behaviors as reflected through states Activity – flow diagram of classes & interactions Component – analogous to class but for code module Deployment – physical configuration of system nodes

Pitfalls of UML  can feel like you’ve accomplished more than design because there are tools and artifacts  need to know when to stop designing  variant of analysis paralysis

Symptoms of UML Fever (Bell, Queue, March 2005)Bell  expecting more from UML than it was ever intended to do (performance, fault tolerance)  taking UML to too detailed a level  UML products become most of the milestones  UML syntax discussions dominate design brainstorming sessions  “if it can’t be described in UML, it’s not relevant”  UML designed without user input

Back to Use Cases

Use Case Diagram  Defines the outside view  Elements  Actors (stick figures): anything outside the system that interacts with it  Use cases (ovals): procedures by which the actor interacts with the system  Solid lines: indicate how actors interact

Use Case Extensions  Dotted lines: dependencies between procedures  Includes (subroutine)  Extends (variation)

Example of Use Case (customer name)

A UML Gallery

Class Diagrams Static structure of the system. What interacts, but not what happens.

Object Diagrams object diagram: instantiates class diagram

Sequence Diagram

Collaboration Diagram  Alternative to sequence diagram  Focus on object roles instead of the times that messages are sent

Statechart Diagram  Often used in real-time embedded systems  Shows the order in which incoming calls normally occur

Activity Diagram General purpose flowchart

And… Component Diagram Deployment Diagram