Upload
ricardo-quintero
View
13.838
Download
3
Tags:
Embed Size (px)
Citation preview
1
UML 2-OMG certification course(Introduction)
Instructor:
M.C. Ricardo Quintero
2
What is UML?
The Unified Modeling Language (UML) is a language and notation system used to specify, construct, visualize and document models of software systems.
UML is not a methodology (which considers the specific framework and conditions of an application domain, the organizational environment and many other things).
3
The three amigos
Before 1995 there were published a lot of books and a large number of graphical notations about object-oriented (OO) software modeling.
The decisive progress come about 1995 when Grady Booch and Jim Rumbaugh announced the combining of ther concepts into a Unified Method.
4
The three amigos
Soon the Unified Method became the Unified Modeling Language, a term that clearly indicates a language that comprises semantics and a uniform notation rather than a methodology or approach to object-oriented software development.
Booch and Rumbaugh were soon joined by Ivar Jacobson, and the three have henceforth been called the “Three amigos”.
5
The three amigos
Eventually, UML version 1.1 was submitted to the Object Management Group (OMG) for standarization and accepted in 1997.
Since then, the UML has been further developed by the OMG. Later, the ISO (International Organization for Standarization) also accepted UML as a standard.
6
The three amigos
Grady BoochJames Rumbaugh
Ivar Jacobson
7
The Object Management Group
The Object Management Group (OMG) is an international organization of which all important IT companies are members.
OMG’s members companies cooperate in maintaining and implementing the UML standard.
The group’s members include large international corporations such as IBM, Hewlett-Packard, Sun Microsystems, Telelogic, Boeing, Adobe, etc.
8
The Object Management Grouphttp://www.omg.org
9
The history of UML (1/2)State Charts
HarelState Charts
BoochOMT
Rumbaugh and others
UML 0.8Booch/Rumbaugh
OOPSLA Conference 1995
OOSE Jacobson
UML 0.9“The three amigos”
1996
UML 1.1“The three amigos”
1996
OCLIBM
OMG acceptance11/17/97
(UML 1.2)OMG 1998
Unified ProcessJacobson and
others
Remained unofficial due to lawsuit
10
The history of UML (2/2)(UML 1.2)OMG 1998
Remained unofficial due to lawsuit
UML 1.3OMG 1999
OMG obtainscopyright in UML
XMI
ISO acceptance 10/19/00
(ISO/DIN 19501-1) UML 1.4OMG 2001
UML 1.5OMG 2003
UML 2.0OMG 2003/adopted
OCUPcertification
UML 2.0OMG 2005/final
UML 2.1OMG 2006
UML 2.2OMG 2007?
UML v. 1.2 through 1.5 contained several corrections and extensions. Version 2.0 represents a fundamental
review of UML, in which the specification and the
metamodel, as well as the extent of coverage, have been
extensively redesigned
Officially published in August 2005
11
Reference
Statecharts: a visual formalism for complex systems. David Harel, 1987.
12
UML compliance leves
UML is divided into the following compliance levels: Level 0, Foundation: Fundamental structural and
behavioral elements. Level 1, Basic: Simple diagrams. Level 2, Intermedate: Improved diagrams and
constructs (e.g. parallelism in activity diagrams). Level 3, Complete: All other and more advanced
constructs (e.g. Streaming in activity diagrams). This division is intended to help tool developers
to gradually, or selectively, implement UML 2.0.
13
UML subspecifications
UML v. 2.0 has been formally divided into the following subspecifications: Infrastructure: Core of the architecture, profiles and
stereotypes. Superstructure: Static and dynamic model elements. Object Constraint Language (OCL): A formal
language used to describe expressions on UML models.
Diagrama Interchange: the UML interchange format for diagrams.
14
The metamodel of UML 2.0
The UML 2.0 language is largely defined in a so-called metamodel.
The reason for the prefix meta is that the language resides one abstraction level above the model that a UML user models.
In few words: UML is defined in UML.
15
A simplified section of the metamodel
PropertyClass*
0..1
Operation*
0..1
+ownedAttribute0..1
0..1
+ownedOperation
*
*
You can find each word of UML, as a class in the metamodel. Figure shows a simplified section of the metamodel. You can see three elements –class, property and operation- and that a class can have an arbitrary number of properties (attributes) and and
arbitrary number of operations.
16
Defining UML
When defining a formal language like UML, we would quickly hit the limits of the expressive that class models provide.
For this reason, the UML specification describes formal constraints (mostly in OCL), and text comments for each element let you specify the semantics in more detail.
17
Defining UML
Note that not all model elements of UML are contained in the UML metamodel; in fact, only a minimum subset (of the class modeling) is required.
In turn, this set is described in its own model, the meta-metamodel.
18
The four-layer architecture of UML
M0
M1
M2
M3
Runtime Model
UML Model, user modeling level
UML metamodel, classes for all available UML
elements
Meta-metamodelMeta-Object Facility (MOF)
used to model, for example, the UML
metamodel
Customer Order1 *
Class Association
Class Association
<<instanceOf>><<instanceOf>>
<<instanceOf>>
<<instanceOf>> <<instanceOf>> <<instanceOf>>
<<instanceOf>> <<instanceOf>>
19
Defining UML
The metamodel of UML is divided into packages.
Each of these packages comes up in this course over and over again because all of them represent the granularity of the exam topics.
20
Defining UML
The UML certification exam is a pure language test, which means that knowledge of the metamodel of UML is tested.
The metamodel also includes many abstract classes that are not used on the user’s modeling level (M1). The abstract concepts are also an integral part of the UML certification.
One of the major benefits of abstract classes is that they are normally simple.
21
The UML certification program
In 2004, OMG introduced qualification standards for individuals in the form of three level certification program based on UML 2.0 called the OMG-certified UML Professional (OCUP) certification program.
This certification program ensures that UML users, trainers, consultants, tool developers, and other interested parties can acquire a uniform UML understanding and a minimum qualification.
22
Certification levels
Fundamental level: examines fundamental UML knowledge, including basic notions on class diagrams, activity diagrams, interaction diagrams and use case diagrams as well as standard stereotypes and primitive types. This is for regular UML users.
23
Certification levels
Intermediate level: emphasizes a deeper knowledge of activity diagrams and interaction diagrams. Moreover, it adds composition structure diagrams, basic notions on component and deployment diagrams, state diagrams, the action model, and the profile extension mechanism. This level is suitable for UML users who do extensive work on it.
24
Certification levels
Advanced level:deals with advanced knowledge of class diagrams, such as association classes, and metatypes, composition structure diagrams, component diagrams, activity diagrams, action modeling, deployment diagrams, and protocol automatons. Also covers OCL, the UML architecture (infrastructuring and the MDA), information flow modeling, models and templates. Is suitable for advanced UML users (designers of executable models, MDA architects, profile designers, and UML tools developers).
25
Some useful web links
http://www.omg.org/uml/ http://www.omg.org/certification/ http://www.uml-forum.com