SlideShare a Scribd company logo
1 of 22
R
R
R
Implementation Diagrams
R
R
R
Implementation Diagrams
• Both are structural diagrams
• Component Diagrams:
– set of components and their relationships
– Illustrate static implementation view
– Component maps to one or more classes, interfaces, or
collaborations
• Deployment Diagrams:
– Set of nodes and their relationships
– Illustrate static deployment view of architecture
– Node typically encloses one or more components
R
R
R
Package
• General purpose mechanism for
organizing elements into groups
• Can group classes or components.
Package Name
R
R
R
Component Diagram
• Classes
• Interfaces
• Dependency, generalization, association, and
realization relationships
Special kind of class diagram focusing on
system’s components.
Example.java
R
R
R
Interfaces
• Definition:
– Collection of operation signatures and/or attribute defns
– Defines a cohesive set of behaviors
• Realized by:
– Implemented by classes and components
– Implement operations/attributes defined by interface
• Relationships:
– A class can implement 0 or more interfaces
– An interface can be implemented by 1 or more classes
• Notation:
– Lollipop
– Dashed arrow
R
R
R
Sample interfaces
R
R
R
Example Component Diagram
R
R
R
Component Diagram
Index.html
Find.exe
find.html
Comp1.dll Comp2.dll
executable
library
page
R
R
R
Common Uses:
• Model source code:
– model configuration mgmt
• Model executable releases
– Release is relatively complete and consistent set
of artifacts delivered to user
– Release focuses on parts necessary to deliver
running system
– Component Diagram visualizes, specifies, and
documents the decisions about the physical parts
that define the software.
R
R
R
Common Uses: (cont’d)
• Model Physical databases:
– database is concrete realization of schema
– schemas offer an API to persistent information
– model of physical dbases represents storage of that
information in tables of a relational dbase or pages of
an OO dbase.
– Component Diagram can represent this kind of
physical database
• Model Adaptable systems:
– can model static aspects of adaptable systems
– can model dynamic aspects (in conjunction with
behavioral models)
R
R
R
Modeling Source Code
• (Forward/Reverse Eng): identify set of
source code files of interest
– model as components stereotyped as files
• Larger systems: use packages to show
groups of source code files
• Model compilation dependencies
among files
R
R
R
Modeling Source Code Example
• 5 source code files
– signal.h (header)
– used by 2 other files
(signal.cpp, interp.cpp)
– interp.cpp has compilation
dependency to header file
(irq.h)
– device.cpp compilation
dependency to interp.cpp
Signal.h
{version=3.5}
Signal.h
{version=4.0}
Signal.h
{version=4.1}
<<parent>> <<parent>>
Interp.cpp Signal.cpp
Irq.h
Device.cpp
R
R
R
Component Diagram Guidelines
• Use Descriptive Names for Architectural
Components
– Use Environment-Specific Naming Conventions for Detailed Design
Components
– Apply Textual Stereotypes to Components Consistently
– Avoid Modeling Data and User Interface Components
• Interfaces
– Prefer Lollipop Notation To Indicate Realization of Interfaces By
Components
– Prefer the Left-Hand Side of A Component for Interface Lollipops
– Show Only Relevant Interfaces
• Dependencies and Inheritance
– Model Dependencies From Left To Right
– Place Child Components Below Parent Components
– Components Should Only Depend on Interfaces
– Avoid Modeling Compilation Dependencies
R
R
R
Common Stereotypes
Stereotype Indicates
<<application>> A “front-end” of your system, such as the collection of HTML pages and ASP/JSPs
that work with them for a browser-based system or the collection of screens and
controller classes for a GUI-based system.
<<database>> A hierarchical, relational, object-relational, network, or object-oriented database.
<<document>> A document. A UML standard stereotype.
<<executable>> A software component that can be executed on a node. A UML standard stereotype.
<<file>> A data file. A UML standard stereotype.
<<infrastructure>> A technical component within your system such as a persistence service or an audit
logger.
<<library>> An object or function library. A UML standard stereotype.
<<source code>> A source code file, such as a .java file or a .cpp file.
<<table>> A data table within a database. A UML standard stereotype
<<web service>> One or more web services.
<<XML DTD>> An XML DTD.
R
R
R
Deployment Diagrams
R
R
R
Deployment Diagram
• Shows the configuration of:
– run time processing nodes and
– the components that live on them
• Graphically: collection of vertices and
arcs
R
R
R
Contents
• Deployment diagrams contain:
– Nodes
– Dependency and association relationships
– may also contain components, each of
which must live on some node.
R
R
R
A Deployment Diagram
<<network>> local network
<<processor>>
primary server
<<processor>>
Caching server
<<processor>>
Caching server
<<processor>>
server
<<processor>>
server
<<processor>>
server
Modem bankInternet node
connection
R
R
R
Modeling Client-Server
Architecture
• Identify nodes that represent system’s
client and server processors
• Highlight those devices that are
essential to the behavior
– E.g.: special devices (credit card readers,
badge readers, special display devices)
• Use stereotyping to visually distinguish
R
R
R
Client-Server System
• Human resource system
• 2 pkgs: client, server
• Client: 2 nodes
– console and kiosk
– stereotyped, distinguishable
• Server: 2 nodes
– caching server and server
– Multiplicities are used
client
<<processor>>
Caching server
Deploys
Http.exe
rting.exe
<<processor>>
server
Deploys
dbadmin.exe
tktmstr.exe
logexc.exe
console
kiosk
server
2..* 4..*
R
R
R
Guidelines for Deployment Diagrams
• General [Ambler 2002-2005]
– Indicate Software Components on Project-Specific
Diagrams
– Focus on Nodes and Communication Associations
on Enterprise-Level Diagrams
• Nodes and Components
– Name Nodes With Descriptive Terms
– Model Only Vital Software Components
– Apply Consistent Stereotypes to Components
– Apply Visual Stereotypes to Nodes
• Dependencies and Communication
Associations
– Indicate Communication Protocols Via
Stereotypes
– Model Only Critical Dependencies Between
R
R
R
Sample Communication Links

More Related Content

What's hot

What's hot (20)

Linkers And Loaders
Linkers And LoadersLinkers And Loaders
Linkers And Loaders
 
09 implementing+subprograms
09 implementing+subprograms09 implementing+subprograms
09 implementing+subprograms
 
LarKC Tutorial at ISWC 2009 - Urban Computing
LarKC Tutorial at ISWC 2009 - Urban ComputingLarKC Tutorial at ISWC 2009 - Urban Computing
LarKC Tutorial at ISWC 2009 - Urban Computing
 
Programming in C++ and Data Strucutres
Programming in C++ and Data StrucutresProgramming in C++ and Data Strucutres
Programming in C++ and Data Strucutres
 
Introduction to Spark 2.0 Dataset API
Introduction to Spark 2.0 Dataset APIIntroduction to Spark 2.0 Dataset API
Introduction to Spark 2.0 Dataset API
 
Machine Learning by Example - Apache Spark
Machine Learning by Example - Apache SparkMachine Learning by Example - Apache Spark
Machine Learning by Example - Apache Spark
 
Data science on big data. Pragmatic approach
Data science on big data. Pragmatic approachData science on big data. Pragmatic approach
Data science on big data. Pragmatic approach
 
The Compatibility Challenge:Examining R and Developing TERR
The Compatibility Challenge:Examining R and Developing TERRThe Compatibility Challenge:Examining R and Developing TERR
The Compatibility Challenge:Examining R and Developing TERR
 
Hadoop - Apache Pig
Hadoop - Apache PigHadoop - Apache Pig
Hadoop - Apache Pig
 
A Data Frame Abstraction Layer for SparkR-(Chris Freeman, Alteryx)
A Data Frame Abstraction Layer for SparkR-(Chris Freeman, Alteryx)A Data Frame Abstraction Layer for SparkR-(Chris Freeman, Alteryx)
A Data Frame Abstraction Layer for SparkR-(Chris Freeman, Alteryx)
 
Apache Spark MLlib
Apache Spark MLlib Apache Spark MLlib
Apache Spark MLlib
 
Linkers in compiler
Linkers in compilerLinkers in compiler
Linkers in compiler
 
LaTeX Part 1
LaTeX Part 1LaTeX Part 1
LaTeX Part 1
 
SDD Predefined Functions
SDD Predefined FunctionsSDD Predefined Functions
SDD Predefined Functions
 
Practical SPARQL Benchmarking Revisited
Practical SPARQL Benchmarking RevisitedPractical SPARQL Benchmarking Revisited
Practical SPARQL Benchmarking Revisited
 
Java 8 streams
Java 8 streams Java 8 streams
Java 8 streams
 
CNIT 126 6: Recognizing C Code Constructs in Assembly
CNIT 126 6: Recognizing C Code Constructs in Assembly CNIT 126 6: Recognizing C Code Constructs in Assembly
CNIT 126 6: Recognizing C Code Constructs in Assembly
 
Run time administration
Run time administrationRun time administration
Run time administration
 
Machine learning with Apache Spark MLlib | Big Data Hadoop Spark Tutorial | C...
Machine learning with Apache Spark MLlib | Big Data Hadoop Spark Tutorial | C...Machine learning with Apache Spark MLlib | Big Data Hadoop Spark Tutorial | C...
Machine learning with Apache Spark MLlib | Big Data Hadoop Spark Tutorial | C...
 
Programmability in spss statistics 17
Programmability in spss statistics 17Programmability in spss statistics 17
Programmability in spss statistics 17
 

Similar to 06 uml-component

Bab 11 component diagram 2010
Bab 11 component diagram 2010Bab 11 component diagram 2010
Bab 11 component diagram 2010
donasiilmu
 
Slides on introduction to R by ArinBasu MD
Slides on introduction to R by ArinBasu MDSlides on introduction to R by ArinBasu MD
Slides on introduction to R by ArinBasu MD
SonaCharles2
 
Using R for Cyber Security Part 1
Using R for Cyber Security Part 1Using R for Cyber Security Part 1
Using R for Cyber Security Part 1
Ajay Ohri
 
Java Web services
Java Web servicesJava Web services
Java Web services
Sujit Kumar
 

Similar to 06 uml-component (20)

06-uml-component.ppt
06-uml-component.ppt06-uml-component.ppt
06-uml-component.ppt
 
Bab 11 component diagram 2010
Bab 11 component diagram 2010Bab 11 component diagram 2010
Bab 11 component diagram 2010
 
Data Analytics with R and SQL Server
Data Analytics with R and SQL ServerData Analytics with R and SQL Server
Data Analytics with R and SQL Server
 
Introduction to R software, by Leire ibaibarriaga
Introduction to R software, by Leire ibaibarriaga Introduction to R software, by Leire ibaibarriaga
Introduction to R software, by Leire ibaibarriaga
 
How to obtain and install R.ppt
How to obtain and install R.pptHow to obtain and install R.ppt
How to obtain and install R.ppt
 
R programming Language
R programming LanguageR programming Language
R programming Language
 
Advanced Data Analytics with R Programming.ppt
Advanced Data Analytics with R Programming.pptAdvanced Data Analytics with R Programming.ppt
Advanced Data Analytics with R Programming.ppt
 
17641.ppt
17641.ppt17641.ppt
17641.ppt
 
Slides on introduction to R by ArinBasu MD
Slides on introduction to R by ArinBasu MDSlides on introduction to R by ArinBasu MD
Slides on introduction to R by ArinBasu MD
 
17641.ppt
17641.ppt17641.ppt
17641.ppt
 
Architectural Modeling
Architectural ModelingArchitectural Modeling
Architectural Modeling
 
Design patterns-sav
Design patterns-savDesign patterns-sav
Design patterns-sav
 
Using R for Cyber Security Part 1
Using R for Cyber Security Part 1Using R for Cyber Security Part 1
Using R for Cyber Security Part 1
 
Data analytics with R
Data analytics with RData analytics with R
Data analytics with R
 
Apache Thrift, a brief introduction
Apache Thrift, a brief introductionApache Thrift, a brief introduction
Apache Thrift, a brief introduction
 
11 deployment diagrams
11 deployment diagrams11 deployment diagrams
11 deployment diagrams
 
Deep Dive : Spark Data Frames, SQL and Catalyst Optimizer
Deep Dive : Spark Data Frames, SQL and Catalyst OptimizerDeep Dive : Spark Data Frames, SQL and Catalyst Optimizer
Deep Dive : Spark Data Frames, SQL and Catalyst Optimizer
 
AADL: Architecture Analysis and Design Language
AADL: Architecture Analysis and Design LanguageAADL: Architecture Analysis and Design Language
AADL: Architecture Analysis and Design Language
 
Reproducible research (and literate programming) in R
Reproducible research (and literate programming) in RReproducible research (and literate programming) in R
Reproducible research (and literate programming) in R
 
Java Web services
Java Web servicesJava Web services
Java Web services
 

Recently uploaded

Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
amitlee9823
 
Design Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptxDesign Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptx
TusharBahuguna2
 
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman MuscatAbortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion pills in Kuwait Cytotec pills in Kuwait
 
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
amitlee9823
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
tbatkhuu1
 
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
amitlee9823
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
kumaririma588
 

Recently uploaded (20)

VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
VVIP Pune Call Girls Hadapsar (7001035870) Pune Escorts Nearby with Complete ...
 
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfChapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
 
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
 
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
Sweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptxSweety Planet Packaging Design Process Book.pptx
Sweety Planet Packaging Design Process Book.pptx
 
SD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptxSD_The MATATAG Curriculum Training Design.pptx
SD_The MATATAG Curriculum Training Design.pptx
 
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
call girls in Vasundhra (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝...
 
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...Booking open Available Pune Call Girls Nanded City  6297143586 Call Hot India...
Booking open Available Pune Call Girls Nanded City 6297143586 Call Hot India...
 
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
 
Design Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptxDesign Inspiration for College by Slidesgo.pptx
Design Inspiration for College by Slidesgo.pptx
 
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
 
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman MuscatAbortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
 
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
RT Nagar Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Bang...
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
 
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
 
Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentation
 
HiFi Call Girl Service Delhi Phone ☞ 9899900591 ☜ Escorts Service at along wi...
HiFi Call Girl Service Delhi Phone ☞ 9899900591 ☜ Escorts Service at along wi...HiFi Call Girl Service Delhi Phone ☞ 9899900591 ☜ Escorts Service at along wi...
HiFi Call Girl Service Delhi Phone ☞ 9899900591 ☜ Escorts Service at along wi...
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
 
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
8377087607, Door Step Call Girls In Kalkaji (Locanto) 24/7 Available
 

06 uml-component

  • 2. R R R Implementation Diagrams • Both are structural diagrams • Component Diagrams: – set of components and their relationships – Illustrate static implementation view – Component maps to one or more classes, interfaces, or collaborations • Deployment Diagrams: – Set of nodes and their relationships – Illustrate static deployment view of architecture – Node typically encloses one or more components
  • 3. R R R Package • General purpose mechanism for organizing elements into groups • Can group classes or components. Package Name
  • 4. R R R Component Diagram • Classes • Interfaces • Dependency, generalization, association, and realization relationships Special kind of class diagram focusing on system’s components. Example.java
  • 5. R R R Interfaces • Definition: – Collection of operation signatures and/or attribute defns – Defines a cohesive set of behaviors • Realized by: – Implemented by classes and components – Implement operations/attributes defined by interface • Relationships: – A class can implement 0 or more interfaces – An interface can be implemented by 1 or more classes • Notation: – Lollipop – Dashed arrow
  • 9. R R R Common Uses: • Model source code: – model configuration mgmt • Model executable releases – Release is relatively complete and consistent set of artifacts delivered to user – Release focuses on parts necessary to deliver running system – Component Diagram visualizes, specifies, and documents the decisions about the physical parts that define the software.
  • 10. R R R Common Uses: (cont’d) • Model Physical databases: – database is concrete realization of schema – schemas offer an API to persistent information – model of physical dbases represents storage of that information in tables of a relational dbase or pages of an OO dbase. – Component Diagram can represent this kind of physical database • Model Adaptable systems: – can model static aspects of adaptable systems – can model dynamic aspects (in conjunction with behavioral models)
  • 11. R R R Modeling Source Code • (Forward/Reverse Eng): identify set of source code files of interest – model as components stereotyped as files • Larger systems: use packages to show groups of source code files • Model compilation dependencies among files
  • 12. R R R Modeling Source Code Example • 5 source code files – signal.h (header) – used by 2 other files (signal.cpp, interp.cpp) – interp.cpp has compilation dependency to header file (irq.h) – device.cpp compilation dependency to interp.cpp Signal.h {version=3.5} Signal.h {version=4.0} Signal.h {version=4.1} <<parent>> <<parent>> Interp.cpp Signal.cpp Irq.h Device.cpp
  • 13. R R R Component Diagram Guidelines • Use Descriptive Names for Architectural Components – Use Environment-Specific Naming Conventions for Detailed Design Components – Apply Textual Stereotypes to Components Consistently – Avoid Modeling Data and User Interface Components • Interfaces – Prefer Lollipop Notation To Indicate Realization of Interfaces By Components – Prefer the Left-Hand Side of A Component for Interface Lollipops – Show Only Relevant Interfaces • Dependencies and Inheritance – Model Dependencies From Left To Right – Place Child Components Below Parent Components – Components Should Only Depend on Interfaces – Avoid Modeling Compilation Dependencies
  • 14. R R R Common Stereotypes Stereotype Indicates <<application>> A “front-end” of your system, such as the collection of HTML pages and ASP/JSPs that work with them for a browser-based system or the collection of screens and controller classes for a GUI-based system. <<database>> A hierarchical, relational, object-relational, network, or object-oriented database. <<document>> A document. A UML standard stereotype. <<executable>> A software component that can be executed on a node. A UML standard stereotype. <<file>> A data file. A UML standard stereotype. <<infrastructure>> A technical component within your system such as a persistence service or an audit logger. <<library>> An object or function library. A UML standard stereotype. <<source code>> A source code file, such as a .java file or a .cpp file. <<table>> A data table within a database. A UML standard stereotype <<web service>> One or more web services. <<XML DTD>> An XML DTD.
  • 16. R R R Deployment Diagram • Shows the configuration of: – run time processing nodes and – the components that live on them • Graphically: collection of vertices and arcs
  • 17. R R R Contents • Deployment diagrams contain: – Nodes – Dependency and association relationships – may also contain components, each of which must live on some node.
  • 18. R R R A Deployment Diagram <<network>> local network <<processor>> primary server <<processor>> Caching server <<processor>> Caching server <<processor>> server <<processor>> server <<processor>> server Modem bankInternet node connection
  • 19. R R R Modeling Client-Server Architecture • Identify nodes that represent system’s client and server processors • Highlight those devices that are essential to the behavior – E.g.: special devices (credit card readers, badge readers, special display devices) • Use stereotyping to visually distinguish
  • 20. R R R Client-Server System • Human resource system • 2 pkgs: client, server • Client: 2 nodes – console and kiosk – stereotyped, distinguishable • Server: 2 nodes – caching server and server – Multiplicities are used client <<processor>> Caching server Deploys Http.exe rting.exe <<processor>> server Deploys dbadmin.exe tktmstr.exe logexc.exe console kiosk server 2..* 4..*
  • 21. R R R Guidelines for Deployment Diagrams • General [Ambler 2002-2005] – Indicate Software Components on Project-Specific Diagrams – Focus on Nodes and Communication Associations on Enterprise-Level Diagrams • Nodes and Components – Name Nodes With Descriptive Terms – Model Only Vital Software Components – Apply Consistent Stereotypes to Components – Apply Visual Stereotypes to Nodes • Dependencies and Communication Associations – Indicate Communication Protocols Via Stereotypes – Model Only Critical Dependencies Between

Editor's Notes

  1. As you can see in Figure 1 components are modeled as rectangles with two smaller rectangles jutting out from the left-hand side.  Components realize one or more interfaces, modeled using the lollipop notation in Figure 1, and may have dependencies on other components – as you can see the Persistence component has a dependency on the Corporate DB component.
  2. Short for Dynamic Link Library, a library of executable functions or data that can be used by a Windows application. Typically, a DLL provides one or more particular functions and a program accesses the functions by creating either a static or dynamic link to the DLL. A static link remains constant during program execution while a dynamic link is created by the program as needed. DLLs can also contain just data. DLL files usually end with the extension .dll,.exe., drv, or .fon. A DLL can be used by several applications at the same time. Some DLLs are provided with the Windows operating system and available for any Windows application. Other DLLs are written for a particular application and are loaded with the application.
  3. Table 1. Common Stereotypes. Stereotype Indicates &amp;lt;&amp;lt;application&amp;gt;&amp;gt;A “front-end” of your system, such as the collection of HTML pages and ASP/JSPs that work with them for a browser-based system or the collection of screens and controller classes for a GUI-based system. &amp;lt;&amp;lt;database&amp;gt;&amp;gt;A hierarchical, relational, object-relational, network, or object-oriented database. &amp;lt;&amp;lt;document&amp;gt;&amp;gt;A document.  A UML standard stereotype. &amp;lt;&amp;lt;executable&amp;gt;&amp;gt;A software component that can be executed on a node.  A UML standard stereotype.&amp;lt;&amp;lt;file&amp;gt;&amp;gt;A data file. A UML standard stereotype. &amp;lt;&amp;lt;infrastructure&amp;gt;&amp;gt;A technical component within your system such as a persistence service or an audit logger. &amp;lt;&amp;lt;library&amp;gt;&amp;gt;An object or function library.  A UML standard stereotype. &amp;lt;&amp;lt;source code&amp;gt;&amp;gt;A source code file, such as a .java file or a .cpp file. &amp;lt;&amp;lt;table&amp;gt;&amp;gt;A data table within a database.  A UML standard stereotype &amp;lt;&amp;lt;web service&amp;gt;&amp;gt;One or more web services. &amp;lt;&amp;lt;XML DTD&amp;gt;&amp;gt;An XML DTD.
  4. A node, depicted as a three-dimensional box, represents a computational unit, typically a single piece of hardware, such as a computer, network router, mainframe, sensor, or personal digital assistant (PDA).  Components, depicted as rectangles with two smaller rectangles jutting out from the left-hand side (the same notation used on UML Component diagrams), represent software artifacts such as file, framework, or domain component.
  5. 2.4      Apply Visual Stereotypes to Nodes Figure 2 depicts nodes using visual stereotypes, for example the mobile PC is shown as a laptop and the databases are shown using traditional database drum notation.  There are no standards for applying visual stereotypes on UML Deployment diagrams – the general rule of thumb is to use the most appropriate clip art that you can find. 
  6. Communication associations support one or more communication protocols, each of which should be indicated by a UML stereotype.  In Figure 1 you see that the HTTP, JDBC, and web services protocols are indicated using this approach.   Table 1 provides a representative list of stereotypes for communication associations – your organization will want to develop its own specific standards.  Table 1. Common stereotypes for communication associations. Stereotype Implication AsynchronousAn asynchronous connection, perhaps via a message bus or message queue. HTTPHyperText Transport Protocol, an Internet protocol. JDBCJava Database Connectivity, a Java API for database access. ODBCOpen Database Connectivity, a Microsoft API for database access. RMIRemote Method Invocation, a Java communication protocol. RPCCommunication via remote procedure calls. SynchronousA synchronous connect where the senders waits for a response from the receiver. web servicesCommunication is via Web Services protocols such as SOAP and UDDI