需求分析+概要设计+详细设计+数据库设计+软件测试模板

更新时间:2024-01-11 23:08:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

附录A 软件需求分析报告文档模板 .......................................................................................... 1 附录B 软件概要设计报告文档模板 ........................................................................................ 13 附录C 软件详细设计报告文档模板 ........................................................................................ 33 附录D 软件数据库设计报告文档模板 .................................................................................... 43 附录E 软件测试(验收)大纲 ................................................................... 错误!未定义书签。5

I

附录A 软件需求分析报告文档模板

1. 引言............................................................................................................................................. 3 1.1 编写目的 .............................................................................................................................. 3 1.2 项目风险 .............................................................................................................................. 3 1.3 文档约定 .............................................................................................................................. 3 1.4 预期读者和阅读建议 .......................................................................................................... 3 1.5 产品范围 .............................................................................................................................. 4 1.6 参考文献 .............................................................................................................................. 4 2. 综合描述 ..................................................................................................................................... 4 2.1 产品的状况 .......................................................................................................................... 4 2.2 产品的功能 .......................................................................................................................... 5 2.3 用户类和特性 ...................................................................................................................... 5 2.4 运行环境 .............................................................................................................................. 5 2.5 设计和实现上的限制 .......................................................................................................... 5 2.6 假设和约束(依赖) ................................................................................................................ 6 3. 外部接口需求 ............................................................................................................................. 6 3.1 用户界面 .............................................................................................................................. 6 3.2 硬件接口 .............................................................................................................................. 7 3.3 软件接口 .............................................................................................................................. 7 3.4 通讯接口 .............................................................................................................................. 8 4. 系统功能需求 ............................................................................................................................. 8 4.1 说明和优先级 ...................................................................................................................... 8 4.2 激励/响应序列 .................................................................................................................. 9 4.3 输入/输出数据 .................................................................................................................. 9 5. 其它非功能需求 ......................................................................................................................... 9 5.1 性能需求 .............................................................................................................................. 9 5.2 安全措施需求 .................................................................................................................... 10 5.3 安全性需求 ........................................................................................................................ 10 5.4 软件质量属性 .................................................................................................................... 10 5.5 业务规则 ............................................................................................................................ 10 5.6 用户文档 ............................................................................................................................ 10 6. 词汇表 ....................................................................................................................................... 11 7. 数据定义 ................................................................................................................................... 11 8. 分析模型 ................................................................................................................................... 12 9. 待定问题列表 ........................................................................................................................... 12

1

2

1. 引言

引言是对这份软件产品需求分析报告的概览,是为了帮助阅读者了解这份文档是如何编写的,并且应该如何阅读、理解和解释这份文档。

1.1 编写目的

说明这份软件产品需求分析报告是为哪个软件产品编写的,开发这个软件产品意义、作用、以及最终要达到的意图。通过这份软件产品需求分析报告详尽说明了该软件产品的需求规格,包括修正和(或)发行版本号,从而对该软件产品进行准确的定义。

如果这份软件产品需求分析报告只与整个系统的某一部分有关系,那么只定义软件产品需求分析报告中说明的那个部分或子系统。

1.2 项目风险

具体说明本软件开发项目的全部风险承担者,以及各自在本阶段所需要承担的主要风险,首要风险承担者包括:

● 任务提出者; ● 软件开发者; ● 产品使用者。

1.3 文档约定

描述编写文档时所采用的标准(如果有标准的话),或者各种排版约定。排版约定应该包括:

● 正文风格; ● 提示方式; ● 重要符号;

也应该说明高层次需求是否可以被其所有细化的需求所继承,或者每个需求陈述是否都有其自己的优先级。

1.4 预期读者和阅读建议

列举本软件产品需求分析报告所针对的各种不同的预期读者,例如,可能包括: ● 用户; ● 开发人员; ● 项目经理; ● 营销人员; ● 测试人员; ● 文档编写入员。 并且描述了文档中,其余部分的内容及其组织结构,并且针对每一类读者提出最适合的

3

文档阅读建议。

1.5 产品范围

说明该软件产品及其开发目的的简短描述,包括利益和目标。把软件产品开发与企业目标,或者业务策略相联系。

描述产品范围时需注意,可以参考项目视图和范围文档,但是不能将其内容复制到这里。

1.6 参考文献

列举编写软件产品需求分析报告时所用到的参考文献及资料,可能包括: ● 本项目的合同书;

● 上级机关有关本项目的批文; ● 本项目已经批准的计划任务书; ● 用户界面风格指导;

● 开发本项目时所要用到的标淮; ● 系统规格需求说明; ● 使用实例文档;

● 属于本项目的其它己发表文件;

● 本软件产品需求分析报告中所引用的文件、资料; ● 相关软件产品需求分析报告;

为了方便读者查阅,所有参考资料应该按一定顺序排列。如果可能,每份资料都应该给出:

● 标题名称;

● 作者或者合同签约者; ● 文件编号或者版本号; ● 发表日期或者签约日期; ● 出版单位或者资料来源。

2. 综合描述

这一部分概述了正在定义的软件产品的作用范围以及该软件产品所运行的环境、使用该软件产品的用户、对该软件产品己知的限制、有关该软件产品的假设和依赖。

2.1 产品的状况

描述了在软件产品需求分析报告中所定义的软件产品的背景和起源。说明了该软件产品是否属于下列情况:

● 是否是产品系列中的下一成员;

● 是否是成熟产品所改进的下一代产品; ● 是否是现有应用软件的替代品(升级产品); ● 是否是一个新型的、自主型的产品。

4

如果该软件产品需求分析报告定义的软件系统是: ● 大系统的一个组成部分;

● 与其它系统和其它机构之间存在基本的相互关系。

那么必须说明软件产品需求分析报告定义的这部分软件是怎样与整个大系统相关联的,或者(同时)说明相互关系的存在形式,并且要定义出两者之间的全部接口。

2.2 产品的功能

因为将在需求分析报告的第4部分中详细描述软件产品的功能,所以在此只需要概略地总结。仅从业务层面陈述本软件产品所应具有的主要功能,在描述功能时应该针对每一项需求准确地描述其各项规格说明。如果存在引起误解的可能,在陈述本软件产品主要功能的作用领域时,也需要对应陈述本软件产品的非作用领域,以利读者理解本软件产品。

为了很好地组织产品功能,使每个读者都容易理解,可以采用列表的方法给出。也可以采用图形方式,将主要的需求分组以及它们之间的联系使用数据流程图的顶层图或类图进行表示,这种表示方法是很有用的。

参考用户当前管理组织构架,了解各个机构的主要职能,将有助于陈述软件产品的主要功能。

2.3 用户类和特性

确定有可能使用该软件产品的不同用户类,并且描述它们相关的特征。往往有一些软件需求,只与特定的用户类有关。描述时,应该将该软件产品的重要用户类与非重要用户类区分开。

用户不一定是软件产品的直接使用者,通过报表、应用程序接口、系统硬件接口得到软件产品的数据和服务的人、或者机构也有他们的需求。所以,应该将这些外部需求视为通过报表、应用程序接口、系统硬件接口附加给软件产品的附加用户类。

2.4 运行环境

描述了本软件的运行环境,一般包括: ● 硬件平台;

● 操作系统和版本;

● 支撑环境(例如:数据库等)和版本; ● 其它与该软件有关的软件组件; ● 与该软件共存的应用程序。

2.5 设计和实现上的限制

确定影响开发人员自由选择的问题,并且说明这些问题为什么成为一种限制。可能的限制包括下列内容:

● 必须使用的特定技术、工具、编程语言; ● 避免使用的特定技术、工具、编程语言; ● 要求遵循的开发规范和标准

5

例如,如果由客户的公司或者第三方公司负责软件维护,就必须定义转包者所使用的设计符号表示和编码标准;

● 企业策略的限制; ● 政府法规的限制; ● 工业标准的限制; ● 硬件的限制

例如,定时需求或存储器限制; ● 数据转换格式标淮的限制。

2.6 假设和约束(依赖)

列举出对软件产品需求分析报告中,影响需求陈述的假设因素(与己知因素相对立)。如果这些假设因素不正确、不一致或者被修改,就会使软件产品开发项目受到影响。这些假设的因素可能包括:

● 计划使用的商业组件,或者其它软件中的某个部件; ● 假定产品中某个用户界面将符合一个特殊的设计约定;

● 有关本软件用户的若干假定(例如:假定用户会熟练使用SQL语言。);

● 有关本软件开发工作的若干假定(例如:用户承诺的优惠、方便、上级部门给予的特

殊政策和支持等。);

● 有关本软件运行环境的一些问题;

此外,确定本软件开发项目对外部约束因素所存在的依赖。有关的约束可能包括: ● 工期约束; ● 经费约束; ● 人员约束; ● 设备约束; ● 地理位置约束; ● 其它有关项目约束;

3. 外部接口需求

通过本节描述可以确定,保证软件产品能和外部组件正确连接的需求。关联图仅能表示高层抽象的外部接口,必须对接口数据和外部组件进行详细描述,并且写入数据定义中。如果产品的不同部分有不同的外部接口,那么应该把这些外部接口的全部详细需求并入到这一部分实例中。

注意:必须将附加用户类的特征与外部接口需求加以区分,附加用户类的特征描述的是通过接口取得软件产品的数据和服务的人的需求;而外部接口需求描述的是接口本身的需求。

3.1 用户界面

陈述需要使用在用户界面上的软件组件,描述每一个用户界面的逻辑特征。必须注意,这里需要描述的是用户界面的逻辑特征,而不是用户界面。以下是可能包括的一些特征:

6

● 将要采用的图形用户界面(GUl)标准或者产品系列的风格; ● 有关屏幕布局或者解决方案的限制;

● 将要使用在每一个屏幕(图形用户界面)上的软件组件,可能包括:

? 选单; ? 标准按钮; ? 导航链接; ? 各种功能组件; ? 消息栏; ● 快捷键;

● 各种显示格式的规定,可能包括:

? 不同情况下文字的对齐方式;

? 不同情况下数字的表现格式与对齐方式 ? 日期的表现方法与格式; ? 计时方法与时间格式; ? 等等。

● 错误信息显示标准;

对于用户界面的细节,例如:一个特定对话框的布局,应该写入具体的用户界面设计说明中,而不能写入软件需求规格说明中。

如果采用现成的、合适的用户界面设计规范(标准),或者另文描述,可以在这里直接说明,并且将其加入参考文献。

3.2 硬件接口

描述待开发的软件产品与系统硬件接口的特征,若有多个硬件接口,则必须全都描述。接口特征的描述内容可能包括:

● 支持的硬件类型;

● 软、硬件之间交流的数据; ● 控制信息的性质; ● 使用的通讯协议;

3.3 软件接口

描述该软件产品与其它外部组件的连接,这些外部组件必须明确它们的名称和版本号以资识别,可能的外部组件包括:

● 操作系统; ● 数据库; ● 工具; ● 函数库;

● 集成的商业组件

说明:这里所说的“集成的商业组件”,是指与系统集成的商业组件,而不是与软件产品集成的商业组件。例如:中间件、消息服务,等等。

描述并且明确软件产品与软件组件之间交换数据或者消息的目的。描述所需要的服务,以及与内部组件通讯的性质。确定软件产品将与组件之间共享的数据。如果必须使用一种特殊的方法来实现数据共享机制,例如:在多用户系统中的一个全局数据区,那么就必须把它

7

定义为一种实现上的限制。

3.4 通讯接口

描述与软件产品所使用的通讯功能相关的需求,包括: ● 电子邮件; ● WEB浏览器;

● 网络通讯标准或者协议; ● 数据交互用电子表格; 必须定义相关的: ● 消息格式;

● 通讯安全或加密问题; ● 数据传输速率;

● 同步和异步通讯机制;

4. 系统功能需求

需要进行详细的需求记录,详细列出与该系统功能相关的详细功能需求,并且,唯一地标识每一项需求。这是必须提交给用户的软件功能,使得用户可以使用所提供的功能执行服务或者使用所指定的使用实例执行任务。描述软件产品如何响应己知的出错条件、非法输入、非法动作。

如果每一项功能需求都能用一项,也只需要用一项测试用例就能进行验证,那么就可以认为功能需求已经适当地进行描述了。如果某项功能需求找不到合适的测试用例,或者必须使用多项测试用例才能验证,那么该项功能需求的描述必然存在某些问题。

功能需求是根据系统功能,即软件产品所提供的主要服务来组织的。可以通过使用实例、运行模式、用户类、对象类或者功能等级来组织这部分内容,也可以便用这些元素的组合。总而言之,必须选择一种是读者容易理解预期产品的组织方案。

用简短的语句说明功能的名称,例如:“4.1系统参数管理”。按照服务组织的顺序,逐条阐述系统功能。无论说明的是何种功能,都应该针对该系统功能重复叙述4.1~ 4.3这三个部分。

可以通过各种方式来组织这一部分内容,例如采用:使用实例、运行模式、用户类、对象类、功能等级等,也可以采用它们的组合。其最终目的是,让读者容易理解即将开发的软件产品。一般来说,每个使用实例都对应一个系统功能,因而按照使用实例来组织内容比较容易让用户理解。

对应一些被共享的独立使用实例,可以定义一些公用系统功能。

必须特别注意的是,在2.2节“产品的功能”中描述的全部需求,以及它们的规格说明;必须在某个系统功能描述中有所反映,而且不应重复。

4.1 说明和优先级

对该系统功能进行简短的说明,并且指出该系统功能的优先级是:高、中、还是低。需要的话,还可以包括对特定优先级部分的评价,例如:利益、损失、费用和风险,其相对优

8

先等级可以从1(低)到9(高)。

4.2 激励/响应序列

列出输入激励(用户动作、来自外部设备的信号或者其它触发)并且定义针对这——功能行为的系统响应序列,这些序列将与使用实例中相关的对话元素相对应。

描述激励/响应序列时,不仅需要描述基本过程,而且应该描述可选(扩充)过程,包括例外(引起任务不能顺序完成的情况称为例外)。疏忽了可选过程,有可能影响软件产品的功能;如果遗漏例外过程,则有可能会引发系统崩溃。

如果采用流程图来描述激励/响应序列,比较容易让用户理解。

4.3 输入/输出数据

列出输入数据(用户输入、来自外部接口的输入或者其它输入)并且定义针对这些输入数据的处理(计算)方法,以及相应地输出数据,描述对应区别:输入数据和输出数据。

当有大量数据需要描述时,也可以分类描述数据,并且注明各项数据的输入、输出属性。 对于每一项数据,均需要描述: ● 数据名称; ● 实际含义; ● 数据类型; ● 数据格式; ● 数据约束;

对于复杂的处理方法,仅仅给出算法原理是不够的,必须描述详细的计算过程,并且列出每一步具体使用的实际算式;如果计算过程中涉及查表、判断、迭代等处理方法,应该给出处理依据和相关数据。如果计算方法很简单,也可以将其从略,不加描述。

5. 其它非功能需求

在这里列举出所有非功能需求,主要包括可靠性、安全性、可维护性、可扩展性、可测试性等。

5.1 性能需求

阐述不同应用领域对软件产品性能的需求,并且说明提出需求的原理或者依据,以帮助开发人员做出合理的设计选择。尽可能详细地描述性能需求,如果需要,可以针对每个功能需求或者特征分别陈述其性能需求。在这里确定:

● 相互合作的用户数量; ● 系统支持的并发操作数量; ● 响应时间;

● 与实时系统的时间关系: ● 容量需求

? 存储器;

9

? 磁盘空间;

? 数据库中表的最大行数。

5.2 安全措施需求

详尽陈述与软件产品使用过程中可能发生的损失、破坏、危害相关的需求。定义必须采取的安全保护或动作,以及必须预防的潜在危险动作。明确软件产品必须遵从的安全标准、策略、或规则。

5.3 安全性需求

详尽陈述与系统安全性、完整性问题相关的需求,或者与个人隐私问题相关的需求。这些问题将会影响到软件产品的使用,和软件产品所创建或者使用的数据的保护。定义用户身份认证,或备授权需求。明确软件产品必须满足的安全性或者保密性策略。也可以通过称为完整性的质量属性来阐述这些需求。一个典型的软件系统安全需求范例如下:“每个用户在第一次登录后,必须更改他的系统预置登录密码,系统预置的登录密码不能重用。”

5.4 软件质量属性

详尽陈述对客户和开发人员至关重要的在软件产品其它方面表现出来的质量功能。这些功能必须是确定的、定量的、在需要时是可以验证的。至少也应该指明不同属性的相对侧重点,例如:易用性优于易学性,或者可移植性优于有效性。

5.5 业务规则

列举出有关软件产品的所有操作规则,例如:那些人在特定环境下可以进行何种操作。这些本身不是功能需求,但是他们可以暗示某些功能需求执行这些规则。一个业务规则的范例如下:“进行达到或者超过10,000,00元人民币的储蓄业务时,必须通过附加的管理员认证。”

列举业务规则时,可以根据规则的数量,选取合适的编目方式。

5.6 用户文档

列举出将与软件产品一同交付的用户文档,并且明确所有己知用户文档的交付格式或标准,例如:

● 安装指南

纸质文档,16开本; ● 用户手册

纸质文档,16开本; ● 在线帮助

● 电子文档,与软件产品一同分发、配置;

● 使用教程电子文档,与软件产品一同分发、配置。

10

6. 词汇表

列出本文件中用到的专业术语的定义,以及有关缩写的定义(如有可能,列出相关的外文原词)。为了便于非软件专业或者非计算机专业人士阅读软件产品需求分析报告,要求使用非软件专业或者非计算机专业的术语描述软件需求。所以这里所指的专业术语,是指业务层面上的专业术语,而不是软件专业或者计算机专业的术语。但是,对于无法回避的软件专业或者计算机专业术语,也应该列入词汇表并且加以准确定义。

7. 数据定义

数据定义是一个定义了应用程序中使用的所有数据元素和结构的共享文档,其中对每个数据元素和结构都准确描述:含义、类型、数据大小、格式、计量单位、精度以及取值范围。数据定义的维护独立于软件需求规格说明,并且在软件产品开发和维护的任何阶段,均向风险承担者开放。

如果为软件开发项目创建一个独立的数据定义,而不是为每一项特性描述有关的数据项,有利于避免冗余和不一致性。但是却不利于多人协同编写需求分析报告,容易遗漏数据,也不方便阅读。因此还是建议为每个特性描述有关的数据项,汇总数据项创建数据定义,再根据数据定义复核全部数据,使得它们的名称和含义完全一致。必须注意的是,为了避免二义性,在汇总数据项时应该根据数据项所代表的实际意义汇总,而不是根据数据项的名称汇总。

在数据定义中,每个数据项除了有一个中文名称外,还应该为它取一个简短的英文名称,该英文名称应该符合命名规范,因为在软件开发时将沿用该英文名称。可以使用等号表示数据项,名称写在左边,定义写在右边。常见数据项的描述方式如下:

● 原数据元素

一个原数据元素是不可分解的,可以将一个数量值赋给它。定义原数据元素必须确定其 含义、类型、数据大小、格式、计量单位、精度以及取值范围。采用以星号为界的一行 注释文本,描述原数据元素的定义。 ● 选择项

选择项是一种只可以取有限离散值的特殊原数据元素,描述时一一枚举这些值,并用方 括号括起来写在原数据元素的定义前。在两项离散值之间,使用管道符分隔。 ● 组合项

组合项是一个数据结构或者记录,其中包含了多个数据项。这些数据项可以是原数据元 素,也可以是组合数据项,各数据项之间用加号连接。其中每个数据项都必须是数据定 义中定义过的,结构中也可以包括其它结构,但是绝对不允许递归。如果数据结构中有 可选项,使用圆括号把该项括起来。 ● 重复项

重复项是组合项的一种特例,其中有一项将有多个实例出现在数据结构中,使用花括号 把该项括起来。如果知道该项可能允许的范围,就按“最小值:最大值”的形式写在花 括号前。

11

8. 分析模型

这是一个可选部分,包括或涉及到相关的分析模型,例如: ● 数据流程图; ● 类图;

● 状态转换图; ● 实体-关系图。

9. 待定问题列表

编辑一张在软件产品需求分析报告中待确定问题时的列表,把每一个表项都编上号,以便跟踪调查。

12

附录B 软件概要设计报告文档模板

1. 引言 ........................................................................................................................................... 15 1.1 编写目的 ............................................................................................................................. 15 1.2 项目风险 ............................................................................................................................. 15 1.3 预期读者和阅读建议 ......................................................................................................... 15 1.4 参考资料 ............................................................................................................................. 15 2. 设计概述 ................................................................................................................................... 16 2.1 限制和约束 ......................................................................................................................... 16 2.2 设计原则和设计要求 ......................................................................................................... 16 3. 系统逻辑设计 ........................................................................................................................... 17 3.1 系统组织设计 ..................................................................................................................... 17 3.2 系统结构设计 ..................................................................................................................... 17 3.2.1 系统特性表 .................................................................................................................. 18 3.2.2 系统特性结构图 .......................................................................................................... 19 3.3 系统接口设计 ..................................................................................................................... 19 3.3.1 系统接口表 .................................................................................................................. 19 3.3.2 系统接口传输协议说明 .............................................................................................. 20 3.4 系统完整性设计 ................................................................................................................. 20 4. 系统出错处理设计 ................................................................................................................... 21 4.1 系统出错处理表 ................................................................................................................. 21 4.2 维护处理过程表 ................................................................................................................. 22 5. 技术设计 ................................................................................................................................... 23 5.1 系统开发技术说明表 ......................................................................................................... 23 5.2 开发技术应用说明 ............................................................................................................. 24 6. 数据库设计 ............................................................................................................................... 24 7. 词汇表 ....................................................................................................................................... 24 8. 进度计划 ................................................................................................................................... 24

13

14

1. 引言

引言是对这份软件系统概要设计报告的概览,是为了帮助阅读者了解这份文档是如何编写的,并且应该如何阅读、理解和解释这份文档。

1.1 编写目的

说明这份软件系统概要设计报告是基于哪份软件产品需求规格说明书编写的,开发这个软件产品意义、作用、以及最终要达到的意图。通过这份软件系统概要设计报告详尽说明了该软件产品的软件结构,包括数据库结构和出错处理,从而对该软件产品的结构的描述。

如果这份软件系统概要设计报告只与整个系统的某一部分有关系,那么只定义软件系统概要设计报告中说明的那个部分或子系统。

1.2 项目风险

具体说明本软件开发项目的全部风险承担者,以及各自在本阶段所需要承担的主要风险,首要风险承担者包括:

● 任务提出者; ● 软件开发者; ● 产品使用者。

1.3 预期读者和阅读建议

列举本软件系统概要设计报告所针对的各种不同的预期读者,例如,可能的读者包括: ● 用户; ● 开发人员; ● 项目经理; ● 营销人员; ● 测试人员; ● 文档编写人员; ● 等等。 描述文档中,其余部分的内容及其组织结构,并且针对每一类读者提出最适合的文档阅读建议。

1.4 参考资料

列举编写软件产品概要设计报告时所用到的参考文献及资料,可能包括: ● 本项目的合同书;

● 上级机关有关本项目的批文; ● 本项目已经批准的计划任务书; ● 用户界面风格指导;

15

● 开发本项目时所要用到的标准; ● 系统规格需求说明; ● 使用实例文档;

● 属于本项目的其它已发表文件;

● 本软件系统概要设计报告中所引用的文件、资料: ● 相关软件系统概要设计报告: ● 等等。

为了方便读者查阅,所有参考资料应该按一定顺排列。如果可能,每份资料都应该给出: ● 标题名称;

● 作者或者合同签约者; ● 文件编号或者版本号; ● 发表日期或者签约日期; ● 出版单位或者资料来源。

2. 设计概述

本节描述现有开发条件和需要实现的目标,说明进行概要设计时应该遵循的设计原则和必须采用的设计方法。

2.1 限制和约束

简要描述起到限制和约束作用的各种可能存在的条件,例如: ● 技术条件; ● 资金状况;

● 开发环境(包括:工具和平台); ● 时间限制; ● 等等。

并且说明在上述条件下,应该实现的系统目标,

2.2 设计原则和设计要求

描述对本软件系统进行概要设计的原则,通常可以考虑以下几方面的内容: ● 命名规则;

● 模块独立性原则: ● 边界设计原则; ● 数据库设计规则; ● 必须的安全措施; ● 安全性和保密原则; ● 系统灵活性要求; ● 系统易操作性要求; ● 系统可维护性要求; ● 等等。

16

3. 系统逻辑设计

本节内容主要根据软件产品需求规格说明书和软件产品数据字典建立系统的逻辑模型。此种模型暂时与系统的物理因素(例如:计算机、数据库管理系统)无关。它是系统需求与物理实现的中间结构,它的主要结果是建立:系统结构图、系统界面结构图、系统出错处理、以及系统开发技术说明。

说明:如果进行系统设计时尚未编写软件数据字典:应首先参照附录B说明,编写软件数据字典。在完成软件数据字典后,再进行系统设计。

3.1 系统组织设计

系统组织设计通过系统组织表描述本系统由哪些子系统(模块)组成,这些子系统与业务职能之间的关系,以及各个子系统的安装地点。系统组织表的格式如下: 子系统编号 英文名称 中文名称 业务职能 安装地点 备注 其中:

● 子系统编号

给出本系统中指定子系统的顺序编号。如果本系统末划分为多个子系统,仅由一 个运行模块组成;则本项内容仍需要描述,但是本表内容只有一行。

说明:在一个系统中有可能安装若干个相同的子系统,在这种情况下,应该视为 一个子系统,并且对多个安装地点分别进行描述。如果相同的子系统通过系统设 置,实现的业务职能具有明显差异时,应该采用多行进行分别描述,并且在备注 中说明其差异所在。 ● 子系统英文名称

给出本子系统的英文名称,该名称是在应用软件中实际使用的可执行文件名称, 必须能够说明该子系统的特点。

若本系统中只有一个子系统,则本项内容仍需要描述,但是本表内容只有一行。 ● 子系统中文名称

给出本子系统的中文名称,该名称必须能够说明该子系统的特点。

若本系统中只有一个子系统,则本项内容仍需要描述,但是本表内容只有一行。 ● 业务职能

描述该子系统完成的核心业务。 ● 安装地点

描述该子系统实际安装的部门、或者某个具体地点。 ● 备注

针对该子系统,需要说明的其它有关问题。

3.2 系统结构设计

本节将对系统特性作较为详细的描述,并给出系统特性结构图。

17

3.2.1 系统特性表

系统特性是系统中完成某项具体操作的基本单元,它由入口参数,出口参数以及处理过程三部分组成。

系统特性可以具有操作界面,也可以没有操作界面;可以被其它操作界面、或者系统特性调用,也可以调用其它操作界面、非操作界面、或者系统特性;但是不允许递归调用(调用自己),包括间接递归调用。

当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统特性表进行描述。系统特性表的格式如下: 子系统编号: 子系统英文名称: 子系统中文名称: 特性编号 说明: 其中

● 子系统编号

含义同上。 ● 子系统英文名称

含义同上。 ● 子系统中文名称

含义同上。 ● 特性编号

整个系统所有特性的统一编号。 ● 系统特性英文名称

系统特性的英文正式名称,将来用于软件开发中,必须符合命名规范。 ● 系统特性中文名称

系统特性的中文正式名称,来源于需求规格说明书中,系统特性一节中的有关描 述。 ● 操作功能

是指该特性实际完成的操作说明。 ● 调用对象

是指调用该系统特性的系统对象,这里的系统对象可以是系统特性、也可以是操作界面。 ● 被调用对象

是指被该系统特性调用的系统对象,这里的系统对象可以是系统特性、也可以是操作界面。

说明:某些较低层的系统特性,可能不存在被调用对象。 ● 备注

描述与该系统特性有关的其它注意事项。 ● 说明

描述与该系统特性表有关的其它注意事项。

18

系统特征 英文名称 系统特征 中文名称 操作功能 调用对象 被调用 对象 备注

3.2.2 系统特性结构图

系统特性结构图给出系统特性在逻辑层面上相互之间的关系,其主要依据来源于需求规格说明书中,系统特性一节中的有关描述。

如果系统划分为多个子系统,应分别给出系统与子系统、以及各个子系统与系统特性的结构图。

绘制系统与子系统结构图时,一般不需要描绘出系统特性,如果确有必要,尽可能只画出第一层系统特性。绘制子系统与系统特性结构图时,通常也不需要描绘出第二层系统特性,如果确有必要可以画出,但是尽可能不要画出第三层系统特性。

3.3 系统接口设计

系统接口是一种非可视的系统界面,在多数情况下,它对用户是透明的。 本节将对系统接口作较为详细的描述,并给出接口说明清单。 3.3.1 系统接口表

接口作为系统的一种输入/输出形式,分为网络接口、数据库接口、RS-232串行通讯接口、IEEE—485串行总线接口、并行I/O接口等等多种类型。

对于一些为可视界面服务的接口,例如:打印机接口、显示器接口等,因为这类接口对应用软件是透明的,所以不在本节描述范围内。

当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统接口表进行描述。系统接口表的格式如下: 子系统编号 子系统英文名称 子系统中文名称 接口 编号 说明: 其中: ● 子系统编号

含义同上。 ● 子系统英文名称

含义同上。 ● 子系统中文名称

含义同上。 ● 接口编号

整个系统所有接口的统一编号。 ● 接口名称

系统接口的正式名称,必须符合通常习惯。 ● 接口类型

指出该接口所传输的数据在该模块中起到的作用。 ● 接口性质

19

接口 名称 接口 类型 接口 性质 接口 速率 接口 协议 备注

指出该接口在通讯中起到的作用,这里的作用可以是: ? 输入; ? 输出; ? 双向。 ● 接口速率

指出该接口的传输速率。如果该接口依赖于其它通讯方式,那么传输速率将不高于它所依赖的其它通讯方式的速率。 ● 接口协议

给出该接口实际使用的通讯协议。 ● 相关对象

给出直接使用本接口的系统对象,这里的系统对象,可以是操作界面,也可以是系统特性。 ● 备注

描述与该系统接口有关的其它注意事项。 ● 说明

描述与该系统接口表有关的其它注意事项。 3.3.2 系统接口传输协议说明

逐项详细描述系统接口表中所列出各个系统接口使用的传输协议,以及其它相关内容,例如:驱动程序、动态连接库、等等。

3.4 系统完整性设计

描述系统对象(数据元、数据类),所受到的逻辑约束关系。

当系统由多个子系统(模块)组成时,每个子系统应分别使用一张系统完整性约束表进行描述。系统完整性约束表的格式如下: 子系统编号 子系统英文名称 子系统中文名称 约束编号 说明: 其中:

● 子系统编号

含义同上。 ● 子系统英文名称

含义同上。 ● 子系统中文名称

含义同上。 ● 约束编号

整个系统所有约束的统一编号。 ● 完整性名称

系统完整性约束的正式名称,必须符合通常习惯。

20

完整性名称 相对对象名 约束表达式 备注

● 相对对象名

完整性约束中的相关对象(数据元和数据类)。 ● 约束表达式

用一阶逻辑表达式表达的约束方程式。 ● 备注

描述与该系统完整性约束有关的其它注意事项。 ● 说明

描述与该系统完整性约束表有关的其它注意事项。

4. 系统出错处理设计

本节描述系统发生外界及内在错误时,所提供的错误信息及处理方法,它包括系统出错处理表及维护处理过程表。

4.1 系统出错处理表

本表给出有关出错处理的产生原因、提示信息、以及建议处理方法。

当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统出错处理表进行描述。系统出错处理表的格式如下: 子系统编号: 子系统英文名称: 子系统中文名称: 错误编号 说明: 其中:

● 子系统编号

含义同上。 ● 子系统英文名称

含义同上。 ● 子系统中文名称

含义同上。 ● 错误编号

整个系统所有错误的统一编号。 ● 错误名称

错误的正式名称,该名称应该是常用的,并且为人们所普遍接受的。 ● 错误原因

对该错误产生原因的解释与说明。 ● 错误信息

产生该错误时,向用户发出的提示信息。 ● 处理方式

21

错误名称 错误原因 错误信息 处理方式 备注

对该错误处理的一种建议,此项允许缺省。 ● 备注

描述与该系统错误有关的其它注意事项。 ● 说明

描述与该系统错误表有关的其它注意事项。

4.2 维护处理过程表

系统出错时,将调用维护处理过程对错误进行处理,有关维护处理过程的各项内容由维护处理过程表进行描述。

当系统有多个子系统(模块)组成时,每个子系统分别使用一张维护处理过程表进行描述。维护处理过程表的格式如下: 子系统编号: 子系统英文名称: 子系统中文名称: 错误编号 说明: 其中:

● 子系统编号

含义同上。 ● 子系统英文名称

含义同上。 ● 子系统中文名称

含义同上。 ● 错误编号

含义同上。

● 处理过程英文名称

系统维护处理过程的英文正式名称,将来用于软件开发中,必须符合命名规范。 ● 处理过程中文名称

系统维护处理过程的中文正式名称,是系统维护处理过程英文名称的中文说明。 ● 处理功能

描述本维护处理过程对错误的处理方式。

由于一个维护处理过程有可能具有对多个错误进行处理的能力,因此该处理功能 必须是针对本项错误编号的。 ● 入口参数

进行本项错误处理时,赋给维护处理过程的入口参数。 ● 出口参数

进行本项错误处理时,维护处理过程返回的出口参数。 ● 备注

描述与该系统错误有关的其它注意事项。

22

处理过程 英文名称 处理过程 中文名称 处理功能 入口参数 出口参数 备注

● 说明

描述与该系统错误表有关的其它注意事项。

5. 技术设计

系统技术设计描述系统各个特性实际使用的开发技术,以及具体开发技术使用时应该注意的事项。

5.1 系统开发技术说明表

本表描述系统各个特性开发时实际使用的具体技术,只有一些不太常用的技术需要在这里描述。一些常用技术,例如:通过数据库接口调用存储过程,则不必冗述。

当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统开发技术说明表进行描述。系统开发技术说明表的格式如下:

子系统编号: 子系统英文名称: 子系统中文名称: 技术编号 说明: 其中:

● 子系统编号

含义同上。 ● 子系统英文名称

含义同上。 ● 子系统中文名称

含义同上。 ● 技术编号

这个系统所使用各种技术的统一编号。 ● 开发技术英文名称

该开发技术的英文正式名称,可以便用缩写。 该名称应该是常用的,并且为人们所普遍接受的。 ● 开发技术中文名称

该开发技术的中文正式名称,是该开发技术英文名称的中文说明。 该名称应该是常用的,并且为人们所普遍接受的。 ● 处理功能

描述本开发技术的处理目的。 ● 系统特性编号

含义同上。

由于一项开发技术可能在多处使用,因此针对一项开发技术,有可能存在多个系

23

开发技术 英文名称 开发技术 中文名称 处理功能 系统特性编号 备注

统特性编号,在此必须一一列出。 ● 备注

描述与该系统开发技术相关的其它注意事项。 ● 说明

描述与该系统开发技术说明表有关的其它注意事项。

5.2 开发技术应用说明

逐项详细描述系统开发技术说明表中所列出各项系统开发技术使用的技术要点,以及其它相关内容,例如:所需的服务、使用的动态连接库、调用的组件、等等。

6. 数据库设计

如果该软件产品需要使用数据库,不论是使用数据库平台支撑的,还是采用由软件产品开发者自行定义的;都应该在完成软件产品需求分析报告后,开始进行软件产品详细设计之前,按照软件产品数据库设计说明文档模板完成数据库设计工作。

7. 词汇表

列出本文件中用到的专业术语的定义,以及有关缩写的定义(如有可能,列出相关的外文原向)。为了便于非软件专业或者非计算机专业人士阅读软件系统概要设计报告,要求使用非软件专业或者非计算机专业的术语进行描述。所以这里所指的专业术语,是指业务层面上的专业术语,而不是软件专业或者计算机专业的术语。但是,对于无法回避的软件专业或者计算机专业术语,也应该列入词汇表,并且加以准确定义。

8. 进度计划

列出进度计划,包括各子系统、各子模块完成进度计划,人员配备计划等。

24

附录C 软件详细设计报告文档模板

1. 引言 ........................................................................................................................................... 27 1.1 编写目的 ............................................................................................................................. 27 1.2 项目风险 ............................................................................................................................. 27 1.3 文档约定 ............................................................................................................................. 27 1.4 预期读者和阅读建议 ......................................................................................................... 27 1.5 参考资料 ............................................................................................................................. 28 2. 支撑环境 ................................................................................................................................... 28 2.1 数据库管理系统 ................................................................................................................. 28 2.2 开发工具、中间件以及数据库接口 .................................................................................. 29 2.3 硬件环境 ............................................................................................................................. 29 2.4 网络环境 ............................................................................................................................. 30 2.5 多种支撑环境开发要点 ..................................................................................................... 30 3. 部件详细设计 ........................................................................................................................... 30 4. 词汇表 ....................................................................................................................................... 31 5. 部件表格式 ............................................................................................................................... 32 6. 界面表格式 ............................................................................................................................... 32

25

26

1. 引言

引言是对这份软件系统详细设计报告的概览,是为了帮助阅读者了解这份文档如何编写的,并且应该如何阅读、理解和解释这份文档。

1.1 编写目的

说明这份软件系统详细设计报告是基于哪份软件产品需求分析报告、哪份软件产品概要设计报告和哪份软件产品数据库设计说明书(如果该软件产品需要数据库支持)编写的,开发这个软件产品意义、作用、以及最终要达到的意图。通过这份软件系统详细设计报告详尽说明了该软件产品的编码结构,从而对该软件产品的物理组成进行准确的描述。

如果这份软件系统详细设计报告只与整个系统的某一部分有关系,那么只定义软件系统详细设计报告中说明的那个部分或子系统。

1.2 项目风险

具体说明本软件开发项目的全部风险承担者,以及各自在本阶段所需要承担的主要风险,首要风险承担者包括:

● 任务提出者; ● 软件开发者; ● 产品使用者。

1.3 文档约定

描述编写文档时所采用的标准(如果有标准的话),或者各种编写约定。编写约定应该包括:

● 部件编号方式; ● 界面编号方式; ● 命名规范: ● 等等。

1.4 预期读者和阅读建议

列举本软件系统详细设计报告所针对的各种不同的预期读者,例如,可能的读者包括: ● 开发人员; ● 项目经理; ● 测试人员; ● 文档编写人员; ● 等等。 描述文档中,其余部分的内容及其组织结构,并且针对每一类读者提出最适合的文档阅读建议。

27

1.5 参考资料

列举编写软件系统详细设计报告时所用到的参考文献及资料,可能包括: ● 本项目的合同书;

● 上级机关有关本项目的批文; ● 本项目已经批准的计划任务书; ● 用户界面风格指导;

● 开发本项目时所要用到的标难; ● 系统规格需求说明; ● 使用实例文档;

● 属于本项目的其它己发表文件;

● 本软件系统详细设计报告中所引用的文件、资料; ● 相关软件系统详细设计报告; ● 等等。

为了方便读者查阅,所有参考资料应该按一定顺序排列。如果可能,每份资料都应该给出:

● 标题名称;

● 作者或者合同签约者; ● 文件编号或者版本号; ● 发表日期或者签约日期; ● 出版单位或者资料来源。

2. 支撑环境

2.1 数据库管理系统

描述数据库管理系统、以及安装配置情况,需要描述的内容可能包括: ● 产品名称以及发行厂商

这里的产品名称指的是数据库发行厂商发布产品时公布的正式商品名称,不应该 使用别名、简称、研发代号等非正式名称,以免混淆;同样的道理,发行厂商的 名称也应该使用正式名称。 ● 版本号

数据库管理系统的准确版本号,必须按产品的实际情况描述到最细节的版本号。 ● 补丁包版本号

描述实际上将要使用的数据库管理系统补丁包的版本号,必须注意,在某些情况 下该版本号不一定是最新的版本号。 ● 语言或代码集

对于只支持一种语言或者一个代码集的数据库管理系统来说,该项描述不具意 义。对于支持多种语言或者多个代码集的数据库管理系统来说,该项描述指的是 实际使用的语言或者代码集。 ● 安装位置

描述数据库管理系统的实际安装位置,应该分别对管理系统安缺位置和数据存放

28

位置进行描述,应该指明服务器名和安装卷号(盘号)。对于分布式数据库,必须 分别描述每一个数据库管理系统。 ● 配置参数

描述数据库管理系统在实际安装时应该配置的各个参数,对于分布式数据库,必 须分别描述每一个数据库管理系统的配置参数。 ● 等等

同时参照《南京市交通局信息化数据库建设规范》。

2.2 开发工具、中间件以及数据库接口

描述所选用的工具软件和中间件的名称、版本号,以及开发工具与数据库或者中间件接口的情况。如果使用了多种开发工具、辅助开发工具、第三方软件部件、多种中间件、多种接口、等答应该逐项分别描述,并且说明每一项的适用范围。需要描述的内容可能包括:

● 产品名称以及发行厂商

同2.1中产品名称以及发行厂商。 ● 版本号

同2.1中版本号。 ● 补丁包版本号

同2.1中补丁包版本号。 ● 语言或代码集

同2.1中语言或代码集。 ● 数据库接口名称

描述数据库接口的名称,如果使用别名时,应同时描述使用的别名。 ● 数据库接口方式

描述与数据库接口的方式,并说明该接口方式的特点;如果需要,还应该说明使 用时的注意事项。 ● 数据库接口设置

描述各种接口设置,包括:协议、端口号等等。 同时参照《南京市交通局信息化数据库建设规范》。

2.3 硬件环境

描述所选用的硬件环境,各种机型,例如:服务器、工作站,应该分别描述。需要描述的内容可能包括:

● 机型; ● 主频; ● 内存容量; ● 磁盘容量; ● 特殊部件; ● 操作系统; ● 使用位置; ● 等等。

29

2.4 网络环境

描述可能影响应用软件访问数据库的各种网络环境,如果存在加密传输、VPN链路等情况,也必须描述。对于结构复杂的网络,还应该提供网络拓扑图和数据流向示意图。需要描述的内容可能包括:

● 网络结构; ● 网络操作系统; ● 网络带宽; ● 路由组织; ● 加密传输方式;

● VPN链路连接方式; ● 等等。

2.5 多种支撑环境开发要点

当软件产品将来可能遇到的多种运行环境时,应该分别按照3.1节至3.4节的内容列表描述。如果软件产品各个子系统的运行环境不完全一样时,应该分子系统按照3.1节至3.4节的内容列表描述。

遇到上述情况时,不仅需要详细描述各种软件开发、调试、测试的环境,为了确实保证软件产品将来能够在各种可能的运行环境中正常运行,还需要对软件产品进行严格的配置管理。

3. 部件详细设计

这里所提及的软件部件,系指能够完成特定功能、相对独立的一些代码集合,它们可以是插件、组件、控件、函数、过程、子程序、动态连接库、等等。具体呈何种形态,取决于实际采用的开发工具和将要实现的软件结构。

按照合适的顺序,逐个描述软件部件的详细情况。描述的顺序可以是按层次横向进行描述,也可以是按模块纵向进行描述,总之描述的方式必须有利于读者理解软件结构。

每个部件采用一张软件部件表进行描述,软件部件表的格式见附表一,其中; ● 部件编号

软件部件的统一顺序编号;对于实行配置管理的软件开发项目来说,该编号必须 与该部件在配置管理中的编号相同。 ● 部件名称

软件部件的正式英文名称,该名称是程序中使用的实际名称,必须符合国家相关软件命名标准。 ● 所属子系统

指该部件所属的子系统;

对于不分为多个子系统的软件来说,不必填写该栏。 ● 部件调用者

指调用该部件的部件(或界面参数)的编号和名称。 ● 部件被调用者

30

指被该部件所调用的部件的编号和名称。 ● 部件入口参数

指该部件入口数据类名称或者数据名称,以及对这些数据的描述; 如果部件没有入口参数,该栏为空。 ● 部件出口参数

指该部件出口数据类名称或者数据名称,以及对这些数据的描述; 如果部件没有出口参数,该栏为空。 ● 算法

指该部件的算法形式表示,如果很简单、或者不存在,也可以为空。 ● 流程描述

指该部件的处理流程的详细表示或描述。 ● 部件表示形式

指该部件完成开发后的最终表示形式,具体形式取决于开发工具和软件结构,表 示形式可能是:

? 插件、组件、控件, ? 函数、过程、子程序, ? 存储过程, ? 动态连接库, ? 等等。 ● 运行环境

描述该部件所适合的运行环境,即说明该部件是针对何种运行环境所开发的; 可以直接描述运行环境,也可以描述运行环境的编号;

对于实行配置管理的软件开发项目来说,该描述必须与该部件在配置管理中的描 相同。 ● 性能要求

指开发该部件时必须满足的专门要求,这些要求可以是: ? 精度 ? 灵活性 ? 响应时间 ? 可重用性 ? 等等。

提出的要求一般不宜超过3项,以排列的先后顺序表示优先级。

4. 词汇表

列出本文件中用到的专业术语的定义,以及有关缩写的定义(如有可能,列出相关的外文原词)。为了便于非软件专业或者非计算机专业人士也能够在一定的范围内,读懂软件系统详细设计报告,要求尽可能使用非软件专业或者非计算机专业的术语进行描述。所以这里所指的专业术语,是指业务层面上的专业术语,而不是软件专业或者计算机专业的术语。但是,对于无法回避的软件专业或者计算机专业术语,也应该列入词汇表,并且加以准确定义。

31

5. 部件表格式

部件编号 所属子系统 部件调用者 部件被调用者 部件入口参数 部件入口参数 算法: 流程描述: 表示性能 性能要求 运行环境 部件名称 说明:如果软件不见使用一张表表述不完时,可以采用续表描述,但是必须注明是那张表的续表。

6. 界面表格式

界面编号 界面性质 表示形式: 部件名称 界面介质 32

界面参数 参数名 内容 说明 说明:如果软件不见使用一张表表述不完时,可以采用续表描述,但是必须注明是那张表的续表。

33

34

附录D 软件数据库设计报告文档模板

1. 引言 ............................................................................................................................................ 37 1.1 编写目的 ............................................................................................................................. 37 1.2 项目来源 ............................................................................................................................. 37 1.3 文档约定 ............................................................................................................................. 37 1.4 预期读者和阅读建议 ......................................................................................................... 37 1.5 参考资料 ............................................................................................................................. 37 2. 数据库命名规则 ....................................................................................................................... 38 3. 数据库设计说明 ....................................................................................................................... 38 3.1 数据库逻辑设计 ................................................................................................................. 38 3.2 数据库物理设计 ................................................................................................................. 38 3.3 数据库分布 ......................................................................................................................... 39 3.4 基表设计 ............................................................................................................................. 39 3.5 视图设计 ............................................................................................................................. 40 3.6 索引设计 ............................................................................................................................. 41 3.7 完整性约束 ......................................................................................................................... 42 3.8 授权设计 ............................................................................................................................. 42 3.9 触发器设计 ......................................................................................................................... 43 3.10 存储过程设计 ................................................................................................................... 43 3.11 数据复制设计.................................................................................................................... 44 4. 词汇表 ....................................................................................................................................... 45 5. 历史数据处理 ........................................................................................................................... 45

35

36

1. 引言

引言是对这份数据库设计说明书的概览,是为了帮助阅读者了解这份文档是如何编写的,并且应该如何阅读、理解和解释这份文档。

1.1 编写目的

说明这份数据库设计说明书是为哪份软件产品编写的,开发这个软件产品意义、作用以及最终要达到的意图。通过这份数据库设计说明书详尽准确地描述了该软件产品的数据库结构。如果这份数据库设计说明书只与整个系统的某一部分有关系,那么只定义数据库设计说明书中说明的那个部分或子系统。

1.2 项目来源

具体说明本软件开发项目的全部风险承担者,以及各自在本阶段所需要承担的主要风险,首要风险承担者包括:

● 任务提出者; ● 软件开发者; ● 产品使用者。

1.3 文档约定

描述编写文档时所采用的各种排版约定。排版约定应该包括: ● 命名方法; ● 提示方式; ● 通配符号: ● 等等。

1.4 预期读者和阅读建议

列举本数据库设计说明书所针对的各种不同的预期读者,例如,可能包括: ● 开发人员; ● 项目经理; ● 测试人员; ● 文档编写人员。 并且描述了文档中,其余部分的内容及其组织结构,并且针对每一类读者提出最适合的文档阅读建议。

1.5 参考资料

列举编写需求规格说明书时所用到的参考文献及资料,可能包括;

37

● 本项目的合同书;

● 上级机关有关本项目的批文; ● 本项目已经批准的计划任务书; ● 用户界面风格指导;

● 开发本项目时所要用到的标准; ● 系统规格需求说明; ● 使用实例文档;

● 属于本项目的其它已发表文件;

● 本数据库设计说明书中所引用的文件、资料; ● 相关软件产品数据库设计说明书; ● 等等。

为了方便读者查阅,所有参考资料应该按一定顺序排列。如果可能,每份资料都应该给出:

● 标题名称;

● 作者或者合同签约者; ● 文件编号或者版本号; ● 发表日期或者签约日期; ● 出版单位或者资料来源。

2. 数据库命名规则

完整并且清楚的说明本数据库的命名规则,在《南京市交通局信息化数据库建设规范》中已经给出了一个完整的数据库命名规则,开发者应遵守执行,如果本数据库的命名规则与该规范不完全一致,应作出解释。

3. 数据库设计说明

3.1 数据库逻辑设计

数据库设计人员根据《软件需求分析报告》,创建与数据库相关的实体关系图(E-R图)。如采用面对对象的分析和设计方法,则此处的实体相当于类。

在此处,应给出逻辑设计的完整的E-R图。

3.2 数据库物理设计

在此处应给出完整的数据库物理结构E-R图。开发者应根据逻辑设计的结果,进行数据库的物理设计,并对表结构进行规范化处理(第一范式,第二范式,第三范式)。

38

3.3 数据库分布

数据库分布采用一张表格进行描述,其格式如下:

数据库 数据库 管理系统 编号 名称 其中:

● 数据库编号

给出本系统中指定数据库的顺序编号。

若本系统中只有一个数据库,则本项内容不需要描述,本表内容也只有一行。 说明: 在一个系统中可能安装若干个相同的或者不同的数据库管理系统, 一个数据库管理系统也可能安装一个或者多个数据库。 ● 数据库管理系统名称

给出本系统中指定数据库管理系统的商品名称。

若本系统中只有一种数据库管理系统,则本项内容不需要描述。 ● 数据库管理系统版本号

给出本系统中指定数据库管理系统的版本号。

若本系统中只有一个版本的数据库管理系统,则本项内容不需要描述。 ● 数据库英文名称

给出本数据库的英文名称,该名称是在应用软件中实际使用的名称,必须符合《南京市交通局信息化数据库建设规范》中相关命名规范。 ● 数据库中文名称

给出本数据库的中文名称,该名称是本数据库英文名称的说明。 ● 数据库安装物理位置

给出本数据库安装的实际位置,必须描述清楚该位置是在那个物理设备的哪一 个逻辑存储设备上,以及存储文件的名称。

数据库 管理系统 版本号 数据库 英文名称 数据库 中文名称 数据库 安装 物理位置 3.4 基表设计

每个基表采用一张表格进行描述,其格式如下: 数据库编号: 基表编号: 基表英文名称: 基表中文名称: 字段编号 说明: 其中 ● 数据库编号

含义同上。 ● 基表编号

39

英文字段名 中文字段名 字段类型 备注

给出本基表的顺序编号。 ● 基表英文名称

给出本基表的英文名称,该名称是在应用软件中实际使用的名称,必须符合命 名规范。 ● 基表中文名称

给出本基表的中文名称,该名称是本基表英文名称的说明。 ● 字段编号

该基表中,各个字段的顺序编号。 ● 英文字段名

该基表中,各个字段的英文名称,该名称必须符合《南京市交通局信息化数据库建设规范》中相关命名规范。 ● 中文字段名

该基表中,各个字段的中文名称,该名称是英文字段名的说明。 ● 字段类型

该基表中,各个字段的类型;如果需要,在说明类型时,还需要说明字段长度。 ● 备注

该基表中,各个字段有关的限制性说明,需要描述的内容可能包括: ? 值域; ? 缺省值; ? 空字段限制;

? 显示格式与小数位数; ? 有效性规则与约束; ? 标题; ? 等等 ● 说明

说明一些有关本表的、必须描述清楚的问题,需要描述的内容可能包括: ? 主关键字;

? 索引、排序方式和类型; ? 触发器; ? 数据复制; ? 等等

3.5 视图设计

每个视图采用一张表格进行描述,其格式如下: 数据库编号: 视图编号: 视图英文名称: 视图中文名称: 相关基表和视图: 字段编号 英文字段名 中文字段名 字段类型 字段源 备注 40

说明: 其中:

● 数据库编号

含义同上。 ● 视图编号

给出本视图的顺序编号。 ● 视图英文名称

给出本视图的英文名称,该名称是在应用软件中实际使用的名称,必须符合 命名规范。 ● 视图中文名称

给出本视图的中文名称,该名称是本视图英文名称的说明。 ● 相关基表和视图

列出建立该视图时,所用到的基表和视图。 ● 字段编号

该视图中,各个字段的顺序编号。 ● 英文字段名

该视图中,各个字段的英文名称,该名称必须符合《南京市交通局信息化数据库建设规范》中相关命名规范。 ● 中文字段名

该视图中,各个字段的中文名称,该名称是英文字段名的说明。 ● 字段类型

该视图中,各个字段的类型;如果需要,在说明类型时,还需要说明字段长度。 ● 字段源

该视图中,各个字段的来源,即该字段原来是那个表或者那个视图中的那个字 段;在某些情况下,字段可能来自一个特定的表达式。 ● 备注

该视图中,各个字段有关的限制性说明,包括: ? 值域; ? 缺省值; ? 空字段限制;

? 显示格式与小数位数; ? 有效性规则与约束; ? 标题; ? 等等。 ● 说明

说明一些有关本视图的、必须描述清楚的问题,需要描述的内容可能包括: ? 索引; ? 权限; ? 等等

3.6 索引设计

每个数据库的所有采用一张表格进行描述,其格式如下:

41

数据库编号: 索引编号 基表名称 索引名称 字段集名称 备注 其中:

● 数据库编号

含义同上。 ● 索引编号

给出本项索引的顺序编号。 ● 基表名称

给出本项索引所在的基表名称。 ● 索引名称

给出本项索引的名称。 ● 字段集名称

给出本项索引所在的字段名称或者字段集名称。 ● 备注

描述有关本项索引中,其它需要说明的事项,例如:排序方式、等等。

3.7 完整性约束

每个数据库的完整性约束采用一张表格进行描述,其格式如下: 数据库编号: 索引编号 基表名称 索引名称 字段集名称 备注 其中:

● 数据库编号

含义同上。 ● 约束编号

给出本项完整性约束的顺序编号。 ● 完整性约束名

给出本项完整性约束的名称。 ● 基表名

给出本项完整性约束所在的基表名称。 ● 字段名

给出本项完整性约束所在的字段名称。 ● 约束表达式

给出本项完整性约束的逻辑表达式。 ● 备注

描述有关本项完整性约束中,其它需要说明的事项。

3.8 授权设计

每个数据库的授权采用一张表格进行描述,其格式如下:

42

数据库编号: 授权编号 用户名称 对象名称 权限 备注 其中:

● 数据库编号

含义同上。 ● 授权编号

给出本项授权的顺序编号。 ● 用户名称

给出本项授权的用户名称,这里的用户不一定是具体用户,也可以是用户组。 ● 对象名称

给出本项授权的对象名称,例如:基表、字段、等等。 必须注意到,一个用户可能存在多项授权,应该逐项描述。 ● 权限

被授权用户在该对象上拥有的访问权限,例如:查询权、修改权、等等。 ● 备注

描述有关本项授权中,其它需要说明的事项。

3.9 触发器设计

● 数据库编号

含义同上。 ● 触发器编号

给出本触发器的顺序编号。 ● 触发器英文名称

给出本触发器的英文名称,必须符合《南京市交通局信息化数据库建设规范》中相关命名规范。 ● 触发器中文名称

给出本触发器的中文名称,该名称是本触发器英文名称的说明。 ● 触发器条件

给出该触发器产生触发的条件。 ● 触发器结果

给出该触发器被触发后所执行的动作内容。

3.10 存储过程设计

每个数据库的授权采用一张表格进行描述,其格式如下: 数据库编号: 存储过程编号: 存储过程英文名称: 存储过程中文名称: 存储过程内容:

43

说明: 其中:

● 数据库编号

含义同上。 ● 存储过程编号

给出本存储过程的顺序编号。 ● 存储过程英文名称

给出本存储过程的英文名称,该名称是在应用软件中实际使用的名称,必须符 合命名规范。 ● 存储过程中文名称

给出本存储过程的中文名称,该名称是本存储过程英文名称的说明。 ● 存储过程内容

给出该存储过程算法或者描述详细内容,如果需要,应该辅以流程图说明。 ● 说明

描述本存储过程需要说明的一些事项。

3.11 数据复制设计

每项数据复制采用一张表格进行描述,其格式如下: 数据复制编号: 复制英文名称: 复制中文名称: 源数据库编号: 目标数据库编号: 复制说明: 执行方式: 源数据库名称 基表名称 备注: 其中:

● 数据复制编号

给出本数据复制的顺序编哥 ● 数据复制英文名称

给出本数据复制的英文名称,该名称是在应用软件中实际使用的名称,必须符 合命名规范。 ● 数据复制中文名称

给出本数据复制的中文名称,该名称是本数据复制英文名称的说明。 ● 源数据库编号

作为复制数据源的数据库编号,编号含义同上。

44

目标数据库名称 基表名称 字段名称 字段名称

● 目标数据库编号

作为复制目标的数据库编号,编号含义同上。 ● 复制说明

给出该复制的详细描述,如果需要,应该辅以示意图说明。 ● 执行方式

给出该复制的执行方式,描述时应该说明: ● 自动执行

必须说明执行周期或者执行条件。 ● 调用执行

必须说明被那个模块调用,以及是手动调用,还是条件调用。 ● 源数据库名称

给出对应源数据库编号的源数据库名称。 ● 目标数据库名称

给出对应目标数据库编号的目标数据库名称。 ● 基表名称

分别给出源数据库和目标数据库中,进行对应复制的源基表名称和目标基表名 事例。 ● 字段名称

分别给出源基表和目标基表中,进行对应复制的源字段名称和目标字段名称。 ● 备注

描述本复制中需要说明的一些特殊事项。

4. 词汇表

列出本文件中用到的专业术语的定义,以及有关缩写的定义(如有可能,列出相关的 外文原词)。为了便于非软件专业或者非计算机专业人士(例如:文档编写人员等等。) 阅读数据库设计说明书,要求使用非软件专业或者非计算机专业的术语进行描述。所以这里所指的专业术语,是指业务层面上的专业术语,而不是软件专业或者计算机专业的术语。但是,对于无法回避的软件专业或者计算机专业术语,也应该列入词汇表,并且加以准确定义。

5. 历史数据处理

严格说来,历史数据处理并不属于数据库设计范畴。但是对于大多数数据库来说,如果历史数据处理不当,少则数月、多则数年,最终将使数据库无法正常运行。这段时间的长短取决于数据库设计容量大小,以及数据流强度(即在单位时间内进入数据库的数据记录数量)高低。因此应该设计专门的归档数据库,并根据历史数据需要保存备查的时间长短,定期将历史数据转移到归档数据库中。

设计归档数据库时,需要根据具体情况进行考虑,下面列出一些可能需要考虑的内容: ● 历史数据需要备查的时间长短。 ● 数据转移周期的时间单位

例如:日、周、旬、月、季、年、等等。

45

● 数据转移的方式

例如:手动、自动、条件、等等。 ● 历史数据保存的细节

多数情况下,归档的历史数据并不需要保存全部细节,可以去掉部分细节,采 用压缩归档处理的方法减少归档数据库的占用空间。

注意:如果压缩数据时,去掉了不该去掉的细节,将是无可挽回的。 ● 其它需要说明的问题

46

附录E 软件测试(验收)大纲

1. 引言 ............................................................................................................................................ 49 1.1 目的 ..................................................................................................................................... 49 1.2 术语 ..................................................................................................................................... 49 1.3 参照标准 ............................................................................................................................. 49 2. 测试日期安排 ........................................................................................................................... 50 3. 测试小组及成员 ....................................................................................................................... 50 4. 测试具体内容 ........................................................................................................................... 50 4.1 合法性检查 ......................................................................................................................... 50 4.2 软件文档检查 ..................................................................................................................... 50 4.2.1 必须提供检查的文档 .................................................................................................. 50 4.2.2 其他可能需要检查的文档 .......................................................................................... 51 4.2.3 由业主确定必须检查的其他文档 .............................................................................. 51 4.2.4 文档质量的度量准则 .................................................................................................. 51 4.3 软件代码测试 ..................................................................................................................... 51 4.3.1 源代码一般性检查 ...................................................................................................... 51 4.3.2 软件一致性检查 .......................................................................................................... 52 4.4 软件系统测试 ..................................................................................................................... 52 4.4.1 界面(外观)测试 ........................................................................................................... 53 4.4.2 可用性测试 .................................................................................................................. 53 4.4.3 功能测试 ...................................................................................................................... 53 4.4.4 稳定性(强度)测试 ....................................................................................................... 53 4.4.5 性能测试 ...................................................................................................................... 53 4.4.6 强壮性(恢复)测试 ....................................................................................................... 53 4.4.7 逻辑性测试 .................................................................................................................. 53 4.4.8 破坏性测试 .................................................................................................................. 53 4.4.9 安全性测试 .................................................................................................................. 54 5. 测试结果交付方式 ................................................................................................................... 54

47

48

1. 引言

1.1 目的

为了尽可能的找出软件的不足,提高软件的质量,促进软件的成功验收,专门制定了本大纲。其主要目的在于为所要进行的测试工作制定各种必要的准则和规范,以及在有关方面协议的基础上对测试工作进行合理组织与管理。

1.2 术语

本大纲所提及的术语,其定义遵照GB/T 11457标准。

1.3 参照标准

● GB/T 11457—1995

软件工程术语 ● GB 8566—1995;

信息技术软件生存期过程 ● OGB 8567—1988*

计算机软件产品开发文件编制指南 ● GB 9385*

计算机软件需求说明编制指南 ● GB 9386—1988*

计算机软件测试文件编制指南 ● GB/T 12504—1990

计算机软件质量保证计划规范 ● OGB/T 12505—1990

计算机软件配置管理计划规范 ● OGB/T 14079—1993

软件维护指南

● OGB/T 14394—1993

计算机软件可靠性和可维护性管理 ● GB/T 16680一1996

软件文档管理指南 ● 开发者企业规范

软件开发者有关软件工程的规范 ● 其它文件

例如:合同书等,法律文件中的有关规定。

说明:(1)应该遵循自顶而下、就严不就宽的原则,除非合同书等法律文件中另有规定。 (2)标记(*)号的标准为推荐标准。

49

本文来源:https://www.bwwdw.com/article/k2no.html

Top