Unified Modeling Language (UML) Class Diagram

Similar documents
Unified Modeling Language (UML)

Unified Modeling Language (UML) and Modeling

IS 0020 Program Design and Software Tools

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

Architecture and the UML

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

OO Techniques & UML Class Diagrams

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

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

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

UML Tutorial. Unified Modeling Language UML Tutorial

Introduction to Software Engineering. 5. Modeling Objects and Classes

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

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

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

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

Object-Oriented Modeling Using UML. CS151 Chris Pollett Aug. 29, 2005.

12 Tutorial on UML. TIMe TIMe Electronic Textbook

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

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

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

Unified Modeling Language (UML) Object Diagram and Interaction Diagrams

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

INHERITANCE & POLYMORPHISM. INTRODUCTION IB DP Computer science Standard Level ICS3U. INTRODUCTION IB DP Computer science Standard Level ICS3U

Basic Structural Modeling. Copyright Joey Paquet,

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

Unified Modeling Language (UML)

Introducing the UML Eng. Mohammed T. Abo Alroos

Object-Oriented Systems Analysis and Design Using UML

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

Unified Modeling Language (UML)

Object-Oriented and Classical Software Engineering

Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques. Fundamentals, Design, and Implementation, 9/e

Software Service Engineering

Software Design Models, Tools & Processes. Lecture 3: Addendum Cecilia Mascolo

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

EE 446 EMBEDDED ARCHITECTURE Embedded System in UML (2)

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

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

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

Unified Modeling Language

Chapter 3 System Models

Lecture 17: (Architecture V)

Model Driven Development Unified Modeling Language (UML)

Chapter 2: The Object-Oriented Design Process

Developing Shlaer-Mellor Models Using UML

UML. By Somenath Mukhopadhyay.

Object Oriented Methods with UML

Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques. Fundamentals, Design, and Implementation, 9/e

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

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

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 and object compatibility

Chapter 8: Enhanced ER Model

LABORATORY 1 REVISION

The Unified Modeling Language. Asst.Prof.Dr. Supakit Nootyaskool IT-KMITL

Polymorphism: Inheritance Interfaces

Data and Process Modeling

Object Oriented Modeling

Introduction to Software Engineering. 5. Modeling Objects and Classes

Lecture 09. Spring 2018 Borough of Manhattan Community College

UML Is Not a Methodology

UML (Unified Modeling Language)

24. Inheritance. Java. Fall 2009 Instructor: Dr. Masoud Yaghini

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

Inheritance and Polymorphism

Object Modeling. Entity-Relationship (ER) diagrams (1976) Object Modelling Technique (OMT) diagrams (1991)

22. Inheritance. Java. Summer 2008 Instructor: Dr. Masoud Yaghini

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

Inheritance and Polymorphism

Using High-Level Conceptual Data Models for Database Design A Sample Database Application Entity Types, Entity Sets, Attributes, and Keys

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

Introduction to UML and Class Diagrams

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

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

Object Orientated Analysis and Design. Benjamin Kenwright

Object-Oriented Design and Modeling Using the UML

Software Engineering

Data and Process Modelling

A l Ain University Of Science and Technology

COMP 244. ER-Diagram Notations. Entity-Relationship Diagrams DATABASE CONCEPTS & APPLICATIONS. Database Concepts & Applications 1.

UML Component Diagrams A.Y 2018/2019

Accessibility. EEC 521: Software Engineering. Classes and Objects. Inheritance. Classes and Objects (OO Analysis)

Object-Oriented Design

A l Ain University Of Science and Technology

1. Introduction to Object Oriented Software Development

SOFTWARE ENGINEERING UML FUNDAMENTALS. Saulius Ragaišis.

Class modelling (part 2)

OBJECT ORIENTED DESIGN with the Unified Process. Use Case Realization

Inheritance, Polymorphism, and Interfaces

Inheritance and Polymorphism

Introduction. O.Univ.-Prof. DI Dr. Wolfgang Pree. Universität Salzburg

Introduction to UML and Class Diagrams

MechEng SE3 Lecture 7 Domain Modelling

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

Object Oriented Design. Program Design. Analysis Phase. Part 2. Analysis Design Implementation. Functional Specification

MSO Analysis & UML. Hans Philippi (based on the course slides of Wouter Swierstra) August 24, Analysis & UML 1 / 56

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Object-Oriented Analysis, Design and Implementation. Case Study Part II

Unified Modeling Language (UML) Fundamentals & Intro to Profiles

Transcription:

1 / 10 Unified Modeling Language (UML) Class Diagram Miaoqing Huang University of Arkansas Spring 2010

2 / 10 Outline 1 2

3 / 10 Class Diagram Class diagrams show the static structure of the classes that make up a system or subsystem Use case diagrams show the functional requirements of a system (or subsystem) from the perspective of the end-user of a system

4 / 10 Classes Classes are shown as rectangles Class name Other compartments Attributes Operations Other predefined compartments Name convention Class name Have no space between multiple words Capitalize the first letter in each subsequent world Name of features in compartments Have no space between multiple words Capitalize the first letter in each subsequent world except the first world

Associations among classes Associations represent relationships between (instances of) classes Classes collaborate with each other by passing messages and receiving responses Association name Indicates the nature of the association Associate name should begin with a capital letter Navigability: use arrow to indicate how to interpret the association Unidirectional association Bidirectional association: without arrow Role name Indicate the role played by a class in an association Attached to the corresponding association end Can use the same rule of naming features to name the role, i.e., low case the very first letter and capitalize the first letter of subsequent word 5 / 10

6 / 10 Multiplicity Multiplicity indicates how many objects may participate in the given relationship (during the run-time of your software system) *: 0..infinity 1: 1..1 n..m: low_bound..up_bound Multiplicity of an association end is not shown The multiplicity is not known The multiplicity is not specified

7 / 10 Aggregation Aggregation symbol. Assembly consists of components. Component is part of an assembly Aggregation association An instance of one class may consist of instances of another class whole-part association whole is made up of parts Use a solid line with a unfilled diamond shape at the end Diamond is connected to the class that is the aggregate A part is capable existence outside of whole-part association

8 / 10 Composition Document Document FrontMatter 1 1..* 0..1 Section 1..* 0..1 Index FrontMatter [1] Section [1..*] Index [0..1] Composition association whole-part association The life-cycle of the part cannot extend beyond the life-cycle of the whole Two different notations Filled diamond notation Graphical containment 1..* 0..1

9 / 10 Generalization Generalization relationship is (sometimes) described as being a kind of relationship Generalized class: superclass (supertype) Specialization: subclass (subtype) Generalization allows the inheritance of the attributes and operations of a superclass by its subclasses Subclass can override the operations in the superclass

More on attribute and operation Attribute and Operation Types feature-name : type Attribute and Operation Visibility private (-) The feature is available only within the class that owns the feature public (+) The feature is available to any class associated with the class that owns the feature protected (#) The feature is available within the class that owns that feature and any subtype of that class package ( ) The feature is available only to other classes in the same package 10 / 10