Lecture 7 - Deployment Diagram

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

ICT 2403

Object
Oriented
Programming

Lecture
Deployment Diagram
Deployment Diagram
• The main purpose of the deployment diagram is to represent how
software is installed on the hardware component.
• It depicts in what manner a software interacts with hardware to
perform its execution.
• Shows the physical deployment of software components on hardware
nodes.
• It illustrates the mapping of software components onto the physical
resources of a system, such as servers, processors, storage devices,
and network infrastructure
Both the deployment diagram and the component diagram are closely
interrelated to each other as they focus on software and hardware
components.
The component diagram represents the components of a system,
whereas the deployment diagram describes how they are actually
deployed on the hardware.
Purpose of Deployment Diagrams
• They show the structure of the run-time system
• They capture the hardware that will be used to implement the system
and the links between different items of hardware.
• They model physical hardware elements and the communication
paths between them
• They can be used to plan the architecture of a system.
• They are also useful for Document the deployment of software
components or nodes
Deployment Diagram
Key elements
• Nodes:
• These represent the physical hardware entities where software components
are deployed, such as servers, workstations, routers, etc.
• Components:
• Represent software modules or artifacts that are deployed onto nodes,
including executable files, libraries, databases, and configuration files.
• Artifacts:
• Physical files deployed onto nodes, embodying the actual implementation of
software components, such as executables, scripts, databases, etc.
• Dependencies:
• Reflect relationships or connections between nodes and components,
indicating communication paths, deployment constraints, or other
dependencies.
• Associations:
• Show relationships between nodes and components, signifying that a
component is deployed on a particular node, thus mapping software
components to physical nodes.
• Deployment Specification:
• Describes the configuration and properties of nodes and components,
encompassing hardware specifications, software configurations,
communication protocols, etc.
• Communication Paths:
• Represent channels or connections facilitating communication between
nodes and components, including network connections, communication
protocols, etc.
Notations in Deployment Diagram
• Refers to the symbols, shapes, and conventions used
to represent different elements within the diagram,
like:

• Component:

• Two smaller rectangles protruding from its sides,


indicating ports for connections. The component’s
name is written inside the rectangle.
• Artifact:

• Represents a physical piece of information or data


that is used or produced in the software development
process.

• It can include source code files, executables,


documents, libraries, configuration files, or any other
tangible item.

• Artifacts may also include additional information,


such as file extensions or versions.
• Interface:

• An interface defines a contract specifying the


methods or operations that a component must
implement.

• It represents a point of interaction between different


components or subsystems.
• Node:

• A node represents a physical or computational


resource, such as a hardware device, server,
workstation, or computing resource, on which
software components can be deployed or
executed.
• Communication path:

•A straight line that represents


communication between two device
nodes. Dashed lines in deployment
diagrams often signify relationships or
dependencies between elements,
indicating that one element is related to
or dependent on another.
When to Use a Deployment Diagrams?
• The deployment diagram is mostly employed by network engineers, system
administrators, etc. with the purpose of representing the deployment of software
on the hardware system.
• Deployment diagrams can be used for the followings:
• To model the network and hardware topology of a system.
• To model the distributed networks and systems.
• Implement forwarding and reverse engineering processes.
• To model the hardware details for a client/server system.
• For modeling the embedded system.
Example 1 – Web Application
Example 2 – Online Shopping
Exercise 1
• Draw a deployment diagram given that the nodes are three client PCs, a server
and a printer. The communications protocol between the clients and server is
TCP/IP; and between the server and the printer is a standard parallel printer
protocol. The user interface and the control objects will run on the clients.

You might also like