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)

Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1
Haitham Raik
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineering
Mohesh Chandran
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
Gobinath Subramaniam
 
Business Analyst
Business AnalystBusiness Analyst
Business Analyst
Yaswanth Babu Gummadivelli
 
Togaf introduction ver1 0
Togaf introduction ver1 0Togaf introduction ver1 0
Togaf introduction ver1 0
Maganathin Veeraragaloo
 
Neo4j GraphTour New York_EY Presentation_Michael Moore
Neo4j GraphTour New York_EY Presentation_Michael MooreNeo4j GraphTour New York_EY Presentation_Michael Moore
Neo4j GraphTour New York_EY Presentation_Michael Moore
Neo4j
 
Developing maintainable Cordova applications
Developing maintainable Cordova applicationsDeveloping maintainable Cordova applications
Developing maintainable Cordova applications
Ivano Malavolta
 
Software estimation models ii lec .05
Software estimation models ii lec .05Software estimation models ii lec .05
Software estimation models ii lec .05
Noor Ul Hudda Memon
 
IT 510 Final Project Guidelines and Rubric Overview .docx
IT 510 Final Project Guidelines and Rubric  Overview .docxIT 510 Final Project Guidelines and Rubric  Overview .docx
IT 510 Final Project Guidelines and Rubric Overview .docx
priestmanmable
 
Your Roadmap for An Enterprise Graph Strategy
Your Roadmap for An Enterprise Graph StrategyYour Roadmap for An Enterprise Graph Strategy
Your Roadmap for An Enterprise Graph Strategy
Neo4j
 
From science to engineering, the process to build a machine learning product
From science to engineering, the process to build a machine learning productFrom science to engineering, the process to build a machine learning product
From science to engineering, the process to build a machine learning product
Bruce Kuo
 
Automatic measurements of use cases with cosmic thomas fehlmann
Automatic measurements of use cases with cosmic   thomas fehlmannAutomatic measurements of use cases with cosmic   thomas fehlmann
Automatic measurements of use cases with cosmic thomas fehlmann
IWSM Mensura
 
Automatic measurements of use cases with cosmic thomas fehlmann
Automatic measurements of use cases with cosmic   thomas fehlmannAutomatic measurements of use cases with cosmic   thomas fehlmann
Automatic measurements of use cases with cosmic thomas fehlmann
IWSM Mensura
 
When Should I Use Simulation?
When Should I Use Simulation?When Should I Use Simulation?
When Should I Use Simulation?
SIMUL8 Corporation
 
IT 510 Final Project Guidelines and Rubric Overview The final projec.docx
IT 510 Final Project Guidelines and Rubric Overview The final projec.docxIT 510 Final Project Guidelines and Rubric Overview The final projec.docx
IT 510 Final Project Guidelines and Rubric Overview The final projec.docx
careyshaunda
 
Nose Dive into Apache Spark ML
Nose Dive into Apache Spark MLNose Dive into Apache Spark ML
Nose Dive into Apache Spark ML
Ahmet Bulut
 
Practical data science
Practical data sciencePractical data science
Practical data science
Ding Li
 
OOAD U1.pptx
OOAD U1.pptxOOAD U1.pptx
OOAD U1.pptx
anguraju1
 
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksIBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
Senturus
 
Presentation of se
Presentation of sePresentation of se
Presentation of se
Usman Bin Saad
 

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

Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1Object Oriented Analysis and Design with UML2 part1
Object Oriented Analysis and Design with UML2 part1
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineering
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
Business Analyst
Business AnalystBusiness Analyst
Business Analyst
 
Togaf introduction ver1 0
Togaf introduction ver1 0Togaf introduction ver1 0
Togaf introduction ver1 0
 
Neo4j GraphTour New York_EY Presentation_Michael Moore
Neo4j GraphTour New York_EY Presentation_Michael MooreNeo4j GraphTour New York_EY Presentation_Michael Moore
Neo4j GraphTour New York_EY Presentation_Michael Moore
 
Developing maintainable Cordova applications
Developing maintainable Cordova applicationsDeveloping maintainable Cordova applications
Developing maintainable Cordova applications
 
Software estimation models ii lec .05
Software estimation models ii lec .05Software estimation models ii lec .05
Software estimation models ii lec .05
 
IT 510 Final Project Guidelines and Rubric Overview .docx
IT 510 Final Project Guidelines and Rubric  Overview .docxIT 510 Final Project Guidelines and Rubric  Overview .docx
IT 510 Final Project Guidelines and Rubric Overview .docx
 
Your Roadmap for An Enterprise Graph Strategy
Your Roadmap for An Enterprise Graph StrategyYour Roadmap for An Enterprise Graph Strategy
Your Roadmap for An Enterprise Graph Strategy
 
From science to engineering, the process to build a machine learning product
From science to engineering, the process to build a machine learning productFrom science to engineering, the process to build a machine learning product
From science to engineering, the process to build a machine learning product
 
Automatic measurements of use cases with cosmic thomas fehlmann
Automatic measurements of use cases with cosmic   thomas fehlmannAutomatic measurements of use cases with cosmic   thomas fehlmann
Automatic measurements of use cases with cosmic thomas fehlmann
 
Automatic measurements of use cases with cosmic thomas fehlmann
Automatic measurements of use cases with cosmic   thomas fehlmannAutomatic measurements of use cases with cosmic   thomas fehlmann
Automatic measurements of use cases with cosmic thomas fehlmann
 
When Should I Use Simulation?
When Should I Use Simulation?When Should I Use Simulation?
When Should I Use Simulation?
 
IT 510 Final Project Guidelines and Rubric Overview The final projec.docx
IT 510 Final Project Guidelines and Rubric Overview The final projec.docxIT 510 Final Project Guidelines and Rubric Overview The final projec.docx
IT 510 Final Project Guidelines and Rubric Overview The final projec.docx
 
Nose Dive into Apache Spark ML
Nose Dive into Apache Spark MLNose Dive into Apache Spark ML
Nose Dive into Apache Spark ML
 
Practical data science
Practical data sciencePractical data science
Practical data science
 
OOAD U1.pptx
OOAD U1.pptxOOAD U1.pptx
OOAD U1.pptx
 
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and TricksIBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
IBM Cognos 10 Framework Manager Metadata Modeling: Tips and Tricks
 
Presentation of se
Presentation of sePresentation of se
Presentation of se
 

Recently uploaded

AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 

Recently uploaded (20)

AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 

Get the Gist: Universal Modelling Language (UML)

  • 1. Get the Gist: UML Compass Point, Inc. 503.329.1138  info@compass-point.net 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  info@compass-point.net 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  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’.
  • 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  info@compass-point.net 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  info@compass-point.net 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  info@compass-point.net 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  info@compass-point.net 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  info@compass-point.net 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  info@compass-point.net 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  info@compass-point.net www.compass-point.net
  • 11. 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»
  • 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  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
  • 13. 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
  • 14. Structural • Class diagram • Deployment diagram Compass Point, Inc. 503.329.1138  info@compass-point.net www.compass-point.net
  • 15. 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
  • 16. 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
  • 17. 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
  • 18. 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)
  • 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  info@compass-point.net 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  info@compass-point.net www.compass-point.net