《软件架构设计文档模板.doc》由会员分享,可在线阅读,更多相关《软件架构设计文档模板.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上项目名称软件架构设计文档版本 专心-专注-专业项目名称 版本: 软件架构设计文档 日期: 修订历史记录日期版本说明作者 目录1.简介51.1目的51.2范围51.3定义、首字母缩写词和缩略语51.4参考资料51.5概述52.整体说明52.1简介52.2构架表示方式52.3构架目标和约束53.用例视图63.1核心用例63.2用例实现64.逻辑视图64.1逻辑视图64.2分层64.2.1应用层64.2.2业务层64.2.3中间层64.2.4系统层74.3架构模式74.4设计机制74.5公用元素及服务75.进程视图76.部署视图77.实施视图77.1概述77.2层87.3部
2、署88.数据视图89.大小和性能810.质量811.其它说明812.附录A 指南813.附录B 规范814.附录C 模版815.附录D 示例9软件架构设计文档 1. 简介软件构架文档的简介应提供整个软件构架文档的概述。它应包括此软件构架文档的目的、范围、定义、首字母缩写词、缩略语、参考资料和概述1.1 目的本文档将从构架方面对系统进行综合概述,其中会使用多种不同的构架视图来描述系统的各个方面。它用于记录并表述已对系统的构架方面作出的重要决策本节确定此软件构架文档在整个项目文档中的作用或目的,并对此文档的结构进行简要说明。应确定此文档的特定读者,并指出他们应该如何使用此文档1.2 范围简要说明此
3、软件构架文档适用的范围和影响的范围1.3 定义、首字母缩写词和缩略语本小节应提供正确理解此软件构架文档所需的全部术语的定义、首字母缩写词和缩略语。这些信息可以通过引用项目词汇表来提供1.4 参考资料本小节应完整地列出此软件构架文档中其他部分所引用的所有文档。每个文档应标有标题、报告号(如果适用)、日期和出版单位。列出可从中获取这些参考资料的来源。这些信息可以通过引用附录或其他文档来提供1.5 概述本小节应说明此软件构架文档中其他部分所包含的内容,并解释此软件构架文档的组织方式2. 整体说明2.1 简介在此简单介绍软件架构的整体情况,包括用例视图、逻辑视图、进程视图、实施视图和部署视图的简单介绍
4、。另外,简要介绍各种视图的作用和针对的用户2.2 构架表示方式本节说明当前系统所使用的软件构架及其表示方式。还会从用例视图、逻辑视图、进程视图、部署视图和实施视图中列出必需的那些视图,并分别说明这些视图包含哪些类型的模型元素2.3 构架目标和约束本节说明对构架具有某种重要影响的软件需求和目标,例如:安全性、保密性、市售产品的使用、可移植性、分销和重复使用。还应记录可能适用的特殊约束:设计与实施策略、开发工具、团队结构、时间表、遗留代码等3. 用例视图本节列出用例模型中的一些用例或场景,这些用例或场景应体现最终系统中重要的、核心的功能;或是在构架方面涉及范围很广(使用了许多构架元素);或强调或阐
5、明了构架的某一具体的细微之处在此可以直接引用需求中的相关文档,比如ROSE模型;用例描述等对于本系统和其它系统的关系,在用例图上可以清楚的看到,因为其它系统在用例图上被表示为主角根据项目的实际情况,此节可以省略不写3.1 核心用例在此引用ROSE模型中的用例图即可3.2 用例实现本节通过几个精选的用例(场景)实现来阐述软件的实际工作方式,并解释不同的设计模型元素如何促成其功能的实现4. 逻辑视图4.1 逻辑视图在此用图形的方式显示此软件架构的分层、子系统、包之间的关系,并且加入必要的文字说明,特别是架构的分层、机制和模式的说明在此,还需要将和本系统有接口关系的其它系统都表示出来,这样可以清楚的
6、看到本系统和其它系统的接口逻辑视图,并且还需要将在本系统中负责接口的子系统表示出来4.2 分层在此说明逻辑分层的每一层和每一层中的包、子系统。对于每个重要的包,都用一个小节来加以说明,其中应包括该包的名称、简要说明以及显示该包中所有重要的类和包的图。 对于该包中的每个重要类,应包括其名称、简要说明,还可选择包括对其部分主要职责、操作和属性的说明下面预先设置应用层、业务层、中间层和系统层,实际使用中可以根据需要进行修改4.2.1 应用层在此说明软件架构子系统的高层组织,是系统面向外部(主角)、面向功能(用例)的子系统。在这一层中的子系统,要根据中间层的约定继续分区(tier)4.2.2 业务层在
7、此说明软件架构子系统的高层组织,是应用层子系统公用的、为应用层子系统提供服务的、和业务相关的子系统。在这一层中的子系统,要根据中间层的约定继续分区4.2.3 中间层在此说明软件架构子系统的底层组织,是面向系统内部(技术)、面向非功能(补充规约)的子系统(框架、包、机制、模式)。在这一层的子系统,通常包括分区、支持分区的框架、架构模式、设计机制(事务、存储等)、公用元素及服务(邮件、翻页、列表控件、树控件、按钮控件等)等4.2.4 系统层在此说明软件架构的操作系统、运行平台(应用服务器、数据库等)、开发语言、第三方技术(比如GIS、CORBA、J2EE、COM、.net)等4.3 架构模式在此说
8、明软件架构采用的核心模式,此模式形成整个软件架构的骨架,在此以一次交互为主来表达4.4 设计机制在此说明软件架构各相关设计机制的处理方案,包括2个部分,一是全局的设计机制,包括事务的处理、持续性的处理等;二是特殊、局部的设计机制,包括权限管理、OID生成、连接池,JSP2SB等,初始化操作、功能表等4.5 公用元素及服务在此说明软件架构通用的设计元素及提供的和相关服务5. 进程视图本节说明将系统分解为轻量级进程(单个控制线程)和重量级进程(成组的轻量级进程)的情况。本节的内容按照各个通信或交互的进程组来进行组织。说明进程之间的主要通信模式,例如消息传递、中断和会合根据项目的实际情况,此节可以省
9、略不写6. 部署视图本节说明用来部署和运行该软件的一种或多种物理网络(硬件)配置。对于每种配置,它至少应该指出执行该软件的物理节点(计算机、CPU)及其互连情况(总线连接、LAN 连接、点到点连接等)在此还需要包括在安装部署时要注意的特殊问题,可能还有和安装部署有关的设计内容在此还需要表示本系统和其它系统的在部署上的关系,比如本系统部署的物理节点和其它系统部署的物理节点之间的连接等7. 实施视图本节说明实施模型的整体结构、软件分解为实施模型中的层和子系统的情况,以及所有在构架方面具有重要意义的构件7.1 概述本小节指定并定义各个层及其内容、添加到指定层时要遵循的规则以及各层之间的边界。还应包括
10、一个显示层间关系的构件图如果使用JAVA做为实施语言,要求明确指定各层各子系统的包前缀7.2 层对于每个层,都用一个小节来加以说明,其中包括该层的名称和一个构件图,并列举位于该层的子系统如果使用JAVA做为实施语言,要求明确指定各子系统内分区的包前缀7.3 部署在此说明各个部署单元、每个部署单元的实施元素。在J2EE中,即表示要将应用打成多少个包,每个包的名称以及每个包包含的源文件8. 数据视图从永久性数据存储方面来对系统进行说明。如果几乎或根本没有永久性数据,或者设计模型与数据模型之间的转换并不重要,那么本节就为可选根据项目的实际情况,此节可以省略不写9. 大小和性能说明软件中会对构架产生影
11、响的主要尺寸特征,以及目标性能约束10. 质量说明软件构架如何促成诸如可扩展性、可靠性、可移植性等所有系统能力(而非功能)的实现。如果这些特征具有特殊的意义(例如在安全性或保密性方面的意义),则应该对它们进行详细的说明11. 其它说明在此说明其它需要说明的内容12. 附录A 指南在此包括设计指南、编程指南、部署和安装指南,其中在编程指南上不仅包括传统的诸如JAVA编程指南,还包括指导实现人员实现特定设计机制要注意的问题在此,推荐加入链接引用相关文档13. 附录B 规范在此包括设计规范、编程规范等在此,推荐加入链接引用相关文档14. 附录C 模版在此包括各种相关模版,比如框架模版、JSP模版、各种设计机制的模版等在此,推荐加入链接引用相关文档15. 附录D 示例在此提供示例,来演示架构如何进行交互在此,推荐加入链接引用相关文档