OO Analysis and Design with UML 2 and UP

Similar documents
Software Engineering from a

A Conceptual Model of the UML

Introduction to Software Engineering. 5. Modeling Objects and Classes

Model Driven Development Unified Modeling Language (UML)

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Representing System Architecture

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

UML 2.0 State Machines

INTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling

Introduction to Software Engineering. 5. Modeling Objects and Classes

UNIT II. Syllabus. a. An Overview of the UML: Visualizing, Specifying, Constructing, Documenting

References: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 1/13/ UML

Object-Oriented Analysis and Design. Pre-UML Situation. The Unified Modeling Language. Unification Efforts

Unified Modeling Language

Introduction to UML. Danang Wahyu utomo

UML big picture. Perdita Stevens. School of Informatics University of Edinburgh

References: Jacquie Barker,Beginning Java Objects; Martin Fowler,UML Distilled, 9/25/ UML

The UML Extension Mechanisms

Objectives. UML Extension Mechanisms. What is UML? Is the UML enough? UML Extension Mechanisms. Specifications. By Jasmine Farhad

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

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

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

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

CISC 322 Software Architecture

Software Development. Modular Design and Algorithm Analysis

UNIT-II Introduction to UML

Introduction to UML Dr. Rajivkumar S. Mente

Software Service Engineering

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram

Unified Modelling Language

In this Lecture you will Learn: Object Design. Information Sources for Object Design. Class Specification: Attributes

UML Primer. -Elango Sundaram

Introduction to Unified Modelling Language (UML)

Architectural Blueprint

UML Unified Modeling Language

02291: System Integration

S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A

TTool Training. I. Introduction to UML

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M)

02291: System Integration

COSC 3351 Software Design. An Introduction to UML (I)

Basic Structural Modeling. Copyright Joey Paquet,

Object-Oriented Systems Development: Using the Unified Modeling Language

UML Extension for Objectory Process for Software Engineering

Contents(1) Basic Concepts to represent the world Basic Concepts for Reuse Information Hiding Principle and Java Program Superiority of OOT

Index. Add Diagram > Sequence Diagram command,

Rational Software White paper

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

Unified Modeling Language

UNIT 5 - UML STATE DIAGRAMS AND MODELING

INTRODUCING THE UML. Chapter 2

Software Development Methodologies

UML Diagrams & And Some Of Their Elements

UNIT-I Introduction of Object Oriented Modeling

Object-Oriented Analysis and Design Using UML

UNIT V *********************************************************************************************

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

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

MechEng SE3 Lecture 7 Domain Modelling

3.0 Object-Oriented Modeling Using UML

Software Design Methodologies and Testing. (Subject Code: ) (Class: BE Computer Engineering) 2012 Pattern

administrivia today UML start design patterns Tuesday, September 28, 2010

Unified Modeling Language (UML)

Design and UML Class Diagrams

Object Oriented System Development

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

Orthographic Software Modeling A Practical Approach to View Based Development

UML Start-Up Training UB1

Lecture 17: (Architecture V)

A - 1. CS 494 Object-Oriented Analysis & Design. UML Class Models. Overview. Class Model Perspectives (cont d) Developing Class Models

LABORATORY 1 REVISION

Object-Oriented Systems Development: Using the Unified Modeling Language

Use Case Model. Static Structure. Diagram. Collaboration. Collaboration. Diagram. Collaboration. Diagram. Diagram. Activity. Diagram.

Chapter 2, Modeling with UML, Part 2

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

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

UML diagrams. Software artifacts include: SRS, SDS, test cases, source code, technical/user manual, software architecture, etc.

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

Software Engineering

Object-Oriented Analysis Techniques Coad s OOA Technique Short History Terminological Comparison Postscript and Remarks

Object-Oriented and Classical Software Engineering

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

Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures

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

Object-Oriented Systems Development: Using the Unified Modeling Language

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

What's New in UML 2.0

CSE 403: Software Engineering, Spring courses.cs.washington.edu/courses/cse403/15sp/ UML Class Diagrams. Emina Torlak

i219 Software Design Methodology 1. Overview of software design methodology Kazuhiro Ogata (JAIST) Outline of lecture

Software Design and Implementation. Example Architecture KIWC

Enterprise Architect. User Guide Series. UML Models. Author: Sparx Systems. Date: 30/06/2017. Version: 1.0 CREATED WITH

Object-Oriented Design. Module UFC016QM. and Programming. Objects and Classes. O-O Design Unit 2: Faculty of Computing, Engineering

Lecture 13 Introduction to Software Architecture

Advanced Software Engineering

Models are used for several purposes. We believe that some of the most important are:

Programming Language Constructs as Basis for Software Architectures. Stefan Resmerita, WS2015

Pattern for Structuring UML-Compatible Software Project Repositories

New Features of UML2.0 UML2 UML2.0. Koichiro Ochimizu, JAIST UML Structured Classifier. Design View (Internal structure diagram)

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

Transcription:

OO Analysis and Design with UML 2 and UP Dr. Jim Arlow, Zuhlke Engineering Limited Clear View Training 2008 v2.5 1

UML principles Clear View Training 2008 v2.5 2

1.2 What is UML? Unified Modelling Language (UML) is a general purpose visual modelling language Can support all existing lifecycles Intended to be supported by CASE tools Unifies past modelling techniques and experience Incorporates current best practice in software engineering UML is not a methodology! UML is a visual language UP is a methodology Clear View Training 2008 v2.5 3

1.3 UML history Prehistory Schlaer/ Mellor Booch Fusion 1 st unification attempt OMT, Booch, CRC UML work begins Object Management Group RFP UML proposal accepted by OMG UML 1.x UML 2.0 Rumbaugh (OMT) Jacobson (Objectory) Coad/ Yourdon 1994 1995 1996 1997 Booch & Rumbaugh (OMT) join Rational Jacobson (Objectory) joins Rational UML becomes an industry standard 2003 2004 Ongoing UML development A major upgrade to UML at the end of 2003: Greater consistency More precisely defined semantics New diagram types Backwards compatible Clear View Training 2008 v2.5 4

1.4 UML future? The future of development of UML will be increasingly affected by Model Driven Architecture (MDA) MDA Platform Independent Model map Platform Specific Model generate Code deploy Clear View Training 2008 v2.5 5

1.5 Why "unified"? UML is unified across several domains: Across historical methods and notations Across the development lifecycle Across application domains Across implementation languages and platforms Across development processes Across internal concepts Clear View Training 2008 v2.5 6

1.6 Objects and the UML UML models systems as collections of objects that interact to deliver benefit to outside users Static structure What kinds of objects are important What are their relationships Dynamic behaviour Lifecycles of objects Object interactions to achieve goals Clear View Training 2008 v2.5 7

1.7 UML Structure In this section we present an overview of the structure of the UML All the modelling elements mentioned here are discussed later, and in much more detail! Building blocks Common mechanisms Architecture Clear View Training 2008 v2.5 8

1.8 UML building blocks Things Modelling elements Relationships Tie things together Diagrams Views showing interesting collections of things Are views of the model Clear View Training 2008 v2.5 9

1.8.1 Things Structural things nouns of a UML model Class, interface, collaboration, use case, active class, component, node Behavioural things verbs of a UML model Interactions, state machine Grouping things Package Models, frameworks, subsystems Annotational things Notes package Tagged values Some Information about a thing Clear View Training 2008 v2.5 10

1.8.2 Relationships relationship UML syntax brief semantics dependency association The source element depends on the target element and may be affected by changes to it. The description of a set of links between objects. aggregation The target element is a part of the source element. composition A strong (more constrained) form of aggregation. containment generalization realization The source element contains the target element. The source element is a specialization of the more general target element and may be substituted for it. The source element guarantees to carry out the contract specified by the target element Clear View Training 2008 v2.5 11

1.8.3 UML has 13 types of diagram italics indicates an abstract category of diagram types normal font indicates an actual type of diagram that you can create Structure diagrams model the structure of the system (the static model) Behavior diagrams model the dynamic behavior of the system (the dynamic model) Each type of diagram gives a different type of view of the model Clear View Training 2008 v2.5 12

1.8.3 UML 2 diagram syntax frame heading contents area heading syntax: <kind> <name> <parameters> N.B. <kind> and <parameters> are optional The heading specifies the kind of diagram, it s name and any information (parameters) needed by elements in the diagram The frame may be implied by a diagram area in the UML tool implied frame Clear View Training 2008 v2.5 13

1.9 UML common mechanisms UML has four common mechanisms that apply consistently throughout the language: Specifications Adornments Common divisions Extensibility mechanisms Clear View Training 2008 v2.5 14

1.9.1 Specifications icon or modeling element BankAccount name accountnumber deposit() withdraw() calculateinterest() semantic backplane Class specification Deposit Use case specification Dependency specification Behind every UML modelling element is a specification which provides a textual statement of the syntax and semantics of that element These specifications form the semantic backplane of the model Clear View Training 2008 v2.5 15

1.9.2 Adornments Every UML modelling element starts with a basic symbol to which can be added a number of adornments specific to that symbol We only show adornments to increase the clarity of the diagram or to highlight a specific feature of the model Window Window {author = Jim, status = tested} +size : Area=(100,100) #visibility : Boolean = false +defaultsize: Rectangle #maximumsize : Rectangle -xptr : XWindow* +create() +hide() +display( location : Point ) -attachxwindow( xwin : XWindow*) Clear View Training 2008 v2.5 16

1.9.3 Common divisions Classifier and instance A classifier is an abstraction, an instance is a concrete manifestation of that abstraction The most common form is class/object e.g. a classifier might be a BankAccount class, and an instance might be an object representing my bank account Generally instances have the same notation as classes, but the instance name is underlined 33 types of classifiers Interface and implementation An interface declares a contract and an implementation represents a concrete realization of that contract BankAccount balance getbalance() «instantiate» myaccount:bankaccount balance = 100.0 Borrowable LibraryItem Clear View Training 2008 v2.5 17

1.9.4 Extensibility mechanisms constraint note { each Ticket has a unique id } «entity» Ticket {version = 1.1} id stereotype tagged value Stereotypes A stereotype allows us to define a new UML modelling element based on an existing one We define the semantics of the stereotype ourselves Stereotypes add new elements to the UML metamodel Written as «stereotypename» Constraints Extends the semantics of an element by allowing us to add new rules about the element Written as { some constraint } Tagged values are attached Allows us to add new, ad-hoc information to an element s specification to a stereotype Written as { tag1 = value1, tag2 = value2 } Clear View Training 2008 v2.5 18

1.9.4.2 Stereotype syntax options stereotype name in guillemets «entity» Ticket stereotype preferred stereotype icon Ticket icon preferred stereotype name and icon «entity» Ticket stereotyped relationship «control» JobManager «call» Scheduler A stereotype introduces a new modelling element and so we must always define semantics for our stereotypes Each model element can have many stereotypes Clear View Training 2008 v2.5 19

1.9.4.4 UML profiles A profile customizes UML for a specific purposes A UML profile is a collection of stereotypes, tagged values and constraints The tagged values and constraints are associated with stereotypes Stereotypes extend one of the UML meta-model elements (e.g. Class, Association) Any element that gets the stereotype also gets the associated tagged values and constraints Clear View Training 2008 v2.5 20

1.10 Architecture "The organisational structure of a software system" UML specification & IEEE Std. 610.12-1990 RUP has a 4+1 view of architecture vocabulary functionality Design view Implementation view system assembly configuration management behaviour Process view Use case view Deployment view The 4+1 View of Architecture, Philippe Kruchten, IEEE Software, 12(6) Nov. 1995, p. 45-50 performance scalability throughput system topology distribution delivery installation Clear View Training 2008 v2.5 21

1.11 Summary The UML is composed of building blocks: Things Relationships Diagrams The UML has four common mechanisms: Specifications Adornments Common divisions Extensibility mechanisms The UML is based on a 4+1 view of system architecture Clear View Training 2008 v2.5 22

Thanks for your attention Clear View Training 2008 v2.5 23