本说明要考虑的主题)。如果这一信息的全部或部分在数据库设计说明中给出,则可直接引用。
d) 为满足安全性和保密性需求所选择的方法。
e) 为满足需求所做的其他CSCI 级设计决策,例如为提供所需的灵活性、可用
性和可维护性所选择的力法。
4 CSCI体系结构设计
本章应分为以下几条描述CSCI体系结构设计。如果设计的全部或部分依赖于系统的状态或方式,此依赖性应予指明。如果设计信息在多于一个条中出现,它只需被提供一次,而在其他条中引用。本条应提供成引用为了理解设计所需要的设计约定。
4.1 CSCI部件
本条应描述:
a) 构成该CSCI的所有软件单元。应赋予每个软件单元一个项目唯一的标识符。
注:软件单元是CSCI设计中的一个元素;例如CSCI的一个主要分支、该主要分支的一
个组成部分,一个类、对象、模块、函数、例程或数据库。软件单元可以出现在层次结构的不同层上,且又可以由其他软件单元组成。在设计中,软件单元与实现它们的代码和数据实体(例程,过程,数据库,数据文件等),或与包含这些实体的计算机文件之间,可以有、也可以没有一对一的对应关系。一个数据库可被处理为一个CSCI也可被处理为一个软件单元。可以采用与所使用设计方法相一致的任何名字来称呼软件单元。
b) 软件单元的静态(如,由…组成)关系。根据所选择的软件设计方法学,可以
给出多种关系(例如,采用面向对象的设计方法时,本条既可给出类和对象结构,也可给出CSCI的模块和过程结构)。
c) 每个软件单元的用途,指明分配给它的CSCI需求和CSCI级设计决策(需求的
分配也可在6a)中提供)。
d) 每个软件单元的开发状态/类型(如新开发、按原样重用已有的设计或软件、
再工程的己有的设计或软件、为重用而要开发的软件等,为构建版N计划的软件)。针对现有的设计或软件,本说明应提供标识信息,例如名字、版本、文档引用、库等。
e) CSCI(若适用,针对每个软件单元)计划使用的计算机硬件资源(例如处理机
能力,内存能力,输入/输出设备能力,辅存能力以及通信/网络设备能力)。本说明应覆盖CSCI的资源使用需求中、影响该CSCI的系统级资源分配
2
中、以及在软件开发计划的资源使用测量策划中包含的全部计算机硬件资源。如果针对指定计算机硬件资源的所有使用数据都在同一处提供,例如在软件设计说明中提供,那么本条可直接引用。对每个计算机硬件资源,应包括如下信息:
1) 得到满足的CSCI需求或系统级资源分配;
2) 使用数据基于的假设和条件(例如,典型用法、最刻、最坏情况用法、特
定事件的假定);
3) 影响使用的特殊考虑(例如,虚存、覆盖、多处理器的使用情况,操作系
统、库软件的开销或其他实现开销的影响);
4) 所使用的测度的单位(例如,处理器能力的百分比、周期/秒、内存字节
数、千字节/秒);
5) 进行评估或测量的级别(例如,软件单元.CSCI或者可执行程序)。 f) 标识实现每个软件单元的软件放置在哪个程序库中。 4.2 执行方案
本条应说明软件单元间的执行方案,可采用图表和描述,来说明软件单元间的动态关系.即运行期间软件单元间的相互作用情况,(若适用)应包括执行控制流程、数据流、动态控制序列、状态转换图、时序图、单元间的优先关系、中断处理、时序/排序关系、例外处理、并发执行、动态分配与去除分配、对象/进程/任务的动态创建/删除、以及动态行为的其他方面。 4.3 接口设计
4.3.1 接口标识和接口图
本条应说明赋予每个接口的项目唯一的标识符,(若适用)成通过名称、编号、版本及文档引用来标识接口实体(软件单元、系统、配置项、用户等)。该标识应说明哪些实体具有固定的接口特性(从而把接口需求分配给汶些接口立体);说明哪些实体正在开发或修改(这些实体已有各自的接口需求)。(若适用)应通过接口图来描述这些接口。
4.3.X (接口的项目唯一的标识符)
本条(从4.3.2开始)应通过项目唯一的标识符来标识接口,应简要地标识接口实体,根据需要可分条描述单方或双方接口实体的特性。如果一指定的接口实体未包含在本设计说明中(例如,一个外部系统),而描述接口实体需要提到其接口特性时,这些特性应作为假设予以陈述、或以“当[未涵盖的实体]这样做时,[所指定的
3
实体]将……”的形式描述。本条可引用其他文档(例如数据字典、协议标准、用户接口标准)代替在此所描述的信息。本设计说明应包括以下内容(若适用),以任何适合于所提供的信息的顺序提供,并应从接口实体角度说明这些特性之间的区别(例如关于数据元素的大小、频率或其他特性的不同期望值):
a) 接口实体分配给接口的优先级。
b) 要实现的接口类型(例如实时数据传输、数据的存储和检索等)。
c) 接口实体将提供、存储、发送、访问、接收的各个数据元素的特征,例如:
1) 名称/标识符:
a. 项日唯一的标识符; b. 非技术(自然语言)名称; c. 数据元素名称;
d. 技术名称(如在代码或数据库中的变量名或字段名); e. 缩略名或同义名。
2) 数据类型(字母、数字、整数等)。
3) 大小与格式(如:字符串的长度和标点符号)。 4) 计量单位(如m等)。
5) 可能值的范用或枚举(如0-99)。
6) 准确性(正确程度)和精度(有效数位数)。
7) 优先级、定时、频率、容量、序列以及其他约束条件(例如数据元素是否
可以被更新、业务规则是否适用)。 8) 保密性约束。
9) 来源(建立/发送的实体)和接受者(使用/接收的实体)。
d) 接口实体将提供、存储、发送、访问、接收的数据元素组合体(记录、消息、文件、数组、显示、报表等)的特征,例如:
1) 名称/标识符z
a. 项目唯一的标识符: b. 非技术(自然语言)名称;
c. 技术名称(如在代码或数据库中的记录名或数据结构名); d. 缩赂名或同义名。
2) 数据元素组合体中的数据元素及其结构(编号、顺序和分组情况)。 3) 介质(例如磁盘)以及介质上数据元素/数据组合体的结构。
4) 显示和其他输出的视听特性(例如颜色、布局、字体、图标和其他显示元
素、峰鸣声和亮度)。
5) 数据组合体之间的关系,如排序/存取特性。
4
6) 优先级、定时、频率、容量、序列及其他约束,例如数据组合体是否可
被更新、业务规则是否适问。 7) 保密性约束。
8) 来源(建立/发送的实体)和1接受者(使用/接收的实体)。 e) 接口实体用于攘口的通信方法的特征。如:
1) 项目唯一的标识符;
2) 通信链接/带宽/频率/介质及其特征; 3) 消息格式;
4) 流控制(如:序列编号和缓冲区分配); 5) 数据传输率、周期或非周期、传输间隔; 6) 路由、寻址及命名约定; 7) 传输服务,包括:优先级和等级;
8) 安全性/保密性考虑,如:加密、用户鉴别、隔离和审核。 f) 接口实体用于接口的协议的特征,如:
1) 项目唯一的标识符; 2) 协议的优先级别/层次;
3) 打包,包括分段与重组、路由和寻址; 4) 合法性检查、错误控制和恢复过程; 5) 同步,包括连接的建立、保持和终止; 6) 状态、标识和其他报告特性。
g) 其他特征,例如接口实体的物理兼容性(尺寸、公差、负荷、电压和接插件的兼容性等)。
5 CSCI详细设计
5.X(软件单元的项目唯一的标识符,或者一组软件单元的标识符)
本条应通过项目唯一的标识符来标识软件单元,并对该单元进行说明。(若适用)该说明应包括下列信息。本条也可以指定一组软件单元,然后再分小条对它们分别进行标识和说明,包含其他软件单元的软件单元可引用那些软件单元的说明,而无需在此重复。
a) (若有)单元设计决策,例如所使用的算法(如果此前尚未选定)。 b) 该软件单元设计中的任何约束、限定或非常规特征。
c) 如果使用的编程语言不同于该CSCI所指定的语言,则应指出并说明使用它的
5
理由。
d) 如果该软件单元包含过程性命令或由过程性命令组成(例如数据库管理系统
(DBMS)中用于定义表单和报表的菜单选择,用于数据库访问和操纵的在线DBMS查询,用于代码自动生成的图形用户接口(GUI)构造器的输入,操作系统的命令或SheIl脚本),应列出这些过程性命令,并引用解释它们的用户手册或其他文挡。
e) 如果该软件单元包含、接收或输出数据,(若适用)应对它的输入、输出及其
他数据元素和数据元素组合体进行说明。本文档的4.3.X 条提供了(若适用)应包括的主题。软件单元的局部数据应与软件单元的输入或输出数据分开来描述。如果该软件单元是一个数据库,应引用相应的数据库设计说明;接口特性可以在这里提供、也可以引用第4 章或相应的接口设计说明。 f) 如果该软竹单元包含逻辑,则给出该软件单元所用到的逻辑,(若适用)应包
括:
1) 该软件单元执行启动时,其内部起作用的条件。 2) 将控制传递给其他软件单元的条件。
3) 对每个输入的响应以及响应时间,包括数据转换、重命名以及数据传输
操作。
4) 在软们单元运行期间的操作顺序和动态控制序列,包括:
a. 顺序控制的方法;
b. 该方法的逻辑和输入条件,例如时序变异、优先级分配等; c. 进出内存的数据传输;
d. 对离散输入信号的感知,以及该软件单元内中断操作之间的时序关
系。
5) 异常和错误处理。
6 需求可追踪性
本章应包含:
a) 从本设计说明所标识的每个软件单元,到分配给它的CSCI需求的可追踪性
(这一可追踪性也可以在4.1条中提供)。
b) 从每个CSCI需求,到被分配这些需求的软件单元的可追踪性。 7 注释
本章应包括有助于了解文档的所有信息(例如:背景、术语、缩略语或公式)。
6