赵星汉同学的技术博客 Software testing & software engineering

GJB 438C中关于程序设计的要点笔记

2025-03-09
Frank Xinghan Zhao


GJB 438C CSCI设计说明内容要求

3 CSCI级设计决策

在格式上,需要在第三章分小标题,写出CSCI级的设计决策。这里的设计决策也并不涉及内部实现,而是从用户角度出发描述系统应该是怎么样运行的;以及其他影响组成该CSCI的软件单元的选择与设计的决策,并给出决策的理由。

注意:

1)如果需求中已经明确指出要设计中考虑的条目,这里应该指出。如果需求是需要在详细设计的落实到具体单元上,这里也应该说明。

2)如果设计决策依赖于状态与方式(需求3.1),那么应在这里指明依赖关系。

设计决策的例子:

  1. 接口决策:CSCI接收的输入与将产生的输出的设计决策,其实也就是外部接口,这里还是建议写到接口设计说明或对应的接口文件,这里直接引用。
  2. 行为决策:每个输入或条件的CSCI行为的设计决策,包括要执行的动作,响应时间和其他性能特性,模型化的物理系统说明,选定的方程式、算法、规则,以及对不允许的输入或条件进行的处理。
  3. 数据决策:有关数据库和数据文件如何呈现给用户的设计决策。如果有数据库设计说明(DBDD),则可以直接引用。
  4. 安全和保密:为满足安全性和保密性需求所选择的方法。
  5. 其他需求:灵活性、可用性、维护性所选择的方法。

以上这几方面,可以选用对应的子标题,如3.1、3.2等进行表述,如果某一项没有,那么就可以忽略(不用列出题目写本章节无内容),但是不要遗漏关键需求的设计决策(可靠性、安全性、保密性)。

4 CSCI体系结构设计

如果设计依赖于状态, 则应给出对应关系。

4.1 CSCI部件

本章节需要描述我们CSCI的静态结构,粒度到单元。

  1. CSCI从整体到每个单元的整体结构。
  2. 每一个单元的名称,标识,用途(分配给它的CSCI需求和设计决策,这里分配给它的需求可以放在需求跟踪矩阵里描述更为合理)、开发状态(新研、重用、为重用而开发)、计划使用的计算机资源(没有的话就不写)、对应的文件或库的名称及位置。

4.2 执行方案

单元间的动态关系,每一个功能,通过图的形式说明这个功能是如何通过单元的互相调用而实现的。

4.3 接口设计

接口设计必须明确地规定该软件系统接口需求说明所提出的各个接口的设计特性和程序编制要求,其主要内容包括:

  1. 各个接口的名称标识
  2. 各个接口在该软件系统中的地位和作用
  3. 各个接口在该软件系统中与其它程序模块或接口之间的相互关系
  4. 各个接口的功能定义;
  5. 各个接口的规格和技术要求,包括它们各自适用的标准、协议或约定
  6. 各个接口的数据特性
  7. 各个接口的资源要求,包括硬件支持、存储资源分配等;
  8. 各个接口程序的数据处理要求
  9. 某些接口的特殊设计要求

先描述外部接口,再描述内部接口,内部接口也可以在详细设计(第五章)中进行描述。

在描述上,先引用接口文件中的内容,然后将实现的形式与字段在程序中如何定义与实现在这里描述一下。

5 CSCI详细设计

5.x (单元的唯一标识符)标识出类名或函数名

软件详细设计过程是对实现软件需求和概要(结构)设计的软件单元进行底层设计,重点是描述每个软部件的过程特征,亦即它们的时间关系和顺序关系。此阶段应详细描述每个软部件中各个软件单元的组成关系和控制关系(结构图),详细定义每个软件单元的处理逻辑和单元间的所有接口信息,以及每个单元内部所使用的每个数据。

应包括如下内容:

  1. 名称
  2. 输入输出形式,要有边界和精度
  3. 内部逻辑,要有分支和异常处理
  4. 如果有性能要求,则应明确

需求可追踪性

双向追踪到需求,精确到每一个单元。


Similar Posts

Comments