分享

软件设计说明最详细教案-干货

 汉无为 2023-05-20 发布于湖北

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计划的软件)。针对现有的设计或软件,本说明应提供标识信息,例如名字、版本、文档引用、库等。

e)CSCI(若适用,针对每个软件单元)计划使用的计算机硬件资源(例如处理机能力,内存能力,输入/输出设备能力,辅存能力以及通信/网络设备能力)。本说明应覆盖CSCI的资源使用需求中、影响该CSCI的系统级资源分配中、以及在软件开发计划(SDP)的资源使用测量策划中包含的全部计算机硬件资源。如果针对指定计算机硬件资源的所有使用数据都在同一处提供,例如在SDD中提供,那么本条可直接引用。对每个计算机硬件资源,应包括如下信息:

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

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

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

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

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

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

4.2 执行方案

本条应说明软件单元间的执行方案,可采用图表和描述,来说明软件单元间的动态关系,即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 注释

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多