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