SlideShare a Scribd company logo
1 of 20
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 part1Haitham Raik
 
05 fse requirementsengineering
05 fse requirementsengineering05 fse requirementsengineering
05 fse requirementsengineeringMohesh Chandran
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerGobinath Subramaniam
 
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 MooreNeo4j
 
Developing maintainable Cordova applications
Developing maintainable Cordova applicationsDeveloping maintainable Cordova applications
Developing maintainable Cordova applicationsIvano Malavolta
 
Software estimation models ii lec .05
Software estimation models ii lec .05Software estimation models ii lec .05
Software estimation models ii lec .05Noor 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 .docxpriestmanmable
 
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 StrategyNeo4j
 
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 productBruce 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 fehlmannIWSM 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 fehlmannIWSM Mensura
 
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.docxcareyshaunda
 
Nose Dive into Apache Spark ML
Nose Dive into Apache Spark MLNose Dive into Apache Spark ML
Nose Dive into Apache Spark MLAhmet Bulut
 
Practical data science
Practical data sciencePractical data science
Practical data scienceDing Li
 
OOAD U1.pptx
OOAD U1.pptxOOAD U1.pptx
OOAD U1.pptxanguraju1
 
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 TricksSenturus
 

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

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 

Recently uploaded (20)

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 

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