Component and Deployment
Component and Deployment
DIAGRAM
in UML
Organised by
Ashima Singh
Associate Professor, CSED
PLAN OF TALK
◼ A component is encapsulated
◼ Its dependencies are designed such that it
can be treated as independently as possible
CASE STUDY
◼ Development of an application collecting students’
opinions about courses
◼ A student can
◼ Read
◼ Insert
◼ Update
◼ Make data permanent about the courses in its schedule
◼ A professor can only see statistic elaboration of the data
◼ The student application must be installed in pc client
◼ The manager application must be installed in pc client (in
the manager’s office)
COMPONENT NOTATION
◼ A component is shown as a
rectangle with
◼ A keyword <<component>>
◼ Can be
◼ Provided
◼ Required
INTERFACE
◼ A provided interface
◼ Characterize services that
the component offers to its
environment
◼ Is modeled using a ball, labelled
with the name, attached by a
solid line to the component
◼ A required interface
◼ Characterize services that the component expects
from its environment
◼ Is modeled using a socket, labelled with the
name, attached by a solid line to the component
◼ In UML 1.x were modeled using a dashed arrow
INTERFACE
◼ Where two components/classes provide and require
the same interface, these two notations may be
combined
◼ A component
◼ Specifies a CONTRACT of the services that it provides
to its clients and that it requires from others components
in terms of its provided and required interfaces
◼ Can be replaced
◼ The system can be extended
DEPENDENCIES
◼ Components can be
connected by usage
dependencies
◼ Usage Dependency
◼ A usage dependency is relationship which
one element requires another element for its
full implementation
◼ Is a dependency in which the client requires
the presence of the supplier
◼ Is shown as dashed arrow with a <<use>> keyword
◼ The arrowhead point from the dependent
component to the one of which it is dependent
PORT
◼ Specifies a distinct interaction point
◼ Between that component and its environment
◼ Between that component and its internal parts
◼ Deployment diagrams
◼ Show the physical relationship between hardware
and software in a system
◼ Hardware elements:
◼ Computers (clients, servers)
◼ Embedded processors
◼ Devices (sensors, peripherals)
◼ Are used to show the nodes where software
components reside in the run-time system
DEPLOYMENT DIAGRAMS
◼ Deployment diagram
◼ Contains nodes and connections
◼ A node usually represent a piece of hardware
in the system
◼ A connection depicts the
communication path used
by the hardware to
communicate
◼ Usually indicates the
method such as TCP/IP
DEPLOYMENT DIAGRAMS
◼ Deployment diagrams
contain artifact
◼ An artifact
◼ Is the specification of
a phisycal piece of
information
◼ Ex: source files, binary
executable files, table
in a database system,….
◼ An artifact defined by
the user represents a
concrete element in
the physical world
DEPLOYMENT DIAGRAMS
◼ An artifact manifest one or more model elements
◼ A <<manifestation>> is the concrete physical of
one or more model elements by an artifact
◼ This model element often is a component
◼ A manifestation is
notated as a dashed line
with an open arrow-head
labeled with the keyword
<<manifest>>
DEPLOYMENT DIAGRAMS
Package Diagram