Difference between revisions of "Architecture Views"
From Suhrid.net Wiki
Jump to navigationJump to search(8 intermediate revisions by the same user not shown) | |||
Line 30: | Line 30: | ||
* Modules are classes. Relations are "inherits-from" or "is-an-instance-of". | * Modules are classes. Relations are "inherits-from" or "is-an-instance-of". | ||
− | * Here, elements are runtime components and connectors. | + | * Here, elements are runtime components and connectors. |
+ | |||
+ | |||
+ | === Structural view === | ||
+ | |||
+ | |||
+ | * Useful for members of development team, maintainers, project manager, analyst and the architect. | ||
+ | * Define the computational elements of a system and the organization of those elements. | ||
+ | * What software elements comprise the system? | ||
+ | * What are their interfaces? | ||
+ | * How do they interconnect? | ||
+ | * What are the mechanisms for interconnection? | ||
+ | |||
+ | |||
+ | * Use stereotyped <<module>> in UML to display modules. | ||
+ | * Display interfaces in the UML diagram. | ||
+ | * Show dependencies of modules on each other. | ||
== Component and connector structures == | == Component and connector structures == | ||
Line 36: | Line 52: | ||
* Allows understanding of major executing components and how they interact. | * Allows understanding of major executing components and how they interact. | ||
* How data flow through system, what parts of system run in parallel. | * How data flow through system, what parts of system run in parallel. | ||
+ | * Useful for developers, maintainers. | ||
=== Communicating Processes === | === Communicating Processes === | ||
Line 54: | Line 71: | ||
* Components are clients and servers. Connectors are protocols and messages. | * Components are clients and servers. Connectors are protocols and messages. | ||
− | + | == Allocation structures == | |
* Shows relationship between software elements and elements in the external environments. | * 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. | * Allows understanding on which processor does software element execute on. Files in which each element during development during testing. | ||
+ | * Useful for project manager, end users, maintainers, analyst, architect, infrastructure support. | ||
+ | |||
+ | === Deployment === | ||
+ | |||
+ | * How software is assigned to hardware processing and communication elements. | ||
+ | |||
+ | === Implementation === | ||
+ | |||
+ | * S/w to file structure. Essential for build processes. | ||
+ | |||
+ | === Work assignment === | ||
+ | |||
+ | * Assign modules to teams. | ||
+ | |||
+ | [[Category:SYAR]] |
Latest revision as of 11:17, 21 April 2012
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.
Structural view
- Useful for members of development team, maintainers, project manager, analyst and the architect.
- Define the computational elements of a system and the organization of those elements.
- What software elements comprise the system?
- What are their interfaces?
- How do they interconnect?
- What are the mechanisms for interconnection?
- Use stereotyped <<module>> in UML to display modules.
- Display interfaces in the UML diagram.
- Show dependencies of modules on each other.
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.
- Useful for developers, maintainers.
Communicating Processes
- Units are processes.
- Relation is attachment, showing how components and connectors are hooked together.
Concurrency
- Units are components and connectors are threads.
- Comprises components and connectors that create, store and access persistent data.
Client Server
- Components are clients and servers. Connectors are protocols and messages.
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.
- Useful for project manager, end users, maintainers, analyst, architect, infrastructure support.
Deployment
- How software is assigned to hardware processing and communication elements.
Implementation
- S/w to file structure. Essential for build processes.
Work assignment
- Assign modules to teams.