软件设计书怎么写

cht 2023-03-15 8次阅读

软件设计书怎么写?本条应描述本文档所适用的系统、接口实体和接口的完整标识,适用时,包括其标识号、名称、缩略名、版本号和发布号,现在小编就来说说关于软件设计书怎么写?下面内容希望能帮助到你,我们来一起看看吧!

软件设计书怎么写软件设计说明最详细教案-干货

软件设计书怎么写1 范围1.1 标识

本条应描述本文档所适用的系统、接口实体和接口的完整标识,适用时,包括其标识号、名称、缩略名、版本号和发布号。

1.2 系统概述

本条应概述本文档所适用的系统和软件的用途。

它还应描述系统与软件的一般特性;概述系统开发、运行和维护的历史;标识项目的需方、用户、开发方和保障机构等;标识当前和计划的运行现场;列出其他有关文档。

1.3 文档概述

本条应概述本文档的用途和内容,并描述与它的使用有关的保密性方面的要求。

2 引用文档

本章应列出引用文档的编号、标题、编写单位、修订版及日期,还应标识不能通过正常采购活动得到的文档的来源。

3 CSCI级设计决策

本章应根据需要分条给出CSCI级设计决策,即CSCI行为设计的决策忽略其内部实现,从用户角度出发描述系统将怎样运转以满足需求和其他影响组成该CSCI的软件单元的选择与设计的决策。

如果在需求中所有这些决策是明确的,或者这些决策要推迟到CSCI的软件单元的设计时指出,则本章应如实陈述。

针对关键性需求例如对安全性或保密性关键的需求作出的设计决策,应在专门的章条申加以叙述。

如果设计决策依赖于系统状态或方式,则应指明这一依赖性。

本条应给出或引用理解这些设计所需的设计约定。

CSCI级设计决策的例子如下:

a 关于CSCI将接收的输入和将产生的输出的设计决策,包括与其他系统、HWCI、CSCI和用户的接口本文档的4.3.X条指出本说明要考虑的主题。

如果这一信息的全部或部分已在接口设计说明IDD中给出,则可以直接引用。

b 有关响应每个输入或条件的CSCI行为的设计决策,包括CSCI要执行的动作、响应时间和其他性能特性,模型化的物理系统的说明,选定的方程式/算法/规则,以及对不允许的输入或条件进行的处理。

c 有关数据库,数据文件如何呈现给用户的设计决策本文档的4.3.X条标识了本说明要考虑的主题。

如果这一信息的全部或部分在数据库设计说明DBDD中给出,则可直接引用。

d 为满足安全性和保密性需求所选择的方法。

e 为满足需求所做的其他CSCI级设计决策,例如为提供所需的灵活性、可用性和可维护性所选择的方法。

4 CSCI体系结构设计

本章应分为以下几条描述CSCI体系结构设计。

如果设计的全部或部分依赖于系统的状态或方式,此依赖性应予指明。

如果设计信息在多于一个条中出现,它只需被提供一次,而在其他条中引用。

本条应提供或引用为了理解设计所需要的设计约定。

4.1 CSCI部件

本条应描述:

a 构成该CSCI的所有软件单元。

应赋予每个软件单元一个项目唯一的标识符。

注:软件单元是CSCI设计中的一个元素;例如,CSCI的一个主要分支、该主要分支的一个组成部分,一个类、对象、模块、函数、例程或数据库。

软件单元可以出现在层次结构的不同层上,且又可以由其他软件单元组成。

在设计中,软件单元与实现它们的代码和数据实体例程,过程,数据库,数据文件等,或与包含这些实体的计算机文件之间,可以有、也可以没有一对一的对应关系。

一个数据库可被处理为一个CSCI也可被处理为一个软件单元。

SDD可以采用与所使用设计方法相一致的任何名字来称呼软件单元。

b 软件单元的静态如,由…组成关系。

根据所选择的软件设计方法学,可以给出多种关系例如,采用面向对象的设计方法时,本条既可给出类和对象结构,也可给出CSCI的模块和过程结构。

每个软件单元的用途,指明分配给它的CSCI需求和CSCI级设计决策需求的分配也可在6a中提供。

d 每个软件单元的开发状态/类型如新开发、按原样重用已有的设计或软件、再工程的已有的设计或软件、为重用而要开发的软件等,为构建版N计划的软件。

针对现有的设计或软件,本说明应提供标识信息,例如名字、版本、文档引用、库等。

eCSCI若适用,针对每个软件单元计划使用的计算机硬件资源例如处理机能力,内存能力,输入/输出设备能力,辅存能力以及通信/网络设备能力。

本说明应覆盖CSCI的资源使用需求中、影响该CSCI的系统级资源分配中、以及在软件开发计划SDP的资源使用测量策划中包含的全部计算机硬件资源。

如果针对指定计算机硬件资源的所有使用数据都在同一处提供,例如在SDD中提供,那么本条可直接引用。

对每个计算机硬件资源,应包括如下信息:

1 得到满足的CSC[需求或系统级资源分配;

2 使用数据基于的假设和条件例如,典型用法、最坏情况用法、特定事件的假定;

3 影响使用的特殊考虑例如,虚存、覆盖、多处理器的使用情况,操作系统、库软件的开销或其他实现开销的影响;

4 所使用的测度的单位例如,处理器能力的百分比、周期/秒、内存字节数、千字节/ 秒;

5 进行评估或测量酌级别例如,软件单元,CSCI或者可执行程序。

f 标识实现每个软件单元的软件放置在哪个程序库中。

4.2 执行方案

本条应说明软件单元间的执行方案,可采用图表和描述,来说明软件单元间的动态关系,98迷科,即CSCI运行期间软件单元间的相互作用情况,若适用应包括执行控制流程、数据流、动态控制序列、状态转换图、时序图、单元间的优先关系、中断处理、时序/排序关系、例外处理、并发执行、

动态分配与去除分配、对象/进程/任务的动态创建/删除、以及动态行为的其他方面。

4.3 接口设计4.3.1 接口标识和接口图

本条应说明赋予每个接口的项目唯一的标识符,若适用应通过名称、编号、版本及文档引用来标识接口实体软件单元、系统、配置项、用户等。

该标识应说明哪些实体具有周定的接口特性从而把接口需求分配给这些接口实体;说明哪些实体正在开发或修改这些实体已有各自的接口需求。

若适用应通过接口图来描述这些接口。

4.3.2 接口的项目唯一的标识符

本条从4.3.2开始应通过项目唯一的标识符来标识接口,应简要地标识接口实体,根据需要可分条描述单方或双方接口实体的特性。

如果一指定的接口实体未包含在本SDD中例如,一个外部系统,而描述接口实体需要提到其接口特性时,这些特性应作为假设予以陈述、或以“当[未涵盖的实体]这样做时,[所指定的实体]将……”的形式描述。

本条可引用其他文档例如数据字典、协议标准、用户接口标准代替在此所描述的信息。

本设计说明应包括以下内容若适用,以任何适合于所提供的信息的顺序提供,并应从接口实体角度说明这些特性之间的区别例如关于数据元素的大小、频率或其他特性的不同期望值:

a 接口实体分配给接口的优先级。

b 要实现的接口类型例如实时数据传输、数据的存储和检索等。

c 接口实体将提供、存储、发送、访问、接收的各个数据元素的特征,例如:

1 名称/标识符:

a.项目唯一的标识符;

b.非技术自然语言名称;

c.数据元素名称;

d.技术名称如在代码或数据库中的变量名或字段名:

e.缩略名或同义名。

2 教据类型字母、数字、整数等。

3 大小与格式如:字符串的长度和标点符号。

4 计量单位如:m等。

5 可能值的范围或枚举如:0-99。

6 准确性正确程度和精度有效数位数。

7优先级、定时、频率、容量、序列以及其他约束条件例如数据元素是否可以被更新、业务规则是否适用。

8 保密性约束。

9 来源建立/发送的实体和接受者使用/接收的实体。

d 接口实体将提供、存储、发送、访问、接收的数据元素组合体记录、消息、文件、数组、显示、报表等的特征,例如:

1 名称/标识符:

a.项目唯一的标识符; l

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 状态、标识和其他报告特性。

f 其他特征,例如接口实体的物理兼容性尺寸、公差、负荷、电压和接插件的兼容性等。

5 CSCI软件详细设计5.1 X软件单元的项目唯一的标识符,或者一组软件单元的标志符

本条应通过项目唯一的标识符来标识软件单元,并对该单元进行说明。

若适用该说明应包括下列信息。

本条也可以指定一组软件单元,然后再分小条对它们分别进行标识和说明,包含其他软件单元的软件单元可引用那些软件单元的说明,而无需在此重复。

a 若有单元设计决策,例如所使用的算法[如果此前尚未选定。

b 该软件单元设计中的任何约束、限定或非常规特征。

c 如果使用的编程语言不同于该CSCI所指定的语言,则应指出并说明使用它的理由。

d 如果该软件单元包含过程性命令或由过程性命令组成例如数据库管理系统DBMS中用于定义表单和报表的菜单选择,用于数据库访问和操纵的在线DBMS查询,用于代码自动生成的图形用户接口GUI构造器的输入,操作系统的命令或Shell脚本,应列出这些过程性命令,并引用解释它们的用户手册或其他文档。

e 如果该软件单元包含、接收或输出数据,若适用应对它的输入、输出及其他数据元素和数据元素组合体进行说明。

本文档的4.3.X条提供了若适用应包括的主题。

软件单元的局部数据应与软件单元的输入或输出数据分开来描述。

如果该软件单元是一个数据库,应引用相应的数据库设计说明DBDD:接口特性可以在这里提供、也可以引用第4章或相应的接口设计说明IDD。

f 如果该软件单元包含逻辑,则给出该软件单元所用到的逻辑,若适用应包括:

1 该软件单元执行启动时,其内部起作用的条件。

2 将控制传递给其他软件单元的条件。

3 对每个输入的响应以及响应时间,包括数据转换、重命名以及数据传输操作。

4 在软件单元运行期间的操作顺序和动态控制序列,包括:

a.顺序控制的方法;

b.该方法的逻辑和输入条件,例如时序变异、优先级分配等;

c.进出内存的数据传输;

d.对离散输入信号的感知,以及该软件单元内中断操作之间的时序关系。

6 需求的可追踪性

本章应包含:

a.从本SDD所标识的每个软件单元,到分配给他的CSCI需求的可追踪性。

b.从每个CSCI需求,到分配这些需求的软件单元的可追溯性。

7 注释

本章应包括有助于了解文档的所有信息例如:背景、术语、缩略语或公式


标签: 软件  设计书  怎么 


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。