软件架构设计文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XXX
软件概要设计
拟制:
审核:
标准化:
批准:
发布日期:
本文中的所有信息均为武汉正维电子技术有限公司信息,务请妥善
保管,未经公司明确作出的书面许可,不得为任何目的、以任何形式或
手段(包括电子、机械、复印、录音或其它形式)对本文档的任何部分
进行复制、储存、引入检索系统或者传播。
历史记录
目录
图表目录
未找到图形项目表。
1.简介
【本文档将从构架方面对系统进行综合概述,其中会使用多种不同的构架视图来描述软件系统的各个方面,记录并表述已对系统的构架方面作出的重要决策。】
【软件构架文档的简介应提供整个软件构架文档的概述。它应包括此软件构架文档的目的、范围、定义、首字母缩写词、缩略语、参考资料和概述。】1.1.目的
【本节确定此软件构架文档在整个项目文档中的作用或目的,并对此文档的结构进行简要说明。应确定此文档的特定读者,并指出他们应该如何使用此文档】
1.2.范围
【简要说明此软件构架文档适用的范围和影响的范围,以及阅读对象】1.3.定义、缩略语
【本小节应提供正确理解此软件构架文档所需的全部术语的定义、首字母缩写词和缩略语。这些信息可以通过引用项目词汇表来提供。】
1.4.参考资料
【本小节应完整地列出此软件构架文档中其他部分所引用的所有文档。每个文档应标有标题、报告号(如果适用)、日期和出版单位。列出可从中获取这些参考资料的来源。这些信息可以通过引用附录或其他文档来提供】1.5.概述
【本小节应说明此软件构架文档中其他部分所包含的内容,并解释此软件构架文档的组织方式】
2.软件架构
2.1.需求规定
【描述xxx项目对软件的需求,作为后续设计目标和基础】
2.2.开发、运行环境
【简要介绍软件开发所使用的工具、软硬件环境,以及目标代码运行的软硬件环境。如Guest、Host主机的操作系统,CPU架构;编译器名称及版本,开发语言,及各种开发、调试工具的名称和版本】
2.3.基本设计概念和处理流程
【说明本系统的基本设计概念和处理流程,尽量使用图表的形式】
2.4.总体结构
【在此简单介绍软件架构的整体情况,包括用例视图、逻辑视图、进程视图、实施视图和部署视图的简单介绍。另外,简要介绍各种视图的作用和针对的阅读对象。】
【对于无阅读对象的视图,或者非重点对象,可以酌情删减视图。如,对于嵌入式系统,一般都是单板结构,或者说,从软件角度是单板结构,那么,可以将实施视图和部署视图省略。】
2.5.架构目标和约束
【本节说明对构架具有某种重要影响的软件需求和目标,例如:安全性、
保密性、市售产品的使用、可移植性、分销和重复使用。还应记录可能适用的特殊约束:设计与实施策略、开发工具、团队结构、时间表、遗留代码等】
2.6.功能需求与程序的关系
【说明各项功能需求的实现同各块程序的分配关系】
如,可以采用下表所示例内容:
表 2.6-1 功能模块映射表
3.用例视图
【本节列出用例模型中的一些用例或场景,这些用例或场景应体现最终系统中重要的、核心的功能;或是在构架方面涉及范围很广(使用了许多构
架元素);或强调或阐明了构架的某一具体的细微之处。】
【在此可以直接引用需求中的相关文档,比如ROSE模型;用例描述等】【根据项目的实际情况,此节可以省略不写】
3.1.核心用例
【在此引用ROSE模型中的用例图即可】
3.2.用例实现
【本节通过几个精选的用例(场景)实现来阐述软件的实际工作方式,并解释不同的设计模型元素如何促成其功能的实现】
4.逻辑视图
【在此用图形的方式显示此软件架构的分层、子系统、模块之间的关系,并且加入必要的文字说明,特别是架构的分层、机制和模式的说明。】【在此,还需要将和本系统有接口关系的其它系统都表示出来,这样可以清楚的看到本系统和其它系统的接口<外部接口>逻辑视图,并且还需要将在本系统中负责接口<内部接口>的子系统表示出来。】
4.1.层次结构
【在此说明逻辑分层的每一层和每一层中的模块、子系统。对于每个重要的模块,都用一个小节来加以说明,其中应包括该模块的名称、功能简要说明、模块外部接口、模块的属性等。】
4.2.模块1
【当前模块的名称、功能简要说明、模块外部接口、模块的属性等。】【如果包含子模块,需要进一步给出子模块的划分及层次结构;对于每一个子模块,也应该用独立小节,给出其子模块名称、功能说明,重要接口及重要属性等等】
4.2.1.子模块1
4.2.2.子模块2
4.2.3.外部接口
【给出模块的外部接口原型,包括形参列表、范围,返回值,及其他使用说明】
4.3.模块2
5.进程视图
【本节说明将系统分解为轻量级进程(单个控制线程)和重量级进程(成组的轻量级进程)的情况。本节的内容按照各个通信或交互的进程组来进行组织。说明进程之间的主要通信模式,例如消息传递、中断亲和/优先级、任务亲和/优先级】
5.1.进程、线程划分
【关键逻辑、业务执行进程、线程划分,逻辑视图中各个模块/子模块同进程、线程的映射】
5.2.进程、线程优先级、亲和定义
5.3.进程、线程启动顺序
5.4.进程间通讯
6.数据视图
【从永久性、全局性数据存储方面来对系统进行说明。如系统、模块的配置文件,EEPROM/FLASH中存储的划分方案,全局变量等】
7.软件性能指标
【说明软件中会对构架产生影响的主要尺寸特征,以及目标性能约束。如某个消息/事件的响应时间,系统能够支持的最多同时登录用户数量等】8.属性设计
【说明各个模块、指标的调试、测试方法。如debug开关的设置,极限指标的测试步骤和要求;以及为测试版本设置的各种编译宏】