Main Description |
A viewpoint (on a system) is "a form of abstraction achieved using a selected set of architectural concepts and
structuring rules, in order to focus on particular concerns within a system" [ISO/IEC 10746-2: Information Technology -
Open Distributed Processing - Reference Model: Foundations]. The table lists some of the viewpoints chosen to capture
the various concerns. These viewpoints are aligned with those found in ISO/IEC 10746-1: Information technology - Open
Distributed Processing - Reference Model: Overview.
Viewpoint
|
Concern
|
Impact
|
Worker
|
Concerned with the roles and responsibilities of the organization and system workers (and the
policies affecting these).
|
Worker activities, human/system interaction. Human performance specification and human factors.
|
Information
|
The kinds of information handled by the system and constraints on the use and interpretation of
that information.
|
Information integrity, capacity limitations.
Information accessibility, timeliness.
|
Logical
|
The decomposition of the system into a set of subsystems that interact at interfaces, collaborating
to provide the system services.
|
System exhibits desired behavior.
System is extendible, adaptable, maintainable.
Assets are reusable.
|
Distribution/Physical
|
The infrastructure required to support system functionality and distribution.
|
Adequacy of physical characteristics of system to host functionality and meet non-functional
requirements.
|
Process
|
Concurrency, scalability, performance, throughput, reliability.
|
Adequacy of system responsiveness, throughput, fault-tolerance.
|
Common System Viewpoints.
These viewpoints are some of the most common for software-intensive systems. Many system architectures also require
additional, domain-specific viewpoints. Examples include safety, security, and mechanical viewpoints. Viewpoints
represent different areas of concern that must be addressed in the system architecture and design. If there are system
stakeholders or experts whose concerns are important to the overall architecture, there is likely to be a need for a
set of viewpoint work products to capture their design decisions.
It is important to build a system architecture team with staff who are competent to look after the various viewpoints.
The team might consist of business analysts and users who take primary responsibility for the worker viewpoint,
software architects who attend to the logical viewpoint, and engineers who concern themselves with the physical
viewpoint, as well as experts on domain-specific viewpoints.
|