理顺软件开发各个环节-7(需求管理-软件需求-4)
4.4.4数据字典(DD)的编写要点及示例
数据字典(Data Dictionary,简称DD),对软件需求涉及的数据项进行定义。
数据字典的作用如下:
- 数据项的定义,便于澄清基本概念,俗话说,基础不牢,地动山摇;有了数据项定义,便于SRS的各个阅读者准确地理解需求;
- 为阅读软件需求规格书的各方提供一致的数据项定义,有助于消除各方理解的偏差,避免发生鸡同鸭讲的事情。
这里分享一下我之前一直使用的数据字典的文档模板,相对其它的数据字典文档模板,数据项描述要繁琐一些,但更能将数据项描述清楚。
章节1、概述
章节1.1、编写目的
数据字典,为定义应用所使用的所有数据元素和结构的定义、类型、数据大小、格式、度量单位、精度以及允许取值范围的共享仓库。
编写本数据字典,提供[XX产品或项目]的需求文档和设计开发文档一致的概念定义。
本数据字典的预期读者为本产品的用户、产品经理、分析、设计、开发、编程和测试人员。
章节1.2、背景
产品/项目名称:[XXX]
章节1.3、编写规则
章节1.3.1、编号规则
一级标题,按用户级功能定义,子标题按需要展开。
不使用具体的编号。分别查看,可使用文档结构图。
章节1.3.2、数据项描述规则
使用下列格式描述数据项(允许部分内容为空):
中文名:(数据项名称)
英文名:(英文全名)
简称:(英文缩写)
显示名称:(英文显示名称,如果需要显示中文,且与中文名不同,也在此处说明。)
一般描述:
数据项定义:
补充说明:
内容示例:
注:
- 如果中文名或英文名与数据项标题相同,为维护方便性,可为空;
- 数据项支持嵌套,即一个大的结构可以分解为多个子结构。
章节1.3.3、数据项定义规则
在数据定义中,可以使用简单的符号表示数据项。项写在等号的左边,而其定义写在右边。这种符号定义了原始数据、组成结构体的复杂数据元素、重复的数据项、一个数据项的枚举值以及可选的数据项。
原数据元素 一个原数据元素是不可分解的。可以给它赋予一个数量值。原数据的定义必须确定其数据类型、大小、允许取值的范围等等。典型的原数据元素的定义是一行注释文本,并以星号作为界限:
请求标识号 = *6位系统生成的顺序整数,以1开头,并能唯一标识每个请求*
组合项 一个数据结构或记录包含了多个数据项。如果数据结构中的项是可选的,就把它用括弧括起来:
请求的化学制品 = 化学制品标识号
+ 数量
+ 数量单位
+ (供应商名称)
这个结构确定了与请求一种特定化学制品相关的所有信息。供应商名称是可选的,因为提出请求的人并不关心化学制品是从哪个供应商处购买的。每个出现在结构中的数据项都必须写入数据字典。结构中还可以包含其它结构。
重复项 如果一个项的多个实例将出现在数据结构中,就把该项用花括弧括起来。如果知道可能允许的重复次数,就用“最小值: 最大值”这种形式写在扩号之前:
请求= 请求标识号
+ 产品编号
+ 1:10{请求的化学制品}
这个例子表明,一个化学制品的请求至少包含一种化学制品,但不能多于10种。每个请求也包括一个单一的请求标示号和一个产品编号,它们的格式将在数据字典的其它地方定义。
选择项 如果一个原数据项元素可以取得有限的离散值,就把这些值列举出来:
数量单位= [“克” | “千克” | “个” ]
*文本串表示了与所请求的化学制品的量相关的单位*
表明了数量单位的文本串只允许3种取值。注释提供了数据项定义的信息。
章节1.3.4、引用规则
本文中的引用规则。
章节1.3.4.1、术语引用
使用:斜体+下划线。
视需要引用。
章节1.3.4.2、字典数据项引用
使用斜体。
章节1.4、参考文献
章节2、术语
参考SRS的术语表格。
章节3、用户账号
中文名:
英文名:User Account
简称:
显示名称:User Account
一般描述:使用本系统的用户账号信息。
数据项定义:
用户账号=[APP用户账号 | 管理后台用户账号]
补充说明:
APP用户账号不能和管理后台用户账号混用,即APP用户账号不能登录管理后台,同样管理后台用户账号也不能登录APP。
内容示例:
章节3.1、APP用户账号
中文名:
英文名:App User Account
简称:
显示名称:App User Account
一般描述:使用本系统的App用户账号信息。
数据项定义:
APP用户账号= 账号类型
+ 账号名
+ 注册类型
+ 账号密码
+ 账号基本信息
+ 账号附加信息
补充说明:
账号类型 = [APP用户账号|管理后台用户账号]
此处账号类型限定为APP用户账号。
账号名=*唯一识别用户账号的名称*
账号名可以使用第一次注册的名称,即手机号或EMail邮箱地址。
注册类型 = [手机号注册|EMail邮箱地址注册]
账号密码 = 大小写英文字母或数字开头,后面为大小写英文字母或数字或字符[”_”|”-”|”*”|”#”],总长度为6~18个字符。
内容示例:
章节3.2、管理后台用户账号
中文名:
英文名:Admin User Account
简称:
显示名称:Admin User Account
一般描述:使用本系统的管理后台用户账号信息。
数据项定义:
管理用户账号= 账号类型
+ 账号名
+ 注册类型
+ 账号密码
+ 账号基本信息
+ 账号公司信息
补充说明:
账号类型 = [APP用户账号|管理后台用户账号]
此处账号类型限定为管理后台用户账号。
账号名=*唯一识别用户账号的名称,用于管理后台的登录名*
账号名由管理员分配,使用EMail邮箱地址作为账号名称。
注册类型 =*管理员分配*
账号密码 = 大小写英文字母或数字开头,后面为大小写英文字母或数字或字符[”_”|”-”|”*”|”#”],总长度为6~18个字符。
内容示例:
章节3.3、账号基本信息
中文名:
英文名:Account base infomation
简称:
显示名称:Account base info.
一般描述:用户账号的基本信息。
数据项定义:
账号基本信息= 手机号
+ EMail邮箱地址
+ 用户昵称
+ 用户头像
补充说明:
手机号 = *国内移动运营商的手机号,11位数字,视需要将某些号段排除在外,允许为空*
如果为手机号注册,则即为注册的手机号;
EMail邮箱地址=*符合邮箱地址命名的字符串,允许为空*
如果为EMail邮箱地址注册,则即为注册的EMail邮箱地址;
如果为手机号注册,则要求不能在其它账号的账号名或EMail邮箱地址数据项中使用过,否则认为是同一个账号,启动账号合并流程。
用户昵称=*支持中英文、数字和可见ASCII码及emoji表情,长度上限60个字符*
用户头像 =[jpg|png|bmp]格式,限制250*250像素。
内容示例:
章节3.4、账号附加信息
......
章节3.5、账号公司信息
......
章节4、数据项集合2
......