数据库设计说明书描述了一个数据库的设计,数据库是将一组相关数据存储为一个或多个计算机文件,并允许用户或计算机程序通过数据库管理系统(DBMS)访问这些数据。它同时也描述了用来访问或喜欢作这些数据的软件模块。
本文档是实现数据库和相关软件模块的基础,它提供了数据库设计的可视性以及软件支持所需的信息。
1.引言:
本节将分为以下几个段落。
1.1标志
本小节将包括文档所描述的数据库的完全标志,一般包括序列号、标题、简称、版本号和发行号。
1.2数据库概述
本小节将简要地说明文档所描述的数据库的作用。描述数据库的一般特性;总结数据库的开发、使用、维护的历史;确认项目的赞助商、应用商、使用者、开发人员和提供技术支持的服务机构;确认当前和计划中的喜欢作地点;列出其他相关文档。
1.3文档概述
本小节将总结本文档的目的和内容并描述有关数据库使用的安全和保密方面的考虑。
2.参考文献
本节将列举手册中参考的所有文档的序号、标题、版本和出版日期。本节将确认所有在官方渠道无法获得的文档出处。
3.数据库设计思路(总体设计概述)
本节将根据需要分成几部分来介绍数据库设计思路。其中包括:数据库的动态特性设计(不涉及数据库的内部实现,而从用户的角度来看系统如何进行运作以满足设计需求)和其他影响数据库进一步设计的设计思路。如果所有这些思路都已经在系统或计算机软件配置项(CSCI)的需求中描述清楚,本节在此说明即可。指定关键需求的设计思路时,如满足安全性、保密性和私有性要求,应细分成子段落进行描述。如果一个设计思路依赖于系统的状态或模式,要明确指出这种依赖关系。如果部分或所有设计思路在一个通用的或商用的数据库管理系统的文档中描述过,它们应在本节中进行引用。一些有助于理解设计的设计惯例也应被介绍或被引用。下面列举一些数据库设计思路的例子:
1.设计应该考虑数据库需要处理的查询或输入和将产生的输出(如显示、报告、消息和响应等)包括与其他系统、硬件配置项、计算机软件配置项和用户之间的接口(文档5.x.d段表明了要考虑的条目)。如果在《接口设计说明书》中对部分或全部的内容进行了说明,应对这些内容进行引用。
2.对每一个输入或查询来进行响应的设计思路,包括命令的执行、响应的时间及其他性能指标、选择的等式、算法与规则、非法输入和条件的处理。
3.有关数据库或数据文件如何体现给用户的设计(本文档的4.x节规定了相应的条目)。
4.有关使用的数据库管理系统(包括名称、版本号/发布号)的设计和为适应不断变化的需求而在数据库中采用的灵活性的设计。
5.由数据库提供的,有关可用性、安全性、保密性和喜欢作连续性的级别、类型的设计思路。
6.有关数据库的分布(如客户端/服务器)、主数据库文件的更新和维护的设计,其中包括维护的持续性、建立/重建和维护的同步性、强制完整和行业规定。
7.有关备份与存储的设计,其中包括数据与进程的分布策略,有关在备份与存储过程中允许的喜欢作的设计,以及针对诸如影像声音等新的或非标准技术的特殊考虑而采取的设计。
8.有关重新打包、排序、检索、同步和健壮性的设计。其中包括自动化的磁盘管理,磁盘空间的整理,优化策略,存储量和大小的考虑,数据库的类型分布以及遗留数据的获得。
4.数据库的详细设计
本节将根据需要分成几部分来介绍数据库的详细设计。将根据所使用的设计方法来确定各阶段的序号和名称,例如:数据库设计的各阶段可以包括概念设计、内部设计、逻辑设计和物理设计。如果部分或所有的设计基于系统的状态或模式,应该说明这种依赖关系。对于助于理解系统的设计约定,要进行说明或引用。
注意:本文用术语“数据元素集合”来表示在一个设计阶段中(如概念设计、内部设计、逻辑设计和物理设计设计阶段)具有一定结构(数据元素的数量/顺序/组合)的实体、关系、图表、域、列表、数组等,并用术语“数据元素”来表示在该阶段并不具有结构的关系、属性、域、单元、数据元素等。
4.1(数据库设计阶段的名称)
本小节将对数据库设计的一个阶段进行陈述,并根据所选设计方法,用其术语来描述数据库中的数据元素和数据元素集合。其中主要包括以下内容,这些内容可以根据实际情况任意排列:
1.数据库设计中每个数据元素具备的属性:
·名称/标识
·项目唯一标识
·非专业性名称(自然语言表达)
·标准数据元素名称
·专业名称(如数据库的域名)
·缩写名或同义名
2数据类型(如字符型,整型等)
3大小和格式(如字符串长度和分割符)
4度量单位(如米,元,纳秒)
5取值范围(如0-99)
6准确度(正确程度)和精确度(有效位数)
7优先级、时序、频率、数量、顺序和其他约束条件,例如:是否更新数据成员,是否应用行业标准
8安全性和保密性的约束
9源头(设置/发送实体)和接收方(使用/接收实体)
10数据库设计中数据元素集合(如记录、消息、文件、数组、显示、报告等)具备的属性
·名称/标识
·项目唯一标识
·非专业性名称(自然语言表达)
·专业名称(如数据库的域名)
·缩写名或同义名
11集合中的数据元素及其结构(数量、顺序和组合)
12.存储介质(如磁盘)和数据元素/集合在介质上表现的结构
13.显示和其他输出方式(如颜色、排版、字体、图标和其他显示要素以及响铃和光线)的视觉与听觉特征
14.集合之间的相互关系,如排序/访问
5.用于数据库访问和喜欢作的软件单元的详细设计
本节将分为下面几个小节描述用于数据库访问和喜欢作的各个软件单元。如果部分或全部内容已由其他文档提供,如软件设计说明书(SDD)、特定数据库管理系统的软件设计说明书或商用数据库管理系统的用户手册,对这些内容进行引用而不必重复说明。如果部分或所有的设计基于系统的状态或模式,应该说明这种依赖关系。如果设计内容的出现不少于一次,该内容将被陈述一次而在其他地方仅被引用。对于有助于理解系统的设计约定,要进行说明或引用。
5.1(软件单元在项目内部唯一的标志符,或者一组软件单元的代号)
本小节给软件单元定义项目中唯一的标志符并进行描述,描述应尽可能包括以下内容。或者本段可以标志一组软件单元并在每个子段落中对单元进行描述。如果一个软件单元包括其他软件单元时,对相关内容进行引用即可,不必重复说明。
1.单元设计思想,例如以前没有选用过的算法
2.软件单元设计中的约束、限制或不常用的特性
3.编程语言,如果没有使用指定的编程语言,请在这里说明原因
4.如果软件单元包括程序命令(例如:一个数据库管理系统中用来定义窗口和报表的选择菜单;数据库访问和喜欢作的数据库管理系统在线查询;一个界面开发系统的输入以自动生成代码;喜欢作系统的命令;或命令描述文件),应包括命令列表、对其他文档和用户手册的引用
5.如果一个软件单元包括内部、输入、输出数据,应尽可能包括它的输入、输出和其他数据集合的描述。软件单元内部的数据结构应和输入输出数据结构分开描述。应在这里提供相应的接口特性,或从接口设计说明书中引用相关接口特性,对于本文未涵盖而又需要利用其描述软件单元的界面实体(例如一个外部系统),要当作一个假定描述或以“当(未涵盖的实体)这样做时,(软件单元)将……”的方式加以陈述。本小节可以引用其他文档(如数据字典、协议标准和用户界面标准)以替代相关内容。设计描述将尽可能做到下面一些特性,对于这些特性,可以根据实际情况排列它们的顺序并能从接口实体的角度指出这些特性的区别(如对大小、频率和其他数据元素的特性的不同期望值):
1.接口在项目中的唯一标识
2.接口实体(如软件单元、配置项、用户等)的标识,诸如名称、数目、版本和参考文档
3.接口实体赋予接口的优先级
4.接口类型(如实时数据传输、数据的存储与检索等)
5.接口实体提供的有关各个数据元素(记录、消息、文件、队列、显示、报告等)的特性,如存储、发送、访问、接收等。在4.x.a节提供了相关条目
6.接口实体提供、存储、发送、访问、接收的有关数据元素集合(如记录、消息、文件、数组、显示、报告等)的特性。在4.x.b节提供了相关条目。
7.接口实体的通信方法,如:
·项目唯一标识
·通信链路/频段/频率/介质和它们的特性
·消息格式
·流程控制(如序列号和缓冲区分配)
·数据传输速率,无论周期性、非周期性还是间断性传输
·路由、寻址和命名约定
·传输服务,包括优先级和等级
·有关安全、保密、隐蔽方面的考虑,如加密、用户授权、分隔和核查
8.接口实体用于接口的协议特性,如:
·项目唯一标识
·协议的优先级/层
·打包,包括分组和重组、路由和寻址
·合法性检测、错误控制和恢复程序
·同步,包括连接的建立、维护和终止
·状态、标识和其他一些上报特征
9.其他特性,如接口实体的物理兼容性(如尺寸、公差、负荷、电压、插件兼容等)
·如果软件单元中包含逻辑,该逻辑尽可能包括:
·软件单元初始化运行时的有效条件
·控制移交给其他软件单元时的条件
·对于每一个输入的响应和响应时间,这些输入包括数据转换、重命名和数据传输喜欢作
10.软件单元运行时的运行次序和动态控制次序,包括:
·次序控制方法
·上述方法的逻辑和输入条件,如时间变量、优先级分配等
·数据读出和写入内存
·离散输入信号的响应和软件单元里中断喜欢作之间的时间关系
11.异常和错误处理
6.需求跟踪
本节将包括:
6.1每个数据库或被本数据库设计说明书所涵盖的软件单元到其实现的整个系统或计算机软件配置项需求的跟踪。
6.2分配到每一个数据库或本数据库设计说明书所涵盖的软件单元的整个系统或计算机软件配置项的需求到该数据库或软件单元的跟踪。
7.注释
本节包括对理解文档有帮助的其他一般信息(例如:背景、词汇表、原理)。本节将按照字母表的顺序列举文档中所有的首字缩写词、缩写词及其含义以及有助于理解文档的所有专业术语及其定义。
8.附录
为了便于进行文档管理,附录通常提供单独发布的信息(例如图表或数据分类)。一般来说,附录中的每一项都在提供的主体文档中被引用。为了便于灵活处理,附录可以作为单独的文档进行装订。附录将按字母表的顺序排列(A,B等等)。