0% found this document useful (0 votes)
96 views

Implementation Diagrams: CSE870: UML Component Diagrams

The document provides information on UML component diagrams and deployment diagrams. It discusses that component diagrams illustrate the static implementation view of a system by showing components and their relationships, while deployment diagrams illustrate the static deployment view by showing nodes and their relationships. It provides examples and guidelines for modeling components, interfaces, packages, and dependencies in component diagrams. It also discusses modeling client-server architectures and guidelines for deployment diagrams.

Uploaded by

Halder Subhas
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views

Implementation Diagrams: CSE870: UML Component Diagrams

The document provides information on UML component diagrams and deployment diagrams. It discusses that component diagrams illustrate the static implementation view of a system by showing components and their relationships, while deployment diagrams illustrate the static deployment view by showing nodes and their relationships. It provides examples and guidelines for modeling components, interfaces, packages, and dependencies in component diagrams. It also discusses modeling client-server architectures and guidelines for deployment diagrams.

Uploaded by

Halder Subhas
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 22

R

R
R

Implementation Diagrams

CSE870: UML Component 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

CSE870: UML Component Diagrams


R

R
R Package

• General purpose mechanism for


organizing elements into groups
• Can group classes or components.

Package Name

CSE870: UML Component Diagrams


R

R
R Component Diagram

• Classes
• Interfaces
• Dependency, generalization, association, and
realization relationships
Example.java

Special kind of class diagram focusing on


system’s components.

CSE870: UML Component Diagrams


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

[Ambler, 2002-2005]
CSE870: UML Component Diagrams
R

R
R Sample interfaces

[Ambler, 2002-2005]
CSE870: UML Component Diagrams
R

R
R Example Component Diagram

[Ambler, 2002-2005]
CSE870: UML Component Diagrams
R

R
R Component Diagram
executable
find.html
Find.exe
page

Index.html
Comp1.dll Comp2.dll

library
CSE870: UML Component Diagrams
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.

CSE870: UML Component Diagrams


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)

CSE870: UML Component Diagrams


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

CSE870: UML Component Diagrams


R

R
R Modeling Source Code Example
Signal.h Signal.h Signal.h
{version=3.5} {version=4.0} {version=4.1}
• 5 source code files
– signal.h (header)
– used by 2 other files
(signal.cpp, interp.cpp) <<parent>> <<parent>>

Interp.cpp Signal.cpp
– interp.cpp has compilation
dependency to header file
(irq.h)
– device.cpp compilation Irq.h
dependency to interp.cpp Device.cpp

CSE870: UML Component Diagrams


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

CSE870: UML Component Diagrams


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.

CSE870: UML Component Diagrams


R
R
R

Deployment Diagrams

CSE870: UML Component 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

CSE870: UML Component Diagrams


R

R
R Contents

• Deployment diagrams contain:


– Nodes
– Dependency and association relationships
– may also contain components, each of
which must live on some node.

CSE870: UML Component Diagrams


R

R
R A Deployment Diagram
Internet node Modem bank

<<processor>> <<processor>>
Caching server Caching server
connection

<<network>> local network

<<processor>> <<processor>> <<processor>> <<processor>>


primary server server server server

CSE870: UML Component Diagrams


R Modeling Client-Server
R
R 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

CSE870: UML Component Diagrams


R

R
R Client-Server System

• Human resource system client

• 2 pkgs: client, server


• Client: 2 nodes console
– console and kiosk
kiosk
– stereotyped, distinguishable
server
• Server: 2 nodes
– caching server and server 2..* 4..*
<<processor>> <<processor>>
– Multiplicities are used
Caching server server
Deploys
Deploys
dbadmin.exe
Http.exe tktmstr.exe
rting.exe logexc.exe

CSE870: UML Component Diagrams


R
R Guidelines for Deployment Diagrams
R

• 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 Components

CSE870: UML Component Diagrams


R

R
R Sample Communication Links

CSE870: UML Component Diagrams

You might also like