+ Public - Private # Protected # Protected (Overridable) Static

Similar documents
Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

OO Techniques & UML Class Diagrams

Introduction to Software Engineering. 5. Modeling Objects and Classes

Unified Modeling Language (UML) Class Diagram

LABORATORY 1 REVISION

CSCI 253. Outline. Rationale. George Blankenship 1. Object Oriented Design: UML. George Blankenship

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

Modeling with UML. (1) Use Case Diagram. (2) Class Diagram. (3) Interaction Diagram. (4) State Diagram

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

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

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

Class modelling (part 2)

Class modelling (part 2)

UML. By Somenath Mukhopadhyay.

UML Tutorial. Unified Modeling Language UML Tutorial

UML REFERENCE SHEETS. 2013, 2014 Michael Marking; all rights reserved, including moral rights. Web site:

Chapter 2: The Object-Oriented Design Process

CSSE 220 Day 15. Inheritance. Check out DiscountSubclasses from SVN

Introducing the UML Eng. Mohammed T. Abo Alroos

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright

Basic Structural Modeling. Copyright Joey Paquet,

Multiple Inheritance, Abstract Classes, Interfaces

Introduction to UML and Class Diagrams

Object-Oriented Systems Analysis and Design Using UML

Data and Process Modelling

Inheritance and Polymorphism

Activity Diagram Written Date : September 02, 2016

UML Component Diagrams A.Y 2018/2019

CS 451 Software Engineering

Computer Science for Engineers

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

CS 370 REVIEW: UML Diagrams D R. M I C H A E L J. R E A L E F A L L

UML UNIFIED MODELLING LANGUAGE EXEMPLIFIED ON BLACKJACK. Object Oriented Programming (Samy Zafrany)

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

Introduction to UML and Class Diagrams

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

Class diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch

Unified Modeling Language

UML Sequence Diagrams for Process Views

Object-Oriented and Classical Software Engineering

UML Fundamental. OutLine. NetFusion Tech. Co., Ltd. Jack Lee. Use-case diagram Class diagram Sequence diagram

Meltem Özturan

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

CS1004: Intro to CS in Java, Spring 2005

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

OVERRIDING. 7/11/2015 Budditha Hettige 82

The University of Nottingham

Course 3 7 March

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

Using Tables, Sparklines and Conditional Formatting. Module 5. Adobe Captivate Wednesday, May 11, 2016

Chapter 6: Entity-Relationship Model

Inheritance and Polymorphism

Object Oriented Programming in Java. Jaanus Pöial, PhD Tallinn, Estonia

Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub

Chapter 5: Structural Modeling

Lesson 4 Customize the ToolBox

Inheritance and Polymorphism

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

Inheritance, Polymorphism, and Interfaces

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

Visual Modeling with UML 2

Chapter 2: Entity-Relationship Model

Design Engineering. Dr. Marouane Kessentini Department of Computer Science

Lecture 17: (Architecture V)

Software Development Cycle. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language. Unified Modeling Language.

UNIT-II Introduction to UML

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

UML- a Brief Look UML and the Process

Inheritance. Inheritance Reserved word protected Reserved word super Overriding methods Class Hierarchies Reading for this lecture: L&L

Object Oriented Features. Inheritance. Inheritance. CS257 Computer Science I Kevin Sahr, PhD. Lecture 10: Inheritance

Subclass Gist Example: Chess Super Keyword Shadowing Overriding Why? L10 - Polymorphism and Abstract Classes The Four Principles of Object Oriented

Requirements Engineering

IBM TRIRIGA Application Platform Version 3.2. Graphics User Guide. Copyright IBM Corp i

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline ::

IBM TRIRIGA Application Platform Version 3.3. Graphics User Guide. Copyright IBM Corp i

CS445 Week 9: Lecture

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

PROGRAMMING III OOP. JAVA LANGUAGE COURSE

Unit Wise Questions. Unit-1 Concepts

Introduction to Software Engineering. 5. Modeling Objects and Classes

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011

Chapter 2, lecture 2 Modeling with UML

CMPT 354 Database Systems I

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

Vidyalankar. T.Y. Diploma : Sem. VI [IF/CM] Object Oriented Modeling and Design Prelim Question Paper Solution

Learning Objectives. C++ For Artists 2003 Rick Miller All Rights Reserved xli

Unified Modeling Language (UML)

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

Structured and Object Oriented Analysis and Design

Java SE 7 Programming

UNIT 5 - UML STATE DIAGRAMS AND MODELING

Question Sheet There are a number of criticisms to UML. List a number of these criticisms.

A Rapid Overview of UML

Chapter 3 System Models

Unified Modeling Language

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

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

Review The Big Picture

Self-review Questions

Transcription:

Element Containers + attribute1:type = defaultvalue + attribute2:type - attribute3:type + operation1(params):returntype - operation2(params) - operation3() This container is to be used when displaying the members of a class. The top section of the container is used for attributes (fields and properties) The section below that is for methods. Usually we only indicate members up to the public level. To indicate additional access modifiers the following must be used. + Public - Private # Protected # Protected (Overridable) Static Types - The order of the signature is not enforced. You can define name : type or type : name. As long as its consistent within the diagram for all signatures fields and methods. When doing a high level diagram or when the members are not needed on the diagram one can use this type of container for a class. + attribute1:type = defaultvalue + attribute2:type - attribute3:type + operation1(params):returntype - operation2(params) - operation3() The active class container indicates that when the class is instantiated it would be in control of its own execution and will be running on its own thread - separate from the rest of the objects on the diagram. An example of such a class is a webservice class that might be on the diagram. Lucid charts do not support double borders on the class container. To indicate an active class i suggest a thicker border. When working at a high level or when the detail of the active class is not required the follow container can be used. Use the following container when describing the members of an interface. operation1(params):returntype operation2(params) operation3()

Stereo Typing To be able to communicate additional type information we can use stereo typing. Stereo typing is used to refine the meaning of a model element by adding the following '<<description>>' tags above the element name. Example - One of the most common known stereo types is that of <<>> Here follows a list of the stereo types that we will support. <<abstract>> <<abstract>> <<static>> <<static>> <<extension>> <<ExtensionMethod>> Operation(this Type1) : void <<enumeration>> <<enumeration>> Use Container <<servicecontract>> <<servicecontract>> Use Container <<datacontract>> <<datacontract>> Use Container. Datacontracts should not have methods. <<singleton>> <<singleton>>

Inheritance Inheritance should always be depicted in a top down manner. The derived types must always be below the super class. Inheritance are always depicted using solid lines and a arrow heads. Arrow heads always point in the direction of the super class. Do not combine lines from derived types rather keep them seperate. Mammal Reptile Name : String Action () : void I When inheriting from an interface use the same method to indicate inheritance as with classes when the interface and its members are on the document. Note that inherited members are not duplicated in derived types. I IAction This notation is only allowed with interfaces in high level overviews where one wants to show relationships that the lollypop notation cannot prvide. I When inheriting from an interface use the lollypop notation to indicate inheritance when: 1. The interface with its members are not defined on the diagram. 2. The lines to the on the diagram would make the diagram look to complex. Note that with this notation the inheritance line comes of the side of the container.

Composition, Aggregation and Usage should be displayed by connecting to the sides of the UML containers. Composition GamePark s : List<> Composition depicts ownership by using a solid diamond. The solid diamond is connected to the side of the owner element. The owner is in control of the existence and lifetime of the other element. If it created it, it is responsible to destroy it. Aggregation This is a one way relationship and only one of the elements can be the owner. When inheritance takes place composition is only indicated at the highest level and not in derived types. GamePark Rangers : List<> Aggregation is depicted using a clear diamond in the direction of the element that holds the reference and usually connects to the side of the element. Aggregation indicates relationships, not ownership. It is possible to have relationship references in both directions. When inheritance takes place aggregation is only indicated at the highest level and not in derived types. Usage Usage is depicted using a dashed line with an open arrow in the direction of the class being used. DoSomething( : ) Usage indicates that either the type or instance of class is going to be used for the duration of a method. Variations exist for the usage with an interface. DoSomething( : I) I Name : String Action () : void Note the difference between aggregation and usage is that usage does not maintain a reference to the other element for the lifetime of the object. Relationships to Enumerations always use usage When inheritance takes place usage is only indicated at the highest level and not in derived types. DoSomething( : I) I Normally this is depcited with a solid line and and a half circle but due to lucid charts not supporting it i suggest we use the following notation.

Please use the following colour guide where possible and supply a legend at the top right of your diagram with the assembly name or grouping description inside the colour block. Colours must indicate which entities are grouped together in an assembly. If assemblies have not been identified or if no additional colours are needed then please use the example below. In situations where more colours are needed for a diagram feel free to use your own colours just be sure to supply a legend at the top right of your diagram. Contracts User Services Business Objects Data Objects Elements shown on the diagram that does not fall in the scope of the task. Used for items that are added for information purpose only. Elements to which you wish to draw attention. It does not need to be every element that has a note attached. You need to decide if you want to highlight it for a reason.

Below is an high level example of what a uml class diagram should look like when the standards have been followed. Title Assima.Vimago.xxx.Contracts Assima.Vimago.xxx.Service Assima.Vimago.xxx Assima.Vimago.xxx.Data Service <<DataContract>> DataContract For information only Point of interest Service Manager Engine DAO Engine Some note.. Manager IDisposable