软件概要设计说明模板类设计版.docx
《软件概要设计说明模板类设计版.docx》由会员分享,可在线阅读,更多相关《软件概要设计说明模板类设计版.docx(21页珍藏版)》请在冰豆网上搜索。
![软件概要设计说明模板类设计版.docx](https://file1.bdocx.com/fileroot1/2022-12/31/0fa06c55-64fc-48d9-b9b6-cd1f664832cf/0fa06c55-64fc-48d9-b9b6-cd1f664832cf1.gif)
软件概要设计说明模板类设计版
XX软件概要设计说明V4.0-2
标记
数量
修改单号
签字
日期
编制
XX
XX
会签
软件概要设计说明
校对
XX
XX
标检
XX
XX
共23页
第1页
审核
批准
XX
XX
中国船舶工业系统工程研究院
会签
XX
XX
修订记录
版本号
修订状态
简要说明修订内容和范围
修订日期
修订人
批准日期
注:
修订记录在体系文件发布后换版时使用,修订状态栏填写:
A—增加,M—修改,D—删除
目次
图序
表序
1 范围
1.1 标识
本条应描述本文档所适用系统和软件的完整标识,适用时,包括其标识号、名称、缩略名、版本号和发布号。
简要说明软件的标识号、发布号、名称、缩略名、版本号。
a)软件标识号:
b)发布号:
V01
c)名称:
d)缩略名:
e)版本号:
V1.0
1.2 系统概述
本条应概述本文档所适用系统和软件的用途。
它还应描述系统与软件的一般特性;概述系统开发、运行和维护的历史;标识项目的需方、用户、开发方和保障机构等:
标识当前和计划的运行现场;列出其他有关文档。
分别简要说明系统的用途、软件用途。
a)需方:
b)用户:
c)开发方:
1.3 文档概述
本条应概述本文档的用途和内容,并描述与它的使用有关的保密性方面的要求。
示例:
本文档主要描述××软件配置项CSCI级的设计决策以及体系结构设计,包括CSCI从部件到软件单元的执行方案、接口说明,满足需求可追踪性,以确保它们完备、可行、可实现和可验证性。
2 引用文档
本章应列出引用文档的编号、标题、编写单位、修订版及日期,还应标识不能通过正常采购活动得到的文档的来源。
a)《文档名称1》,编号(若有),编写单位,版本(若有),日期;
b)《文档名称2》,编号(若有),编写单位,版本(若有),日期。
3 CSCI设计决策
3.1 假设
设计是否基于某种假设的前提条件。
3.2 系统体系结构
着重从硬件(诸如网络、服务器、终端、打印机等)方面,用图形和文字方法描述软件的体系结构。
图片不做形式要求
图1XX系统体系结构图
用文字的形式对图片中系统的体系结构进行简要描述。
3.3 软件体系结构
着重从软件架构(诸如现有的系统、子系统、层等)方面,用图形和文字方法描述软件的体系结构,如下图所示。
图2XX软件体系结构图
用文字的形式对图片中软件的体系结构进行简要描述,主要包括分层的设计原理(设计模式),每层的主要功能及功能包等。
3.4 设计决策
本章应根据需要分条给出CSCI级设计决策,即CSCI行为设计的决策(忽略其内部实现,从用户角度出发描述系统将怎样运转以满足需求)和其他影响组成该CSCI的软件单元的选择与设计的决策。
如果在需求中所有这些决策是明确的,或者这些决策要推迟到CSCI的软件单元的设计时指出,则本章应如实陈述。
针对关键性需求(例如对安全性或保密性关键的需求)作出的设计决策,应在专门的章条中加以叙述。
如果设计决策依赖于系统状态或方式,则应指明这一依赖性。
本条应给出或引用理解这些设计所需的设计约定。
CSCI级设计决策的例子如下:
建议项目组主要从以下几个方面进行考虑,也可根据项目特点自行裁剪或添加。
3.4.1 输入/输出设计决策
关于CSCI将接收的输入和将产生的输出的设计决策,即本软件输入/输出的设计原则。
包括与其他系统、HWCI、CSCI和用户的接口。
如果这一信息的全部或部分已在接口设计说明(IDD)中给出,则可以直接引用,否则填写下表信息。
例如:
1)触摸屏输入:
由于该系统为ZZ/WQ发控类系统,对发控类命令要求较高,因此诸如工作方式切换、WQ发控命令采用触摸屏设计;
2)界面输出:
为了提高操作人员的警惕度,软件运行过程中出现的故障信息均用闪烁的红色显示,便于ZZ过程中及时处理。
3.4.2 CSCI行为设计决策
有关响应每个输入或条件的CSCI行为的设计决策,即本软件CSCI行为的设计原则。
包括CSCI要执行的动作、响应时间。
例如:
1)为不影响XX设备态势信息处理的准确性,软件态势信息发送到订阅客户端的响应时间为100ms。
3.4.3 CSCI数据显示设计决策
有关数据库/数据文件如何呈现给用户的设计决策,即本软件CSCI数据显示的设计原则。
如果这一信息的全部或部分在数据库设计说明(DBDD))中给出,则可直接引用。
例如:
1)文件信息显示:
为便于ZZ过程中对目标信息进行直观分析,接收到的目标信息采用态势图的形式显示;
2)文件导出:
只有软件空闲时,才允许对数据文件的导出。
3.4.4 CSCI安全性设计决策
CSCI的安全性是指防止其合法用户使用该CSCI时对系统或其中的信息造成不良影响,本条应针对该CSCI的软件需求规格说明中描述的安全性需求,逐一描述其采取的防护措施和方法的设计原则。
例如:
表1XX软件安全性设计决策表
序号
安全性需求
采取的防护措施
1.
输入信息的合法性
●所有用户录入信息入库前必须进行数据的合法性检查,对非法数据CSCI将提示用户修改,直至数据合法方可入库;
●对录入信息的必填项进行高亮或特殊颜色提示,入库前进行数据库主键检查;
●在各人机界面上进行信息录入说明。
2.
误操作防护
●按照工作流程要求,在软件界面中对功能按钮的状态(有效/无效)进行控制;
●编制CSCI运行导航程序;
●增加操作撤消与恢复功能。
3.
信息删除警示
●CSCI中所有数据库数据的删除操作均给予用户以删除警示,并由用户进行删除确认后方执行信息删除操作;
●用户删除的所有数据文件均存放在系统的回收站中,用户可根据需要还原或清理回收站中的文件。
●CSCI中所有数据库数据的删除操作均给予用户以删除警示,并由用户进行删除确认后方执行信息删除操作;
●用户删除的所有数据文件均存放在系统的回收站中,用户可根据需要还原或清理回收站中的文件。
4.
数据库访问权限控制
●利用数据库管理系统,对不同的用户分配不同的角色,并对其进行可访问信息的范围和访问权限进行设置;
●对用户访问数据库的操作进行审计。
3.4.5 CSCI保密性设计决策
CSCI的保密性主要是防止非法用户对CSCI的攻击。
本条应针对该CSCI的软件需求规格说明中描述的保密性需求,逐一描述其采取的防护措施和方法的设计原则。
例如:
表2XX软件保密性设计决策表
序号
保密性需求
采取的措施
1.
身份验证
启动软件时,首先要求用户输入用户身份信息(用户名和口令),CSCI对其进行比对识别后,合法用户方能够启动运行该软件;对非法用户将给予登陆警示和记录,登陆警示超过X次将退出;
使用用户身份卡、读卡器和识别接口卡等设备对本CSCI运行的计算机设备的开关机及软件启动等操作进行控制。
2.
数据库访问权限控制
利用数据库管理系统,对不同的用户分配不同的角色,并对其进行可访问信息的范围和访问权限进行设置;
对用户访问数据库的操作进行审计。
3.4.6 其他CSCI级设计决策
本条可针对本CSCI软件需求规格中的其它特殊需求(如:
灵活性、可用性、可维护性等方面的需求),描述其相应的实现方法的设计原则。
对有特殊需求的CSCI要求必须填写,如为满足性能指标所进行的负载均衡设计、并行计算或高性能计算设计决策等。
如果本节无内容,填写“无。
”
4 CSCI体系结构设计
描述CSCI体系结构,明确包之间的依赖关系。
图3CSCI体系结构图
4.1 CSCI包汇总
设计人员确定包的命名规则,确保软件设计文档的风格与代码的风格保持一致。
可以从机构的编程规范中摘取或引用(如果存在的话)。
另外,描述类的开发类型,包括新研、改进、安全重用、采购等。
表3XX软件包汇总表
序号
标识
名称
说明
开发类型
PAK_MMI_XX
主体框架包
PAK_MMI_XX
UI包
PAK_MMI_XX
业务处理包
PAK_MMI_XX
中间件包
PAK_MMI_XX
网络通信包
……
4.2 CSCI类汇总
设计人员确定类的命名规则,确保软件设计文档的风格与代码的风格保持一致。
可以从机构的编程规范中摘取或引用(如果存在的话)。
另外,描述类的开发类型,包括新研、改进、安全重用、采购等。
表4XX软件类汇总表
PAK_MMI_XX(主体框架包)
序号
标识
名称
说明
开发类型
1.
MainFlowCtl
流程控制类
主要完成XX功能。
安全重用
……
PAK_MMI_XX包(UI)
序号
标识
名称
说明
开发类型
1.
DisplayInfo
信息显示类
主要完成XX功能。
新研
……
PAK_MMI_XX(业务处理包)
序号
标识
名称
说明
开发类型
1.
TipeCtl
通道控制类
主要完成XX功能。
改进
……
PAK_RCI_(模型解算包)
序号
标识
名称
说明
开发类型
MovCal
运动要素解算类
主要完成XX功能。
安全重用
……
PAK_RCI_(工具类包)
序号
标识
名称
说明
开发类型
DataBase
数据库
主要完成XX功能。
采购
……
4.3 CSCI包
详细描述CSCI所有包中包含的类及类之间的关系。
4.3.1 PAK_MMI_XX(主体框架包)
4.3.1.1 功能说明
描述包的主要功能。
4.3.1.2 性能分配
描述性能指标的在包中的分配情况。
4.3.1.3 类关系图
画出该包的所有类图,类只写类名称,不写具体变量和操作。
图4XX包中类关系图
4.3.2 PAK_MMI_XX(UI包)
画出该包的所有类图,类只写类名称,不写具体变量和操作。
……
4.4 执行方案
本小节以CSCI软件中定义的各个包/类为参与对象来细化《软件需求规格说明》中的需求功能,以表明包/类之间是如何通过相互协作来完成功能的。
但也不局限于只描述需求功能的实现,也可对需求中的主要流程、性能进行描述。
4.4.1 XX功能/业务
4.4.1.1 实现流程
绘制时序图说明用例的实现过程。
图5XX用例时序图
4.4.1.2 流程说明
对序列图配以适当的文字说明。
4.4.1.3 补充说明(可选)
对复杂的流程附以活动图进行详细说明。
4.5 接口设计
设计人员确定内外部接口的命名规则,确保软件设计文档的风格与代码的风格保持一致。
可以从机构的编程规范中摘取或引用(如果存在的话)。
4.5.1 外部接口
描述CSCI外部包/组件间的接口信息,接口种类分成API接口、信息接口和数据库接口。
使用图表的形式描述接口。
图6外部接口示意图
4.5.1.1 API接口设计
表5API接口设计表
序号
实现方
依赖方
接口名称
接口标识
接口功能说明
备注
1
2
4.5.1.2 信息接口设计
表6信息接口设计表
序号
实现方
依赖方
接口名称
接口标识
接口功能说明
备注
1
2
4.5.1.3 数据库接口设计
表7信息接口设计表
序号
表名
标识
数据项
写入方
读取方
备注
1
标识/密码
2
4.5.2 内部接口
描述CSCI包/组件内部接口,即CSCI类之间接口关系。
具体接口形式参见外部接口。
下表是接口的详细设计,在不影响后续开展详细设计的情况下,在概要设计中为可选,并可在后续详细设计中体现或由接口协议文件代替。
接口标识
如:
I/F-A-B-01,以此类推。
使用说明
对于通讯接口,必要时,在此说明通讯的协议、传输格式、数据传输率、周期或非周期等
数据元素说明
名称
英文名称
简短描述
类型
测量单位
极限值/值域
精确度
精度/分辨率
合法性检查
经度
I
-
-
1
-
检查是否大于0
5 用户界面设计(可选)
简要描述本软件中主界面信息。
以图的形式描述各主界面间的调用关系。
界面图
图7XX图
5.1 应当遵循的界面设计规范
结合用户需求和组织相关规范,阐述本软件用户界面设计应当遵循的规范(原则、建议等)。
可以从机构的编程规范中摘取或引用(如果存在的话)。
5.2 界面信息汇总
表8XX软件界面汇总表
标识号(XX主界面)
序号
标识
名称
说明
备注
1.
子界面标识
XX
主要完成XX功能。
……
标识号(XX主界面)
序号
标识
名称
说明
备注
1.
子界面标识
XX
主要完成XX功能。
……
5.3 主界面
5.3.1 XX主界面
(1)绘制主界面的视图;
(2)说明主界面中所有对象的功能和操作方式。
5.3.1.1 XX子界面
(1)绘制主界面的视图;
(2)说明主界面中所有对象的功能和操作方式。
5.4 界面资源设计(可选)
5.4.1 图标资源
5.4.2 图像资源
5.4.3 界面组件
6 数据(库)结构设计(可选)
从永久性数据存储方面来对系统进行说明。
如果几乎或根本没有永久性数据,或者设计模型与数据模型之间的转换并不重要,那么本节就为可选。
注:
如果需要可以单独形成《数据库设计说明》,此处可以直接应用该文档。
6.1 逻辑结构设计要点
给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
图8数据库逻辑结构图
表9XX表字段结构
序号
字段名称
字段标识
字段类型
长度
主键
外键
非空
注释
1
是/否
是/否
是/否
默认值等
2
6.2 物理结构设计要点
给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(数据库实例、表空间、表权限)、设计考虑和保密条件。
7 配置文件设计(若有)
对本CSCI软件使用的所有配置文件进行设计,包括配置文件的格式及配置项的说明(可用表格形式列出)。
7.1 XX配置文件
7.2 XX配置文件
8 部署设计
本节用来说明运行软件的两种部署设计,其中包括设计部署和物理部署两部分。
设计部署用于说明设计过程与软件实体的对应关系,物理部署用于说明软件实体与物理台位间的映射关系,对于每种配置,至少应该指出执行该软件的物理节点(计算机、CPU)及其互连情况(总线连接、LAN连接、点到点连接等)。
注:
如果软件的部署一目了然,那么本节就为可选。
8.1 设计部署
表10 XX软件设计部署表
序号
软件实体
设计类
备用
1
xx.o
xx类(xx.cpp、xx.h)
2
xx.dll
xx类(xx.cs)
3
xx.exe
xx类(xx.xx)
8.2 物理部署
图9XX软件物理部署图
表11 XX软件物理部署表
序号
物理台位
软件实体
备用
1
xx显控台
xx.o
2
xx计算机
xx.dll
3
xx服务器
xx.exe
9 运行设计(可选)
本节设计内容主要针对自动化处理软件。
包括测控软件、自动运行的服务程序等软件系统。
9.1 运行软部件组合
说明对系统施加不同的外界运行控制时所引起的各种不同的运行软件单元组合,说明每种运行所历经的内部软件和支持软件。
图10运行包组合图
9.2 运行控制
说明每一种外界的运行控制的方式方法和操作步骤。
图11运行控制图
9.3 运行时间
说明每种运行软件单元组合将占用各种资源的时间。
10 性能设计
说明为了达到需求中规定的性能要求而需要进行特殊的设计、专门的处理方法。
需明确性能指标分解的原因,指明实现每个性能指标的主要包/类,对每个性能指标说明其约束条件及在约束条件(含软件条件及硬件条件)下达到性能指标所采取的设计方法。
10.1 XX性能
XX。
11 系统出错处理设计
11.1 出错信息
用一览表的方式说明每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
应充分考虑不同层、软件单元/软部件和数据库中的代码,做到:
a)出错信息描述简明扼要;
b)通过出错信息可以定位错误源;
11.2 补救措施
说明故障出现后可能采取的变通措施,包括:
a)后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;
b)降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;
c)恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
11.3 系统维护设计
说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用部件。
11.4 错误处理设计
说明为了系统运行的稳定、可靠和维护方面的考虑,系统应专门考虑的方面,专门设计的出错处理部件。
主要包括:
a)专门的错误处理部件;
b)系统的日志记录;
c)软件应捕获的错误,并采取的错误转移处理措施。
12 CSCI详细设计
若是《软件详细设计说明》文档合并到此文档,将详细设计文档的第3章节代替此章节。
若是不合并,去掉此章节。
13 需求可追踪性
表12 需求追踪表(正向)
软件概要设计说明
软件需求规格说明
包标识/名称
章条号
需求标识/名称
章条号
XX包
3.2.1
XX用例
3.1.1
表13 需求追踪表(逆向)
软件需求规格说明
软件概要设计说明
需求标识/名称
章条号
包标识/名称
章条号
XX用例
3.2.1
XX包
3.1.1
14 注释
本章应包括有助于了解文档的所有信息(例如:
背景、术语、缩略语或公式)。