<?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_Intro</id>
	<title>UML 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_Intro"/>
	<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=UML_Intro&amp;action=history"/>
	<updated>2026-04-21T12:12:31Z</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_Intro&amp;diff=19301&amp;oldid=prev</id>
		<title>Filip Stachecki at 17:57, 11 June 2014</title>
		<link rel="alternate" type="text/html" href="https://training-course-material.com/index.php?title=UML_Intro&amp;diff=19301&amp;oldid=prev"/>
		<updated>2014-06-11T17:57:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:OCUP]]&lt;br /&gt;
{{UML Links}}&lt;br /&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 2012 &amp;quot;In process&amp;quot; (&amp;#039;&amp;#039;&amp;#039;beta&amp;#039;&amp;#039;&amp;#039;) version&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 Specification ⌘===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Infrastructure&amp;#039;&amp;#039;&amp;#039; - core metamodel on which the Superstructure is based&lt;br /&gt;
* &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;
&lt;br /&gt;
&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 (behavioral) &lt;br /&gt;
* Contains 14 different diagrams&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 classifier 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;
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;
======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 Metamodel⌘===&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 Metamodel Exercise ⌘====&lt;br /&gt;
[[File:metamodel_ex1.png]]&lt;br /&gt;
===UML 2 Specification - how to read?⌘===&lt;br /&gt;
Demonstration: How to read UML 2 Specification?&lt;/div&gt;</summary>
		<author><name>Filip Stachecki</name></author>
	</entry>
</feed>