软件(结构)设计说明(SDD)文档标准模版
- 格式:docx
- 大小:49.54 KB
- 文档页数:14
软件详细设计文档模板最全面-详细设计文档软件详细设计文档模板最全面详细设计文档一、引言在软件开发过程中,详细设计文档是将软件需求转化为可实现的技术方案的重要环节。
它为后续的编码、测试和维护提供了详细的指导和规范。
本文将为您提供一份全面的软件详细设计文档模板,帮助您更好地组织和记录软件设计的细节。
二、软件概述(一)软件名称软件名称(二)软件功能简要描述软件的主要功能和用途。
(三)运行环境1、操作系统:支持的操作系统,如 Windows、Linux 等2、数据库:使用的数据库,如 MySQL、Oracle 等3、中间件:如 Tomcat、WebLogic 等4、浏览器:支持的浏览器,如 Chrome、Firefox 等三、系统架构设计(一)总体架构描述软件的整体架构,包括前端、后端、数据库等各个模块之间的关系和交互方式。
(二)模块划分将软件划分为不同的模块,并对每个模块的功能进行简要描述。
(三)技术选型1、编程语言:如 Java、Python 等2、框架:如 Spring、Django 等3、前端框架:如 Vue、React 等四、模块详细设计(一)模块 1:模块名称1、功能描述详细描述该模块的具体功能。
2、输入输出明确模块的输入数据格式和输出数据格式。
3、算法设计如果模块涉及复杂的算法,需要对算法进行详细描述。
4、流程设计使用流程图或文字描述模块的处理流程。
5、接口设计描述该模块与其他模块之间的接口,包括接口参数、返回值等。
(二)模块 2:模块名称五、数据库设计(一)数据库选型说明选择的数据库管理系统及原因。
(二)数据库表设计1、列出所有数据库表的名称和用途。
2、对每个表的字段进行详细描述,包括字段名、数据类型、长度、是否允许为空、约束条件等。
(三)数据库关系设计描述表与表之间的关联关系,如一对一、一对多、多对多等。
(四)存储过程设计如果有存储过程,需要对其功能、输入输出参数和执行逻辑进行详细描述。
大学课件-SDD-设计说明书模板【项目名称】软件设计说明书【文档标识(唯一标识该文档的标识号,SDD+组号)】【版本号】分工说明小组名称学号姓名本文档中主要承担的工作内容版本变更历史版本提交日期主要编制人审核人版本说明1.范围1.1 项目概述【在SDP、SRS文档基础上,进一步明确系统的背景、主要功能和非功能性需求,以及应用场景。
】1.2 文档概述【本文档的用途和内容组织。
】1.3 术语和缩略词【本文档中所涉及的专业的业务和技术术语,以及文档中所有的缩略词/全称对应表。
】1.4 引用文档【本文档引用的所有文档的编号、标题、版本和发行日期。
引用文档包括项目开发计划、软件需求规格说明,以及其它有关文档资料。
】2.需求概述【概述系统的需求。
建议给出用例图及详尽的用例描述。
】3.体系结构设计3.1 总体结构【用一系列图表(如系统体系结构图,UML类图、时序图、状态图、活动图、构件图、包图等)给出系统的总体结构,并对图中的内容进行说明。
可能涉及软件体系结构、硬件体系结构、技术体系结构、支撑体系(部署和实施方案)结构等各个方面,可根据实际情况每个方面分为一小节来写。
】3.2 关键问题及解决方案【给出系统总体结构中所涉及的关键问题及其解决方案。
针对每一项关键技术写一小节。
】4.接口设计【给出系统用户界面、系统的软硬件外部接口和内部接口的设计说明。
】5.数据库设计【给出数据库表结构,说明表之间的关联方式。
并定义数据表中的所有数据项。
】6.详细设计【对于系统的每个关键模块(构件),用小节逐个给出一个模块(构件)的详细设计方案。
包括该模块(构件)的类结构(类图)及其交互模型(顺序图),还可根据实际情况给出状态图(某个构件或对象的状态迁移)和活动图(某个算法的实现流程)等内容。
】7.运行与开发环境7.1 运行环境【在SRS文档基础上,进一步明确系统运行的硬件环境和软件环境。
】7.2 软件环境【在SRS文档基础上,进一步明确系统开发所需的硬件环境和软件环境。
软件设计说明目录1 范围 (1)1.1 标识 (1)1.2 系统概述 (1)1.3 文档概述 (1)2 引用文档. (1)3 CSCI 级设计决策. (1)4 CSCI 体系结构设计 (2)4.1 CSCI 部件 (2)4.2 执行方案 (3)4.3 接口设计 (3)4.3.1 接口标识和接口图 (3)4.3. ............................................................................................ x (接口的项目唯一标识符). (4)5 CSCI 详细设计 (6)5. X (软件单元的项目唯一标识符,或者一组软件单元的标志符) (6)6 需求可追踪性 (9)7 注解 (11)附录A (11)软件设计说明1 范围1.1 标识要求:本节应包含这个文档所适用的系统和软件的完全标识,(若适用)应包括标识号、名称、缩略名、版本号及发布号。
1.2 系统概述要求:1)本节主要描述本文档适用的系统和软件的用途;2)概述系统开发、运行和维护的历史;3)标识项目的投资方、需方、用户、开发方和保障机构;4)标识当前和计划的运行现场;5)列出其它有关文档。
1.3 文档概述本节应概述本文档的用途和内容,描述与它的使用有关的保密性或私密性考虑。
2 引用文档列出引用的所有文档,包括文档的编号、标题、修订版本和日期。
3 CSCI 级设计决策要求:本章应根据需要分节给出CSCI级设计决策,即CSCI行为设计的决策(忽略其内部实现,从用户角度出发描述系统将怎样运转以满足需求)和其它影响组成该CSCI 的软件单元的选择与设计的决策。
如果在需求中所有这些决策是明确的,或者这些决策要推迟到CSCI 的软件单元的设计时指出,则本章应如实陈述。
针对关键性需求(例如对安全性、保密性、私密性等需求)作出的设计决策,应在专门的章节中加以叙述。
CSCI 级设计决策的例子如下:1)关于CSCI 将接收的输入和将产生的输出的设计决策,包括与其它系统、HWC、I CSCI 和用户的接口(本文档的4.3.x 节指出本说明要考虑的主题);2)有关响应每个输入或条件的CSCI 行为的设计决策,包括CSCI 要执行的动作、响应时间和其它性能特性,模型化的物理系统的说明,选定的方程式/ 算法/ 规则,以及对不允许的输入或条件进行的处理;3)有关数据库/ 数据文件如何呈现给用户的设计决策(本文档的4.3.x 节标识了本说明N 计划的软件)。
网站软件(结构)设计说明书一.引言1.引言本说明书为系统的结构设计说明书,为系统详细的设计的主要依据。
主要读者群为项目组成员,使得项目组内成员对整个系统的主要功能以及其概要的实现手段,有一个宏观的把握,是整个系统最初形,同时也是最基本的引导性文档(软件体系结构设计说明书),将从设计的角度对系统进行综合的描述,使用不同的视图来描述其不同方面。
在本说明书中,将对该说明书的结构进行简要的说明,明确该说明书针对的读者群,指导他们正确的使用该说明书。
预期的读者:本说明书是软件体系结构设计的说明书,主要读者群为项目组成员,其次供公司上层(老师)评审,并指导开发人员的开发。
2.背景1)项目名称:山桐子能源科技有限责任公司2)项目任务提出者:张林鹏3)项目负责人:胡芸儿4)开发者:赵霞、杨露、陈其瑜、冯明华、张林鹏、胡芸儿5)开发工具:Dreamweaver8、技术、PS技术、SQL server 20006)运行平台:本项目采用WINDOW 2000为操作系统7)适用用户:所有能上网浏览网页的用户,主要用户是需要山桐子的人群.3.定义1)该文档也需要将本文档中所涉及的所有术语、缩略语进行详细的定义。
还有一种可简明的做法,就是维护在一个项目词汇表中,这样就可以避免在每个文档中都重复很多内容。
2)比如:dl:登录、zc:注册、gssy:公司首页、cpzs:产品展示、gsshow:公司相册、zxly:在线留言、news:新闻中心、aboutus:关于我们、zpxx:招聘信息、kjw x:科技文献、cyjs:产业介绍。
4.参考资料(1) 本项目的经核准的计划任务书或合同、上级机关的批文;(2) 属于本项目的其他已发表的文件:山桐子网站需求说明书、山桐子网站设计标准规范说明书、网站发展的调查与分析、网站存储目录及切片对象要求说明书、网站的技术和工具的说明或分析(3)本文件中各处引用到的文件资料:[1] 陈元国.需求分析说明书.参考资料书,2013.4[2] 顾正刚.网站规划与建设.机械工业出版社,2010.2[3] 张强.数据库设计说明书.参考资料书,2013.5二.模块/程序系统的组织结构根据“需求分析说明书”的功能表及流程图,设计系统功能模块间的组织结构。
软件架构设计说明书 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】<XXX>架构设计说明书版本1.0.0目录1.引言[对于由多个进程构成的复杂系统,系统设计阶段可以分为:架构设计(构架设计)、组件高层设计、组件详细设计。
对于由单个进程构成的简单系统,系统设计阶段可以分为:系统概要设计、系统详细设计。
本文档适用于由多个进程构成的复杂系统的构架设计。
][架构设计说明书是软件产品设计中最高层次的文档,它描述了系统最高层次上的逻辑结构、物理结构以及各种指南,相关组件(粒度最粗的子系统)的内部设计由组件高层设计提供。
][系统:指待开发产品的软件与硬件整体,其软件部分由各个子系统嵌套组成,子系统之间具有明确的接口;组件:指粒度最粗的子系统;模块:指组成组件的各层子系统,模块由下一层模块或函数组成;][此文档的目的是:1)描述产品的逻辑结构,定义系统各组件(子系统)之间的接口以及每个组件(子系统)应该实现的功能;2)定义系统的各个进程以及进程之间的通信方式;3)描述系统部署,说明用来部署并运行该系统的一种或多种物理网络(硬件)配置。
对于每种配置,应该指出执行该系统的物理节点(计算机、网络设备)配置情况、节点之间的连接方式、采用何种通信协议、网络带宽。
另外还要包括各进程到物理节点的映射;4)系统的整体性能、安全性、可用性、可扩展性、异常与错误处理等非功能特性设计;5)定义该产品的各个设计人员应该遵循的设计原则以及设计指南,各个编程人员应该遵循的编码规范。
][建议架构设计工程师与组件设计工程师共同完成此文档。
][架构设计说明书的引言应提供整个文档的概述。
它应包括此文档的目的、范围、定义、首字母缩写词、缩略语、参考资料和概述。
]1.1目的[简要描述体系结构文档的目的。
]1.2范围[简要说明此文档的范围:它的相关项目以及受到此文档影响的任何其它事物]1.3预期的读者和阅读建议[说明此文档的阅读对象,简要说明此文档中其它章节包含的内容与文档组织方式,对于不同读者的阅读方式建议。
软件设计说明目录1围 (1)1.1标识 (1)1.2系统概述 (1)1.3文档概述 (1)2引用文档 (1)3CSCI 级设计决策 (1)4CSCI 体系结构设计 (2)4.1CSCI部件 (2)4.2执行方案 (3)4.3接口设计 (3)4.3.1接口标识和接口图 (3)4.3.x (接口的项目唯一标识符) (4)5CSCI 详细设计 (6)5.X (软件单元的项目唯一标识符,或者一组软件单元的标志符) (6)6需求可追踪性 (9)7注解 (11)附录A (11)软件设计说明1围1.1标识要求:本节应包含这个文档所适用的系统和软件的完全标识,(若适用)应包括标识号、名称、缩略名、版本号及发布号。
1.2系统概述要求:1)本节主要描述本文档适用的系统和软件的用途;2)概述系统开发、运行和维护的历史;3)标识项目的投资方、需方、用户、开发方和保障机构;4)标识当前和计划的运行现场;5)列出其它有关文档。
1.3文档概述本节应概述本文档的用途和容,描述与它的使用有关的性或私密性考虑。
2引用文档列出引用的所有文档,包括文档的编号、标题、修订版本和日期。
3CSCI 级设计决策要求:本章应根据需要分节给出CSCI 级设计决策,即CSCI 行为设计的决策(忽略其部实现,从用户角度出发描述系统将怎样运转以满足需求)和其它影响组成该CSCI 的软件单元的选择与设计的决策。
如果在需求中所有这些决策是明确的,或者这些决策要推迟到CSCI 的软件单元的设计时指出,则本章应如实述。
针对关键性需求(例如对安全性、性、私密性等需求)作出的设计决策,应在专门的章节中加以叙述。
CSCI 级设计决策的例子如下:1)关于CSCI 将接收的输入和将产生的输出的设计决策,包括与其它系统、HWCI、CSCI 和用户的接口(本文档的4.3.x 节指出本说明要考虑的主题);2)有关响应每个输入或条件的CSCI 行为的设计决策,包括CSCI 要执行的动作、响应时间和其它性能特性,模型化的物理系统的说明,选定的方程式/算法/规则,以及对不允许的输入或条件进行的处理;3)有关数据库/数据文件如何呈现给用户的设计决策(本文档的4.3.x 节标识了本说明要考虑的主题)。
【项目名称】软件设计说明书【文档标识(唯一标识该文档的标识号,SDD+组号)】【版本号】分工说明小组名称学号姓名本文档中主要承担的工作内容版本变更历史版本提交日期主要编制人审核人版本说明1.范围1.1 项目概述【在SDP、SRS文档基础上,进一步明确系统的背景、主要功能和非功能性需求,以及应用场景。
】1.2 文档概述【本文档的用途和内容组织。
】1.3 术语和缩略词【本文档中所涉及的专业的业务和技术术语,以及文档中所有的缩略词/全称对应表。
】1.4 引用文档【本文档引用的所有文档的编号、标题、版本和发行日期。
引用文档包括项目开发计划、软件需求规格说明,以及其它有关文档资料。
】2.需求概述【概述系统的需求。
建议给出用例图及详尽的用例描述。
】3.体系结构设计3.1 总体结构【用一系列图表(如系统体系结构图,UML类图、时序图、状态图、活动图、构件图、包图等)给出系统的总体结构,并对图中的内容进行说明。
可能涉及软件体系结构、硬件体系结构、技术体系结构、支撑体系(部署和实施方案)结构等各个方面,可根据实际情况每个方面分为一小节来写。
】3.2 关键问题及解决方案【给出系统总体结构中所涉及的关键问题及其解决方案。
针对每一项关键技术写一小节。
】4.接口设计【给出系统用户界面、系统的软硬件外部接口和内部接口的设计说明。
】5.数据库设计【给出数据库表结构,说明表之间的关联方式。
并定义数据表中的所有数据项。
】6.详细设计【对于系统的每个关键模块(构件),用小节逐个给出一个模块(构件)的详细设计方案。
包括该模块(构件)的类结构(类图)及其交互模型(顺序图),还可根据实际情况给出状态图(某个构件或对象的状态迁移)和活动图(某个算法的实现流程)等内容。
】7.运行与开发环境7.1 运行环境【在SRS文档基础上,进一步明确系统运行的硬件环境和软件环境。
】7.2 软件环境【在SRS文档基础上,进一步明确系统开发所需的硬件环境和软件环境。
软件设计说明目录软件设计说明1范围1.1标识要求:本节应包含这个文档所适用的系统和软件的完全标识,(若适用)应包括标识号、名称、缩略名、版本号及发布号。
1.2系统概述要求:1)本节主要描述本文档适用的系统和软件的用途;2)概述系统开发、运行和维护的历史;3)标识项目的投资方、需方、用户、开发方和保障机构;4)标识当前和计划的运行现场;5)列出其它有关文档。
1.3文档概述本节应概述本文档的用途和内容,描述与它的使用有关的保密性或私密性考虑。
2引用文档列出引用的所有文档,包括文档的编号、标题、修订版本和日期。
3CSCI 级设计决策要求:本章应根据需要分节给出CSCI 级设计决策,即CSCI 行为设计的决策(忽略其内部实现,从用户角度出发描述系统将怎样运转以满足需求)和其它影响组成该CSCI 的软件单元的选择与设计的决策。
如果在需求中所有这些决策是明确的,或者这些决策要推迟到CSCI 的软件单元的设计时指出,则本章应如实陈述。
针对关键性需求(例如对安全性、保密性、私密性等需求)作出的设计决策,应在专门的章节中加以叙述。
CSCI 级设计决策的例子如下:1)关于CSCI 将接收的输入和将产生的输出的设计决策,包括与其它系统、HWCI、CSCI 和用户的接口(本文档的4.3.x 节指出本说明要考虑的主题);2)有关响应每个输入或条件的CSCI 行为的设计决策,包括CSCI 要执行的动作、响应时间和其它性能特性,模型化的物理系统的说明,选定的方程式/算法/规则,以及对不允许的输入或条件进行的处理;3)有关数据库/数据文件如何呈现给用户的设计决策(本文档的4.3.x 节标识了本说明要考虑的主题)。
如果这一信息的全部或部分在数据库设计说明(DBDD)中给出,则可直接引用;4)为满足安全性、保密性、私密性需求所选择的方法;5)为满足需求所做的其它CSCI 级设计决策,例如为提供所需的灵活性、可用性和可维护性所选择的方法。
(完整word版)软件设计文档模板软件设计文档文档管理信息表文档变更纪录文档主要评审意见QA组目录1开发规划 (1)1.1开发人员 (1)1.2开发计划 (2)1.3开发环境和工具 (3)1.4开发规范 (3)2总体设计 (4)2.1概念术语描述 (4)2.1.1术语1 (4)2.1.2术语2 (4)2.2基本设计描述 (5)2.2.1系统总体逻辑结构图 (5)2.2.2系统部署结构图 (6) 2.3主要界面流程描述 (7) 2.3.1功能1界面流程 (7) 2.3.2功能2界面流程 (7) 2.4模块列表 (8)3数据结构 (9)4接口规范 (10)4.1<模块1API> (10) 4.1.1Interface1 (10) 4.1.2Interface2 (10) 4.2<模块2API> (11) 4.3<模块3API> (11) 4.4<数据库API> (11) 5模块设计 (12)5.1M ODULE1设计 (12) 5.1.1模块设计描述 (12) 5.1.2模块界面描述 (12) 5.2M ODULE2设计 (13) 6附录 (14)6.1第三方组件 (14)6.2参考资料 (15)6.3附加文档 (15)1开发规划1.1开发人员1.2开发计划<附开发计划表>1.3开发环境和工具开发工具2总体设计2.1概念术语描述2.1.1术语1<术语1的描述>2.1.2术语2<术语2的描述>2.2基本设计描述<文字性的设计思路> 2.2.1系统总体逻辑结构图2.2.2系统部署结构图内部客户机内部客户机远程客户机远程客户机系统网络拓扑结构2.3主要界面流程描述2.3.1功能1界面流程2.3.2功能2界面流程2.4模块列表3数据结构数据库表列表<附SQL数据库结构定义文档>4接口规范4.1<模块1 API>●描述<模块功能和设计描述(简要描述)>●集成和部署<描述模块如何同系统集成,实现形式是DLL, EXE或是嵌入式代码>4.1.1Interface1●Function1string function1(int param1, string param2, …)param1 -param2 -●Function2string function2(int param1, string param2, …)param1 -param2 -4.1.2Interface24.2<模块2 API> 4.3<模块3 API> 4.4<数据库API> 定义数据库存储过程接口5模块设计5.1Module1设计<更具具体情况细化模块设计> 5.1.1模块设计描述5.1.2模块界面描述5.2Module2设计6附录6.1第三方组件。
[项目名称]设计阐明书[V1.0(版本号)]拟制人______________________ 审核人______________________ 批准人______________________[年月日]设计阐明书1.引言1.1编写目[阐明编写这份设计阐明书目,指出预期读者。
]1.2背景a.[待开发软件系统名称;]b.[列出本项目任务提出者、开发者、顾客。
]1.3定义[列出本文献中用到专门术语定义和外文首字母组词原词组。
] 1.4参照资料[列出关于参照资料。
]2.总体设计2.1需求规定[阐明对本系统重要输入输出项目、解决功能性能规定。
涉及] 2.1.1系统功能2.1.2系统性能2.1.2.1精度2.1.2.2时间特性规定2.1.2.4可靠性2.1.2.5灵活性2.1.3输入输出规定2.1.4数据管理能力规定2.1.5故障解决规定2.1.6其她专门规定2.2运营环境[简要地阐明对本系统运营环境规定。
]2.2.1设备[列出运营该软件所需要硬设备。
阐明其中新型设备及其专门功能。
]2.2.2支持软件[列出支持软件,涉及要用到操作系统、编译(或汇编)程序、测试支持软件等。
] 2.2.3接口[阐明该系统同其她系统之间接口、数据通信合同等]2.2.4控制[阐明控制该系统运营办法和控制信号,并阐明这些控制信号来源。
]2.3基本设计概念和解决流程[阐明本系统基本设计概念和解决流程,尽量使用图表形式。
]2.4构造[给出系统构造总体框图(涉及软件、硬件构造框图),阐明本系统各模块划分,扼要阐明每个系统模块标记符和功能,分层次地给出各模块之间控制与被控制关系。
]2.5功能需求与系统模块关系[本条用一张矩阵图阐明各项功能需求实现同各模块分派关系。
]2.6人工解决过程[阐明在本系统工作过程中不得不包括人工解决过程。
]2.7尚未解决问题[阐明在概要设计过程中尚未解决而设计者以为在系统完毕之前必要解决各个问题。
]3.系统构造[给出系统构造框图,涉及软件构造、硬件构造框图。
软件(结构)设计说明(SDD)XXXX公司文件更改记录文件版本变更记录软件(结构)设计说明(SDD)说明:1.《软件(结构)设计说明》(SDD)描述了计算机软件配置项(CSCI的设计。
它描述了CSCI级设计决策、CSCI体系结构设计(概要设计)和实现该软件所需的详细设计。
SDD可用接口设计说明IDD和数据库(顶层)设计说明DBDD加以补充。
2.SDD连同相关的IDD和DBDD是实现该软件的基础。
向需方提供了设计的可视性,为软件支持提供了所需要的信息。
3.IDD和DBDD是否单独成册抑或与SDD合为一份资料视情况繁简而定。
模版说明:1、文档字体设定:标题1:小一标题2:二号标题3:小二标题4:三号标题5:小三标题6:四号正文:四号2、文章编号,请使用格式刷刷,不要手工编号。
目前格式都是对的。
3、内容根据实际情况裁剪,一般可行性研究报告,模版章节不可缺。
4、封面图片请根据实际情况自行替换。
5、关于修订记录,请根据文档需要自行添加。
1.引言本章应分为以下几条。
1.1.标识本条应包含本文档适用的系统和软件的完整标识。
(若适用)包括标识号、标题、缩略词语、版本号、发行号。
1.2.系统概述本条应简述本文档适用的系统和软件的用途。
它应描述系统与软件的一般性质;概述系统开发、运行和维护的历史;标识项目的投资方、需方、用户、开发方和支持机构;标识当前和计划的运行现场;并列出其他有关文档。
1.3.文档概述本条应概述本文档的用途与内容,并描述与其使用有关的保密性或私密性要求。
1.4.基线说明编写本系统设计说明书所依据的设计基线。
2.引用文件本章应列出本文档引用的所有文档的编号、标题、修订版本和日期。
本章也应标识不能通过正常的供货渠道获得的所有文档的来源。
3.CSCI级设计决策本章应根据需要分条给出CSCI级设计决策,即CSCI行为的设计决策(忽略其内部实现,从用户的角度看,它如何满足用户的需求)和其他影响组成该CSCI 的软件配置项的选择与设计的决策。
如果所有这些决策在CSCI需求中均是明确的,或者要推迟到CSCI的软件配置项设计时指出,本章应如实陈述。
为响应指定为关键性的需求(如安全性、保密性、私密性需求)而作出的设计决策,应在单独的条中加以描述。
如果设计决策依赖于系统状态或方式,则应指出这种依赖性。
应给出或引用理解这些设计所需的设计约定。
CSCI级设计决策的例子如下:a.关于CSCI应接受的输入和产生的输出的设计决策,包括与其他系统、HWCI, CSCI和用户的接口(本文的4.5.x标识了本说明要考虑的主题)。
如果该信息的部分或全部已在接口设计说明(IDD)中给出,此处可引用。
b.有关响应每个输入或条件的CSCI行为的设计决策,包括该CSCI要执行的动作、响应时间及其他性能特性、被模式化的物理系统的说明、所选择的方程式/算法/规则和对不允许的输入或条件的处理。
c.有关数据库/数据文件如何呈现给用户的设计决策(本文的4.5.x标识了本说明要考虑的主题)。
如果该信息的部分或全部已在数据库(顶层)设计说明(DBDD)中给出,此处可引用。
d.为满足安全性、保密性、私密性需求而选择的方法。
e.对应需求所做的其他CSCI级设计决策,例如为提供所需的灵活性、可用性和可维护性所选择的方法。
4.CSCI体系结构设计本章应分条描述CSCI体系结构设计。
如果设计的部分或全部依赖于系统状态或方式,则应指出这种依赖性。
如果设计信息在多条中出现,则可只描述一次,而在其他条引用。
应给出或引用为理解这些设计所需的设计约定。
4.1.体系结构4.1.1.程序(模块)划分用一系列图表列出本CSCI内的每个程序(包括每个模块和子程序)的名称、标识符、功能及其所包含的源标准名。
4.1.2.程序(模块)层次结构关系用一系列图表列出本CSCI内的每个程序(包括每个模块和子程序)之间的层次结构与调用关系。
4.2.全局数据结构说明本章说明本程序系统中使用的全局数据常量、变量和数据结构。
4.2.1.常量包括数据文件名称及其所在目录,功能说明,具体常量说明等。
4.2.2.变量包括数据文件名称及其所在目录,功能说明,具体变量说明等。
4.2.3.数据结构包括数据结构名称,功能说明,具体数据结构说明(定义、注释、取值…)等。
4.3.CSCI部件本条应:a.标识构成该CSCI的所有软件配置项。
应赋予每个软件配置项一个项目唯一标识符。
注:软件配置项是CSCI设计中的一个元素,如CSCI的一个主要的分支、该分支的一个组成部分、一个类、对象、模块、函数、例程或数据库.软件配置项可以出现在一个层次结构的不同层次上,并且可以由其他软件配置项组成.设计中的软件配置项与实现它们的代码和数据实体(例程、过程、数据库、数据文件等)或包含这些实体的计算机文件之间,可以有也可以没有一对一的关系。
一个数据库可以被处理为一个CSCI,也可被处理为一个软件配置项。
SDD可以通过与所采用的设计方法学一致的名字来引用软件配置项。
b.给出软件配置项的静态关系(如“组成”)。
根据所选择的软件设计方法学可以给出多种关系(例如,采用面向对象的设计方法时,本条既可以给出类和对象结构,也可以给出CSCI的模块和过程结构)。
c.陈述每个软件配置项的用途,并标识分配给它的CSCI需求与CSCI级设计决策(需求的分配也可在6.a中提供)。
d.标识每个软件配置项的开发状态/类型(如新开发的软件配置项、重用已有设计或软件的软件配置项、再工程的已有设计或软件、为重用而开发的软件等)。
对于已有设计或软件,本说明应提供标识信息,如名称、版本、文档引用、库等。
e.描述CSCI(若适用,每个软件配置项)计划使用的计算机硬件资源(例如处理器能力、内存容量、输入/输出设备能力、辅存容量和通信/网络设备能力)。
这些描述应覆盖该CSCI的资源使用需求中提及的、影响该cscl的系统级资源分配中提及的、以及在软件开发计划的资源使用度量计划中提及的所有计算机硬件资源。
如果一给定的计算机硬件资源的所有使用数据出现在同一个地方,如在一个SDD中,则本条可以引用它。
针对每一计算机硬件资源应包括如下信息:1)得到满足的CSCI需求或系统级资源分配;2)使用数据所基于的假设和条件(例如,典型用法、最坏情况用法、特定事件的假设);3)影响使用的特殊考虑(例如虚存的使用、覆盖的使用、多处理器的使用或操作系统开销、库软件或其他的实现开销的影响);4)所使用的度量单位(例如处理器能力百分比、每秒周期、内存字节数、每秒千字节);5)进行评估或度量的级别(例如软件配置项,CSCI或可执行程序)。
f.指出实现每个软件配置项的软件放置在哪个程序库中。
4.4.执行概念本条应描述软件配置项间的执行概念。
为表示软件配置项之间的动态关系,即CSCI运行期间它们如何交互的,本条应包含图示和说明,(若适用)包括执行控制流、数据流、动态控制序列、状态转换图、时序图、配置项之间的优先关系、中断处理、时间/序列关系、异常处理、并发执行、动态分配与去分配、对象/进程/任务的动态创建与删除和其他的动态行为。
4.5.接口设计本条应分条描述软件配置项的接口特性,既包括软件配置项之间的接口,也包括与外部实体,如系统、配置项及用户之间的接口。
如果这些信息的部分或全部已在接口设计说明(IDD)、本文的第5章或其他地方说明的话,可在此处引用。
4.5.1.接口标识与接口图本条应陈述赋予每个接口的项目唯一标识符,(若适用)并用名字、编号、版本和文档引用等标识接口实体(软件配置项、系统、配置项、用户等)。
接口标识应说明哪些实体具有固定接口特性(从而把接口需求强加给接口实体),哪些实体正在开发或修改(因而已把接口需求分配给它们)。
(若适用)应该提供一个或多个接口图以描述这些接口。
4.5.2.4.5.x (接口的项目唯一标识符)本条(从4.5.2开始编号)应用项目唯一标识符标识接口,应简要标识接口实体,并且应根据需要划分为几条描述接口实体的单方或双方的接口特性。
如果一给定的接口实体本文没有提到(例如,一个外部系统),但是其接口特性需要在本SDD描述的接口实体时提到,则这些特性应以假设、或“当[未提到实体]这样做时,[提到的实体]将……”的形式描述。
本条可引用其他文档(例如数据字典、协议标准、用户接口标准)代替本条的描述信息。
本设计说明应包括以下内容,(若适用)它们可按适合于要提供的信息的任何次序给出,并且应从接口实体角度指出这些特性之间的区别(例如数据元素的大小、频率或其他特性的不同期望)。
a.由接口实体分配给接口的优先级;b.要实现的接口的类型(例如实时数据传输、数据的存储与检索等);c.接口实体将提供、存储、发送、访问、接收的单个数据元素的特性,例如:1)名称/标识符;a)项目唯一标识符;b)非技术(自然语言)名称;c)标准数据元素名称;d)缩写名或同义名;2)数据类型(字母数字、整数等);3)大小与格式(例如字符串的长度与标点符号);4)计量单位(如米、元、纳秒等);5)范围或可能值的枚举(如0^-99);6)准确度(正确程度)与精度(有效数位数);7)优先级、时序、频率、容量、序列和其他约束,如数据元素是否可被更新,业务规则是否适用;8)保密性与私密性约束;9)来源(设置/发送实体)与接收者(使用/接收实体)。
d.接口实体将提供、存储、发送、访问、接收的数据元素集合体(记录、消息、文件、数组、显示、报表等)的特性,例如:1)名称/标识符;a)项目唯一标识符;b)非技术(自然语言)名称;c)技术名称(如代码或数据库中的记录或数据结构名);d)缩写名或同义名;2)数据元素集合体中的数据元素及其结构(编号、次序、分组);3)媒体(如盘)及媒体上数据元素/集合体的结构;4)显示和其他输出的视听特性(如颜色、布局、字体、图标及其他显示元素、蜂鸣声、亮度等);5)数据集合体之间的关系,如排序/访问特性;6)优先级、时序、频率、容量、序列和其他约束,如数据集合体是否可被更新,业务规则是否适用;7)保密性与私密性约束;8)来源(设置/发送实体)与接收者(使用/接收实体)。
e.接口实体为该接口使用通信方法的特性,例如:1)项目唯一标识符;2)通信链路/带宽/频率/媒体及其特性;3)消息格式化;4)流控制(如序列编号与缓冲区分配);5)数据传输率、周期或非周期和传送间隔;6)路由、寻址及命名约定;7)传输服务,包括优先级与等级;8)安全性/保密性/私密性考虑,如加密、用户鉴别、隔离、审核等。
f.接口实体为该接口使用协议的特性,例如:1)项目唯一标识符;2)协议的优先级/层;3)分组,包括分段与重组、路由及寻址;4)合法性检查、错误控制、恢复过程;5)同步,包括连接的建立、保持、终止;6)状态、标识和其他报告特性。