4+1檢視及軟體架構文件(System Architecture Document)SAD
4+1檢視: 邏輯檢視、程式檢視、部署檢視和資料檢視+用例檢視
Software Architecture Document見擴充套件[@more@]Software Architecture Document
Version <1.0>
[Note: The following template is provided for use with the Rational Unified Process. Text enclosed in square brackets and displayed in blue italics (style=InfoBlue) is included to provide guidance to the author and should be deleted before publishing the document. A paragraph entered following this style will automatically be set to normal (style=Body Text).]
Revision History
Date | Version | Description | Author |
Table of Contents
Software Architecture Document
[The introduction of the Software Architecture Document should provide an overview of the entire Software Architecture Document. It should include the purpose, scope, definitions, acronyms, abbreviations, references, and overview of the Software Architecture Document.]
This document provides a comprehensive architectural overview of the system, using a number of different architectural views to depict different aspects of the system. It is intended to capture and convey the significant architectural decisions which have been made on the system.
[This section defines the purpose of the Software Architecture Document, in the overall project documentation, and briefly describes the structure of the document. The specific audiences for the document should be identified, with an indication of how they are expected to use the document.]
[A brief description of what the Software Architecture Document applies to; what is affected or influenced by this document.]
[This subsection should provide the definitions of all terms, acronyms, and abbreviations required to properly interpret the Software Architecture Document. This information may be provided by reference to the project Glossary.]
[This subsection should provide a complete list of all documents referenced elsewhere in the Software Architecture Document. Each document should be identified by title, report number (if applicable), date, and publishing organization. Specify the sources from which the references can be obtained. This information may be provided by reference to an appendix or to another document.]
[This subsection should describe what the rest of the Software Architecture Document contains and explain how the Software Architecture Document is organized.]
[This section describes what software architecture is for the current system, and how it is represented. Of the Use-Case, Logical, Process, Deployment, and Implementation Views, it enumerates the views that are necessary, and for each view, explains what types of model elements it contains.]
[This section describes the software requirements and objectives that have some significant impact on the architecture, for example, safety, security, privacy, use of an off-the-shelf product, portability, distribution, and reuse. It also captures the special constraints that may apply: design and implementation strategy, development tools, team structure, schedule, legacy code, and so on.]
[This section lists use cases or scenarios from the use-case model if they represent some significant, central functionality of the final system, or if they have a large architectural coverage - they exercise many architectural elements, or if they stress or illustrate a specific, delicate point of the architecture.]
[This section illustrates how the software actually works by giving a few selected use-case (or scenario) realizations, and explains how the various design model elements contribute to their functionality.]
[This section describes the architecturally significant parts of the design model, such as its decomposition into subsystems and packages. And for each significant package, its decomposition into classes and class utilities. You should introduce architecturally significant classes and describe their responsibilities, as well as a few very important relationships, operations, and attributes.]
[This subsection describes the overall decomposition of the design model in terms of its package hierarchy and layers.]
[For each significant package, include a subsection with its name, its brief description, and a diagram with all significant classes and packages contained within the package.
For each significant class in the package, include its name, brief description, and, optionally a description of some of its major responsibilities, operations and attributes.]
[This section describes the system's decomposition into lightweight processes (single threads of control) and heavyweight processes (groupings of lightweight processes). Organize the section by groups of processes that communicate or interact. Describe the main modes of communication between processes, such as message passing, interrupts, and rendezvous.]
[This section describes one or more physical network (hardware) configurations on which the software is deployed and run. It is a view of the Deployment Model. At a minimum for each configuration it should indicate the physical nodes (computers, CPUs) that execute the software, and their interconnections (bus, LAN, point-to-point, and so on.) Also include a mapping of the processes of the Process View onto the physical nodes.]
[This section describes the overall structure of the implementation model, the decomposition of the software into layers and subsystems in the implementation model, and any architecturally significant components.]
[This subsection names and defines the various layers and their contents, the rules that govern the inclusion to a given layer, and the boundaries between layers. Include a component diagram that shows the relations between layers. ]
[For each layer, include a subsection with its name, an enumeration of the subsystems located in the layer, and a component diagram.]
[A description of the persistent data storage perspective of the system. This section is optional if there is little or no persistent data, or the translation between the Design Model and the Data Model is trivial.]
[A description of the major dimensioning characteristics of the software that impact the architecture, as well as the target performance constraints.]
[A description of how the software architecture contributes to all capabilities (other than functionality) of the system: extensibility, reliability, portability, and so on. If these characteristics have special significance, for example safety, security or privacy implications, they should be clearly delineated.]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/106285/viewspace-1001117/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Software Architecture軟體架構(方法、模式與框架)縱橫談架構模式框架
- Software Architecture(軟體體系結構) (轉)
- 軟體架構文件記錄大全 – @herbertograca架構
- 軟體架構師之特殊視角架構
- 觸及軟體架構(個人隨筆)架構
- 文件轉換成圖片軟體(convert document to Image)
- 我懂了,原來這就是4+1架構模型!架構模型
- 論軟體架構設計及應用架構
- 軟體架構與架構師架構
- 軟體架構1.什麼是軟體架構架構
- 書籍:精益架構(敏捷架構 瘦架構 Lean Architecture)架構敏捷
- 架構之:軟體架構漫談架構
- 軟體架構師架構
- Oracle 官方文件檢視及下載方法Oracle
- 京東雲開發者|軟體架構視覺化及C4模型:架構設計不僅僅是UML架構視覺化模型
- 軟體架構模式之微服務架構架構模式微服務
- 軟體架構風格——規則架構架構
- postgresql相關開源軟體及架構簡介SQL架構
- UBUNTU檢視軟體版本Ubuntu
- Android 檢視架構詳解Android架構
- 什麼是三位一體架構Trinity Architecture? – Oregor架構Go
- 軟體架構簡介架構
- 軟體架構入門架構
- 軟體架構設計架構
- 軟體構架師之路
- 軟體架構與敏捷架構敏捷
- Django檢視之檢視類和中介軟體Django
- Android Architecture Blueprints(架構藍圖)Android架構
- 『網際網路架構』軟體架構-mybatis體系結構(14)架構MyBatis
- 使用BBED檢視SYSTEM檔案頭的root dba及bootstrap$boot
- 檢視與邏輯分離之道1- GetArch, 禿頭拯救者 (Dart軟體架構設計)Dart架構
- 關於軟體架構和業務架構的思考架構
- 軟體架構指南 - martinfowler架構
- 軟體架構理解和延伸架構
- 轉:軟體架構入門架構
- API與軟體架構-介面API架構
- 關於軟體架構圖架構
- 軟體系統架構有感架構