View model
Encyclopedia
A view model or viewpoints framework in systems engineering
, software engineering
, and enterprise engineering
is a framework which defines a coherent set of views to be used in the construction of a system architecture, software architecture
, or enterprise architecture
. A view is a representation of a whole system from the perspective of a related set of concerns. View model provides guidance and rules for constructing, classifying, and organizing architectures.
Since the early 1990s there have been a number of efforts to define standard approaches for describing and analyzing system architectures. Each of the recent Enterprise Architecture frameworks define a set of views, but these sets are not always called "view models".
Usually one view is a very concrete product that presents a specific set of architecture data for a given system. However, the same term is sometimes used to refer to a view definition, including the particular viewpoint and the corresponding guidance that defines each concrete view. The term view model is related to view definitions.
s and view
s is to enable human engineers to comprehend very complex system
s, and to organize the elements of the problem and the solution around domains of expertise. In the engineering
of physically intensive systems, viewpoints often correspond to capabilities and responsibilities within the engineering organization.
Most complex system specifications are so extensive that no single individual can fully comprehend all aspects of the specifications. Furthermore, we all have different interests in a given system and different reasons for examining the system
's specifications. A business
executive will ask different questions of a system make-up than would a system implementer. The concept of viewpoints framework, therefore, is to provide separate viewpoints into the specification of a given complex system in order to facilitate communication with the stakeholders. Each viewpoint satisfies an audience with interest in a particular set of aspects of the system. Each viewpoint may use a specific viewpoint language that optimizes the vocabulary and presentation for the audience of that viewpoint. Viewpoint modeling has become an effective approach for dealing with the inherent complexity of large distributed systems.
Current software architectural practices, as described in IEEE Std. 1471
, divide the design activity into several areas of concerns, each one focusing on a specific aspect of the system. Examples include the "4+1" view model
, the Zachman Framework
, TOGAF
, DoDAF and, RM-ODP
.
, but some have sprung from international or national efforts in ISO or the IEEE. The most relevant of these, the IEEE Recommended Practice for Architectural Description of Software-Intensive Systems (IEEE-Std-1471-2000) provides some very useful definitions and guidelines for what a system architecture is and for the use of viewpoint specifications to address the stakeholder concerns
.
The IEEE 1471
specification describes the process for developing architecture descriptions under a number of scenarios, including precedented and unprecedented design, evolutionary design, and capture of design of existing systems. In all of these scenarios the overall process is the same: identify stakeholders, elicit concerns, identify a set of viewpoint
s to be used, and then apply these viewpoint specifications to develop a set of relevant views of the system. Although IEEE-1471 does mention the possibility of defining system, functional, and technical views (among others), it does not go so far as to define any specific set of views nor what these might be. Eventually in 1996 the ISO Reference Model for Open Distributed Processing (RM-ODP
) was published to provide a useful framework for describing the architecture and design of large scale distributed systems.
A view
allows a user to examine a portion of a particular interest area. For example, an Information View may present all functions, organizations, technology, etc. that use a particular piece of information, while the Organizational View may present all functions, technology, and information of concern to a particular organization. In the Zachman Framework
views comprise a group of work products whose development requires a particular analytical and technical expertise because they focus on either the “what,” “how,” “who,” “where,” “when,” or “why” of the enterprise. For example, Functional View work products answer the question “how is the mission carried out?” They are most easily developed by experts in functional decomposition
using process and activity modeling. They show the enterprise from the point of view of functions. They also may show organizational and information components, but only as they relate to functions.
Viewpoints provide the conventions, rules, and languages for constructing, presenting and analysing views. In ISO/IEC 42010:2007 (IEEE-Std-1471-2000
) a viewpoint is a specification for an individual view. A view is a representation of a whole system from the perspective of a point. A view may consist of one or more architectural models
. Each such architectural model is developed using the methods established by its associated architectural system, as well as for the system as a whole.
is a set of different ways to represent pre-selected aspects of a system. Each perspective
has a different focus, conceptualization, dedication and visualization of what the model
is representing.
In information system
s, the traditional way to divide modeling perspectives is to distinguish the structural, functional and behavioral/processual perspectives. This together with rule, object, communication and actor and role perspectives is one way of classifying modeling approaches
A given view is a specification for the system at a particular level of abstraction from a given viewpoint. Different levels of abstraction contain different levels of detail. Higher-level views allow the engineer to fashion and comprehend the whole design and identify and resolve problems in the large. Lower-level views allow the engineer to concentrate on a part of the design and develop the detailed specifications.
In the system itself, however, all of the specifications appearing in the various viewpoint models must be addressed in the realized components of the system. And the specifications for any given component may be drawn from many different viewpoints. On the other hand, the specifications induced by the distribution of functions over specific components and component interactions will typically reflect a different partitioning of concerns than that reflected in the original viewpoints. Thus additional viewpoints, addressing the concerns of the individual components and the bottom-up synthesis of the system, may also be useful.
At the data layer are the architecture data elements and their defining attributes and relationships. At the presentation layer are the products and views that support a visual means to communicate and understand the purpose of the architecture, what it describes, and the various architectural analyses performed. Products provide a way for visualizing architecture data as graphical, tabular, or textual representations. Views provide the ability to visualize architecture data that stem across products, logically organizing the data for a specific or holistic perspective of the architecture.
for data modeling, introduced in 1977, can be considered one of the first view models. It is an approach to building information systems and systems information management, that promotes the conceptual model
as the key to achieving data integration
. The Three schema approach defines three schema's and views:
At the center, the conceptual schema defines the ontology
of the concept
s as the user
s think of them and talk about them. The physical schema describes the internal formats of the data
stored in the database
, and the external schema defines the view of the data presented to the application programs. The framework attempted to permit multiple data models to be used for external schemata.
Over the years, the skill and interest in building information systems has grown tremendously. However, for the most part, the traditional approach to building systems has only focused on defining data
from two distinct views, the "user view" and the "computer view". From the user view, which will be referred to as the “external schema,” the definition of data is in the context of reports and screens designed to aid individuals in doing their specific jobs. The required structure of data from a usage view changes with the business environment and the individual preferences of the user. From the computer view, which will be referred to as the “internal schema,” data is defined in terms of file structures for storage and retrieval. The required structure of data for computer storage
depends upon the specific computer technology employed and the need for efficient processing of data.
is a view model designed by Philippe Kruchten
in 1995 for describing the architecture of software-intensive systems, based on the use of multiple, concurrent views. The views are used to describe the system in the viewpoint of different stakeholders, such as end-users, developers and project managers. The four views of the model are logical, development, process and physical view:
The four views of the model are concerned with :
In addition selected use case
s or scenarios are utilized to illustrate the architecture. Hence the model contains 4+1 views.
. Because the discipline of Enterprise Architecture and Engineering is so broad, and because enterprises can be large and complex, the models associated with the discipline also tend to be large and complex. To manage this scale and complexity, an Architecture Framework provides tools and methods that can bring the task into focus and allow valuable artifacts to be produced when they are most needed.
Architecture Frameworks are commonly used in Information technology
and Information system
governance. An organization may wish to mandate that certain models be produced before a system design can be approved. Similarly, they may wish to specify certain views be used in the documentation of procured systems - the U.S. Department of Defense
stipulates that specific DoDAF views be provided by equipment suppliers for capital project above a certain value.
, originally conceived by John Zachman
at IBM in the 1987, is a framework for enterprise architecture, which provides a formal and highly structured way of viewing and defining an enterprise.
The Framework is used for organizing architectural "artifacts" in a way that takes into account both who the artifact targets (for example, business owner and builder) and what particular issue (for example, data and functionality) is being addressed. These artifacts may include design documents, specifications, and models.
The Zachman Framework is often referenced as a standard approach for expressing the basic elements of enterprise architecture
. The Zachman Framework has been recognized by the U.S. Federal Government as having "... received worldwide acceptance as an integrated framework for managing change in enterprises and the systems that support them."
) specifies a set of viewpoints for partitioning the design of a distributed software/hardware system. Since most integration problems arise in the design of such systems or in very analogous situations, these viewpoints may prove useful in separating integration concerns. The RMODP viewpoints are:
RMODP further defines a requirement for a design to contain specifications of consistency between viewpoints, including:
(DoDAF) defines a standard way to organize an enterprise architecture
(EA) or systems architecture
into complementary and consistent views. It is especially suited to large systems with complex integration and interoperability challenges, and is apparently unique in its use of "operational view
s" detailing the external customer's operating domain in which the developing system will operate.
The DoDAF defines a set of products that act as mechanisms for visualizing, understanding,
and assimilating the broad scope and complexities of an architecture description through graphic,
tabular, or textual means. These products are organized under four views:
Each view depicts certain perspectives of an architecture as described below. Only a subset of the full DoDAF viewset is usually created for each system development. The figure represents the information that links the operational view
, systems and services view, and technical standards view. The three views and their interrelationships driven – by common architecture data elements – provide the basis for
deriving measures such as interoperability or performance, and for measuring the impact of the values of these metrics on operational mission and task effectiveness.
enterprise, segment, and solution architecture provide different business perspectives by varying the level of detail and addressing related but distinct concerns. Just as enterprises are themselves hierarchically organized, so are the different views provided by each type of architecture. The Federal Enterprise Architecture Practice Guidance (2006) has defined three types of architecture:
By definition, Enterprise Architecture (EA) is fundamentally concerned with identifying common or shared assets – whether they are strategies, business processes, investments, data, systems, or technologies. EA is driven by strategy; it helps an agency identify whether its resources are properly aligned to the agency mission and strategic goals and objectives. From an investment perspective, EA is used to drive decisions about the IT investment portfolio as a whole. Consequently, the primary stakeholders of the EA are the senior managers and executives tasked with ensuring the agency fulfills its mission as effectively and efficiently as possible.
By contrast, segment architecture defines a simple roadmap for a core mission area, business service, or enterprise service. Segment architecture is driven by business management and delivers products that improve the delivery of services to citizens and agency staff. From an investment perspective, segment architecture drives decisions for a business case or group of business cases supporting a core mission area or common or shared service. The primary stakeholders for segment architecture are business owners and managers. Segment architecture is related to EA through three principles: structure, reuse, and alignment. First, segment architecture inherits the framework used by the EA, although it may be extended and specialized to meet the specific needs of a core mission area or common or shared service. Second, segment architecture reuses important assets defined at the enterprise level including: data; common business processes and investments; and applications and technologies. Third, segment architecture aligns with elements defined at the enterprise level, such as business strategies, mandates, standards, and performance measures.
.
This "set of views", as described below, is a listing of possible modeling viewpoints. Not all of these views may be used for any one project and other views may be defined as necessary. Note that for some analyses elements from multiple viewpoints may be combined into a new view, possibly using a layered representation.
In a latter presentation this nominal set of views was presented as an Extended RASDS Semantic Information Model Derivation. Hereby RASDS stands for Reference Architecture for Space Data Systems. see second image.
Enterprise Viewpoint
Information viewpoint
Functional viewpoint
Physical viewpoint
Engineering viewpoint
Technology viewpoint
In contrast to the previous listed view models, this "nominal set of views" lists a whole range of views, possible to develop powerful and extensible approaches for describing a general class of software intensive system architectures.
Systems engineering
Systems engineering is an interdisciplinary field of engineering that focuses on how complex engineering projects should be designed and managed over the life cycle of the project. Issues such as logistics, the coordination of different teams, and automatic control of machinery become more...
, software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...
, and enterprise engineering
Enterprise engineering
Enterprise engineering is a subdiscipline of systems engineering, which applies the knowledge and methods of systems engineering to the design of businesses. The discipline examines each aspect of the enterprise, including business processes, information flows, and organizational structure...
is a framework which defines a coherent set of views to be used in the construction of a system architecture, software architecture
Software architecture
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both...
, or enterprise architecture
Enterprise architecture
An enterprise architecture is a rigorous description of the structure of an enterprise, which comprises enterprise components , the externally visible properties of those components, and the relationships between them...
. A view is a representation of a whole system from the perspective of a related set of concerns. View model provides guidance and rules for constructing, classifying, and organizing architectures.
Since the early 1990s there have been a number of efforts to define standard approaches for describing and analyzing system architectures. Each of the recent Enterprise Architecture frameworks define a set of views, but these sets are not always called "view models".
Usually one view is a very concrete product that presents a specific set of architecture data for a given system. However, the same term is sometimes used to refer to a view definition, including the particular viewpoint and the corresponding guidance that defines each concrete view. The term view model is related to view definitions.
Overview
The purpose of viewpointViewpoint
Viewpoint may refer to:* A camera angle in photography, filmmaking, and other visual arts* Viewpoint model, a computer science technique for making complex systems more comprehensible to human engineers* Viewpoint , shooter video game...
s and view
View
A view is what can be seen in a range of vision. View may also be used as a synonym of point of view in the first sense. View may also be used figuratively or with special significance—for example, to imply a scenic outlook or significant vantage point:...
s is to enable human engineers to comprehend very complex system
Complex system
A complex system is a system composed of interconnected parts that as a whole exhibit one or more properties not obvious from the properties of the individual parts....
s, and to organize the elements of the problem and the solution around domains of expertise. In the engineering
Engineering
Engineering is the discipline, art, skill and profession of acquiring and applying scientific, mathematical, economic, social, and practical knowledge, in order to design and build structures, machines, devices, systems, materials and processes that safely realize improvements to the lives of...
of physically intensive systems, viewpoints often correspond to capabilities and responsibilities within the engineering organization.
Most complex system specifications are so extensive that no single individual can fully comprehend all aspects of the specifications. Furthermore, we all have different interests in a given system and different reasons for examining the system
System
System is a set of interacting or interdependent components forming an integrated whole....
's specifications. A business
Business
A business is an organization engaged in the trade of goods, services, or both to consumers. Businesses are predominant in capitalist economies, where most of them are privately owned and administered to earn profit to increase the wealth of their owners. Businesses may also be not-for-profit...
executive will ask different questions of a system make-up than would a system implementer. The concept of viewpoints framework, therefore, is to provide separate viewpoints into the specification of a given complex system in order to facilitate communication with the stakeholders. Each viewpoint satisfies an audience with interest in a particular set of aspects of the system. Each viewpoint may use a specific viewpoint language that optimizes the vocabulary and presentation for the audience of that viewpoint. Viewpoint modeling has become an effective approach for dealing with the inherent complexity of large distributed systems.
Current software architectural practices, as described in IEEE Std. 1471
IEEE 1471
IEEE 1471 is an IEEE Standard for describing the architecture of a software-intensive system, also known as software architecture.- Overview :...
, divide the design activity into several areas of concerns, each one focusing on a specific aspect of the system. Examples include the "4+1" view model
4+1
4+1 is a view model designed by Philippe Kruchten for "describing the architecture of software-intensive systems, based on the use of multiple, concurrent views". The views are used to describe the system from the viewpoint of different stakeholders, such as end-users, developers and project...
, the Zachman Framework
Zachman framework
The Zachman Framework is an Enterprise Architecture framework for enterprise architecture, which provides a formal and highly structured way of viewing and defining an enterprise...
, TOGAF
TOGAF
The Open Group Architecture Framework is a framework for enterprise architecture which provides a comprehensive approach for designing, planning, implementation, and governance of an enterprise information architecture...
, DoDAF and, RM-ODP
RM-ODP
Reference Model of Open Distributed Processing is a reference model in computer science, which provides a co-ordinating framework for the standardization of open distributed processing...
.
History
Since the early 1990s there have been a number of efforts to define standard approaches for describing and analyzing system architectures. Many of these have been funded by the United States Department of DefenseUnited States Department of Defense
The United States Department of Defense is the U.S...
, but some have sprung from international or national efforts in ISO or the IEEE. The most relevant of these, the IEEE Recommended Practice for Architectural Description of Software-Intensive Systems (IEEE-Std-1471-2000) provides some very useful definitions and guidelines for what a system architecture is and for the use of viewpoint specifications to address the stakeholder concerns
Stakeholder analysis
Stakeholder analysis in conflict resolution, project management, and business administration, is the process of identifying the individuals or groups that are likely to affect or be affected by a proposed action, and sorting them according to their impact on the action and the impact the action...
.
The IEEE 1471
IEEE 1471
IEEE 1471 is an IEEE Standard for describing the architecture of a software-intensive system, also known as software architecture.- Overview :...
specification describes the process for developing architecture descriptions under a number of scenarios, including precedented and unprecedented design, evolutionary design, and capture of design of existing systems. In all of these scenarios the overall process is the same: identify stakeholders, elicit concerns, identify a set of viewpoint
Viewpoint
Viewpoint may refer to:* A camera angle in photography, filmmaking, and other visual arts* Viewpoint model, a computer science technique for making complex systems more comprehensible to human engineers* Viewpoint , shooter video game...
s to be used, and then apply these viewpoint specifications to develop a set of relevant views of the system. Although IEEE-1471 does mention the possibility of defining system, functional, and technical views (among others), it does not go so far as to define any specific set of views nor what these might be. Eventually in 1996 the ISO Reference Model for Open Distributed Processing (RM-ODP
RM-ODP
Reference Model of Open Distributed Processing is a reference model in computer science, which provides a co-ordinating framework for the standardization of open distributed processing...
) was published to provide a useful framework for describing the architecture and design of large scale distributed systems.
View
A view of a system is a representation of the system from the perspective of a viewpoint. This viewpoint on a system involves a perspective focusing on specific concerns regarding the system, which suppresses details to provide a simplified model having only those elements related to the concerns of the viewpoint. For example, a security viewpoint focuses on security concerns and a security viewpoint model contains those elements that are related to security from a more general model of a system.A view
View
A view is what can be seen in a range of vision. View may also be used as a synonym of point of view in the first sense. View may also be used figuratively or with special significance—for example, to imply a scenic outlook or significant vantage point:...
allows a user to examine a portion of a particular interest area. For example, an Information View may present all functions, organizations, technology, etc. that use a particular piece of information, while the Organizational View may present all functions, technology, and information of concern to a particular organization. In the Zachman Framework
Zachman framework
The Zachman Framework is an Enterprise Architecture framework for enterprise architecture, which provides a formal and highly structured way of viewing and defining an enterprise...
views comprise a group of work products whose development requires a particular analytical and technical expertise because they focus on either the “what,” “how,” “who,” “where,” “when,” or “why” of the enterprise. For example, Functional View work products answer the question “how is the mission carried out?” They are most easily developed by experts in functional decomposition
Functional decomposition
Functional decomposition refers broadly to the process of resolving a functional relationship into its constituent parts in such a way that the original function can be reconstructed from those parts by function composition...
using process and activity modeling. They show the enterprise from the point of view of functions. They also may show organizational and information components, but only as they relate to functions.
Viewpoints
Viewpoint is a systems engineering concept that describes a partitioning of concerns in system restricted to a particular set of concerns. Adoption of a viewpoint is usable so that issues in those aspects can be addressed separately. A good selection of viewpoints also partitions the design of the system into specific areas of expertise.Viewpoints provide the conventions, rules, and languages for constructing, presenting and analysing views. In ISO/IEC 42010:2007 (IEEE-Std-1471-2000
IEEE 1471
IEEE 1471 is an IEEE Standard for describing the architecture of a software-intensive system, also known as software architecture.- Overview :...
) a viewpoint is a specification for an individual view. A view is a representation of a whole system from the perspective of a point. A view may consist of one or more architectural models
Software Architectural Model
An architectural model is a rich and rigorous diagram, created using available standards, in which the primary concern is to illustrate a specific set of tradeoffs inherent in the structure and design of a system or ecosystem...
. Each such architectural model is developed using the methods established by its associated architectural system, as well as for the system as a whole.
Modeling perspectives
Modeling perspectivesModeling perspectives
A modeling perspective in information systems is a particular way to represent pre-selected aspects of a system. Any perspective has a different focus, conceptualization, dedication and visualization of what the model is representing....
is a set of different ways to represent pre-selected aspects of a system. Each perspective
Perspective (visual)
Perspective, in context of vision and visual perception, is the way in which objects appear to the eye based on their spatial attributes; or their dimensions and the position of the eye relative to the objects...
has a different focus, conceptualization, dedication and visualization of what the model
Scientific modelling
Scientific modelling is the process of generating abstract, conceptual, graphical and/or mathematical models. Science offers a growing collection of methods, techniques and theory about all kinds of specialized scientific modelling...
is representing.
In information system
Information system
An information system - or application landscape - is any combination of information technology and people's activities that support operations, management, and decision making. In a very broad sense, the term information system is frequently used to refer to the interaction between people,...
s, the traditional way to divide modeling perspectives is to distinguish the structural, functional and behavioral/processual perspectives. This together with rule, object, communication and actor and role perspectives is one way of classifying modeling approaches
Viewpoint model
In any given viewpoint, it is possible to make a model of the system that contains only the objects that are visible from that viewpoint, but also captures all of the objects, relationships and constraints that are present in the system and relevant to that viewpoint. Such a model is said to be a viewpoint model, or a view of the system from that viewpoint.A given view is a specification for the system at a particular level of abstraction from a given viewpoint. Different levels of abstraction contain different levels of detail. Higher-level views allow the engineer to fashion and comprehend the whole design and identify and resolve problems in the large. Lower-level views allow the engineer to concentrate on a part of the design and develop the detailed specifications.
In the system itself, however, all of the specifications appearing in the various viewpoint models must be addressed in the realized components of the system. And the specifications for any given component may be drawn from many different viewpoints. On the other hand, the specifications induced by the distribution of functions over specific components and component interactions will typically reflect a different partitioning of concerns than that reflected in the original viewpoints. Thus additional viewpoints, addressing the concerns of the individual components and the bottom-up synthesis of the system, may also be useful.
Architecture description
An architecture description is a representation of a system architecture, at any time, in terms of its component parts, how those parts function, the rules and constraints under which those parts function, and how those parts relate to each other and to the environment. In an architecture description the architecture data is shared across several views and products.At the data layer are the architecture data elements and their defining attributes and relationships. At the presentation layer are the products and views that support a visual means to communicate and understand the purpose of the architecture, what it describes, and the various architectural analyses performed. Products provide a way for visualizing architecture data as graphical, tabular, or textual representations. Views provide the ability to visualize architecture data that stem across products, logically organizing the data for a specific or holistic perspective of the architecture.
Three schema approach
The Three schema approachThree schema approach
The three-schema approach, or the Three Schema Concept, in software engineering is an approach to building information systems and systems information management from the 1970s...
for data modeling, introduced in 1977, can be considered one of the first view models. It is an approach to building information systems and systems information management, that promotes the conceptual model
Conceptual model
In the most general sense, a model is anything used in any way to represent anything else. Some models are physical objects, for instance, a toy model which may be assembled, and may even be made to work like the object it represents. They are used to help us know and understand the subject matter...
as the key to achieving data integration
Data integration
Data integration involves combining data residing in different sources and providing users with a unified view of these data.This process becomes significant in a variety of situations, which include both commercial and scientific domains...
. The Three schema approach defines three schema's and views:
- External schema for user views
- Conceptual schemaConceptual schemaA conceptual schema or conceptual data model is a map of concepts and their relationships. This describes the semantics of an organization and represents a series of assertions about its nature...
integrates external schemata - Internal schema that defines physical storage structures
At the center, the conceptual schema defines the ontology
Ontology
Ontology is the philosophical study of the nature of being, existence or reality as such, as well as the basic categories of being and their relations...
of the concept
Concept
The word concept is used in ordinary language as well as in almost all academic disciplines. Particularly in philosophy, psychology and cognitive sciences the term is much used and much discussed. WordNet defines concept: "conception, construct ". However, the meaning of the term concept is much...
s as the user
User (computing)
A user is an agent, either a human agent or software agent, who uses a computer or network service. A user often has a user account and is identified by a username , screen name , nickname , or handle, which is derived from the identical Citizen's Band radio term.Users are...
s think of them and talk about them. The physical schema describes the internal formats of the data
Data
The term data refers to qualitative or quantitative attributes of a variable or set of variables. Data are typically the results of measurements and can be the basis of graphs, images, or observations of a set of variables. Data are often viewed as the lowest level of abstraction from which...
stored in the database
Database
A database is an organized collection of data for one or more purposes, usually in digital form. The data are typically organized to model relevant aspects of reality , in a way that supports processes requiring this information...
, and the external schema defines the view of the data presented to the application programs. The framework attempted to permit multiple data models to be used for external schemata.
Over the years, the skill and interest in building information systems has grown tremendously. However, for the most part, the traditional approach to building systems has only focused on defining data
Data
The term data refers to qualitative or quantitative attributes of a variable or set of variables. Data are typically the results of measurements and can be the basis of graphs, images, or observations of a set of variables. Data are often viewed as the lowest level of abstraction from which...
from two distinct views, the "user view" and the "computer view". From the user view, which will be referred to as the “external schema,” the definition of data is in the context of reports and screens designed to aid individuals in doing their specific jobs. The required structure of data from a usage view changes with the business environment and the individual preferences of the user. From the computer view, which will be referred to as the “internal schema,” data is defined in terms of file structures for storage and retrieval. The required structure of data for computer storage
Computer storage
Computer data storage, often called storage or memory, refers to computer components and recording media that retain digital data. Data storage is one of the core functions and fundamental components of computers....
depends upon the specific computer technology employed and the need for efficient processing of data.
4+1 view model of architecture
4+14+1
4+1 is a view model designed by Philippe Kruchten for "describing the architecture of software-intensive systems, based on the use of multiple, concurrent views". The views are used to describe the system from the viewpoint of different stakeholders, such as end-users, developers and project...
is a view model designed by Philippe Kruchten
Philippe Kruchten
Philippe Kruchten is a Canadian software engineer, and Professor of Software Engineering at University of British Columbia in Vancouver, Canada, known as Director of Process Development at Rational Software, and developer of the 4+1 view model....
in 1995 for describing the architecture of software-intensive systems, based on the use of multiple, concurrent views. The views are used to describe the system in the viewpoint of different stakeholders, such as end-users, developers and project managers. The four views of the model are logical, development, process and physical view:
The four views of the model are concerned with :
- Logical view : is concerned with the functionality that the system provides to end-users.
- Development view : illustrates a system from a programmers perspective and is concerned with software management.
- Process view : deals with the dynamic aspect of the system, explains the system processes and how they communicate, and focuses on the runtime behavior of the system.
- Physical view : depicts the system from a system engineer's point-of-view. It is concerned with the topology of software components on the physical layer, as well as communication between these components.
In addition selected use case
Use case
In software engineering and systems engineering, a use case is a description of steps or actions between a user and a software system which leads the user towards something useful...
s or scenarios are utilized to illustrate the architecture. Hence the model contains 4+1 views.
Types of Enterprise Architecture View Models
Enterprise Architecture framework defines how to organize the structure and views associated with an Enterprise ArchitectureEnterprise architecture
An enterprise architecture is a rigorous description of the structure of an enterprise, which comprises enterprise components , the externally visible properties of those components, and the relationships between them...
. Because the discipline of Enterprise Architecture and Engineering is so broad, and because enterprises can be large and complex, the models associated with the discipline also tend to be large and complex. To manage this scale and complexity, an Architecture Framework provides tools and methods that can bring the task into focus and allow valuable artifacts to be produced when they are most needed.
Architecture Frameworks are commonly used in Information technology
Information technology
Information technology is the acquisition, processing, storage and dissemination of vocal, pictorial, textual and numerical information by a microelectronics-based combination of computing and telecommunications...
and Information system
Information system
An information system - or application landscape - is any combination of information technology and people's activities that support operations, management, and decision making. In a very broad sense, the term information system is frequently used to refer to the interaction between people,...
governance. An organization may wish to mandate that certain models be produced before a system design can be approved. Similarly, they may wish to specify certain views be used in the documentation of procured systems - the U.S. Department of Defense
United States Department of Defense
The United States Department of Defense is the U.S...
stipulates that specific DoDAF views be provided by equipment suppliers for capital project above a certain value.
Zachman Framework
The Zachman FrameworkZachman framework
The Zachman Framework is an Enterprise Architecture framework for enterprise architecture, which provides a formal and highly structured way of viewing and defining an enterprise...
, originally conceived by John Zachman
John Zachman
John A. Zachman is an American business and IT consultant, early pioneer of enterprise architecture, Chief Executive Officer of Zachman International, and originator of the Zachman Framework.- Biography :...
at IBM in the 1987, is a framework for enterprise architecture, which provides a formal and highly structured way of viewing and defining an enterprise.
The Framework is used for organizing architectural "artifacts" in a way that takes into account both who the artifact targets (for example, business owner and builder) and what particular issue (for example, data and functionality) is being addressed. These artifacts may include design documents, specifications, and models.
The Zachman Framework is often referenced as a standard approach for expressing the basic elements of enterprise architecture
Enterprise architecture
An enterprise architecture is a rigorous description of the structure of an enterprise, which comprises enterprise components , the externally visible properties of those components, and the relationships between them...
. The Zachman Framework has been recognized by the U.S. Federal Government as having "... received worldwide acceptance as an integrated framework for managing change in enterprises and the systems that support them."
RM-ODP views
The International Organization for Standardization (ISO) Reference Model for Open Distributed Processing (RM-ODPRM-ODP
Reference Model of Open Distributed Processing is a reference model in computer science, which provides a co-ordinating framework for the standardization of open distributed processing...
) specifies a set of viewpoints for partitioning the design of a distributed software/hardware system. Since most integration problems arise in the design of such systems or in very analogous situations, these viewpoints may prove useful in separating integration concerns. The RMODP viewpoints are:
- the enterprise viewpoint, which is concerned with the purpose and behaviors of the system as it relates to the business objective and the business processes of the organization
- the information viewpoint, which is concerned with the nature of the information handled by the system and constraints on the use and interpretation of that information
- the computational viewpoint, which is concerned with the functional decomposition of the system into a set of components that exhibit specific behaviors and interact at interfaces
- the engineering viewpoint, which is concerned with the mechanisms and functions required to support the interactions of the computational components
- the technology viewpoint, which is concerned with the explicit choice of technologies for the implementation of the system, and particularly for the communications among the components
RMODP further defines a requirement for a design to contain specifications of consistency between viewpoints, including:
- the use of enterprise objects and processes in defining information units
- the use of enterprise objects and behaviors in specifying the behaviors of computational components, and use of the information units in defining computational interfaces
- the association of engineering choices with computational interfaces and behavior requirements
- the satisfaction of information, computational and engineering requirements in the chosen technologies
DoDAF views
The Department of Defense Architecture FrameworkDepartment of Defense Architecture Framework
The Department of Defense Architecture Framework is an architecture framework for the United States Department of Defense, that provides structure for a specific stakeholder concern through viewpoints organized by various views....
(DoDAF) defines a standard way to organize an enterprise architecture
Enterprise architecture
An enterprise architecture is a rigorous description of the structure of an enterprise, which comprises enterprise components , the externally visible properties of those components, and the relationships between them...
(EA) or systems architecture
Systems architecture
A system architecture or systems architecture is the conceptual model that defines the structure, behavior, and more views of a system.An architecture description is a formal description and representation of a system, organized in a way that supports reasoning about the structure of the system...
into complementary and consistent views. It is especially suited to large systems with complex integration and interoperability challenges, and is apparently unique in its use of "operational view
Operational View
Operational View is one of the basic views, defined in the enterprise architecture of the Department of Defense Architecture Framework V1.5 . Under DODAF 2, which became operational in 2009, the collections of views are now termed 'viewpoints' and no longer views.Other enterprise architecture...
s" detailing the external customer's operating domain in which the developing system will operate.
The DoDAF defines a set of products that act as mechanisms for visualizing, understanding,
and assimilating the broad scope and complexities of an architecture description through graphic,
tabular, or textual means. These products are organized under four views:
- Overarching All View (AV),
- Operational ViewOperational ViewOperational View is one of the basic views, defined in the enterprise architecture of the Department of Defense Architecture Framework V1.5 . Under DODAF 2, which became operational in 2009, the collections of views are now termed 'viewpoints' and no longer views.Other enterprise architecture...
(OV), - Systems View (SV), and the
- Technical Standards View (TV).
Each view depicts certain perspectives of an architecture as described below. Only a subset of the full DoDAF viewset is usually created for each system development. The figure represents the information that links the operational view
Operational View
Operational View is one of the basic views, defined in the enterprise architecture of the Department of Defense Architecture Framework V1.5 . Under DODAF 2, which became operational in 2009, the collections of views are now termed 'viewpoints' and no longer views.Other enterprise architecture...
, systems and services view, and technical standards view. The three views and their interrelationships driven – by common architecture data elements – provide the basis for
deriving measures such as interoperability or performance, and for measuring the impact of the values of these metrics on operational mission and task effectiveness.
Federal Enterprise Architecture views
In the US Federal Enterprise ArchitectureFederal Enterprise Architecture
A federal enterprise architecture is the enterprise architecture of a federal government. It provides a common methodology for information technology acquisition, use, and disposal in the Federal government....
enterprise, segment, and solution architecture provide different business perspectives by varying the level of detail and addressing related but distinct concerns. Just as enterprises are themselves hierarchically organized, so are the different views provided by each type of architecture. The Federal Enterprise Architecture Practice Guidance (2006) has defined three types of architecture:
- Enterprise architecture,
- Segment architecture, and
- Solution architecture.
By definition, Enterprise Architecture (EA) is fundamentally concerned with identifying common or shared assets – whether they are strategies, business processes, investments, data, systems, or technologies. EA is driven by strategy; it helps an agency identify whether its resources are properly aligned to the agency mission and strategic goals and objectives. From an investment perspective, EA is used to drive decisions about the IT investment portfolio as a whole. Consequently, the primary stakeholders of the EA are the senior managers and executives tasked with ensuring the agency fulfills its mission as effectively and efficiently as possible.
By contrast, segment architecture defines a simple roadmap for a core mission area, business service, or enterprise service. Segment architecture is driven by business management and delivers products that improve the delivery of services to citizens and agency staff. From an investment perspective, segment architecture drives decisions for a business case or group of business cases supporting a core mission area or common or shared service. The primary stakeholders for segment architecture are business owners and managers. Segment architecture is related to EA through three principles: structure, reuse, and alignment. First, segment architecture inherits the framework used by the EA, although it may be extended and specialized to meet the specific needs of a core mission area or common or shared service. Second, segment architecture reuses important assets defined at the enterprise level including: data; common business processes and investments; and applications and technologies. Third, segment architecture aligns with elements defined at the enterprise level, such as business strategies, mandates, standards, and performance measures.
Nominal set of views
In search of "Framework for Modeling Space Systems Architectures" Peter Shames and Joseph Skipper (2006) defined a "nominal set of views", Derived from CCSDS RASDS, RM-ODP, ISO 10746 and compliant with IEEE 1471IEEE 1471
IEEE 1471 is an IEEE Standard for describing the architecture of a software-intensive system, also known as software architecture.- Overview :...
.
This "set of views", as described below, is a listing of possible modeling viewpoints. Not all of these views may be used for any one project and other views may be defined as necessary. Note that for some analyses elements from multiple viewpoints may be combined into a new view, possibly using a layered representation.
In a latter presentation this nominal set of views was presented as an Extended RASDS Semantic Information Model Derivation. Hereby RASDS stands for Reference Architecture for Space Data Systems. see second image.
Enterprise Viewpoint
- Organization view – Includes organizationOrganizationAn organization is a social group which distributes tasks for a collective goal. The word itself is derived from the Greek word organon, itself derived from the better-known word ergon - as we know `organ` - and it means a compartment for a particular job.There are a variety of legal types of...
al elements and their structures and relationships. May include agreements, contracts, policies and organizational interactions. - Requirements view – Describes the requirementRequirementIn engineering, a requirement is a singular documented physical and functional need that a particular product or service must be or perform. It is most commonly used in a formal sense in systems engineering, software engineering, or enterprise engineering...
s, goals, and objectives that drive the system. Says what the system must be able to do. - Scenario view – Describes the way that the system is intended to be used, see scenario planningScenario planningScenario planning, also called scenario thinking or scenario analysis, is a strategic planning method that some organizations use to make flexible long-term plans. It is in large part an adaptation and generalization of classic methods used by military intelligence.The original method was that a...
. Includes user views and descriptions of how the system is expected to behave.
Information viewpoint
- Metamodel view – An abstract view that defines information modelInformation modelAn information model in software engineering is a representation of concepts, relationships, constraints, rules, and operations to specify data semantics for a chosen domain of discourse...
elements and their structures and relationships. Defines the classes of data that are created and managed by the system and the data architecture. - Information view – Describes the actual dataDataThe term data refers to qualitative or quantitative attributes of a variable or set of variables. Data are typically the results of measurements and can be the basis of graphs, images, or observations of a set of variables. Data are often viewed as the lowest level of abstraction from which...
and informationInformationInformation in its most restricted technical sense is a message or collection of messages that consists of an ordered sequence of symbols, or it is the meaning that can be interpreted from such a message or collection of messages. Information can be recorded or transmitted. It can be recorded as...
as it is realized and manipulated within the system. Data elements are defined by the metamodel view and they are referred to by functional objects in other views.
Functional viewpoint
- Functional Dataflow view – An abstract view that describes the functional elementsFunction modelA function model or functional model in systems engineering and software engineering is a structured representation of the functions within the modeled system or subject area....
in the system, their interactions, behavior, provided services, constraints and data flows among them. Defines which functions the system is capable of performing, regardless of how these functions are actually implemented. - Functional Control view – Describes the control flowControl flowIn computer science, control flow refers to the order in which the individual statements, instructions, or function calls of an imperative or a declarative program are executed or evaluated....
s and interactions among functional elements within the system. Includes overall system control interactions, interactions between control elements and sensor / effector elements and management interactions.
Physical viewpoint
- Data System view – Describes instruments, computers, and data storage components, their data system attributes and the communications connectors (busses, networks, point to point links) that are used in the system.
- Telecomm view – Describes the telecomm components (antenna, transceiver), their attributes and their connectors (RF or optical links).
- Navigation view – Describes the motion of the major elements within the system (trajectory, path, orbit), including their interaction with external elements and forces that are outside of the control of the system, but that must be modeled with it to understand system behavior (planets, asteroids, solar pressure, gravity)
- Structural view – Describes the structural components in the system (s/c bus, struts, panels, articulation), their physical attributes and connectors, along with the relevant structural aspects of other components (mass, stiffness, attachment)
- Thermal view – Describes the active and passive thermal components in the system (radiators, coolers, vents) and their connectors (physical and free space radiation) and attributes, along with the thermal properties of other components (i.e. antenna as sun shade)
- Power view – Describes the active and passive power components in the system (solar panels, batteries, RTGs) within the system and their connectors, along with the power properties of other components (data system and propulsion elements as power sinks and structural panels as grounding plane)
- Propulsion view – Describes the active and passive propulsion components in the system (thrusters, gyros, motors, wheels) within the system and their connectors, along with the propulsive properties of other components
Engineering viewpoint
- Allocation view – Describes the allocation of functional objects to engineered physical and computational components within the system, permits analysis of performance and used to verify satisfaction of requirements
- Software view - Describes the software engineering aspects of the system, software design and implementation of functionality within software components, select languages and libraries to be used, define APIs, do the engineering of abstract functional objects into tangible software elements. Some functional elements, described using a software language, may actually be implemented as hardware (FPGA, ASIC)
- Hardware views – Describes the hardware engineering aspects of the system, hardware design, selection and implementation of all of the physical components to be assembled into the system. There may be many of these views, each specific to a different engineering discipline.
- Communications Protocol view – Describes the end to end design of the communications protocols and related data transport and data management services, shows the protocol stacks as they are implemented on each of the physical components of the system.
- Risk view – Describes the risks associated with the system design, processes, and technologies, assigns additional risk assessment attributes to other elements described in the architecture
- Control Engineering view - Analyzes system from the perspective of its controllability, allocation of elements into system under control and control system
- Integration and Test view – Looks at the system from the perspective of what must be done to assemble, integrate and test system and sub-systems, and assemblies. Includes verification of proper functionality, driven by scenarios, in satisfaction of requirements.
- IV&V view – independent validation and verification of functionality and proper operation of the system in satisfaction of requirements. Does system as designed and developed meet goals and objectives.
Technology viewpoint
- Standards view – Defines the standards to be adopted during design of the system (e.g. communication protocols, radiation tolerance, soldering). These are essentially constraints on the design and implementation processes.
- Infrastructure view – Defines the infrastructure elements that are to support the engineering, design, and fabrication process. May include data system elements (design repositories, frameworks, tools, networks) and hardware elements (chip fabrication, thermal vacuum facility, machine shop, RF testing lab)
- Technology Development & Assessment view – Includes description of technology development programs designed to produce algorithms or components that may be included in a system development project. Includes evaluation of properties of selected hardware and software components to determine if they are at a sufficient state of maturity to be adopted for the mission being designed.
In contrast to the previous listed view models, this "nominal set of views" lists a whole range of views, possible to develop powerful and extensible approaches for describing a general class of software intensive system architectures.
See also
- Enterprise Architecture framework
- Organizational architectureOrganizational architectureOrganizational architecture has two very different meanings. In one sense it literally refers to the organization in its built environment and in another sense it refers to architecture metaphorically, as a structure which fleshes out the organizations....
- Software development methodologySoftware development methodologyA software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system.- History :...
- Treasury Enterprise Architecture FrameworkTreasury Enterprise Architecture FrameworkTreasury Enterprise Architecture Framework is an Enterprise architecture framework for treasury, based on the Zachman Framework.It was developed by the US Department of the Treasury and published in July 2000.- Overview :...
- TOGAFTOGAFThe Open Group Architecture Framework is a framework for enterprise architecture which provides a comprehensive approach for designing, planning, implementation, and governance of an enterprise information architecture...
- Zachman FrameworkZachman frameworkThe Zachman Framework is an Enterprise Architecture framework for enterprise architecture, which provides a formal and highly structured way of viewing and defining an enterprise...