SlideShare a Scribd company logo
Get the Gist: 
UML 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net
Definition 
UML stands for Unified Modeling Language: 
• The UML specification is managed and now 
owned by the Object Management Group 
(OMG), a not for profit industry specifications 
consortium. 
• It is a general purpose, non-proprietary 
modeling (specification) ‘language’. 
• Includes standardized notation. 
• Used to create an abstract model of a system. 
• Is methodology independent. 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net
History 
It grew out of the work of three competing 
modeling techniques: 
1. Grady Booch’s ‘Booch Method’ 
2. James Rumbaugh’s ‘Object Modeling 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net 
Technique’ (OMT) 
3. Ivar Jacobson’s ‘Object Oriented Software 
Engineering’ (OOSE) 
Work developing UML was originally done at 
Rational software by these three individuals, 
collectively known as ‘the three amigos’.
Understanding Abstract Models 
• Abstract models cannot be fully captured 
by any notation. 
• Abstract models are practically captured 
instead by ‘views’ into the abstract model. 
In theory, if the correct ‘views’ are provided 
into a system, it can be usefully described 
sufficient to implement. 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net
UML Abstract Models 
• UML abstract models are captured in the form of 
a collection of all the objects included in a 
system and the relevant world in which it will 
operate (the domain), which are stereotyped as 
classes, activities, actors, relationships, use 
cases, etc. 
• ‘Views’ into the system and its operating domain 
are captured in the form of UML ‘diagrams’. 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net
Perspectives of an abstract model 
There are theoretically three perspectives 
required to completely describe an 
abstract model: 
1. Functional – the functions of the system 
from the user and external system’s point 
of view. 
2. Structural (object)- the internal structure 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net 
of the system. 
3. Behavioral (dynamic) – the internal 
behavior of the system.
Views to provide perspectives 
The perspectives of an abstract model are 
provided through one or more ‘views’, which are 
identified as ‘diagrams’ in UML. 
UML diagrams can be categorized by one of the 
three perspectives of an abstract model. 
In UML 2.0, diagrams are categorized a little 
differently, but in concept each still provides a 
view from one of the three perspectives of the 
abstract model. 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net
UML 2.0 Diagrams 
In UML 2.0, there are 13 types of diagrams: 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net
Reality check 
However, only a few are commonly used, 
and they can still each be grouped into 
providing a view into one of the three 
perspectives into an abstract model in 
order of most commonly used to least: 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net
Functional 
Primary: 
• Use case diagram – useful for determining functional 
requirements, communicating with stakeholders, developing test 
cases. 
Secondary to clarify operation of primary: 
• Sequence diagram 
• Activity diagram 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net
Example use case diagram 
Compass Point, Inc. 
Submit campaign 
Create campaign 
from assets 
«include» 
503.329.1138  info@compass-point.net 
www.compass-point.net 
Creative 
Advertiser 
Traffic 
Manage orders 
assets 
Submit Campaigns 
Approve Campaigns 
View order 
statistics 
Manage digital 
assets 
Manage campaigns 
«include» 
«include» 
«include» 
«include» 
Commit 
reservations to schedule 
Manage shedules 
«include» 
Identify 
non-advertisement campaigns 
«include» 
Iterate / review 
campaign assets 
Iterate / review 
campaigns 
«include» 
«include»
Activity diagram to describe 
functional process ad Inception activ ity 
ELABORATION LAUNCH ASSESSMENT document 
Describe proposed system and effort that wi l l be required for 
elaboration phase for business approval . 
- State value drivers and value proposi tion of system in terms 
of major jeatures that wi l l del iver value proposed. 
- Identi fy single authori tative business stakeholder. 
- Identi fy what is in scope and out of scope for this project. 
- Identi fy expected chal lenges (risks). 
- Propose elaboration phase level of effort and impl ied cost. 
Compass Point, Inc. 
New product or new version? 
Official name? 
Value proposi tion 
- feature overview statement 
- benefi ts statement 
- for whom (customer) 
- di fferentiation 
Determine ini tial sense of 
- requirements risk 
- technical risks 
- ski l ls risks 
- pol i tical risks 
Discuss future roadmap. 
503.329.1138  info@compass-point.net 
www.compass-point.net 
Inception phase begins: 
action requested on project 
Inception: dev elop 
business case for project 
Produce analysis phase 
plan and estimates 
Get approv al for 
elaboration phase plan 
Inception phase ends - no elaboration phase 
[Approved] 
[Not approved] 
Inception phase ends - continue to elaboration phase
Sequence diagram describing roles 
participating in functional process 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net 
sd Inception Sequence 
Business steering 
comittee 
Sponsor Program manager BA Architect PM 
Submit Project Proposal 
Request elaboration plan 
Capture business case 
Solicit value proposition, etc. 
Request technical risk assessment 
Solicit info to determine technical risks and future arch. value opptys. 
Produce elaboration plan with PMO resources and estimates 
Deliver elaboration plan 
Deliver elaboration plan for approval
Structural 
• Class diagram 
• Deployment diagram 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net
Example class diagram 
1 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net 
cd Retail 
BLL::Pricer 
+ GetHandl ingCost(int, StoreIdenti ty, CatalogItemCol lection) : void 
+ GetPrice(StoreIdenti ty, CatalogItem) : long 
Catalog::MasterCatalog 
+ GetCatalogItems(SearchCri teria) : CatalogItemCol lection 
+ ReduceCatalogItemQuanti ty(int, CatalogItem) : void 
+ Val idateCatalogItem(CatalogItem) : boolean 
Store::Store 
Store::Cart 
- expires: int 
+ AddToCart(int, CatalogItem) : void 
+ Checkout() : void 
+ RemoveFromCart(int, CatalogItem) : void 
Store:: 
StoreManager 
Catalog::Catalog 
1 
0..* 
1..* 
1
Example deployment diagram 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net 
Load Monitor 
client.foundation.dll 
client.ms.dll 
client.msproduction.dll 
client.winapplication.exe 
common.net.dll 
framework.dll 
app.config 
node namespace 
aspx pages 
node.ms.dll 
node.foundation.dll 
client adapter subsystems 
Server 
common.net.dll 
framework.dll 
Server.service.exe 
app.config
Behavioral 
Primary: 
• Sequence diagram 
• Activity diagram 
Secondary when required: 
• Interaction overview diagram 
• Communication diagram 
• State machine diagram 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net
Sequence diagram to describe object interaction behaviors 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net 
sd Retail Sequence 
Catalog::MasterCatalog Store::Store BLL::Pricer Store::Cart «interface» 
BLL::IOrderManager 
«i nterface» 
PaymentInterfaces::IPaymentManager 
«i nterface» 
BLL::ISuppl ierManager 
«i nterface» 
BLL::IIdenti tyManager 
«i nterface» 
OrderManagerInterfaces::IOrderManager 
ProductCol lection= GetProducts(productClass) 
ProductCol lection= 
GetCatalogItems(searchCri teria) 
long= GetPrice(storeId,product) 
AddToCart(quanti ty,product) 
AddToCart(quanti ty,product) 
Checkout() 
GetShippingOptions(products) 
int= EstimateShippingCost(shippingOption,products) 
GetHandl ingCost(shippingCost,storeId,products) 
bool= AuthenticateIdenti ty(identi ty,credentials) 
PaymentToken= AddOrReplacePaymentInfo(identi ty, 
credi tCard,bi l l ingAddress) 
AuthorizationToken= AuthorizePayment(paymentTokey,paymentAmount) 
ReduceCatalogItemQuanti ty(quanti ty, 
product) 
Insert(order) 
OrderStatus= Submi tPO(po)
Conclusion 
• Abstract models cannot be observed directly, but must be perceived through views. 
• UML is a powerful way to abstract model any system interacting in its domain, 
software systems, people workflow systems, hardware systems, etc. 
• In UML, views into the abstract model are through diagrams. 
• UML has a bewildering array of diagrams, but really only a few are used (and 
necessary) to describe the function, structure, and behaviors of a system. 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net
Resources 
A good and quick online tutorial in UML is at: 
http://bdn.borland.com/article/0,1410,31863,00.html 
A good perspective and deeper treatment of UML is the first chapter of the book: 
Real-Time Design Patterns (Robust Scalable Architecture for Real-Time Systems) by Bruce 
Powel Douglass, Addison Wesley – Chapter 1. 
Compass Point, Inc. 
503.329.1138  info@compass-point.net 
www.compass-point.net

More Related Content

Similar to Get the Gist: Universal Modelling Language (UML) (20)

ODP
BIS09 Application Development - III
Prithwis Mukerjee
 
PDF
CS8592-OOAD Lecture Notes Unit-2
Gobinath Subramaniam
 
PPTX
Architecture modeling with UML and Visual Studio 2010 Ultimate
Slava Kokaev
 
PPTX
R1x g02 enterprise architecture i
cairo university
 
PPT
Uml
pradeepfdo
 
PPTX
Lets focus on business value
Einar Ingebrigtsen
 
PPTX
Lets focus on business value
Einar Ingebrigtsen
 
PPTX
Object Oriented Software Development revision slide
fauza jali
 
PPT
graph
Dipa Mokashi
 
PPT
Business Use Case Diagrams The diagrams to divide the workflow as smaller uni...
saman zaker
 
PPTX
Use case model
Ashwani Kumar
 
PDF
Uml 2 Toolkit Hanserik Eriksson Magnus Penker Brian Lyons David Fado
ellastzum
 
PPT
Financial Accounting
Navriti
 
PPT
Lecture Note for Introduction Class
Navriti
 
PPTX
Chapter3
Fahad Sheref
 
PPT
uml.ppt
RojaPogul1
 
PPT
UML (Hemant rajak)
hrajak5
 
PPTX
Lets focus on business value
Einar Ingebrigtsen
 
PPT
Uml & rup
◄ vaquar khan ► ★✔
 
BIS09 Application Development - III
Prithwis Mukerjee
 
CS8592-OOAD Lecture Notes Unit-2
Gobinath Subramaniam
 
Architecture modeling with UML and Visual Studio 2010 Ultimate
Slava Kokaev
 
R1x g02 enterprise architecture i
cairo university
 
Lets focus on business value
Einar Ingebrigtsen
 
Lets focus on business value
Einar Ingebrigtsen
 
Object Oriented Software Development revision slide
fauza jali
 
Business Use Case Diagrams The diagrams to divide the workflow as smaller uni...
saman zaker
 
Use case model
Ashwani Kumar
 
Uml 2 Toolkit Hanserik Eriksson Magnus Penker Brian Lyons David Fado
ellastzum
 
Financial Accounting
Navriti
 
Lecture Note for Introduction Class
Navriti
 
Chapter3
Fahad Sheref
 
uml.ppt
RojaPogul1
 
UML (Hemant rajak)
hrajak5
 
Lets focus on business value
Einar Ingebrigtsen
 

Recently uploaded (20)

PPTX
For my supp to finally picking supp that work
necas19388
 
PPTX
EO4EU Ocean Monitoring: Maritime Weather Routing Optimsation Use Case
EO4EU
 
PDF
LPS25 - Operationalizing MLOps in GEP - Terradue.pdf
terradue
 
PDF
capitulando la keynote de GrafanaCON 2025 - Madrid
Imma Valls Bernaus
 
PPTX
computer forensics encase emager app exp6 1.pptx
ssuser343e92
 
PPTX
declaration of Variables and constants.pptx
meemee7378
 
PPTX
ERP - FICO Presentation BY BSL BOKARO STEEL LIMITED.pptx
ravisranjan
 
PPTX
Introduction to web development | MERN Stack
JosephLiyon
 
PDF
Building scalbale cloud native apps with .NET 8
GillesMathieu10
 
PPTX
Quality on Autopilot: Scaling Testing in Uyuni
Oscar Barrios Torrero
 
PPTX
Avast Premium Security crack 25.5.6162 + License Key 2025
HyperPc soft
 
PPTX
Automatic_Iperf_Log_Result_Excel_visual_v2.pptx
Chen-Chih Lee
 
PDF
Writing Maintainable Playwright Tests with Ease
Shubham Joshi
 
PDF
Code Once; Run Everywhere - A Beginner’s Journey with React Native
Hasitha Walpola
 
PPTX
IObit Driver Booster Pro 12.4-12.5 license keys 2025-2026
chaudhryakashoo065
 
PDF
AI Software Development Process, Strategies and Challenges
Net-Craft.com
 
PDF
Difference Between Kubernetes and Docker .pdf
Kindlebit Solutions
 
PPTX
NeuroStrata: Harnessing Neuro-Symbolic Paradigms for Improved Testability and...
Ivan Ruchkin
 
PPTX
IObit Uninstaller Pro 14.3.1.8 Crack Free Download 2025
sdfger qwerty
 
PPTX
CONCEPT OF PROGRAMMING in language .pptx
tamim41
 
For my supp to finally picking supp that work
necas19388
 
EO4EU Ocean Monitoring: Maritime Weather Routing Optimsation Use Case
EO4EU
 
LPS25 - Operationalizing MLOps in GEP - Terradue.pdf
terradue
 
capitulando la keynote de GrafanaCON 2025 - Madrid
Imma Valls Bernaus
 
computer forensics encase emager app exp6 1.pptx
ssuser343e92
 
declaration of Variables and constants.pptx
meemee7378
 
ERP - FICO Presentation BY BSL BOKARO STEEL LIMITED.pptx
ravisranjan
 
Introduction to web development | MERN Stack
JosephLiyon
 
Building scalbale cloud native apps with .NET 8
GillesMathieu10
 
Quality on Autopilot: Scaling Testing in Uyuni
Oscar Barrios Torrero
 
Avast Premium Security crack 25.5.6162 + License Key 2025
HyperPc soft
 
Automatic_Iperf_Log_Result_Excel_visual_v2.pptx
Chen-Chih Lee
 
Writing Maintainable Playwright Tests with Ease
Shubham Joshi
 
Code Once; Run Everywhere - A Beginner’s Journey with React Native
Hasitha Walpola
 
IObit Driver Booster Pro 12.4-12.5 license keys 2025-2026
chaudhryakashoo065
 
AI Software Development Process, Strategies and Challenges
Net-Craft.com
 
Difference Between Kubernetes and Docker .pdf
Kindlebit Solutions
 
NeuroStrata: Harnessing Neuro-Symbolic Paradigms for Improved Testability and...
Ivan Ruchkin
 
IObit Uninstaller Pro 14.3.1.8 Crack Free Download 2025
sdfger qwerty
 
CONCEPT OF PROGRAMMING in language .pptx
tamim41
 
Ad

Get the Gist: Universal Modelling Language (UML)

  • 1. Get the Gist: UML Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net
  • 2. Definition UML stands for Unified Modeling Language: • The UML specification is managed and now owned by the Object Management Group (OMG), a not for profit industry specifications consortium. • It is a general purpose, non-proprietary modeling (specification) ‘language’. • Includes standardized notation. • Used to create an abstract model of a system. • Is methodology independent. Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net
  • 3. History It grew out of the work of three competing modeling techniques: 1. Grady Booch’s ‘Booch Method’ 2. James Rumbaugh’s ‘Object Modeling Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net Technique’ (OMT) 3. Ivar Jacobson’s ‘Object Oriented Software Engineering’ (OOSE) Work developing UML was originally done at Rational software by these three individuals, collectively known as ‘the three amigos’.
  • 4. Understanding Abstract Models • Abstract models cannot be fully captured by any notation. • Abstract models are practically captured instead by ‘views’ into the abstract model. In theory, if the correct ‘views’ are provided into a system, it can be usefully described sufficient to implement. Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net
  • 5. UML Abstract Models • UML abstract models are captured in the form of a collection of all the objects included in a system and the relevant world in which it will operate (the domain), which are stereotyped as classes, activities, actors, relationships, use cases, etc. • ‘Views’ into the system and its operating domain are captured in the form of UML ‘diagrams’. Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net
  • 6. Perspectives of an abstract model There are theoretically three perspectives required to completely describe an abstract model: 1. Functional – the functions of the system from the user and external system’s point of view. 2. Structural (object)- the internal structure Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net of the system. 3. Behavioral (dynamic) – the internal behavior of the system.
  • 7. Views to provide perspectives The perspectives of an abstract model are provided through one or more ‘views’, which are identified as ‘diagrams’ in UML. UML diagrams can be categorized by one of the three perspectives of an abstract model. In UML 2.0, diagrams are categorized a little differently, but in concept each still provides a view from one of the three perspectives of the abstract model. Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net
  • 8. UML 2.0 Diagrams In UML 2.0, there are 13 types of diagrams: Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net
  • 9. Reality check However, only a few are commonly used, and they can still each be grouped into providing a view into one of the three perspectives into an abstract model in order of most commonly used to least: Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net
  • 10. Functional Primary: • Use case diagram – useful for determining functional requirements, communicating with stakeholders, developing test cases. Secondary to clarify operation of primary: • Sequence diagram • Activity diagram Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net
  • 11. Example use case diagram Compass Point, Inc. Submit campaign Create campaign from assets «include» 503.329.1138  [email protected] www.compass-point.net Creative Advertiser Traffic Manage orders assets Submit Campaigns Approve Campaigns View order statistics Manage digital assets Manage campaigns «include» «include» «include» «include» Commit reservations to schedule Manage shedules «include» Identify non-advertisement campaigns «include» Iterate / review campaign assets Iterate / review campaigns «include» «include»
  • 12. Activity diagram to describe functional process ad Inception activ ity ELABORATION LAUNCH ASSESSMENT document Describe proposed system and effort that wi l l be required for elaboration phase for business approval . - State value drivers and value proposi tion of system in terms of major jeatures that wi l l del iver value proposed. - Identi fy single authori tative business stakeholder. - Identi fy what is in scope and out of scope for this project. - Identi fy expected chal lenges (risks). - Propose elaboration phase level of effort and impl ied cost. Compass Point, Inc. New product or new version? Official name? Value proposi tion - feature overview statement - benefi ts statement - for whom (customer) - di fferentiation Determine ini tial sense of - requirements risk - technical risks - ski l ls risks - pol i tical risks Discuss future roadmap. 503.329.1138  [email protected] www.compass-point.net Inception phase begins: action requested on project Inception: dev elop business case for project Produce analysis phase plan and estimates Get approv al for elaboration phase plan Inception phase ends - no elaboration phase [Approved] [Not approved] Inception phase ends - continue to elaboration phase
  • 13. Sequence diagram describing roles participating in functional process Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net sd Inception Sequence Business steering comittee Sponsor Program manager BA Architect PM Submit Project Proposal Request elaboration plan Capture business case Solicit value proposition, etc. Request technical risk assessment Solicit info to determine technical risks and future arch. value opptys. Produce elaboration plan with PMO resources and estimates Deliver elaboration plan Deliver elaboration plan for approval
  • 14. Structural • Class diagram • Deployment diagram Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net
  • 15. Example class diagram 1 Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net cd Retail BLL::Pricer + GetHandl ingCost(int, StoreIdenti ty, CatalogItemCol lection) : void + GetPrice(StoreIdenti ty, CatalogItem) : long Catalog::MasterCatalog + GetCatalogItems(SearchCri teria) : CatalogItemCol lection + ReduceCatalogItemQuanti ty(int, CatalogItem) : void + Val idateCatalogItem(CatalogItem) : boolean Store::Store Store::Cart - expires: int + AddToCart(int, CatalogItem) : void + Checkout() : void + RemoveFromCart(int, CatalogItem) : void Store:: StoreManager Catalog::Catalog 1 0..* 1..* 1
  • 16. Example deployment diagram Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net Load Monitor client.foundation.dll client.ms.dll client.msproduction.dll client.winapplication.exe common.net.dll framework.dll app.config node namespace aspx pages node.ms.dll node.foundation.dll client adapter subsystems Server common.net.dll framework.dll Server.service.exe app.config
  • 17. Behavioral Primary: • Sequence diagram • Activity diagram Secondary when required: • Interaction overview diagram • Communication diagram • State machine diagram Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net
  • 18. Sequence diagram to describe object interaction behaviors Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net sd Retail Sequence Catalog::MasterCatalog Store::Store BLL::Pricer Store::Cart «interface» BLL::IOrderManager «i nterface» PaymentInterfaces::IPaymentManager «i nterface» BLL::ISuppl ierManager «i nterface» BLL::IIdenti tyManager «i nterface» OrderManagerInterfaces::IOrderManager ProductCol lection= GetProducts(productClass) ProductCol lection= GetCatalogItems(searchCri teria) long= GetPrice(storeId,product) AddToCart(quanti ty,product) AddToCart(quanti ty,product) Checkout() GetShippingOptions(products) int= EstimateShippingCost(shippingOption,products) GetHandl ingCost(shippingCost,storeId,products) bool= AuthenticateIdenti ty(identi ty,credentials) PaymentToken= AddOrReplacePaymentInfo(identi ty, credi tCard,bi l l ingAddress) AuthorizationToken= AuthorizePayment(paymentTokey,paymentAmount) ReduceCatalogItemQuanti ty(quanti ty, product) Insert(order) OrderStatus= Submi tPO(po)
  • 19. Conclusion • Abstract models cannot be observed directly, but must be perceived through views. • UML is a powerful way to abstract model any system interacting in its domain, software systems, people workflow systems, hardware systems, etc. • In UML, views into the abstract model are through diagrams. • UML has a bewildering array of diagrams, but really only a few are used (and necessary) to describe the function, structure, and behaviors of a system. Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net
  • 20. Resources A good and quick online tutorial in UML is at: http://bdn.borland.com/article/0,1410,31863,00.html A good perspective and deeper treatment of UML is the first chapter of the book: Real-Time Design Patterns (Robust Scalable Architecture for Real-Time Systems) by Bruce Powel Douglass, Addison Wesley – Chapter 1. Compass Point, Inc. 503.329.1138  [email protected] www.compass-point.net