The Unified Modeling Language (UML)

Similar documents
CISC 322 Software Architecture

Software Service Engineering

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

Software Engineering

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

The Unified Modeling Language User Guide

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

Agenda. Why Model. Why Model? History of OO Modeling Methodologies Object Modeling Technique (OMT) Unified Modeling Language (UML)

From Analysis to Design. LTOOD/OOAD Verified Software Systems

Engineering Design w/embedded Systems

Object-Oriented Analysis and Design

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

Today s Topic. Lecture 5. What is UML? Why Use UML. UML Diagrams. Introduction to UML. What is UML Why use UML? UML Diagrams

Index. : (colon), 80 <<>> (guillemets), 34, 56

MSc programme (induction week) Department of Informatics INTRODUCTION TO UML

Today s Agenda UML. CompSci 280 S Introduction to Software Development. 1.Introduction UML Diagrams. Topics: Reading:

Lecture 8: Use Case -Driven Design. Where UML fits in

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Object Oriented Modeling

2 UML for OOAD. 2.1 What is UML? 2.2 Classes in UML 2.3 Relations in UML 2.4 Static and Dynamic Design with UML. UML for OOAD Stefan Kluth 1

UNIT-I Introduction of Object Oriented Modeling

Class Diagrams in Analysis

Introduction to Software Engineering. 6. Modeling Behaviour

Lecture 13 Introduction to Software Architecture

White Paper. Rose PowerBuilder Link

UML part I. UML part I 1/41

Course 3 7 March

Introduction to UML. Danang Wahyu utomo

Exercise Unit 2: Modeling Paradigms - RT-UML. UML: The Unified Modeling Language. Statecharts. RT-UML in AnyLogic

Object-Oriented Systems Analysis and Design Using UML

UNIT 5 - UML STATE DIAGRAMS AND MODELING

Lecture 33 April 4, Unied Modelling Language. ECE155: Engineering Design with Embedded Systems Winter Patrick Lam version 1

1 OBJECT-ORIENTED ANALYSIS

Index. 6356indx.qxd_SR 7/18/06 03:27 PM Page 283

Unified Modeling Language (UML)

Introduction to Software Engineering. 5. Modeling Objects and Classes

BDSA Introduction to OOAD. Jakob E. Bardram

Interactions A link message

Introduction to UML p. 1 Introduction to the Object-Oriented Paradigm p. 1 What Is Visual Modeling? p. 6 Systems of Graphical Notation p.

Session 8: UML The Unified Modeling (or the Unstructured Muddling) language?

Introduction to UML. (Unified Modeling Language)

Software Engineering Lab Manual

VISHNU INSTITUTE OF TECHNOLOGY Vishnupur, BHIMAVARAM

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Software Development. Modular Design and Algorithm Analysis

Unified Modeling Language (UML)

Software Engineering I (02161)

Advanced Software Engineering

Chapter 5, Analysis: Dynamic Modeling

Principles of Software Construction: Objects, Design and Concurrency. Just enough UML. toad

UNIT-4 Behavioral Diagrams

CreditInfo = [Jane, 16000] AcceptCredit. Fig Process instance where request approval activity is not required

Software Engineering I (02161)

UML (Unified Modeling Language)

Software Design And Modeling BE 2015 (w. e. f Academic Year )

History of object-oriented approaches

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 8: Modelling Interactions and Behaviour

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

Notation Standards for TOGAF:

Rational Software White paper

Activity Diagram Written Date : September 02, 2016

Index. Add Diagram > Sequence Diagram command,

1 Introduction. 1.1 Introduction

Dr.S.S.Riaz Ahamed Principal, Sathak Institute of Technology, Ramanathapuram,India.

Systems Analysis & Design

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Business Process Modeling. Version 25/10/2012

Unified Modelling Language User Guide READ ONLINE

MechEng SE3 Lecture 7 Domain Modelling

02291: System Integration

CSC Advanced Object Oriented Programming, Spring Overview

Practical UML - A Hands-On Introduction for Developers

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Business Process Modeling. Version /10/2017

APPENDIX M INTRODUCTION TO THE UML

UML Modeling. Sumantra Sarkar. 29 th June CIS 8090 Managing Enterprise Architecture

Object-Oriented Software Development Goal and Scope

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

Object-Oriented Software Engineering Practical Software Development using UML and Java

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

Modeling XML Vocabularies with UML: Part I

Object-Oriented Analysis and Design Using UML (OO-226)

UML Diagrams & And Some Of Their Elements

The Dynamic Model. An Introduction to UML. Enterprise Architect. by Geoffrey Sparks. All material (c) Geoffrey Sparks

Comparative Analysis of Architectural Views Based on UML

Basic Structural Modeling. Copyright Joey Paquet,

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS

LABORATORY 1 REVISION

A PROPOSAL FOR MODELING THE CONTROL SYSTEM FOR THE SPANISH LIGHT SOURCE IN UML

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

How and Why to Use the Unified Modeling Language. among software components, architectural-based

Unified Modelling Language

PROCESSI DI PRODUZIONE E GESTIONE DEL SOFTWARE. Analysis and Design with UML. Paola Turci

SEEM4570 System Design and Implementation Lecture 11 UML

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

A Role-based Use Case Model for Remote Data Acquisition Systems *

1 Executive Overview The Benefits and Objectives of BPDM

Transcription:

The Unified Modeling Language (UML) A Very Distilled Introduction to The Unified Modeling Language (UML). A quick introduction to UML is given. Thereafter, the surface of class and activity diagrams and their use is scratched. An UML tool will be used to show UML in practice. November 19, 2001 Christopher Curry Performance Engineering Lab Department of Computer Science, University of Copenhagen (DIKU). Slide No. 1 21. november 2001

Agenda Introduction UML Primer Activity Diagrams Class Diagrams Tools Questions Slide No. 2 Wednesday, 21 November 2001

Introduction UML is a language for Visualizing Specifying Constructing Documenting the artifacts of a software-intensive system. Slide No. 3 Wednesday, 21 November 2001

The detailed introduction The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. The UML gives you the a standard way to write a system s blueprints, covering conceptual things, such as business processes and system functions, as well as concrete things, such as classes written in a specific programming language, database schemas, and reusable software components. Grady Booch, James Rumbaugh, Ivar Jacobsen (1999) The Unified Modeling Language User Guide, ISBN 0-201-57168-4 Slide No. 4 Wednesday, 21 November 2001

Visualizing An explicit model facilitates communication. Some structures transcend what can be represented in programming language. UML = 1 picture = 1000 words! Hence, UML replaces the traditional you think it, you code it. Slide No. 5 Wednesday, 21 November 2001

Specifying Specifying means building models that are precise and unambiguous. UML addresses the specification of all important analysis, design, and implementation decisions. Slide No. 6 Wednesday, 21 November 2001

Constructing UML can be connected to a variety of programming languages (Java, C++, rdb). Forward engineering: generation of code from model into programming language. Reverse engineering: reconstructing model from implementation. Round-trip engineering: going both ways. Keeping both views consistent. Slide No. 7 Wednesday, 21 November 2001

Documenting Facilitates documentation about deliverables, such as requirements documents, functional specifications, and test plans. Materials that are critical in controlling, measuring, and communicating about a system during development and after deployment. UML addresses what many developers neglect: documentation (or at least finish of in the last minute quick and dirty). Slide No. 8 Wednesday, 21 November 2001

Five reasons to model 1. Provide a sound structure for problem solving. 2. Communicate the desired structure and behavior of the system. 3. Visualize and control the system s architecture. 4. Better understand the system and expose opportunities for simplification and reuse. 5. Manage the risks of mistakes. Slide No. 9 Wednesday, 21 November 2001

Manage risks and cost of repair. Development Phase Requirements 0.1 -- 0.2 Design 0.5 Coding 1 Unit test 2 Acceptance test 5 Maintenance 20 Relative Cost of Repair Source: Object-Oriented System Development by Dennis de Champeaux, Douglas Lea, and Penelope Faure (ISBN 0-201-56355-X) Slide No. 10 Wednesday, 21 November 2001

Structural diagrams Class A class diagram shows a set of classes, interfaces, collaborations, and their relationships. Object Object diagrams represent static snapshots of instances of the things found in class diagrams. Component Deployment A component diagrams shows the organization and dependencies among a set of components: classes, interfaces, or collaborations. A deployment diagram shows the configuration of run-time processing nodes and the components that live on them. Grady Booch, James Rumbaugh, Ivar Jacobsen (1999): The Unified Modeling Language User Guide, ISBN 0-201-57168-4 Slide No. 11 Wednesday, 21 November 2001

Behavioural diagrams Use Case Sequence Collaboration Statechart Activity A Use case diagram shows a set of use cases, actors, and their relationship. Use cases diagrams are central to organizing and modeling the behaviour of a system. A Sequence diagram shows a set of objects and the messages sent and received by those objects with emphasis on the time ordering of messages. Sequence diagrams are central to illustrate the dynamic view of a system. As Sequence diagrams, but with emphasis on the structural organization of objects. A Statechart shows a state machine with states, transitions, events, and activities. An Activity diagram shows the flow activities within a system. Slide No. 12 Wednesday, 21 November 2001 Grady Booch, James Rumbaugh, Ivar Jacobsen (1999): The Unified Modeling Language User Guide, ISBN 0-201-57168-4

Activity Diagrams In short An activity is defined as a state of doing something. An activity diagram describes the sequencing of activities. An activity diagram supports conditional and parallel behavior. Activity diagrams are useful for modeling workflows (business processes). Slide No. 13 Wednesday, 21 November 2001

Activity Diagram Example Jyrki Identify appropriate topic Christopher Audience Identify lecturer Ask lecturer Evaluate proposal <<Accept>> <<Decline>> Announcement Inception Elaboration Construction Transition Slide No. 14 Wednesday, 21 November 2001

Activity Diagram Elements (1) Initial state Conditional behavior True Action False Branch for alternate path. A branch has one incoming transition and two or more outgoing transitions. Action state Slide No. 15 Wednesday, 21 November 2001 Final state A merge has two or more incoming transitions and one outgoing transition

Activity Diagram Elements (2) Sales Departments Shipping Department Receive Order A fork represents the splitting of a single flow of control into two or more concurrent flows of control. Parallel behavior Bill Customer Send goods Slide No. 16 Wednesday, 21 November 2001 Swimlanes partition groups of activities. For example organizational units. A join represents the synchronization of two or more flows of control into one sequential flow of control.

Class Diagrams In short A class diagram describes the Types of objects in a system Static relationships among objects (associations and subtypes) Attributes Operations Constraints that apply to how objects are connected. Slide No. 17 Wednesday, 21 November 2001

Three Perspectives on class diagrams Conceptual The concepts in the domain under study. Specification Focus on the interface of the software. Implementation Full blown classes. In practice, the modeler switch perspective at their convenience! Slide No. 18 Wednesday, 21 November 2001

Example: Order class Class name Association with multiplicity Private Attributes (-) Order Customer Public Attributes (+) +datereceived +isprepaid +number : char +price : float * 1 -address -name +creditrating() : char Operations +close() : void +dispatch() : void Mandatory Slide No. 19 Wednesday, 21 November 2001

Associations Class A Class B Conceptual Associations represents conceptual relationships between classes. Specification Associations represents responsibilities. Implementation Unidirectional association or who has the pointer to the other? Bidirectional association. Slide No. 20 Wednesday, 21 November 2001

Attributes and constraints Private attributes. Syntax is a "-" prefix. Public attributes have a "+" as their prefix. Operations. We distinguish between "query" and "modifiers" opertations. -X : float = 0 -Y : float = 0 -Z : float = 0 <<implementationclass>> Point {if Point.X = 0 then Point.X = 1} +getx() : float +gety() : float +getz() : float +new() : void +setpoint( x : float, y : float, z : float ) : void Constraint, in this case very formalized Query operation Modifier operation Slide No. 21 Wednesday, 21 November 2001

Class diagrams tips 1. Classes, associations, attributes, generalizations, and constraints the simple notation can bring you far with your modeling. 2. Find the right perspective: Conceptual, specification or implementation. Align the perspective to the stages of your project. 3. Minimize the number of models. Keep it simple! Slide No. 22 Wednesday, 21 November 2001

Tools www.magicdraw.com www.rational.com Slide No. 23 Wednesday, 21 November 2001

UML Resources Grady Booch, James Rumbaugh, Ivar Jacobsen (1999): The Unified Modeling Language User Guide, ISBN 0-201-57168-4 Martin Fowler, Kendall Scott (2001): UML Distilled Second Edition A Brief Guide to the Standard Object Modeling Language., ISBN 0-201-65783-X Object Management Group (http://www.omg.org/uml/) Slide No. 24 Wednesday, 21 November 2001