Basic Architectural Modeling
A. Components
Terms and Concepts
A physical and replaceable part of a system that conforms to and provides the realization of a set of interfaces.
- Classes represent logical abstractions
Components represent physical things
- Components represent the physical packaging of logical components at implementation level
- Components can have operations that are reachable only through their interfaces
- Components and interfaces
A collection of operations (not realization of the operations) that used to specify a service of a class or a component
- Exporting interface of a component
The component realizes the interface to provide the services.
A component can realize more than one interface
- Importing interface of a component
The component uses the services provided by the interface to do the realization
A component can import more than one interface
- Deployment components (dll, exe)
Form an executable system
- Work product components (source file, data file)
Residue of the development process
Created as a consequence of an executing system
Package and relationships (dependency, generalization, association)
- Standard UML stereotypes for components
- Common Modeling Techniques
- Modeling Executables and Libraries
- Identify the partitioning of the physical system
- Model any executables and libraries as components
- Model the significant interfaces
- Model the relationships among the executables, libraries, and interfaces
- Modeling Tables, Files, and Documents
- Identify the ancillary components of the system
- Model them as components
- Model their relationships
- Identify the programmatic seams in the system
- Model each seam as an interface
- Collection the attributes and operations that form the interface
- Expose only the properties of the interface that are important to visualize in the given context
B. Deployment
1.Terms and Concepts
A physical element that exists at run time and represents a computational resource
Node Component
Execute components Participate in the execution
Represent physical deployment Represent physical packaging
Of components of logical elements
A set of objects or components that are allocated to a node as a group
Association relationships among nodes
- Modeling the Distribution of Components
- List each component deployed on a node in an additional compartment
- Using dependency relationships to connect each node with the components it displays
- Using association relationships to connect nodes
C. Component Diagrams
Components, interfaces, relationships (dependency, generalization, association, and realization)
- To model executable release
- To model physical database (mapping classes to tables)
- To model adaptive systems (migration, duplication)
D. Deployment Diagrams
- Contents
- Nodes
- Dependency and association relationships
- Modeling a Client/Server System
- Identify the nodes the represent the client and server processors
- Highlight special devices other than computers
- Provide visual cues for the processors and devices
- Model the topology of the nodes in a deployment program
- Modeling a Fully Distributed System
- Identify the processors and devices
- Model communication devices to the desired detail level for performance evaluation
- Model the underlying network as a node
- Model the devices and processors using deployment diagrams
- Create use case diagrams and interaction diagrams to specify the system interactions