====== Views and Viewpoints ====== Below is based on [[http://www.iso-architecture.org/ieee-1471/docs/all-about-ieee-1471.pdf|D. Emery, M. Maier, R. Hilliard, "All about IEE Std 1471" (2008)]] ===== Definition ===== ==== What it is ==== * View: A representation of a whole system from the perspective of a related set of concerns. Views are modular allowing a view to utilize multiple notations and a model may be shared between multiple views. * Viewpoints: Each view corresponds to only one viewpoint. Viewpoints define resources and rules for constructing views. **View** is * What you see * System/model specific **Viewpoint** is * Where you look from * System/model generic. Therefore it is proposed that there is a //library// of viewpoints * ==== What it is not ==== ===== Rationale ===== The model of a system is often rich in information and addresses concerns from a wide range of stakeholders. To reduce perceived complexity, separate the concerns into different views. Views and Viewpoints provide a 'window' into the model that allows the viewer to obtain the information that they need. Each view addresses one or more concerns of the stakeholders. If a view does not answer some stakeholder concerns then do not create view. ===== Pre-condition ===== ===== Post-condition ===== ===== Performance Qualities ===== ===== Problem ===== ===== Methodology ===== ==== Method ==== Each architectural viewpoint is determined by: - Create a Viewpoint - Viewpoint name - Stakeholders addressed by the viewpoint - Architectural concerns "framed" by the viewpoint - Method used to construct, illustrate and analyze resulting view - Source (if any) of the viewpoint - (optional) Consistency or completeness checks associated with underlying method to be applied - (optional) Evaluation or analysis techniques to be applied - (optional) Heuristics, patters or guidelines which aid the synthesis of an associated view - Create a View - Apply a Conform edge from View to Viewpoint (edge is now replaced with a solid line with an empty arrow, similar to the Generalization edge) - Apply a Expose edge from View to element that the View exposes (e.g. "Requirements" package) === Heuristics === ==== Process ==== ===== Parts ===== * Architectural Description (AD): Collection of products to document an architecture. AD addresses all identified stakeholders' concerns. Includes at least, * Identification of stakeholders and concerns * Selection and declaration of the viewpoints used * Views, each conforming to a viewpoint * Any known inconsistencies * Architectural rationale * Stakeholder: Individual, team or organization with interests in, or concerns relative to, a system * Concerns: Those stakeholders' interests which pertain to the development, operation, or other key characteristics of the system ===== Use Cases ===== ==== Scenarios ====