UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University 16-11-2003.

Slides:



Advertisements
Similar presentations
Use Case Diagrams.
Advertisements

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 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Practical Business Modeling in the Unified Process Tom Morgan Software Architect, Fidelity National Information Services
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Use-case Modeling.
Chapter 18 Object-Oriented Systems Analysis and Design Using UML
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 12: Chapter 22 Topics: UML (Contd.) –Relationship Structural Behavioral –Diagram Structural Behavioral.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Lecture 11: Chapter 22 Topics –Object Oriented Modeling –UML –Use case.
COST G9 - Work group 2 Cadastral science meeting Aalborg, Dk Modeling methodology for real estate transactions Radoš Šumrada Faculty.
Use Case Analysis Chapter 6.
CSCI928 Software Engineering Requirements & Specifications Modeling System Interactions Tri A. Kurniawan, M.Eng. Ph.D Candidate
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Use Case Modeling.
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
Unified Modeling Language
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
USE Case Model.
Requirements Management with Use Cases Module 6: Define the System Requirements Management with Use Cases Module 6: Define the System.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Prepared by Afra`a Sayah. Introduction. Weekly Tasks. Plane Phase. Analysis Phase. Design Phase. Report Rules. Conclusion. 2.
Prepared by: Sanaz Helmi Hoda Akbari Zahra Ahmadi Sharif University of Tech. Summer 2006 An Introduction to.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
IT 21103/41103 System Analysis & Design. Chapter 05 Object Modeling.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
1 Use Case Diagrams Use Case Actor Use case description Use case realization (Scenario) Use case relationships –Extends –Uses.
1 Structuring Systems Requirements Use Case Description and Diagrams.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Use Case Diagrams.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
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 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
Unit-3 Identifying use cases Object Analysis Classification
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
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.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Object Oriented Analysis and Design Introduction to Rational Rose.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Use Cases UML. Use Cases What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from.
Use Case Analysis Chapter 6.
Introduction to UML.
Chapter 5 System modeling
Systems Analysis and Design in a Changing World, 6th Edition
Lec-5 : Use Case Diagrams
Unified Modeling Language
Introduction to Unified Modeling Language (UML)
UML Use Case Diagrams.
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design With UML 2
University of Houston-Clear Lake
Software Design Lecture : 15.
Seminar 2 Design of Informatics Systems
Use Case Modeling Part of the unified modeling language (U M L)
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Software Development Process Using UML Recap
Presentation transcript:

UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University

Importance of software Modeling A software application is like a city Modeling = Architecture OOP = Civil Engineering UML Classes = Blueprints of Buildings UML is a common vocabulary for all software specialists

UML Modeling A model is an abstraction of a situation Models consist of objects Objects are alive: –They know their attributes –They can do things using their methods –They exist in different states –Each object is unique, it is not any other object. Objects live in communities –they exchange messages –They have relationships with each other Objects live in a world, and there are other worlds Classes are blueprints of objects Object are instances of classes

UML Diagrams Use Case diagrams Class diagrams Object diagrams Sequence diagrams Collaboration diagrams State chart diagrams Activity diagrams Component diagrams Deployment diagrams

Use Case Diagrams Describe what the system does from the view of an external observer. Use cases represent scenarios of what could happen to the system. A Use Case is a summary of a scenario of some related tasks

Example Use Case “A patient calls the clinic to make an appointment for a yearly checkup. The receptionist finds the nearest empty time slot in the appointment book and schedules the appointment for that time slot.”

Example Use Case diagram A Use Case diagram is a summary of Use Cases

Use Case Diagrams Use Case diagrams show the system boundaries

Use Case Diagrams Generalization = one is a special kind of the other

Use Case Diagrams Includes = one invokes the other

Use Case Diagrams Extend = one is a variation of the other

Understanding Use Cases Ask “what”, “when”, “why” questions Explain what you understand Keep doing that until you get a precise mutual understanding

Writing Use Cases Use cases should be names using verbs Use Cases should be described: –What makes them happen –What are the conditions that they happen –What are the input messages –What are the output messages –What are all the other conditions and restraints –What are the exceptions Use Cases are tools use by Actors to get results

Why write Use Cases Because Use Cases –Help you understand WHAT you are modeling –Help you communicate with your clients –Help you estimate your requirements –Help you introduce the system to your team –Help you plan your design phase –Help you plan your testing phase –Help you write your documentation (How-to’s)

How to write Use Cases At least, you should describe: –Who are the actors –Why does it happen? (the goal and/or context) –When does it happen? (the triggering event) –What happens? (the normal flow) –What else? (alternative and/or exceptional flows) –What are all the business rules? Do not bother writing how it happens.

Writing effective Use Cases Actor names are in single. Actors represent roles, not persons Use case name is a verb followed by a direct object. Show only Use Cases that are important to the user Show only actors that are directly related to the Use Cases Create many detailed Use Case diagrams to analyze requirements Group common Use Cases in Packages.

Common Use Case pitfalls Unclear system boundary The Use Case is written from the system view The actor names are inconsistent There are too many Use Cases The Actor to Use Case relationship is too complicated The use-case specifications are too long The use-case specifications are confusing Incorrect description of the Use Case functionality The customer doesn't understand the use cases The use cases are never finished

Quiz 1 A Use Case is –A diagram showing all the functionalities of the system –A functionality of the system –An interaction between parts of the system –A functionality that is used by some outside system to make the system perform some tasks for some reason –A Use Less thing…

Quiz 2 Three items of interest in use case diagrams are: –Objects, activities, and communications –Actors, messages, and activities –Objects, use cases, and activities –Actors, use cases, and communications

Use Cases in Rational Rose Start Rational Rose Rose creates a new model, and prompts for template Click Cancel to create an abstract UML model

Use Cases in Rational Rose Close the default class diagram Open the main Use Case diagram You may want to place the diagram toolbar above the workspace

The Use Case toolbar in Rational Rose Package Use Case Actor Message Dependency Generalization

Creating Use Cases in Rational Rose

Actor properties in Rational Rose

Use Case properties in Rational Rose

Message properties in Rational Rose

Imagine that you are responsible of modeling a specific system for a customer. –Define the actors of this system –Draw A Use Case diagram for the system –Define the name and its system boundaries. –Write a short and explanatory description for the system, the actors, and the Use Cases. –Make a draft requirement analysis –Make a draft design plan –Make a draft test plan –Make a draft documentation plan Did you find the Use Case modeling useful? Explain your opinion Duration 90 minutes Workshop