<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=UML_OCUP2_Intro</id>
	<title>UML OCUP2 Intro - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://training-course-material.com/index.php?action=history&amp;feed=atom&amp;title=UML_OCUP2_Intro"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=UML_OCUP2_Intro&amp;action=history"/>
	<updated>2026-04-21T08:50:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://training-course-material.com/index.php?title=UML_OCUP2_Intro&amp;diff=27655&amp;oldid=prev</id>
		<title>Filip Stachecki: /* UML versions⌘ */</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=UML_OCUP2_Intro&amp;diff=27655&amp;oldid=prev"/>
		<updated>2015-08-25T07:27:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;UML versions⌘&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:Private]]&lt;br /&gt;
[[Category:OCUP2]]&lt;br /&gt;
&amp;lt;div class=&amp;quot;noprint&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;slideshow style=&amp;quot;nobleprog&amp;quot; headingmark=&amp;quot;⌘&amp;quot; incmark=&amp;quot;…&amp;quot; scaled=&amp;quot;false&amp;quot; font=&amp;quot;Trebuchet MS&amp;quot; &amp;gt;&lt;br /&gt;
;title: UML 2.5 Certification -  &amp;lt;br/&amp;gt; OCUP 2 Foundation Exam Preparation - Part 0 - Introduction&lt;br /&gt;
;author: &amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Filip Stachecki (Filip@NobleProg.pl),presenter: Bernard Szlachta bs@nobleprog.co.uk&lt;br /&gt;
&amp;lt;/slideshow&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
===Unified Modeling Language ⌘===&lt;br /&gt;
==== History of UML ⌘====&lt;br /&gt;
UML was developed by Grady Booch, Ivar Jacobson and James Rumbaugh (&amp;#039;&amp;#039;&amp;#039;The Three Amigos&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
====UML versions⌘====&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;0.8&amp;#039;&amp;#039;&amp;#039; Booch &amp;amp; Rumbaugh 1995&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;0.9&amp;#039;&amp;#039;&amp;#039; The Three Amigos 1996&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;1.1&amp;#039;&amp;#039;&amp;#039; OMG 1997&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;1.2-1.5&amp;#039;&amp;#039;&amp;#039; OMG refinements 1998-2003&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;2.0&amp;#039;&amp;#039;&amp;#039; OMG major review and redesign 2003-2005&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;2.1.1, 2.1.2&amp;#039;&amp;#039;&amp;#039; OMG 2007&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;2.2&amp;#039;&amp;#039;&amp;#039; OMG 2009&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;2.3&amp;#039;&amp;#039;&amp;#039; OMG 2010&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;2.4.1&amp;#039;&amp;#039;&amp;#039; OMG 2011&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;2.5&amp;#039;&amp;#039;&amp;#039; OMG 2015 current version&lt;br /&gt;
&lt;br /&gt;
www.omg.org/spec/UML/Current/&lt;br /&gt;
&lt;br /&gt;
==== Overview ⌘====&lt;br /&gt;
* OMG Standard&lt;br /&gt;
* The Unified Modeling Language (UML)&lt;br /&gt;
* Data modeling, business modeling (work flows), object modeling, and component modeling&lt;br /&gt;
* UML aims to be a standard modeling language which can model concurrent and distributed systems&lt;br /&gt;
* UML is a de-facto industry standard&lt;br /&gt;
* UML models may be automatically transformed to other representations (e.g. Java, PHP)&lt;br /&gt;
* UML is extensible, through &amp;#039;&amp;#039;&amp;#039;profiles&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;stereotypes&amp;#039;&amp;#039;&amp;#039; and &amp;#039;&amp;#039;&amp;#039;tagged values&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* A lot of other languages are based on UML (SysML, SoaML)&lt;br /&gt;
* Usually default language for a lot of architecture frameworks (MoDAF, DoDAF, NAF)&lt;br /&gt;
&lt;br /&gt;
==== UML 2.5 Scope⌘====&lt;br /&gt;
* The objective of UML is to provide system architects, software engineers, and software developers with tools for analysis, design, and implementation of &amp;#039;&amp;#039;&amp;#039;software-based systems&amp;#039;&amp;#039;&amp;#039; as well as for modeling business and similar processes.&lt;br /&gt;
* UML contains:&lt;br /&gt;
** A formal definition of a common MOF-based &amp;#039;&amp;#039;&amp;#039;metamodel&amp;#039;&amp;#039;&amp;#039; specifies the &amp;#039;&amp;#039;&amp;#039;abstract syntax of the UML&amp;#039;&amp;#039;&amp;#039;. The abstract syntax defines the set of UML modeling concepts, their attributes and their relationships, as well as the rules for combining these concepts to construct UML models.&lt;br /&gt;
** A detailed explanation of the &amp;#039;&amp;#039;&amp;#039;semantics&amp;#039;&amp;#039;&amp;#039; of each UML modeling concept.&lt;br /&gt;
** A specification of the &amp;#039;&amp;#039;&amp;#039;notation&amp;#039;&amp;#039;&amp;#039; elements for representing the individual UML modeling concepts as well as rules for combining them into a variety of different diagram type.&lt;br /&gt;
** A detailed definition of ways in which UML tools can be made conformant with this specification.&lt;br /&gt;
====Models and What They Model⌘====&lt;br /&gt;
* A model is always a model &amp;#039;&amp;#039;of&amp;#039;&amp;#039; something. &lt;br /&gt;
* The thing being modeled can generically be considered a system within some domain. &lt;br /&gt;
* The model then makes some statements of interest about that system, &amp;#039;&amp;#039;&amp;#039;abstracting from all the details&amp;#039;&amp;#039;&amp;#039; of the system, from a certain point of view and for a certain purpose. &lt;br /&gt;
* For an existing system, the model may represent an analysis of the properties and behavior of the system. &lt;br /&gt;
* For a planned system, the model may represent a specification of how the system is to be constructed and behave.&lt;br /&gt;
&lt;br /&gt;
==== UML 2.5 Specification ⌘====&lt;br /&gt;
* New specification supersedes UML 2.4.1 &amp;#039;&amp;#039;&amp;#039;Infrastructure&amp;#039;&amp;#039;&amp;#039; (metamodel) and UML 2.4.1 &amp;#039;&amp;#039;&amp;#039;Superstructure&amp;#039;&amp;#039;&amp;#039; (notation and semantics for diagrams and their model elements)&lt;br /&gt;
* UML Infrastructure no longer forms part of the UML specification.&lt;br /&gt;
* Supporting specifications&lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;Object Constraint Language&amp;#039;&amp;#039;&amp;#039; (OCL) &lt;br /&gt;
** &amp;#039;&amp;#039;&amp;#039;UML Diagram Interchange&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==== UML Features⌘ ====&lt;br /&gt;
* Does not define method (see Unified Process)&lt;br /&gt;
* UML defines both:&lt;br /&gt;
** UML model (contains documentation and all relations) &lt;br /&gt;
** UML diagrams (partial graphic representation of a system&amp;#039;s model)&lt;br /&gt;
* UML can model both views of the system:&lt;br /&gt;
** Static (structural)&lt;br /&gt;
** Dynamic (behavioural) &lt;br /&gt;
* Contains 14 different diagarams&lt;br /&gt;
&lt;br /&gt;
==== UML Diagrams ⌘====&lt;br /&gt;
&amp;lt;signavio&amp;gt;48afe56780c643fd8f9fe08270f0cf2b:90f1f272f1e63ecaab108829c889eca38879ad0afbcadb2c7bebd97f6ab121_8014a91d355157acb245d3e54b892cac1bf5cba1bba1b3841eb1567c3dc70f5_67968a362493aa1b03fcd7d02c302fea658e47658094bbd2ee52cc9e1ffc9b&amp;lt;/signavio&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=====Structure diagrams⌘=====&lt;br /&gt;
Structure diagrams represent the structure, they are used extensively in documenting the software architecture of software systems.&lt;br /&gt;
======Class diagram⌘======&lt;br /&gt;
[[File:ClassDiagramExample.png]]&lt;br /&gt;
&lt;br /&gt;
Describes the structure of a system by showing the system&amp;#039;s classes, their attributes, and the relationships among the classes.&lt;br /&gt;
&lt;br /&gt;
======Other structure diagrams⌘======&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Component diagram&amp;#039;&amp;#039;&amp;#039;: describes how a software system is split up into components and shows the dependencies among these components.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Composite structure diagram&amp;#039;&amp;#039;&amp;#039;: describes the internal structure of a class and the collaborations that this structure makes possible.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Deployment diagram&amp;#039;&amp;#039;&amp;#039;: describes the hardware used in system implementations and the execution environments and artifacts deployed on the hardware.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Object diagram&amp;#039;&amp;#039;&amp;#039;: shows a complete or partial view of the structure of an example modeled system at a specific time.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Package diagram&amp;#039;&amp;#039;&amp;#039;: describes how a system is split up into logical groupings by showing the dependencies among these groupings.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Profile diagram&amp;#039;&amp;#039;&amp;#039;: operates at the metamodel level to show stereotypes as classes with the &amp;lt;&amp;lt;stereotype&amp;gt;&amp;gt; stereotype, and profiles as packages with the &amp;lt;&amp;lt;profile&amp;gt;&amp;gt; stereotype.&lt;br /&gt;
&lt;br /&gt;
=====Behavior diagrams⌘=====&lt;br /&gt;
Behavior diagrams illustrate the behavior of a system, they are used extensively to describe the functionality of software systems.&lt;br /&gt;
======Activity diagram⌘======&lt;br /&gt;
[[File:ActivityDiagramENExample.png]]&lt;br /&gt;
&lt;br /&gt;
Describes the business and operational step-by-step workflows of components in a system.&lt;br /&gt;
&lt;br /&gt;
======Use Case diagram⌘======&lt;br /&gt;
[[File:UseCaseDiagramENExample.png]]&lt;br /&gt;
&lt;br /&gt;
Describes the functionality provided by a system in terms of actors, their goals represented as use cases, and any dependencies among those use cases.&lt;br /&gt;
&lt;br /&gt;
======State machine diagram⌘======&lt;br /&gt;
[[File:StateMachineDiagram.png |500px]]&lt;br /&gt;
&lt;br /&gt;
Describes the states and state transitions of the system.&lt;br /&gt;
&lt;br /&gt;
======Interaction diagrams⌘======&lt;br /&gt;
Interaction diagrams, a subset of behavior diagrams, emphasize the flow of control and data among the things in the system being modeled:&lt;br /&gt;
&lt;br /&gt;
======Sequence diagram⌘======&lt;br /&gt;
[[File:SequenceDiagramExample.png]]&lt;br /&gt;
&lt;br /&gt;
Shows how objects communicate with each other in terms of a sequence of messages. Also indicates the lifespans of objects relative to those messages.&lt;br /&gt;
&lt;br /&gt;
======Other Interaction diagrams⌘======&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Communication diagram&amp;#039;&amp;#039;&amp;#039;: shows the interactions between objects or parts in terms of sequenced messages.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Interaction overview diagram&amp;#039;&amp;#039;&amp;#039;: provides an overview in which the nodes represent communication diagrams.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Timing diagrams&amp;#039;&amp;#039;&amp;#039;: a specific type of interaction diagram where the focus is on timing constraints.&lt;br /&gt;
&lt;br /&gt;
====UML 2.5 Metamodel (Abstrax Syntax)⌘====&lt;br /&gt;
[[File:UML2metamodel.png]]&lt;br /&gt;
&lt;br /&gt;
*UML is a language&lt;br /&gt;
*UML &amp;#039;&amp;#039;&amp;#039;metamodel&amp;#039;&amp;#039;&amp;#039; is a class model which describes UML&lt;br /&gt;
* UML is defined in UML!&lt;br /&gt;
* Just as English is described in English in dictionaries&lt;br /&gt;
=====UML 2.5 Metamodel Exercise ⌘=====&lt;br /&gt;
[[File:ClipCapIt-150605-142814.PNG]]&lt;br /&gt;
&amp;lt;!--[[File:metamodel2.5_ex1.png]]--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====UML 2.5 Specification - how to read?⌘====&lt;br /&gt;
Demonstration: How to read UML 2.5 Specification?&lt;/div&gt;</summary>
		<author><name>Filip Stachecki</name></author>
	</entry>
</feed>