Task: Optimize Deployment Architecture
This task optimizes the interaction between different engineering disciplines within the system architecture.
Disciplines: Architecture
Purpose
The purpose of the deployment architecture is to allocate responsibilities and define interfaces among the different engineering disciplines of software, digital electronics, analog electronics, mechanical design, chemical design, etc.
Relationships
Main Description

In the simplest case, the software is being targeted towards an existing and understood hardware architecture. In this case, the deployment view is focused on location of the software architectural units. In the general system engineering case, allocations are made by the system engineer to optimize various qualities of the system, such as manufacturing cost, development cost, heat, weight, performance, etc.

The allocation of software to hardware may be done either symmetrically (dynamically) or asymmetrically (at design time).

UML provides deployment diagrams specifically to show the distribution architecture, class diagrams can be better used for this purpose.

Steps
Specify the inter-disciplinary interfaces
This step determines how the multiple disciplines will collaborate to achieve the functionality and performance required of the architectural unit of which they are a part. For the software-digital electronics, this is often accomplished by adding metadata into tags describing the type of interface (e.g. port, interrupt, or memory-mapped), the location or address, the meanings of the bits involved, and the qualities of service (e.g. response time).
Identify the engineering disciplines involved

The engineering disciplines managed with the deployment architecture most typically include (but are not limited to):

  • Software
  • Digital electronics
  • Analog electronics
  • Mechanical design
  • Chemical design
  • Optical design

Not all disciplines may be significant in any particular project.

Allocate responsibilities to engineering disciplines

This step allocates responsibilities (functionality and qualities of service) to the different engineering disciplines involved.

This is most often done at the subsystem level of abstraction. That is, subsystems are composed of multiple engineering disciplines, and the allocation to the disciplines is done on a per subsystem basis.

Perform tradeoff analysis

It is important to obtain an optimal allocation of responsibilities among the different engineering disciplines.

  • You must first identify key system functions and optimization criteria within scope.
  • Rank the optimization criteria in order of criticality
  • Identify possible solutions and perform a Measure of Effectiveness (MoE) analysis for each solution.
  • Finally, select the best solution (the one with the best MoE score)
More Information