UML: Unified Modeling Language



Similar documents
Introduction. UML = Unified Modeling Language It is a standardized visual modeling language.

Menouer Boubekeur, Gregory Provan

Masters of Science in Software & Information Systems

How To Draw A Cell Phone Into A Cellphone In Unminimal Diagram (Uml)

UML Tutorial: Part 1 -- Class Diagrams.

Object Oriented Analysis and Design and Software Development Process Phases

A UML Introduction Tutorial

Object-oriented design methodologies

Design and UML Class Diagrams

How To Design Software

Design and UML Class Diagrams. Suggested reading: Practical UML: A hands on introduction for developers

Software Development: An Introduction

Tutorial - Building a Use Case Diagram

Object Oriented Programming. Risk Management

Analysis and Design with UML

How to make a good Software Requirement Specification(SRS)

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

I219 Software Design Methodology

UML Tutorial. Table of Contents. 1. Introduction Problem Proposed Solution Assumptions Dependencies

Designing Real-Time and Embedded Systems with the COMET/UML method

UML basics: An introduction to the Unified Modeling Language

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

User experience storyboards: Building better UIs with RUP, UML, and use cases

Use-Case Analysis. ! What is it? ! From where did it come? ! Now part of UML

Section C. Requirements Elicitation

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

3C05: Unified Software Development Process

Announcements. SE 1: Software Requirements Specification and Analysis. Review: Use Case Descriptions

Using UML Part Two Behavioral Modeling Diagrams

ATM Case Study OBJECTIVES Pearson Education, Inc. All rights reserved Pearson Education, Inc. All rights reserved.

SOFTWARE PROCESS MODELS

Diagramming Techniques:

Applying Use Cases to Microcontroller Code Development. Chris Gilbert Cypress Semiconductor

New York University Computer Science Department Courant Institute of Mathematical Sciences

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2

Online Grading Tutorial. Enter Grades

Modeling the User Interface of Web Applications with UML

Writing Use Case Scenarios for Model Driven Development

Aspect Oriented Strategy to model the Examination Management Systems

How To Create A Diagram On Rational Software Development Platform

Tips for writing good use cases.

UML-based Test Generation and Execution

The Unified Software Development Process

Use Cases. Massimo Felici. Massimo Felici Use Cases c

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

Unit I Page No. 1 System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML

UML Activity Diagrams: Versatile Roadmaps for Understanding System Behavior

Object Interaction. Object Diagrams. Object Diagrams Object

Exercise 8: SRS - Student Registration System

Basic Unified Process: A Process for Small and Agile Projects

Course Computer Science Academic year 2012/2013 Subject Software Engineering II ECTS 6

Communication Diagrams

The Expressive Power of UML-based Web Engineering 1

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

Types of UML Diagram. UML Diagrams OOAD. Computer Engineering Sem -IV

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Unit 2.1. Data Analysis 1 - V Data Analysis 1. Dr Gordon Russell, Napier University

UML other structural. diagrams. (Implementation Diagrams UML 1.5) Università di Padova. Facoltà di Scienze MM.FF.NN. Informatica - anno

Scenario-based Requirements Engineering and User-Interface Design

The Business Process Model

II. Conceptual Modeling

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

ATM Case Study Part 1

Comparison between Traditional Approach and Object-Oriented Approach in Software Engineering Development

From Systems to Services

Syllabus M.C.A. Object Oriented Modeling and Design usung UML

TOGAF usage in outsourcing of software development

Universiti Teknologi MARA. Requirement Analysis Using UML Approach for Research Management System (RMS)

Data Analysis 1. SET08104 Database Systems. Napier University

LAB 3: Introduction to Domain Modeling and Class Diagram

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Object Oriented Software Models

UML Diagram Types. Use Cases do the Following. Use Case Diagram

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Improving the Quality of Requirements with Scenarios

Modeling a Problem Scenario with UML

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

CompuScholar, Inc. Alignment to Utah's Computer Programming II Standards

Interaction Diagrams. Use Cases and Actors INTERACTION MODELING

Chap 1. Introduction to Software Architecture

Course Registration Case Study

Getting Started With UML Class Modeling. An Oracle White Paper May 2007

An Introduction to the UML and the Unified Process

Object Oriented Design

ISSUES OF STRUCTURED VS. OBJECT-ORIENTED METHODOLOGY OF SYSTEMS ANALYSIS AND DESIGN

UML basics. Part III: The class diagram. by Donald Bell IBM Global Services

Object-Oriented Data Modeling

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring For the 1 st Quiz

Using Rational Rose to Create Object-Oriented Diagrams

TDDC88 Lab 2 Unified Modeling Language (UML)

3.1 Use Case Diagrams

Transcription:

UML: Unified Modeling Language Story: What UML is for Some of the main diagrams are and what you use them for Class diagrams and class forms Use Case Diagrams Sequence (Event) Diagram State Diagrams An example

UML: Unified Modeling Language Developed by the Three Amigos : Grady Booch, Jim Rumbaugh, Ivar Jacobson Each had their own development methodology More or less emphasis on notation and process UML is a notation and a process Diagrams and notation from UML 1.3 Definition (http://www.rational.com)

Diagrams Class diagrams: Represents static structure Use case diagrams: Sequence of actions a system performs to yield an observable result to an actor Sequence diagrams:shows how groups of objects interact in some behavior State diagrams: Describes behavior of system by describing states of an object

Class Diagrams Better name: Static structure diagram Doesn t describe temporal aspects Doesn t describe individual objects: Only the overall structure of the system There are object diagrams where the boxes represent instances But rarely used other diagrams serve the role of describing object interaction better When used, object diagrams describe static structure, like a data structure

Different Levels of Specifying Classes

Notation in Class Boxes Abstract classes (and operations) in italics + is public, - is private, # is protected Can also specify stereotypes or compartments constructors or query controller

Other variations in Class specifications Use of templates, interfaces, and types Can even specify body of methods

Components of Class Diagrams Multiplicities How many of each? Labels to indicate how reference is viewed Role and Association classes

Navigability and Aggregations Navigability Who owns/contains/has who? Arrows not strictly required Aggregation: Open diamond Part-of relationship, but disagreement Composition: closed diamond Part can only belong to whole

Qualifiers Serves to describe an instance variable that partitions the relationship.

Use Case Diagrams Means of capturing requirements Document interactions between user(s) and the system User (actor) is not part of the system itself But an actor can be another system An individual use case represents a task to be done with support from the system (thus it is a coherent unit of functionality )

Simple Use Case Diagram Reserve book Borrow book Return book

Use Case Diagram with Multiple Actors

Use Cases Are actually defined as text, including descriptions of all of the normal and exception behavior expected Do not reveal the structure of the system Collectively define the boundaries of the system to be implemented Provide the basis for defining development iterations

Example Use Case Diagram (Advanced Features)

Sequence (Event) Diagrams Shows individual objects and how they interact Describes Lifelines of objects Who sends what messages when Can also describe sending messages to self ("self-delegation") Can describe guards, notes, etc.

Example Sequence Diagram

State Diagrams Describe all the possible states a particular object can get into, and the events that lead to those changes Also called a "statechart"

Example State Diagram

Other Kinds of UML Diagrams Collaboration Diagrams An alternative to sequence diagrams for describing the flow of messages between objects

Other kinds of UML Diagrams Activity Diagrams Alternative to statecharts

Other kinds of UML Diagrams Implementation Diagrams Down at the detail level What piece of code goes where? How are they connected?

UML in Real Practice You don't typically use all the diagrams You'll choose between them based on preference and particular situation You typically use many diagrams A single use case may not capture all scenarios If you are going to use statecharts, there are probably lots of objects with states Each sequence/collaboration diagram only shows one interaction

Example: Student Registration System Not going to do all the diagrams Not all types, not even all that completely specify the system But this is an application you know, so the examples may help make sense

Student Registration Class Diagram * prereqs 0..3 0..3 0..3 prereqs 0..3 0..3 0..3 Course name number department credithours prerequisites 1 * *1 CourseGrade course grade termenrolled Transcript coursegrades gradeforcourse: takencourse: 1 * 1 * 1..3 * * 11 Department courses requiredcourses 1 Student transcript major enrollinclass: gradeincourse: takencourse: Section course daysandtime roster addstudent removestudent * 1 * sections Registrar courses getsectionsfor: enrollinsection: dropfromsection: schedule registrar 1 * 1

Partial Use Case Diagram Apply for Admission Enroll in the University Admissions Student Enroll in a Course Withdraw from a Course

States of a Student Apply [ Must be accepted first ] Enrolled EnrollInClass ( Add a Transcript ) Withdraw Registered AddCourse Graduate [ All courses must be completed ]

Sequence Diagram: Registering for Course astudent theregistrar asection thetranscript getsectionsfor: return sections enrollinsection: takencourse: prerequisite have prereq enrolled takencourse: prerequisite state of prereq addstudent: enrolled

Process to Representations OOA CRC Cards (but they re not officially UML) Use Cases OOD Just about all of the rest But variations some detail is later OOP Can actually go UML->code with some tools!

UML v1.3 Copyright Notice Copyright 1997, 1998, 1999 Object Management Group, Inc. Copyright 1997, 1998, 1999 Hewlett-Packard Company Copyright 1997, 1998, 1999 IBM Corporation Copyright 1997, 1998, 1999 ICON Computing Copyright 1997, 1998, 1999 i-logix Copyright 1997, 1998, 1999 IntelliCorp Copyright 1997, 1998, 1999 Electronic Data Services Corporation Copyright 1997, 1998, 1999 Microsoft Corporation Copyright 1997, 1998, 1999 ObjecTime Limited Copyright 1997, 1998, 1999 Oracle Corporation Copyright 1997, 1998, 1999 Platinum Technology, Inc. Copyright 1997, 1998, 1999 Ptech Inc. Copyright 1997, 1998, 1999 Rational Software Corporation Copyright 1997, 1998, 1999 Reich Technologies Copyright 1997, 1998, 1999 Softeam Copyright 1997, 1998, 1999 Sterling Software Copyright 1997, 1998, 1999 Taskon A/S Copyright 1997, 1998, 1999 Unisys Corporation