Architecture Views
From Suhrid.net Wiki
Jump to navigationJump to search
Contents
Intro
- A view is a representation of a coherent set of architectural elements as written by and read by system stakeholders.
Architectural Structures
- A structure is the set of elements itself, as they exist in software or hardware.
- Arch structures can be divided into three groups.
Module structures
- Elements are modules which are units of implementation. Assigned areas of functional responsibility.
- Less emphasis on how software works at runtime.
- Allows to understand primary responsibility of each module, other modules a module can use, related modules.
Decomposition
- Units are modules related to by "is a submodule of" relation.
- Shows how larger modules are decomposed into smaller ones.
Uses
- Units are related to by the uses relation
Layers
- When uses relation is controlled - a system of layers emerges.
Class
- Modules are classes. Relations are "inherits-from" or "is-an-instance-of".
- Here, elements are runtime components and connectors.
Component and connector structures
- Allows understanding of major executing components and how they interact.
- How data flow through system, what parts of system run in parallel.
Communicating Processes
Concurrency
Client Server
Allocation structures
- Shows relationship between software elements and elements in the external environments.
- Allows understanding on which processor does software element execute on. Files in which each element during development during testing.