UML (cont.) “The Unified Modeling Language User Guide” by G. Booch, J. Rumbaugh and I. Jacobson ● Classes ● Relationships ● Class diagrams ● Examples.

Slides:



Advertisements
Similar presentations
UML Class Diagram and Packages Written by Zvika Gutterman Adam Carmi.
Advertisements

UML Class Diagram. UML Class Diagrams2 Agenda What is a Class Diagram? Essential Elements of a UML Class Diagram Tips.
2008/03/25 Unified Modeling Lanauage 1 Introduction to Unified Modeling Language (UML) – Part One Ku-Yaw Chang Assistant Professor.
Improved software quality through semantic descriptions (Skutt) Karlstad University Dept. of Computer Science UML introduction A short introduction.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
UML – Class Diagrams.
UML Class Diagram and Packages Written by Zvika Gutterman Adam Carmi.
Slide 1 Systems Analysis & Design CS183 Spring Semester 2008 Dr. Jonathan Y. Clark Course Website:
Slide 1 Chapter 7 Structural Modeling. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
What is UML? A modeling language standardized by the OMG (Object Management Group), and widely used in OO analysis and design A modeling language is a.
Class Diagram & Object Diagram
7M822 UML Class Diagrams advanced concepts 15 September 2008.
Sharif University of Technology1 Design and Use-case Realization Software Engineering Laboratory Fall 2006.
7M822 UML Class Diagrams advanced concepts 14 October 2010.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
Chapter 14: Object-Oriented Data Modeling
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
The Unified Modeling Language (UML) Class Diagrams.
Lawrence ChungCS6359.0T1: Module 41 Module 4: Relationships.
Training: INSPIRE Basics EC JRC 1/15 UML class diagram: example INSPIRE UML class diagram for administrative units.
Object-Oriented Software Development F Software Development Process F Analyze Relationships Among Objects F Class Development F Class Design Guidelines.
Slide 1 Structural Modeling Chapter 7. Slide 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
Databases : Data Modeling 2007, Fall Pusan National University Ki-Joune Li.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 03. Classes,
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
An Introduction to the Unified Modeling Language
Lecture 6: Structural Modeling
Objects and Classes Abstract Classes and Interface Sanjaya Karunasena
UML: The Unified Modeling Language Excertos do livro: The Unified Modelling Language User Guide by Grady Booch, James Rumbaugh and Ivar Jacobson.
Lecture 1: UML Class Diagram September 12, UML Class Diagrams2 What is a Class Diagram? A class diagram describes the types of objects in the system.
Structural Modeling Chapter 7. Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in.
1 Structural Modeling Chapter 7. 2 Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes.
Class Diagram Classes are the most important building block of any object-oriented system. A class is a description of a set of objects that share the.
Object-Oriented Data Modeling
Design Model Lecture p6 T120B pavasario sem.
Relationships Relationships between objects and between classes.
Class Modeling Design Class diagram. Classes The term “class ” refers to a group of objects that share a common attributes and common behaviour (operations).
CSCI-383 Object-Oriented Programming & Design Lecture 10.
1 Software Engineering Dr. K. T. Tsang Lecture 5 Class modeling
Class Diagram Chapter 21 Applying UML and Patterns Craig Larman.
Chapter 12 Object-oriented design for more than one class.
Modeling the Static Structure: Relationships ©SoftMoore ConsultingSlide 1.
CS212: Object Oriented Analysis and Design Lecture 33: Class and Sequence Diagram.
Class diagrams Terézia Mézešová.
Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A.
CLASS DIAGRAMS A classy approach to objects. The Basic Class Diagram  Class Name  Attributes (- indicates private each would have properties or accessor/mutator.
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Class Diagram Lecture # 1. Class diagram A Class Diagram is a diagram describing the structure of a system shows the system's classes Attributes operations.
Overview of Software Project Management Review – Class 5 UML diagrams cont Overview of Software Project Management - Communication CEN 4010 Class 6 – 09/15.
Slide 1 Systems Analysis and Design with UML Version 2.0, Second Edition Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Embedded Systems Software Engineering
Object-Oriented Modeling with UML
Interface, Subclass, and Abstract Class Review
Introduction to Unified Modeling Language (UML)
UML PPt by: Hong Qing Yu.
A short introduction to UML Eivind J. Nordby Karlstad University
UML Class Diagrams: Basic Concepts
Object Oriented Analysis and Design
Chapter 4 Advanced Class Modeling
UML Class Diagram.
Software Engineering Lecture 10.
Class Diagram.
Information System Design
Presentation transcript:

UML (cont.) “The Unified Modeling Language User Guide” by G. Booch, J. Rumbaugh and I. Jacobson ● Classes ● Relationships ● Class diagrams ● Examples

Classes ● Modelling a system involves identifying the things that are important to your view of the system: the vocabulary of the system. ● A class is a description of a set of objects that share the same attributes, operations, relationships and semantics.

Classes ● Names ● Abstract classes (names are written in italics). ● Attributes ● An attribute is a named property of a class, shared by all objects of that class. ● A attribute may have associated a type or a default initial value.

Classes ● Operations ● An operation is something that can be done to any object of that class. Represents some behaviour of its enclosing class. ● You can specify the signature of an operation, covering the name and type of all parameters, and a return type (in the case of functions).

Relationships ● When you model a system, not only must you identify the things that form the vocabulary of your system, but must also model how these things stand in relation to one another. ● A relationship is a connection among things. ● Three kinds of relationships that are important: ● Dependency ● Generalization ● Association

Relationships ● Dependencies: ● Dependencies are using relationships among classes. ● A dependency states that a change in specification of one thing may affect another thing that uses it, but not necessarily the reverse. The latter depends on the former. ● Use dependencies when you want to show one thing using another (e.g. one class uses another class as an argument in the signature of an operation).

Relationships ● Generalization ● A generalization is a relationship between a general thing (the superclass or parent) and a more specific kind of thing (the subclass or child). ● Generalization is an “is-a-kind-of” relationship. ● Generalization means that objects of the child class may be used anywhere the parent class may appear, but not the reverse. ● A child class inherits the attributes and the operations of its parents. Often the child has adittional attributes and/or operations.

Relationships ● Generalization (cont.) ● An operation of a child that has the same signature as an operation of a parent, overrides the operation of the parent. ● A class may have zero, one or more parents. A class that has no parents and one or more children is called a root class. A class that has no children is called a leaf class. ● A class that has exactly one parent is said to use single inheritance. A class with more than one parent is said to use multiple inheritance.

Relationships ● Association ● An association is a structural relationship that specifies that objects of one thing are connected to objects of another. ● Name: An association can have a name to describe the nature of the relationship. Usually you can give a direction to the name. ● Role: When a class participates in an association, it has a specific role that it plays in that relationship. You can name the role a class plays in an association.

Relationships ● Association: ● Multiplicity: In many modelling situations, it is important to state how many objects may be connected across an instance of an association. Multiplicity may be: exactly one (1), zero or one (0..1), many (0..*), or one or more (1..*). ● Aggregation: In a plain association between two classes, both classes are conceptually at the same level. When you want to model a “whole/part” relationship, in which one class represents a larger thing (the wole), which consists of smaller things (the parts).