UML Fundamental Elements. Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural.

Slides:



Advertisements
Similar presentations
UML an overview.
Advertisements

Object-oriented modeling Class/Object Diagrams
Stereotypes Stereotypes provide the capability to create a new kind of modeling element. –They can be used to classify or mark modeling elements. –A type.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Oct 22, Ron McFadyen1 Design Class Diagrams n Class diagram with – classes – associations – attributes – methods – navigability – interfaces,
Object-Oriented Analysis and Design
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Fall 2009ACS-3913 Ron McFadyen1 Design Class Diagrams n Class diagram with – classes – associations – attributes – methods – navigability – interfaces,
UML – Class Diagrams.
UML Class Diagram and Packages Written by Zvika Gutterman Adam Carmi.
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Object-oriented design Part 4: More UML. Interfaces An interface is a language construct specific to Java Java does not support multiple inheritance Interfaces.
Unified Modeling Language
Unified Modeling Language
The Unified Modeling Language (UML) Class Diagrams.
Object-Oriented Analysis and Design
Relationships. In the Interaction diagrams, we began to look at how classes communicate with one another. Now, we'll focus on the relationships between.
UML Diagrams Computer Science I.
UML Unified Modeling Language. What is UML? Unified Modeling Language (UML) is a standardized, general-purpose modeling language in the field of software.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
Chapter 16 Applying UML and Patterns Craig Larman
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 03. Classes,
1 Class Diagrams: Advanced Concepts. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are the most commonly used diagrams.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
UML Diagrams: The Static Model Class Diagrams. The Static Model Define the static structure of the logical model Represent classes, class hierarchies.
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.
NJIT UML Class Diagrams Chapter 16 Applying UML and Patterns Craig Larman.
An Introduction to the Unified Modeling Language
Basic OOP Concepts and Terms. In this class, we will cover: Objects and examples of different object types Classes and how they relate to objects Object.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Design Jon Walker. More UML ● What is UML again?
2007ACS-3913 Ron McFadyen1 Class Diagram See Schaum’s UML Outline, especially chapters 4, 5, 6, 7.
Geospatial Systems Design and UML Or Looking at “OMT-G: An Object-Oriented Data Model for Geographic Applications” by Karla A.V. Borges, Clodoveu A. Davis.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Week III  Recap from Last Week Review Classes Review Domain Model for EU-Bid & EU-Lease Aggregation Example (Reservation) Attribute Properties.
Design Model Lecture p6 T120B pavasario sem.
Software Engineering Lecture 8 Object-Oriented Analysis.
CS212: Object Oriented Analysis and Design Lecture 33: Class and Sequence Diagram.
UML Class Diagram notation Indicating relationships between classes SE-2030 Dr. Mark L. Hornick 1.
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
UML (Unified Modeling Language)
Chapter 3: Introducing the UML
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
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.
Communication Diagrams Lecture 8. Introduction  Interaction Diagrams are used to model system dynamics  How do objects change state?  How do objects.
Kyung Hee University Class Diagramming Notation OOSD 담당조교 석사과정 이정환.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Diagrams. Typically, we view the static parts of a system using one of the four following diagrams. 1. Class diagram 2. Object diagram 3. Component diagram.
UML (Unified Modeling Language)
Software Modelling Class Diagram. Class Diagrams The main building block in object oriented modeling They are used both for general conceptual modeling.
UML Diagrams: Class Diagrams The Static Analysis Model
Unified Modeling Language
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
Unified Modeling Language
UML PPt by: Hong Qing Yu.
UML Diagrams: The Static Model Class Diagrams
Object Oriented Analysis and Design
Software Engineering Lecture #11.
CIS 375 Bruce R. Maxim UM-Dearborn
Analysis models and design models
CIS 375 Bruce R. Maxim UM-Dearborn
Object Oriented System Design Class Diagrams
UML  UML stands for Unified Modeling Language. It is a standard which is mainly used for creating object- oriented, meaningful documentation models for.
Presentation transcript:

UML Fundamental Elements

Structural Elements Represent abstractions in our system. Elements that encapsulate the system's set of behaviors. Structural elements: – Java-independent entities, which are elements that don't have a Java language mapping. – Java-dependent entities, which are elements that have a straightforward Java mapping.

Java-Independent Entities Actor Use Case Collaboration Object

Actor An actor: – Represents a role that a user of the system plays. – Always is external to the system under development. – Need not always be a person. – Might be another external system, such as a legacy mainframe from which we are obtaining data, or possibly a device, which we must obtain data from, such as a keypad on an ATM machine.

Use Case A use case represents a sequence of actions that a software system guarantees to carry out on behalf of an actor. When defining use cases, the level of granularity becomes important. Use case should always provide a result of an observable value to an actor. Primary business processes typically are good candidates for use cases. A use case should be focused on the system from a customer's perspective.

Example of Use Case Diagram

Collaboration Collaborations most often are used to bring structure to our design model. They enable us to create sequence and class diagrams that work in conjunction with each other, to provide an object-oriented view into the requirements that our system satisfies. A collaboration typically has a one-to-one mapping to a use case. A collaboration models same set of requirements from a developer's perspective.

Example of Collaboration

Object An object is an instance of a class. It is represented by a rectangle. An object can also be thought of as a physical entity, whereas a class is a conceptual entity.

Java-Dependent Entities Class Package Interface

Class A class is a blueprint for an object. A class has three compartments. – The first represents the name of the class as defined in Java. – The second represents the attributes (instance variables). – The third compartment represents methods on the class. Attributes and operations can be preceded with a visibility adornment. – (+) indicates public visibility, and a – (-) denotes private visibility. – (#) denotes protected visibility. – Underlined, it indicates that it's static.

Example of Class Diagram

Package A general purpose grouping mechanism, packages can contain any other type of element. A package in the UML translates directly into a package in Java. In Java, a package can contain other packages, classes, or both. A package has a name that uniquely identifies it.

Example of Package Diagram

Interface An interface is a collection of operations that specify a service of a class. An interface translates directly to an interface type in Java. An interface can be represented either by the previously shown icon or by a regular class with a stereotype attachment of >. An interface typically is shown on a class diagram as having realization relationships with other classes.

Example of Interface

Java-Dependent Relationships Some of the relationships appear on diagrams in the structural category, most likely class diagrams. Though some, such as association, also appear on use case diagrams.

Dependency A "using" relationship between entities that implies a change in specification of one entity may affect the entities that are dependent upon it. A dependency translates to any type of reference to a class or object that doesn't exist at the instance scope, including a local variable, reference to an object obtained via a method call, or reference to a class' static method, where an instance of that class does not exist. A dependency also is used to represent the relationship between packages.

Example of Dependency

Association A structural relationship between entities specifying that objects are connected. The arrow is optional and specifies navigability. No arrow implies bidirectional navigability An instance of an association is a link, which is used on interaction diagrams to model messages sent between objects. In Java, an association translates to an instance scope variable.

Example of Association In the following example, an Employee can have 0 or more TimeCard objects. However, a TimeCard belongs to a single Employee.

Aggregation An aggregiation implies that the whole is at a conceptually higher level than the part. An association implies both classes are at the same conceptual level. An aggregation also implies that no cycles are in the instance graph  an aggregation must be a unidirectional relationship. If you are unsure as to when to use an association or an aggregation, use an association  an aggregation need not be used often.

Example of Aggregation

Generalization Illustrating a relationship between a more general element and a more specific element, a generalization is the UML element to model inheritance. In Java, a generalization directly translates into use of the extends keyword. A generalization also can be used to model relationships between actors and use cases.

Example of Generalization

Realization A relationship that specifies a contract between two entities, in which one entity defines a contract that another entity guarantees to carry out. When modeling Java applications, a realization translates directly into the use of the implements keyword. A realization also can be used to obtain traceability between use cases, which define the behavior of the system, to the set of classes that guarantee to realize this behavior.

Example of Realization