计算机软件产品开发文件编制指南
119 软件需求说明书
10 数据要求说明书 12
11 概要设计说明书 12
12 详细设计说明书 13
13 数据库设计说明书 14
14 用户手册 15
15 操作手册 16
16 模块开发卷宗 16
17 测试计划 19><>8
1<>8 测试分析报告 19
19 开发进度月报 19
20 项目开发总结报告 20
附录C 软件需求说明书的编写提示 2<>8
附录D数据要求说明书的编写提示 31
附录E 概要设计说明书的编写提示 32
附录F 详细设计说明书的编写提示 35
附录G 数据库设计说明书的编写提示 37
附录H 用户手册的编写提示 39
附录I 操作手册的编写提示 42
附录J 模块开发卷宗的编写提示 44
附录K 测试计划的编写提示 45
附录L 测试分析报告的编写提示 47
附录M 开发进度月报的编写提示 49
附录N 项目开发总结报告的编写提示 51
摘自《计算机软件工程规范国家标准汇编》
中华人民共和国国家标准 GB<>87><567—<>8<>8
计算机软件产品开发文件编制指南
Guidelines for computer software product development documentation
引言
目的
一项计算机软件的筹划、研制及实现,构成一个软件开发项目。一个软件开发项目的进行,一般需要在人力和自动化资源等方面作重大的投资。为了保证项目开发的成功,最经济的花费这些投资,并且便于运行和维护,在开发工作的每一阶段,都需要编制一定的文件。这些文件连同计算机程序及数据一起,
作为开发人员在一定阶段内的工件成果和结束标志;
向管理人员提供软件开发过程中的进展和情况,把软件开发过程中一些“不可见的”的事物转换成“可见的”文字资料。以便管理人员在各个阶段检查开发计划的实施进展,使之能够判断原定目标是否已达到,还将继续耗用资源的种类和数量;
记录开发过程中的技术信息,便于协调以后的软件开发、使用和修改;
提供对软件有有关运行、维护和培训的信息,便于管理人员、开发人员、操作人员和用户之间相互了解彼此的工作;
向潜在用户报导软件的功能和性能,使他们能判定该软件能否服务于自己的需要。
换言之,本指南认为:文件的编制必须适应计算机软件整个生存周期的需要。
计算机软件所饮食的文件有两类:一类是开发过程中填写的各种图表,可称之为工作表格;另一类是则是应编制的技术资料或技术管理资料,可称之为文件。本指南规定软件文件的编制形式,并提供对这些规定的解释。本指南的目的是使得所编制的软件文件确实能够起到软件文件应该发挥的作用。
范围
本指南是一份指导性文件。本指南建议,在一项计算机软件的开发过程中,一般地说,应该产生十四种文件。这十四种文件是:
可行性研究报告;
项目开发计划;
软件需求说明书;
数据要求说明书;
概要设计说明书;
详细设计说明书;
数据库设计说明书;
用户手册;
操作手册;
模块开发卷宗;
测试计划;
测试分析报告;
开发进度月报;
项目开发总结报告。
本指南将给出开发过程中建议产生的这十四种文件的编制指导,同时,本指南也是这十四种文件的编写编写质量的检验准则。但是,本指南并未涉及软件开发过程中如何填写工作表格的问题。
一般地说,一个软件总是一个计算机系统(包括硬件、固件和软件)的组成部分。鉴于计算机系统的多样性,本指南一般不涉及整个系统开发中的文件编制,本指南仅仅是软件开发过程中的文件编制指南。
文件的使用者
对于使用文件的人员而言,他们所关心的文件的种类,随他们所承担的工作而异。
管理人员:可行性研究报告,
项目开发计划,
模块开发卷宗,
开发进度月报,
项目开发总结报告;
开发人员:可行性研究报告,
项目开发计划,
软件需求说明书,
数据要求说明书,
概要设计说明书,
详细设计说明书,
数据库设计说明书,
测试计划,
测试分析报告;
维护人员:设计说明书,
测试分析报告,
模块开发卷宗;
用户:用户手册,
操作手册。
尽管本指南提出了在软件开发中文件编制的要求,但并不意味羊这些文件都必须交给用户。一项软件的用户应该得到的文件和种类由供应者与用户之间签订的合同规定。
文件的编制指导
4.软件生存周期与各种文件的编制
一项计算机软件,从出现的一个构思之日起,经过这项软件开发成功投入使用,直到最后决定停止使用,并被另一项软件代替之时止,被认为是该软件的一个生存周期可以分成以下六个阶段:
可行性与计划研究阶段
需求分析阶段
设计阶段
实现阶段
测试阶段
运行与维护阶段
在可行性研究与计划阶段内,要确定该软件的开发目标和总的要求,要进行可行性分析、投资-收益分析、制订开发计划,并完成应编制的文件。
在需求分析阶段内,由系统分析人员对被设计的系统进行系统分析,确定对该软件的各项功能、性能需求和设计约束,确定对文件编制的要求,作为本阶段工作的结果,一般地说,软件需求说明书、数据要求说明书和初步的用户手册应该编写出来。
在设计阶段内,系统设计人员和程序设计人员应该在反复理解软件需求的基础上,提出多个设计,分析每个设计能履行的功能并进行相互比较,最后确定一个设计,包括该软件的结构、模块的划分、功能的分配以及处理流程。在被设计系统比较复杂的情况下,设计阶段应分解成概要设计阶段和详细设计阶段两个步骤。在一般情况下,应完成的文件包括:概要设计说明书、详细设计说明书和测试计划初稿。
在实现阶段内,要完成源程序的编码、编译(或汇编)和排错调试得到无语法错的程序清单,要开始编写模块开发卷宗,并且要完成用户手册、操作手册等面向用户的文件的编写工作,还要完成测试计划的编制。
在测试阶段,该程序将被全面地测试,已编制的文件将被检查审阅。一般要完成模块开发卷宗和测试分析报告,作为开发工作的结束,所生产的程序、文件以及开发工作本身将逐项被评价,最后写出项目开发总结报告。
在整个开发过程中(即前五个阶段中),开发集体要按月编写开发进度月报。
在运行和维护阶段,软件将在运行使用中不断地被维护,根据新提出的需求进行必要的而且可能的扩充和删改。
对于一项软件而言,其生存周期各阶段与各种文件编写工作的关系可见表1,其中有些文件的编写工作可能要在若干个阶段中延续进行。
表1 软件生存周期各阶段中的文件编制
阶 段
文件
可行性研究
与计划阶段
需求分
析阶段
设计
阶段
实现
阶段
测试
阶段
运行与维
护阶段
可行性研究报告
项目开发计划
软件需求说明书
数据要求说明书
测试计划
概要设计说明书
详细设计说明书
数据库设计说明书
模块开发卷宗
用户手册
操作手册
测试分析报告
开发进度月报
项目开发总结
5 文件编制中的考虑因素
文件编制是一个不断努力的工作过程。是一个从形成最初轮廓,经反复检查和修改,直到程序和文件正式交付使用的完整过程。其中每一步都要求工作人员做出很大努力。要保证文件编制的质量,要体现每个开发项目的特点,也要注意不要花太多的人力。为此,编制中要考虑如下的各项因素。
5.1 文件的读者
每一种文件都具有特定的读者。这些读者包括个人或小组、软件开发单位的成员或社会上的公众、从事软件工作的技术人员、管理人员或领导干部。他们期待着使用这些文件的内容来进行工作,例如设计、编写程序、测试、使用、维护或进行计划管理。因此,这些文件的作者必须了解自己的读者,这些文件的编写必须注意适应自己的特定读者的水平、特点和要求。
5.2 重复性
本指南第二篇中将列出的这十四种文件的内容要求中,显然存在某些重复。较明显的重复有两类。引言是每一种文件都要包含的内容,以向读者提供总的梗概。第二类明显的重复是各种文件中的说明部分,如对功能性能的说明、对输入和输出的描述、系统中包含的设备等。这是为了方便每种文件各自的读者,每种产品文件应该自成体系,尽量避免读一种文件时又不得不去参考另一种文件。当然,在每一种文件里,有关引言、说明等同其他文件相重复的部分,在行文上、在所用的术语上、在详细的程度上,还是应该有一些差别,以适应各种文件的不同读者的需要。
5.3 灵活性
鉴于软件开发是具有创造性的脑力劳动,也鉴于不同软件在规模上和复杂程度上差别极大,本指南认为在文件编制工作中应允许一定的灵活性,本指南要求贯彻分工负责的原则,这意味着:
一个软件开发单位的领导机构应该根据本单位经营承包的应用软件的专业领域和本单位的管理能力,制定一个对文件编制要求的实施规定,主要是:在不同的条件下,应该形成哪些文件?这些文件的详细程度?该开发单位的每一个项目负责人,必须认真执行这个
实施规定。这咱规定的两个例子可见本指南的附录O(参考件);
对于一个具体的应用软件项目,项目负责人应根据上述实施规定,确定一个文件编制计划,其中包括:
应该编制哪几种文件,详细程度如何?
各个文件的编制负责人和进度要求;
审查、批准的负责人和时间进度安排;
在开发时期内,各文件的维护、修改和管理的负责人,以及批准手续。
每项工作必须落实到人。
这个文件编制计划是整个开发计划的重要组成部分;
有关的设计人员则必须严格执行这个文件编制计划。
5.3.2 文件的详细程度
从同一份提纲起草的文件的篇幅大小往往不同,可以少到几页,也可以长达几百页。对于这种差别,本指南是允许的。此详细程度取决于任务的规模、复杂性和项目负责人对该软件的开发过程及运行环境所需要的详细程度的判断。
文件的扩展
当被开发的系统的规模非常大(例如源码超过一百万行)时,一种文件可以分成几卷编写,可以按其中每一个系统分别编制,也可以按内容划分成多卷,例如:
项目开发计划可能包括:质量保证计划
配置管理计划,
用户培训计划,
安装实施计划;
系统设计说明书可分写成:系统设计说明书,
子系统设计说明书;
程序设计说明书可分写成:程序设计说明书,
接口设计说明书,
版本说明;
操作手册可分写成:操作手册,
安装实施过程;
测试计划可分写成:测试计划,
测试设计说明
测试规程,
测试用例;
测试分析报告可分写成:综合测试报告,
验收测试报告;
项目开发总结报告亦可分写成项目开发总结报告和资源环境统计。
节的扩张与缩并
在有些文件中,可以使用本指南所提供的章、条标题,但在条内又存在一系列需要分别讨论的因素。本指南认为,所有的条都可以扩展,可以进一步细分,以适应实际需要。反之,如果章条中的有些细节并非必需,也可以根据实际情况缩并。此时章条的编号应相应地改变。
程序设计的表现形式
本指南对于程序的设计表现形式并未作出规定或限制,可以使用流程图的形式、判定表的形式,也可以使用其他表现形式,如程序设计语言(PDL)、问题分析图(PAD)等。
5.3.6 文件的表现形式
本指南对于文件的表现形式亦未作出了规定或限制,可以使用自然语言,也可以使用形式化语言。
文件的其他种类
当本指南中规定的文件种类尚不能满足某些应用部门的特殊的需要时,他们可以建立一些特殊的文件种类要求,例如软件质量保证计划、软件配置管理计划等,这些要求可以包含在本单位的文件编制实施规定中。
文件编制的管理工作
文件编制工作必须有管理工作的配合,才能使所编制的文件真正发挥它的作用。文件的编制工作实际上贯穿于一项软件的整个开发过程,因此,对文件的管理必须绩穿于整个开发过程。在开发过程中必须进行的管理工作是以下四条。
文件的形成
开发集体中的每个成员,尤其是项目负责人,应该认识到:文件是软件产品的必不可少的组成部分:在软件开发过程的各个阶段中,必须按照规定及时地完成各种产品文件的编写工作;必须肥在一个开发步骤中作出的决定和取得的成果及地写入文件;开发集体必须及时地对这些文件进行严格的评审;这些文件的形成是各个阶段开发工作正式完成的标志。这些文件上必须有编写者、评审者和批准者的鉴字,必须有编写、评审完成的日期和批准的日期。
文件的分类与标识
在软件开发的过程中,产生的文件是很多的,为了便于保存、查找、使用和修改,应该对文件按层次地加分类组织。一个软件开发单位应该建立一个对本单位文件的标识方法,使文件的每一页都具有明确的标识。例如可以按如下四个层次对文件加以分类和标识。
文件所属的项目的标识;
文件种类的标识;
同一种文件的不同版本号;
责号。
此外,对每种文件还应根据项目的性质,划定它们各自的保密级别,确定他们各自的发行范围。
文件的控制
在一项软件的开发过程中,随着程序的逐步形成和逐步修改,各种文件亦在不断地产生、不断地修改或补充。因此,必须加以周密的控制,以保持文件与程序产品的一致性,保持各种文件之间的一致性和文件的安全性。这咱控制表现为:
就从事一项软件开发工作的开发集体而言,应设置一位专职的文件管理人员(接口管理工程师或文件管理员);在开发集体中,应该集中保管本项目现有全部文件的主文体两套,由该文件管理人员负责保管;
每一份提交给文件管理人员的文件都必须具有编写人、审核人和批准人的签字;
这两套主文本的内容必须完全一致;其中有一套可供出借的,另一套是绝对不能出借的,以免发生万一;可出借的主文本在出借时必须办理出借手续,归还时办理注销出借手续;
开发集体中的工作人员可以根据工作的需要,在本项目的开发过程中持有一些文件,即所谓的个人文件,包括为使他完成他承担的任务所需要的文件,以及他在完成任务过程中所编制的文件;但这种个人文件必须是主文本的复制品,必须同主文本完全一致,若要修改,必须首先修改主文本;
不同开发人员所拥有的个人文件通常是主文本的各种子集;所谓子集是指把主文本的各个部分根据承担不同任务的人员或部门的工作需要加以复制、组装而成的若干个文件的集合;文件管理人员应该列出一份不同子集的分发对象的清单,按照清单及时把文件分发给有关人员或部门;
一份文件如果已经被另一份新的文件所代替,则原文件应该被注销;文件管理人员中要随时整理主文本,及时反映出文件的变化和增加情况,及时分发文件;
当一个项目的开发工作临近结束时,文件管理人员应逐个收回开发集体内每个成员的个人文件,并检查这些个人文件的内容;经验表明,这些个人文件往往可能比主文本更详细,或同主文本的内容有所不同,必须认真监督有关人员进行修改,使主文本能真正反映实际的开发结果。
文件的修改管理
在一个项目的开发过程中的任何时刻,开发集体内的所有成员都可能对开发工作的已
有成果——文件,提出进行修改的要求。提出修改要求的理由可能是各种各样的,进行修改而引起的影响可能很小,也可能会牵涉到本项目的很多方面。因此,修改活动的进行必须谨慎,必须对修改活动的进行加以管理,必须执行修改活动的规程,使整个修改活动有控制地进行。
修改活动可分如下五个步骤进行:
提议 开发集体中的任何一个成员都可以向项目负责人提出修改建议,为此应该填写一份修改建议表,说明修改的内容、所修改的文件和部位、以及修改理由;
评议 由项目负责人或项目负责人指定的人员对该修改建议进行评议,包括审查该项个性的必要性、确定这一修改的影响范围、研究进行修改的方法、步骤和实施计划;
审核 一般由项目负责人进行审核,包括核实修改的目的和要求、核实修改活动将带来的影响、审核修改活动计划是否可行;
批准 在一般情况下,批准权属于该开发单位的部门负责人;在批准时,主要是决断修改工作中各项活动的先后顺序及各自的完成日期,以保证整个开发工作按原定计划日期完成;
实施 由项目负责人按照已批准的修改活动计划,安排各项修改活动的负责人员进行修改,建立修改记录、产生新的文件以取代原有文件、最后把文件交文件管理人员归档,并分发给有关的持有者。
第二篇幅 各种文件的内容要求
本篇将对引言中提到的十四种文件提供内容要求,作为文件编制的技术标准。
可行性研究报告
可行性研究报告的编写目的是:说明该软件开发项目的实现在技术、经济和社会条件方面的可行性;评述为了合理地达到开发目标而可能选择的各种方案;说明并论证所选定的方案。
可行性研究报告的编写内容要求如下:
引言
编写目的
背景
定义
参考资料
可行性研究的前提
要求
目标
条件、假定和限制
进行可行性研究的方法
评价尺度
对现有系统的分析
数据流程和处理流程
工作负荷
费用开支
人员
设备
局限性
所建议的系统
对所建议说明
数据流程和处理流程
改进之处
影响
对设备的影响
对软件的影响
对用户单位机构的影响
对系统运行的影响
对开发的影响
对地点和设施的影响
对经费开支的影响
局限性
技术条件方面的可行性
可选择的其他系统方案
可选择的系统方案1
可选择的系统方案2
……
投资及收益分析
支出
基本建设投资
其他一次性支出
非一次性支出
收益
一次性收益
非一次性收益
不可定量的收益
收益/投资比
投资回收周期
敏感性分析
社会条件方面的可行性
法律方面的可行性
使用方面的可行性
7.<>8 结论
<>8项目开发计划
编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软、硬件条件等问题作出的安排记载下来,以便根据本计划开展和检查本项目的开发工作。编制内容要求如下:
<>8.1 引言
编写目的
背景
定义
参考资料
项目概述
工作内容
主要参加人员
产品及成果
程序
文件
服务
非移交产品
验收标准
完成项目的最迟时间期限
本计划的审查者与批准者
<>8.3 实施总计划
工作任务的分解
接口人员
进度
预算
关键问题
<>8.4 支持条件
计算机系统支持
需要用户承担的工作
需由外单位提供的条件
<>8.5 专题计划要点
9 软件需求说明书
软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。编制软件说明书的内容要求如下:
引言
编写目的
背景
定义
参考资料
9.2 任务概述
目标
用户的特点
假定与约束
9.3 需求规定
对功能的规定
对性能的规定
精度
时间我特性要求
灵活性
输入输出要求
数据管理能力要求
故障处理要求
其他专门要求
9.4 运行环境规定
设备
支持软件
接口
控制
10 数据要求说明书
数据要求说明书的编制目的是为了向整个开发时期提供关于被处理数据的描述和数据采集要求的技术信息。编制数据要求说明书的内容要求如下:
10.1 引言
编写目的
背景
定义
参考资料
10.2 数据的逻辑描述
静态数据
动态输入数据
动态输出数据
内部生成数据
数据约定
10.3 数据的采集
要求和范围
输入的承担者
处理
影响
11 概要设计说明书
概要设计说明书又可称系统设计说明书,这里所说的系统是指程序系统。编制的目的是说明对程序系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计、运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。编制概要设计说明书的内容要求如下:
11.1 引言
编写目的
背景
定义
参考资料
总体设计
需求规定
运行环境
基本设计概念和处理流程
结构
功能需求与程序的关系
人工处理过程
尚未解决的问题
接口设计
用户接口
外部接口
内部接口
运行设计
运行模块组合
运行控制
运行时间
系统数据结构设计
逻辑结构设计要点
物理结构设计要点
数据结构与程序的关系
系统出错处理设计
出错信息
补救措施
系统维护设计
12 详细设计说明书
详细设计说明书又可称程序设计说明书。编制目的是说明一个软件系统各个层次中和每一个程序(每个模块或子程序)的设计考虑,如果一个软件系统比较简单,层次很少,本文件可以不单独编写,有关内容合并入概要设计说明书。对详细设计说明书的内容要求如下:
12.1 引言
编写目的
背景
定义
参考资料
程序系统的组织结构
程序逻辑(标识符)设计说明
程序描述
功能
性能
输入项
输出项
算法
流程逻辑
接口
存储分配
注释设计
限制条件
测试计划
尚未解决的问题
程序包(标识符)设计说明
……
13 数据库设计说明书
数据库设计说明书的编制目的是对于设计中的数据库的所有标识、逻辑结构和物理结构作出具体的设计规定。其内容要求如下:
13.1引言
编写目的
背景
定义
参考资料
13.2 外部设计
标识符和状态
使用它的程序
约定
专门指导
支持软件
13.3 结构设计
概念结构设计
逻辑结构设计
物理结构设计
13.4运用设计
数据字典
安全保密设计
14 用户手册
用户手册的编制是要使用非专门术语的语言,充分地描述该软件系统所具有的功能及基本的使用方法。使用户(或潜在用户)通过本手册能够了解该软件的用途,并且能够确定在什么情况下,如何使用它。具体的内容要求如下:
14.1 引言
编写目的
背景
定义
参考资料
用途
功能
性能
精度
时间特性
灵活性
安全保密
14.3 运行环境
硬设备
支持软件
数据结构
14.4 使用过程
安装与初始化
输入
输入数据的现实背景
输入格式
输入举例
输出
输出数据的现实背景
输出格式
输出举例
文卷查询
出错处理与恢复
终端操作
15 操作手册
操作手册的编制是为了向操作人员提供该软件每一个运行的具体过程和有关的知识,包括操作方法的细节。具体的内容要求如下:
15.1 引言
编写目的
背景
定义
参考资料
15.2 软件概述
软件的结构
程序表
文卷表
安装与初始化
运行说明
运行表
运行步骤
运行1(标识符)说明
运行控制
操作信息
输入-输出文卷
输出文段
输出文段的自制
启动恢复过程
运行2(标枳符)说明
……
非常规过程
远程操作
16 模块开发卷宗
模块开发卷宗是在模块开发过程中逐步编写出来的,每完成一个模块或一组密切相关的模块的复审时编写一份,应该把所有的模块开发卷宗汇集在一起。编写的目的是记录和汇总低层次开发的进度和结果,以便于对整个模块开发工作的管理和复审,并不将的维护提供非常有用的技术信息。具体的内容要求如下:
标题
模块开发情况表(见下表)
模块开发情况表
模块标识符
模块的描述性名称
代码设计
计划开始日期
实际开始日期
计划完成日期
实际完成日期
模块测试
计划开始日期
实际开始日期
计划完成日期
实际完成日期
组装测试
计划开始日期
实际开始日期
计划完成日期
实际完成日期
代码复查日期/签字
源代码行数
预计
实际
目标模块大小
预计
实际
模块标识符
项目负责人批准日期/签字
功能说明
设计说明
源代码清单
测试说明
复审的结论
17 测试计划
这里所说的测试,主要是指整个程序系统的组装测试和测试。本文件的编制是为了提供一个对该软件的测试计划,包括对每项测试活动的内容、进度安排、设计考虑、测试数据的整理方法及评价准则。具体的内容要求如下:
引言
编写目的
背景
定义
参考资料
计划
软件说明
测试内容
测试1(标识符)
进度安排
条件
测试资料
测试培训
测试2(标识符)
……
17.3 测试设计说明
测试1(标识符)
控制
输入
输出
过程
测试2(标识符)
17.4 评价准则
范围
数据整理
尺度
1<>8 测试分析报告
测试分析报告的编写是为了把组装测试和确认测试的结果、发现及分析写成文件加以记载,具体的编写内容要求如下:
1<>8.1 引言
编写目的
背景
定义
参考资料
测试概要
测试结果及发现
测试1(标识符)
测试2(标识符)
……
对软件功能的结论
功能1(标识符)
能力
限制
功能2(标识符)
……
1<>8.5 分析摘要
能力
缺陷和限制
建议
评价
测试资源消耗
19 开发进度月报
开发进度月报的编制目的是及时向有关管理汇报项目开发的进展和情况,以便及时发现和处理开发过程中出现的问题。一般地,开发进度月报是以项目组为单位每月编写的。如果被开发的软件系统规模比较大,整个工程项目被划分给若干个分项目组承担,开发进度月报将以分项目组为单位按月编写。具体的内容要求如下:
标题
工程进度与状态
进度
状态
3 资源耗用与状态
3。1资源耗用
工时
机时
状态
经费支出与状态
经费支出
支持性费用
设备购置费
状态
下个月的工作计划
建议
20 项目开发总结报告
项目开发总结报告的编制是为了总结本项工作的经验,说明实际取得的开发结果以及对整个开发工作的各个方面的评价。具体的内容要求如下:
20.1 引言
编写目的
背景
定义
参考资料
实际开发结果
产品
主要功能和性能
基本流程
进度
费用
开发工作评价
对生产效率的评价
对产品质量的评价
对技术方法的评价
出错原因的分析
20.4 经验与教训
附录A
可行性研究报告的编写提示
(参考件)
A.1引言
A.1.1 编写目的
说明编写本可行性研究报告的目的,指出预期的读者。
A.1.2 背景
说明:
所建议开发的软件系统的名称;
本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;
该软件系统同其他系统或其他机构的基本的相互来往关系。
A.1.3 定义
列出本文件中用到的专门术语的定义和外文首字母的组词的原词组。
A.1.4 参考资料
列出用得着的参考资料,如:
本项目和经核准的计划任务书或合同、上级机关的批文;
属于本项目的其他已发表的文件;
本文件中各处引用的文件、资料,包括所需用到的软件开发标准。
列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
A.2 可行性研究的前提
说明对所建议的开发项目进行可行性研究的前提,如要求、目标、假定、限制等。
A.2.1 要求
说明对所建议开发的软件的基本要求,如:
功能:
性能;
输出 如报告、文件或数据,对每项输出要说明其特征,如用途、产生频度、接口以及分发对象;
输入 说明系统的输入,包括数据的来源、类型、数量、数据的组织以及提供的频度;
处理流程和数据流程 用图表的方式表示出最基本的数据流程和处理流程,并辅之以叙述;
在安全与保密方面的要求;
同本系统相连接的其他系统;
完成期限。
A.2.2 目标
说明所建议系统的主要开发目标,如:
人力与设备费用的减少;
处理速度的提高;
控制精度或生产能力的提高;
管理信息服务的改进;
自动决策系统的改进;
人员利用率的改进。
A.2.3 条件、假定和限制
说明对这项开发中给出的条件、假定和所受到的限制,如:
所建议系统的运行寿命的最小值;
进行系统方案选择比较的时间;
经费、投资方面的来源和限制;
法律和政策方面的限制;
硬件、软件、运行环境和开发环境方面的条件和限制;
可利用的信息和资源;
系统投入使用的最晚时间。
A.2.4 进行可行性研究的方法
说明这项可行性研究将是如何进行的,所建议的系统将是如何评价的。摘要说明所使用的基本方法和策略,如调查、加权、确定模型、建立基准点或仿真等。
A.2.5 评价尺度
说明对系统进行评价时所使用的主要尺度,如费用的多少、各项功能的优先次序、开发时间的长短及使用中的难易程度。
A.3 对现有系统的分析
这里的现有系统是指当前实际使用的系统,这个系统可能是计算机系统,也可能是一个机械系统甚至是一个人工系统。
分析现有系统的目的是为了进一步阐明建议中的开发新系统或修改现有系统的必要性。
A.3.1 处理流程和数据流程
说明现有系统的基本的处理流程和数据流程。此流程可用图表即流程图的形式表示,并加以叙述。
A.3.2 工作负荷
列出现有系统所承担的工作及工作量。
A.3.3 费用开支
列出由于运行现有系统所引起的费用开支,如人力、设备、空间、支持性服务、材料等项开支以及开支总额。
A.3.4 人员
列出为了现有系统的运行和维护所需要的人员的专业技术类别和数量
A.3.5 设备
列出现有系统所使用的各种设备。
A.3.6 局限性
列出本系统的主要的局限性,例如处理时间赶不上需要,响应不及时,数据存储能力不足,处理功能不够等。并且要说明,为什么对现有系统的改进性维护已经不能解决问题。
A.4 所建议的系统
本章将用来说明所建议系统的目标和要求将如何被满足。
A.4.1 对所建议系统的说明
概括地说明所建议系统,并说明在第A.2章中列出的那些要求将如何得到满足,说明所使用的基本方法及理论根据。
A.4.2 处理流程和数据流程
给出所建议系统的处理流程和数据流程
A.4.3 改进之处
按A.2.2条中列出的目标,逐项说明所建议系统相对于现存系统具有的改进。
A.4.4 影响
说明在建立所建议系统时,预期将带来的影响,包括:
A.4.4.1 对设备的影响
说明新提出的设备要求及对现存系统中尚可使用的设备须作出的修改。
A.4.4.2 对软件的影响
说明为了使现存的应用软件和支持软件能够同所建议系统相适应,而需要对这些软件所进行的修改和补充。
A.4.4.3 对用户单位机构的影响
说明为了建立和运行所建议系统,对用户单位机构、人员的数量和技术水平等方面的全部要求。
A.4.4.4 对系统运行过程的影响
说明所建议系统对运行过程的影响,如:
用户的操作规程;
运行中心的操作规程;
运行中心与用户之间的关系;
源数据的处理;
数据进入系统的过程;
对数据保存的要求,对数据存储、恢复的处理;
输出报告的处理过程、存储媒体和调度方法;
系统失效的后果及恢复的处理办法。
A.4.4.5 对开发的影响
说明对开发的影响,如:
为发支持所建议系统的开发,用户需进行的工作;
为了建立一个数据库所要求的数据资源;
为了开发和测验所建议系统而计算机资源;
所涉及的保密与安全问题。
A.4.4.6 对地点和设施的影响
说明对建筑物改造的要求及对环境设施的要求。
A.4.4.7 对经费开支的影响
扼要说明为了所建议系统的开发,设计和维持运行而需要的各项经费开支。
A.4.5局限性
说明所建议系统尚存在的局限性以及这些问题未能消除的原因。
A.4.6 技术条件方面的可行性
本节应说明技术条件方面的可行性,如:
在当前的限制条件下,该系统的功能目标能否达到;
利用现有的技术,该系统的功能能否实现;
对开发人员的数量和质量的要求并说明这些要求能否满足;
在规定的期限内,本系统的开发能否完成。
A.5 可选择的其他系统方案
扼要说明曾考虑过的每一种可选择绵系统方案,包括需开发的和可从国内国外直接购买的,如果没有供选择的系统方案可考虑,则说明这一点。
A.5.1 可选择的系统方案1
参照第A.4章的提纲,说明可选择的系统方案1,并说明它未被选中的理由。
A.5.2 可选择的系统方案2
按类似A.5.1条的方式说明第三产业个乃至第N个可选择的系统方案。
……
A.6 投资及效益分析
A.6.1 支出
对于所选择的方案,说明所需的费用。如果已有一个现存系统,则包括该系统继续运行期间所需的费用。
A.6.11基本建设投资
包括采购、开发和安装下列各项所需的费用,如:
房屋和设施;
ADP设备;
数据通讯设备;
环境保护设备;
安全与保密设备;
ADP操作系统的和应用的软件;
数据库管理软件。
……
A.6.1.2 其他一次性支出
包括下列各项所需的费用,如:
研究(需求的研究和设计的研究);
开发计划与测量基准的研究;
数据库的建立;
ADP软件的转换;
检查费用和技术管理性费用;
培训费、旅差费以及开发安装人员所需要的一次性支出;
人员的退休及调动费用等。
A.6.1.3 非一次性支出
列出在该系统生命期内按月或按季或按年支出的用于运行和维护的费用,包括:
设备的租金和维护费用;
软件的租金和维护费用;
数据通讯方面的租金和维护费用;
人员的工资、奖金;
房屋、空间的使用开支;
公用设施方面的开支;
保密安全方面的开支;
其他经常性的支出等。
A.6.2 收益
对所选择的方案,说明能够带来的收益,这里所说的收益,表现为开支费用的减少或避免、差错的减少、灵活性的增加、动作速度的提高和管理计划方面的改进等,包括:
A.6.2.1 一次性收益
说明能够用人民币数目表示的一次性收益,可按数量处理,用户、管理和支持等项分灯叙述,如:
开支的缩减 包括改进了的系统的运行所引起的开支缩减,如资源要求的减少,运行效率的改进,数据进入、存贮和恢复技术的改进,系统性能的可监控,软件的转换和优化,数据压缩技术的采用,处理的集中化/分布化等;
价值的增升学 包括由于一个应用系统的使用价值的增升所引起的收益,如资源利用的改进,管理和运行效率的改进以及出错率的减少等;
其他 如从多余设备出售回收的收入等。
A.6.2.2 非一次性收益
说明在整个系统生命期内由于运行所建议系统而导致的按月的、按年的能用人民币数目表示的收益,包括开支的减少和避免。
A.6.2.3 不可定量的收益
逐项列出无法直接用人民币表示的收益,如服务的改进,由操作失误引起的风险的减少,信息掌握情况的改进,组织机构给外界形象的改善等。有些不可捉摸的收益只能大概估计或进行极值估计(按最好和最差情况估计)。
A.6.3 收益/投资比
求出整个系统生命期的收益/投资比值。
A.6.4 投资回收周期
求出收益的累计数开始超过支出的累计数的时间。
A.6.5 敏感性分析
所谓敏感性分析是指一些关键性因素如系统生命期长度、系统的工作负荷量、工作负荷的类型与这些不同类型之间的合理搭配、处理速度要求、设备和软件的配置等变化时,对开支和收益的影响最灵敏的范围的估计。在敏感性分析的基础上做出的选择当然会比单一选择的结果要好一些。
A.7 社会因素方面的可行性
本章用来说明对社会因素方面的可行性分析的结果,包括:
A.7.1 法律方面的可行性
法律方面的可行性问题很多,如合同责任、侵犯专利权、侵犯版权等方面的陷井,软件人员通常是不熟悉的,有可能陷入,务必要注意研究。
A.7.2 使用方面的可行性
例如从用户单位的行政管理、工作制度等方面来看,是否能够使用该软件系统;从用户单位的工作人员的素质来看,是否能满足使用该软件系统的要求等等,都是要考虑的。
A.<>8 结论
在进行可行性研究报告的编制时,必须有一个研究的结论。结论可以是:
可以立即开始进行;
需要推迟到某些修改之后才能开始进行;
不能进行或不必进行(例如因技术不成熟、经济上不合算等)。
附录B
项目开发计划的编写提示
(参考件)
B.1 引言
B.1.1 编写目的
说明编写这份项目开发计划的目的,并指出预期的读者。
B.1.2 背景
说明:
待开发的软件系统的名称;
本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;
该软件系统同其他系统或其他机构的基本的相互来往关系。
B.1.3 定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
B.1.4 参考资料
列出用得着的参考资料,如:
本项目的经核准的计划任务书或合同、上级机关的批文;
属于本项目的其他已发表的文件;
本文件中各处引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
B.2 项目概述
B.2.1 工作内容
简要地说明在本项目的开发中须进行的各项主要工作。
B.2.2 主要参加人员
扼要说明参加本项目开发工作的主要人员的情况,包括他们的技术水平。
B.2.3 产品
B.2.3.2 程序
列出需要移交给用户的程序的名称、所用的编程语言及存储程序的媒体形式,并通过引用有关的文件,逐项说明其功能和能力。
B.2.3.2 文件
列出需移交给用户的每种文件的名称及内容要点。
B.2.3.3 服务
列出需向用户提供的各项服务,如培训安装、维护和运行支持等,应逐项规定开始日期、所提供支持的级别和服务的期限。
B.2.3.4 非移交的产品
说明开发集体应向本单位交出但不必向用户移交的产品(文件甚至某些程序)。
B.2.4 验收标准
对于上述这些应交出的产品和服务,逐项说明或引用资料说明验收标准。
B.2.5 完成项目的最迟期限
B.2.6 本计划的批准者和批准日期
B.3 实施计划
B.3.1 工作任务的分解与人员分工
对于项目开发中需完成的各项工作,从需求分析、设计、实现、测试直到维护,包括文件的编制、审批、打印、分发工作,用户培训工作,软件安装工作等,按层次进行分解,指明每项任务的负责人和参加人员。
B.3.2 接口人员
说明负责接口工作的人员及他们的职责,包括:
负责本项目同用户的接口人员;
负责本项目同本单位各管理机构,如合同计划管理部门、财务部门、质量管理部门等的接口人员;
负责本项目同各分合同负责单位的接口人员等。
B.3.3 进度
对于需求分析、设计、编码实现、测试、移交、培训和安装等工作,给出每项工作任务的预定开始日期、完成日期及所需资源,规定各项工作任务完成的先后顺序以及表征每项工作任务完成的标志性事件(即所谓“里程碑”)。
B.3.4 预算
逐项列出本开发项目所需要的劳务(包括人员的数量和时间)以及经费的预算(包括办公费、差旅费、机时费、资料费、通讯设备和专用设备的租金等)和来源。
B.3.5 关键问题
逐项列出能够影响整个项目成败的问题、技术难点和风险,指出这些问题对项目的影响。
B.4 支持条件
说明为支持本项目的开发所需要的各种条件和设施。
B.4.1 计算机系统支持
逐项列出开发中和运行时所需的计算机系统支持,包括计算机、外围设备、通讯设备、模拟器、编译(或汇编)程序、操作系统、数据管理程序包、数据存储能力和测试支持能力等,逐项给出有关到货日期、使用时间的要求。
B.4.2 需由用户承担的工作
逐项列出需要用户承担的工作和完成期限,包括需由用户提供的条件及提供时间。
B.4.3 需由外单位提供的条件
逐项列出需要外单位分合同承包者承担的工作和完成的时间,包括需要由外单位提供的条件和提供的时间。
B.5 专题计划要点
说明本项目开发中需制订的各个专题计划(如分合同计划、开发人员培训计划、测试计划、安全保密计划、质量保证计划、配置管理计划、用户培训计划、系统安装计划等)的要点。
附录C 软件需求说明书的编写提示
(参考件)
C.1 引言
C.1.1 编写目的
说明编写这份软件需求说明书的目的,指出预期的读者。
C.1.2 背景
说明:
待开发的软件系统的名称;
本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;
该软件系统同其他系统或其他机构的基本的相互来往关系。
C.1.3 定义
列出本文件中用到的专门术语的定义和外文首字母的组词的原词组。
C.1.4 参考资料
列出用得着的参考资料,如:
本项目的经核准的计划任务书或合同、上级机关的批文;
属于本项目的其他已发表的文件;
本文件中各处引用的文件、资料、包括所要用到的软件开发标准。
列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
C.2 任务概述
C.2.1 目标
叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。
C.2.2 用户的特点
列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使用频度。这些是软件设计工作的重要约束。
C.2.3 假定的约束
列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。
C.3 需求规定
C.3.1 对功能的规定
用列表的方式(例如IPO表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。
C.3.2 对性能的规定
C.3.2.1 精度
说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。
C.3.2.2 时间特性要求
说明对于该软件的时间特性要求,如对:
响应时间;
更新处理时间;
数据的转换和传送时间;
解题时间;
等的要求。
C.3.2.3 灵活性
说明对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:
操作方式上的变化;
运行环境的变化;
同其他软件的接口的变化;
精度和有效时限的变化;
计划的变化或改进。
对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。
C.3.3 输入输出要求
解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
C.3.4 数据管理能力要求
说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。
C.3.5 故障处理要求
列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障的处理的要求。
C.3.6 其他专门要求
如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。
C.4 运行环境规定
C.4.1 设备
列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括:
处理器型号及内存容量;
外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量;
输入及输出设备的型号和数量,联机或脱机;
数据通信设备的型号和数量;
功能键及其他专用硬件。
C.4.2 支持软件
列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
C.4.3 接口
说明该软件同其他软件之间的接口、数据通信协议等。
C.4.4 控制
说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。
附录D数据要求说明书的编写提示
(参考件)
D.1 引言
D.1.1 编写目的
说明编写这份数据要求说明书的目的,指出预期的读者。
D.1.2 背景
说明:
待开发软件系统的名称;
列出本项目的任务提出者、开发者、用户以及将运行该项软件的计算站(中心)或计算机网络系统。
D.1.3 定义
列出本文件中用到的专门术语的定义和外文首字母的组词的原词组。
D.1.4 参考资料
列出有关的参考资料,如:
本项目的经核准的计划任务书或合同,上级机关的批文;
属于本项目的其他已发表文件;
本文件中各处引用的文件、资料、包括所要用到的软件开发标准。列出这些文件的标题、文件的编号、发表日期和出版单位。说明能够得到这些文件资料的来源。
D.2 数据的逻辑描述
对数据进行逻辑描述时可把数据分为动态数据和静态数据。所谓静态数据,指在运行过程中主要作为参考的数据,它们在很长的一段时间内不会变化,一般不随运行而改变。所谓动态数据,包括所有城运行中要发生变化的数据以及在运行中要输入、输出的数据。进行描述时应把各数据元素逻辑地分成若干组,列出函数、源数据或对于其应用更为恰当的逻辑分组。给出每一数据元的名称(包括缩写和代码)、定义(或物理意义)度量单位、值域、格式和类型等有关信息。
D.2.1 静态数据
列出所有作为控制或参考用的静态数据元素。
D.2.2 动态输入数据
列出动态输入数据元素(包括在常规运行中或联机操作中要改变的数据)。
D.2.3 动态输出数据
列出动态输出数据元素(包括在常规运行中或联机操作中要改变的数据)
D.2.4 内部生成数据
列出向用户或开发单位中的维护调试人员提供的内部生成数据。
D.2.5 数据约定
说明对数据要求的制约。逐条列出对进一步扩充或使用方面的考虑而提出的对数据要求的限制(容量、文卷、记录和数据元的个数的最大值)。对于在设计和开发中确定是临界性的限制更要明确指出。
D.3 数据的采集
D.3.1 要求和范围
按数据元素的逻辑分组来说明数据采集的要求和范围,指明数据的采集方法,说明数据采集工作的承担者是用户还是开发者。具体的内容包括:
输入数据的来源,例如是单个操作员、数据输入站,专业的数据输入公司或它们的一个分组;
数据输入(指把数据输入处理系统内部)所用的媒体和硬设备。如果只有指定的输入点的输入才是合法的,则必须对此加以说明;
接受者 说明输出数据的接受者;
输出数据的形式和设备 列出输出数据的形式和硬设备。无论接受者将接收到的数据是打印输出,还是CRT上的一组字符、一帧图形,或一声警玲,或向开关线圈提供的一个电脉冲,或常用介质如磁盘、穿孔卡片等,均应说明;
数据值的范围 给出每一个数据元的合法值的范围;
量纲 给出数字的度量单位、增量的步长、零点的定标等。在数据是非数字量的情况下,要给出每种合法值的形式和含意;
更新和处理的频度 给出预定的对输入数据的更新和处理的频度。如果数据的输入是随机的,应给出更新处理的频度的平均值,或变化情况的某种其他度量;
D.3.2 输入的承担者
说明预定的对数据输入工作的承担者,如果输入数据同某一接口软件有关,还应说明该接口软件的来源。
D.3.3 预处理
对数据的采集和预处理过程提出专门的规定,包括适合应用的数据格式、预定的数据通信媒体和对输入的时间要求等。对于需经模拟转换或数字处理的数据量,要给出转换方法和转换因子等有关的信息,以便软件系统使用这些数据。
D.3.4影响
说明这些数据要求对设备、软件、用户、开发单位所可能产生的影响,例如要求用户单位增设某个机构等。
附录E 概要设计说明书的编写提示
(参考件)
E.1 引言
E.1.1 编写目的
说明编写这份概要设计说明书的目的,指出预期的读者。
E.1.2 背景
说明:
待开发软件系统的名称;
列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。
E.1.3 定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
E.1.4 参考资料
列出有关的参考文件,如:
本项目的经核准的计划任务书或合同,上级机关的批文;
属于本项目的其他已发表文件;
本文件中各处引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
E.2 总体设计
E.2.1 需求规定
说明对本系统的主要输入输出项目、处理的功能性能要求,详细的说明可参见附录C。
E.2.2 运行环境
简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C。
E.2.3 基本设计概念和处理流程
说明本系统的基本设计概念和处理流程,尽量使用图表的形式。
E.2.4 结构
用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制
关系。
E.2.5 功能需求与程序的关系
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
GB<>8<567-<>8<>8
程序1
程序2
……
程序m
功能需求1
(
功能需求2
(
……
功能需求n
(
(
E.2.6 人工处理过程
说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。
E.2.7 尚未解决的问题
说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。
E.3 接口设计
E.3.1 用户接口
说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。
E.3.2 外部接口
说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。
E.3.3 内部接口
说明本系统之内的各个系统元素之间的接口的安排
E.4 运行设计
E.4.1 运行模块组合
说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。
E.4.2 运行控制
说明每一种外界的运行控制的方式方法和操作步骤。
E.4.3 运行时间
说明每种运行模块组合将占用各种资源的时间。
E.5 系统数据结构设计
E.5.1 逻辑结构设计要点
给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
E.5.2 物理结构设计要点
给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。
E.5.3 数据结构与程序的关系
说明各个数据结构与访问这些数据结构的各个程序之间的对应关系,可采用如下的矩阵图的形式:
GB<>8<567-<>8<>8
程序1
程序2
……
程序m
数据结构1
(
数据结构2
(
(
……
数据结构n
(
(
E.6 系统出错处理设计
E.6.1 出错信息
用一览表的方式说明每种可能的出错或故障情况出现时,系统输出信息的形式、含义及处理方法。
E.6.2 补救措施
说明故障出现后可能采取的变通措施,包括:
a.后备技术 说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;
降效技术 说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需
结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;
恢复及再启动技术 说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
E.6.3 系统维护设计
说明为了系统维护的方便而在程序的内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。
附录F 详细设计说明书的编写提示
(参考件)
F.1 引言
F.1.1 编写目的
说明编写这份详细设计说明书的目的,指出预期的读者。
F.1.2 背景
说明:
待开发软件系统的名称;
本项目的任务提出者、开发者、用户和运行该程序系统的计算中心。
F.1.3 定义
列出本文件中用到专门术语的定义和外文首字母组词的原词组。
F.1.4 参考资料
列出有关的参考资料,如:
本项目的经核准的计划任务书或合同、上级机关的批文;
属于本项目的其它已发表的文件;
本文件中各处引用到的文件资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。
F.2 程序系统的结构
用一系列图表列出本程序系统内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。
F.3 程序1(标识符)设计说明
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
F.3.1 程序描述
给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是常驻内存还是非常驻?是否子程序?是可重入的还是不可重入的?有无覆盖要求?是顺序处理还是并发处理?……等)。
F.3.2 功能
说明该程序应具有的功能,可采用的IPO图(即输入——处理——输出图)的形式。
F.3.3 性能
说明对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。
F.3.4 输入项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式、数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
F.3.5 输出项
给出对每一个输出项的特性,包括名称、标识、数据和类型和格式,数据值的有效范围,输出的形式、数量和频度,输出图形及符号的说明、安全保密条件等等。
F.3.6 算法
详细说明本程序所选用的算法,具体的计算公式和计算步骤。
F.3.7 流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
F.3.<>8 接口
用图的形式说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序,说明参数赋值和调用方式,说明与本程序相直接关联的数据结构(数据库、数据文卷)。
F.3.9 存储分配
根据需要,说明本程序的存储分配。
F.3.10 注释设计
说明准备在本程序中安排的注释,如:
加在模块首部的注释;
加在各分枝点处的注释;
对各变量的功能、范围、缺省条件等所加的注释;
对使用的逻辑所加的注释等等。
F.3.11 限制条件
说明本程序运行中所受到的限制条件。
F.3.12 测试计划
说明对本程序进行单体测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件驱动程序及桩模块等的规定。
F.3.13 尚未解决的问题
说明在本程序的设计中尚未解决而设计者认为在软件开完成之前应解决的问题。
F.4 程序2(标识符)设计说明
用类似F.3的方式,说明第2个程序乃至第N个程序的设计考虑。
……
附录G 数据库设计说明书的编写提示
(参考件)
G.1 引言
G.1.1 编写目的
说明编写这份数据库设计说明书的目的,指出预期的读者。
G.1.2 背景
说明:
说明待开发的数据库的名称和使用此数据库的软件系统的名称;
列出该软件系统开发项目的任务提出者、用户以及将安装该软件和这个数据库的计算站(中心)。
G.1.3 定义
列出本文件中用到的专门术语的定义、外文首字母组词的原词组。
G.1.4参考资料
列出有关的参考资料:
本项目的经核准的计划任务书或合同、上级机关批文;
属于本项目的其他已发表的文件;
本文件中各处引用到的文件资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。
G.2 外部设计
G.2.1 标识符和状态
联系用途,详细说明用于唯一地标识该数据库的代码、名称或标识符,附加的描述性信息亦要给出。如果该数据库属于尚在实验中、尚在测试中或是暂时使用的,则要说明这一点及其有效时间范围。
G.2.2 使用它的程序
列出将要使用或访问此数据库的所有应用程序,对于这些应用程序的每一个,给出它的名称和版本号。
G.2.3 约定
陈述一个程序员或一个系统分析员为了能使用此数据库而需要了解的建立标号、标识的约定,例如用于标识数据库的不同版本的约定和用于标识库内各个文卷、记录、数据项的命名约定等。
G.2.4 专门指导
向准备从事 此数据库的生成、从事此数据库的测试、维护人员提供专门的指导,例如将被送入数据库的数据的格式和标准、送入数据库的操作规程和步骤,用于产生、修改、更新或使用这些数据文卷的操作指导。
如果这些指导的内容篇幅很长,列出可参阅的文件资料的名称和章条。
G.2.4 支持软件
简单介绍同此数据库直接有关的支持软件,如数据库管理系统、存储定位程序和用于装入、生成、修改、更新数据库的程序等。说明这些软件的名称、版本号和主要功能特性,如所用数据模型的类型、允许的数据容量等。列出这些支持软件的技术文件的标题、编号及来源。
G.3 结构设计
G.3.1 概念结构设计
说明本数据库将反映的现实世界中的实体、属性和它们之间的关系待的原始数据形式,包括各数据项、记录、系、文卷的标识符、定义、类型、度量单位和值域 ,建立本数据库的每一幅用户视图。
G.3.2 逻辑结构设计
说明把上述原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构,包括所
确定的关键字和属性、重新确定的记录结构和文卷结构、所建立的各个文卷之间的相互关系,形成本数据库的数据库管理员视图。
G.3.3 物理结构设计
建立系统程序员视图,包括:
数据在内存中的安排,包括对索引区、缓冲区的设计;
所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;
访问数据的方式方法。
G.4 运用设计
G.4.1 数据字典设计
对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷、模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。在本节中要说明对此数据字典设计的基本考虑。
G.4.2 安全保密设计
说明在数据库的设计中,将如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密的设计考虑。
附录H 用户手册的编写提示
(参考件)
H.1 引言
H.1.1 编写目的
说明编写这份用户手册的目的,指出预期的读者。
H.1.2 背景
说明:
这份用户手册所描述的软件系统的名称;
该软件项目的任务提出者、开发者、用户(或首批用户)及安装此软件的计算中心。
H.1.3 定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
H.1.4 参考资料
列出有用的参考资料,如:
本项目的经核准的计划任务书或合同、上级机关的批文;
属于本项目的其他已发表文件;
本文件中各处引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够取得这些文件资料的来源。
H.2 用途
H.2.1 功能
结合本软件的开发目的逐项地说明本软件所具有各项功能以及它们的极限范围。
H.2.2 性能
H.2.2.1 精度
逐项说明对各项输入数据的精度要求和本软件输出数据达到的精度,包括传输中的精度要求。
H.2.2.2 时间特性
定量地说明本软件的时间特性,如响应时间,更新处理时间,数据传输、转换时间,计算时间等。
H.2.2.3 灵活性
说明本软件所具有的灵活性,即当用户需求(如对操作方式、运行环境、结果精度、时间特性等的要求)有某些变化时,本软件的适应能力。
H.2.3 安全保密
说明本软件在安全、保密方面的设计考虑和实际达到的能力。
H.3 运行环境
H.3.1 硬设备
列出为运行本软件所要求的硬设备的最小配置,如:
处理机的型号、内存容量;
所要求的外存储器、媒体、记录格式、设备的型号和台数、联机/脱机;
I/O设备(联机/脱机?);
数据传输设备和转换设备的型号、台数。
H.3.2 支持软件
说明为运行本软件所需要的支持软件,如:
操作系统的名称、版本号;
程序语言的编译/汇编系统的名称和版本号;
数据库管理系统的名称和版本号;
其他支持软件。
H.3.3 数据结构
列出为支持本软件的运行所需要的数据库或数据文卷。
H.4 使用过程
在本章里,首先用图表的形式说明软件的功能同系统的输入源机构、输出接收机构之间的关系。
H.4.1 安装与初始化
一步一步地说明为使用本软件而需进行的安装与初始化过程,包括程序的存储形式、安装与初始化过程中的全部操作命令、系统对这些命令的反应与答复、表征安装工作完成的测试实例等。如果有的话,还应说明安装过程中所需用到的专用软件。
H.4.2 输入
规定输入数据和参量的准备要求。
H.4.2.1 输入数据的现实背景
说明输入数据的现实背景,主要是:
情况——例如人员变动、库存缺货;
情况出现的频度——例如是周期性的、随机的、一项操作状态的函数;
情况来源——例如人事部门、仓库管理部门;
输入媒体——例如键盘、穿孔卡片、磁带;
限制——出于安全、保密考虑而对访问这些输入数据所加的限制;
质量管理——例如对输入数据合理性的检验以及当输入数据有误时应采取的措施,如建立出错情况的记录等;
支配——例如如何确定输入数据是保留还是废弃,是否要分配给其他的接受者等。
H.4.2.2 输入格式
说明对初始输入数据和参量的格式要求,包括语法规则和有关约定,如:
长度——例如字符数/行,字符数/项;
格式基准——例如以左面的边沿为基准;
标号——例如标记或标识符;
顺序——例如各个数据项的次序及位置;
标点——例如用来表示行、数据组等的开始或结束而使用的空格、斜线、星号、字符组等;
词汇表——给出允许使用的字符组合的列表,禁止使用的字符组合的列表等;
省略和重复——给出用来表示输入元素可省略或重复的表示方式;
控制——给出用来表示输入开始或结束的控制信息。
H.4.2.3 输入举例
为每个完整的输入形式提供样本,包括:
控制或首部——例如用来表示输入的种类和类型的信息,标识符输入日期,正文起点和对所用编码的规定;
主体——输入数据的主体,包括数据文卷的输入表述部分;
尾部——用来表示输入结果的控制信息,累计字符总数等;
省略——指出哪些输入数据是可省略的;
重复——指出哪些输入数据是重复的。
H.4.3 输出
对每项输出作出说明。
H.4.3.1 输出数据的现实背景
说明输出数据的现实背景,主要是:
使用——这些输出数据是给谁的,用来干什么:
使用频度——例如每周的、定期的或备查阅的;
媒体——打印、CRT显示、磁带、卡片、磁盘;
质量管理——例如关于合理性检验、出错纠正的规定;
支配——例如如何确定输出数据是保留还是废弃,是否要分配给其它接受者等。
H.4.3.2 输出格式
给出对每一类输出信息的解释,主要是:
首部——如输出数据的标识符,输出日期和输出编号;
主体——输出信息的主体,包括分栏标题;
尾部——包括累计总数,结束标记。
H.4.3.3 输出举例
为每种输出类型提供例子。对例子中的每一项,说明:
定义——每项输出信息的意义和用途;
来源——是从特定的输入中抽出、从数据库文卷中取出、或从软件的计算过程中得到;
特性——输出的值域、计算单位、在什么情况下可缺省等。
H.4.4 文卷查询
这一条的编写针对具有查询能力 的软件,内容包括:同数据库查询有关的初始化、准备、及处理所需要的详细规定,说明查询的能力、方式,所使用的命令和所要求的控制规定。
H.4.5 出错处理和恢复
列出由软件产生的出错编码或条件以及应由用户承担的修改纠正工作。指出为了确保再启动和恢复的能力,用户必须遵循的处理过程。
H.4.6 终端操作
当软件是在多终端系统上工作时,应编写本条,以说明终端的配置安排、连接步释、数据和参数输入步骤以及控制规定,说明通过终端操作进行查询、检索、修改数据文卷的能力、语言、过程以及辅助性程序等。
附录I 操作手册的编写提示
(参考件)
I.1 引言
I.1.1 编写目的
说明编写这份操作手册的目的,指出预期的读者。
I.1.2 背景
说明:
这份操作手册所描述的软件系统的名称;
该软件项目的任务提出者、开发者、用户(或首批用户)及安装该软件的计算中心。
I.1.3 定义
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
I.1.4 参考资料
列出有用的参考资料,如:
本项目的经核准的计划任务书或合同、上级机关的批文;
属于本项目的其他已发表的文件;
本文件中各处引用的文件、资料,包括所列出的这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
I.2 软件概述
I.2.1 软件的结构
结合软件系统所具有的功能包括输入、处理和输出提供该软件的总体结构图表。
I.2.2 程序表
列出本系统内每个程序的标识符、编号和助记名。
I.2.3 文卷表
列出将由本系统引用、建立或更新的每个永久性文卷,说明它们各自的标识符、编号、助记名、存储媒体和存储要求。
I.3 安装与初始化
一步一步地说明为了使用本软件而需要进行的安装与初始化过程,包括程序的存载形式,安装与初始化过程中的全部操作命令,系统对这些命令的反应与答复,表征安装工作完成的测试实例等。如果有的话,还应说明安装过程中所需用到的专用软件。
I.4 运行说明
所谓一个运行是指提供一个启动控制住处后,直到计算机系统等待另一个启动信息时为止的计算机系统执行的全部过程。
I.4.1 运行表
列出每种可能的运行,摘要说明每个运行的目的,指出每个运行各自所执行的程序。
I.4.2 运行步骤
说明从一个运行转向另一个运行以完成整个系统运行的步骤。
I.4.3 运行1(标识符)说明
把运行1的有关信息,以对操作人员为最方便最有用的形式加以说明。
I.4.3.1 运行控制
列出为本运行所需要的运行流向控制的说明。
I.4.3.2 操作信息
给出为操作中心的操作人员和管理人员所需要的信息,如:
运行目的;
操作要求;
启动方法 如应请启动(由所遇到的请求信息启动)、预定时间启动、……等;
预计的运行时间和解题时间;
操作命令;
与运行有联系的其他事项。
I.4.3.3 输入-输出文卷
提供被本运行建立、更新或访问的数据文卷的有关信息,如:
文卷的标识符或标号;
记录媒体;
存留的目录表;
文卷的支配 如确定保留或废弃的准则、是否要分配给其他接受者、占用硬设备的优先级以及保密控制等有关规定。
I.4.3.4 输出文段
提供本软件输出的每一个用于提示、说明、或应答的文段(包括“菜单”)的有关信息,如:
文段的标识符;
输出媒体(屏幕显示、打印、……);
文字容量;
分发对象;
保密要求。
I.4.3.5 输出文段的复制
对由计算机产生,而后需用其他方法复制的那些文段提供有关信息,如:
文段的标识符;
复制的技术手段;
纸张或其他媒体的规格;
装订要求;
分发对象;
复制份数。
I.4.3.6 恢复过程
说明本运行故障后的恢复过程。
I.4.4 运行2(标识符)说明
用与本手册I。4。3条相类似的方式介绍另一个运行的有关信息。
……
I.5 非常规过程
提供有关应急操作或非常规操作的必要信息,如出错处理操作、向后备系统的切换操作以及其他必须向程序维护人员交待的事项和步骤。
I.6 远程操作
如果本软件能够通过远程终端控制运行,则在本章说明通过远程终端运行本软件的操
作过程。
附录J 模块开发卷宗的编写提示
(参考件)
J.1 标题
软件系统名称和标识符
模块名称和标识符(如果本卷宗包含多于一个的模块,则用这组模块的功能标识代替模块名)
程序编制员签名
卷宗的修改文本序号
修改完成日期
卷宗序号(说明本卷宗在整个卷宗中的序号)
编排日期(说明整个卷宗最近的一次编排日期)
J.2 模块开发情况表
J.3 功能说明
扼要说明本模块(或本组模块)的功能,主要是输入、要求的处理、输出。可以从系统设计说明书中的摘录。同时列出在软件需求说明书对这些功能的说明的章、条、款。
J.4 设计说明
说明本模块(或本组模块)的设计考虑,包括:
在系统设计说明书中有关对本模块(或本组模块)设计考虑的叙述,包括本模块在软件系统中所处的层次,它同其他模块的接口;
在程序设计说明书中有关对本模块(或本组模块)的设计考虑,包括本模块的算法、处理流程、牵涉到的数据文卷设计限制、驱动方式和出错信息等;
在编制目前已通过全部测试的源代码时实际使用的设计考虑。
J.5 源代码清单
要给出所产生的本模块(或本组模块)的第一份无语法错的源代码清单以及已通过全部测试的当前有效的湖代码清单。
J.6 测试说明
说明直接要经过本模块(或本组模块)的每一项测试,包括这些测试各自的标识符和编号、进行这些测试的目的、所用的配置和输入、预期的输出及实际的输出。
J.7 复审的结论
把实际测试的结果,同软件需求说明书、系统设计说明书、程序设计说明书中规定的要求进行比较和给出结论。
附录K 测试计划的编写提示
(参考件)
K.1 引言
K.1.1 编写目的
说明本测试计划的具体编写目的,指出预期的读者范围。
K.1.2 背景
说明:
本测试计划所从属的软件系统的名称;
该开发项目的历史,列出用户和执行此项目测试的计算中心,说明在开始执行本测试计划之前必须完成的各项工作。
K.1.3 定义
列出本文件中用到的专门术语的定义和外文首字母的组词的原词组。
K.1.4 参考资料
列出要用到的参考资料,如:
本项目的经核准的计划任务书或合同、上级机关的批文;
属于本项目的其他已发表的文件;
本文件中各处引用的文件、资料,包括所要用到的软件开发标准;
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
K.2 计划
K.2.1 软件说明
提供一份图表,并逐项说明被测试软件的功能、输入和输出等质量指标,作为叙述测试计划的提纲。
K.2.2 测试内容
列出组装测试和确认测试中的每一项测试内的名称标识符、这些测试的进度安排以及这些测试的内容和目的,例如模块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等。
K.2.3 测试1(标识符)
给出这项测试内容的参与单位及被测试的部位。
K.2.3.1 进度安排
给出对这项测试的进度安排,包括进行测试的日期和工作内容(如熟悉环境、培训、准备输入数据等)。
K.2.3.2 条件
陈述本项测试工作对资源的要求,包括:
设备 所用到的设备类型、数量和预定使用时间;
软件包 列出将被用来支持本项测试过程而本身又并不是被测软件的组成部分的软件,如测试驱动程序、测试监控程序、仿真程序、桩模块等等;
人员工 列出在测试工作期间预期可由用户和开发任务组提供的工作人员的人数、技术水平及有关的预备知识,包括一些特殊要求,如倒班操作和数据键入人员。
K.2.3.3 测试资料
列出本项测试所需的资料,如:
有关本项任务的文件;
被测试程序及其所在的媒体;
测试的输入和输出举例;
有关控制此项测试的方法、过程的图表。
K.2.3.4 测试培训
说明或引用资料说明为被测软件的使用提供培训的计划。规定培训的内容、受训的人员及从事培训的工作人员。
K.2.4 测试2(标识符)
用与测试计划K。2。3 条相类似的方式说明用于另一项及其后各项测试内容的测试工作计划。
……
K.3 测试设计说明
K.3.1 测试1(标识符)
说明对第一项测试内容的测试设计考虑。
K.3.1.1 控制
说明本测试的控制方式,如输入是人工、半自动或自动引入、控制操作的顺序以及结果的记录方法。
K.3.1.2 输入
说明本项测试中所使用的输入数据及选择这些输入数据的策略。
K.3.1.3 输出
说明预期的输出数据,如测试结果及可能产生的中间结果或运行信息。
K.3.1.4 过程
说明完成此项测试的一个个步骤和控制命令,包括测试的准备、初始化、中间步骤和运行结束方式。
K.3.2 测试2(标识符)
用与本测试计划K。3。1 条相类似的方式说明第2项及其后各项测试工作的设计考虑。
……
K.4 评价准则
K.4.1 范围
说明所选择的测试用例能够检查的范围及其局限性。
K.4.2 数据整理
陈述为了把测试数据加工成便于评价的适当形式,使得测试结果可以同已知结果进行比较而要用到的转换处理技术,如手工方式或自动方式;如果是用自动方式整理数据,还要说明为进行处理机而要用到的硬件、软件资源。
K.4.3 尺度
说明用来判断测试工作是否能通过的评价尺度,如合理的输出结果的类型、测试输出结果与预期输出之间的容许偏离范围、允许中断或停机的最大次数。
附录L 测试分析报告的编写提示
(参考件)
L.1 引言
L.1.1 编写目的
说明这份测试分析报告的具体编写目的,指出预期的阅读范围。
L.1.2 背景
说明:
被测试软件系统的名称;
该软件的任务提出者、开发者、用户及安装此软件的计算中心,指出测试环境与实际运行环境之间可能存在的差异对测试结果的影响。
L.1.3 定义
列出本文件中用到的专门术语的定义和外文首字母的组词的原词组。
L.1.4 参考资料
列出要用到的参考资料,如:
本项目的经核准的计划任务书或合同、上级机关的批文;
属于本项目的其他已发表的文件;
本文件中各处引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
L.2 测试概要
用表格的形式列出每一项测试的标识符及其测试内容,并指明实际进行的测试工作内容与测试计计划中预先设计的内容之间的差别,说明作出这种改变的原因。
L.3 测试结果及发现
L.3.1 测试1(标识符)
把本项测试中实际得到的动态输出(包括内部生成数据输出)结果同对于动态输出的要求进行比较,陈述其中的各项发现。
L.3.2 测试2(标识符)
用类似本报告L。3。1条的方式给第2项及其后各项测试内容的测试结果和发现。
……
L.4 对软件功能的结论
L.4.1 功能1(标识符)
L.4.1.1 能力
简述该项功能,说明为满足此项功能而设计的软件能力以及经过一项或多项测试已证实的能力。
L.4.1.2 限制
说明测试数据值的范围(包括动态数据和静态数据),列出就这项功能而言,测试期间在该软件中查出的缺陷、局限性。
L.4.2 功能2(标识符)
用类似本报告L。4。1 的方式给出第2项及其后各项的功能的测试结论。
……
L.5 分析摘要
L.5.1 能力
陈述经测试证实了的本软件的能力。如果所进行的测试是为了验证一项或几项特定性能的要求的实现,应提供这方面的测试结果与要求之间的比较,并确定测试环境与实际运行环境之间可能存在的差异对能力的测试所带来的影响。
L.5.2 缺陷和限制
陈述经测试证实的软件缺陷和限制,说明每项缺陷和限制对软件性能的影响,并说明全部测得的性能缺陷的累积影响和总影响。
L.5.3 建议
对每项缺陷提出改进建议,如:
各项修改可采用的修改方法;
各项修改的紧迫程度;
各项修改预计的工作量;
各项修改的负责人。
L.5.4 评价
说明该项软件的开发是否达到预定目标,能否交付使用。
L.6 测试资源消耗
总结测试工作的资源消耗数据,如工作人员的水平级别数量、机时消耗等。
附录M 开发进度月报的编写提示
(参考件)
M.1 标题
开发中的软件系统的名称和标识符
分项目名称的标识符
分项目负责人签名
本期月报编写人签名
本期月报的编号及所报告的年月
M.2 工程进度与状态
M.2.1 进度
列出本月内进行的各项主要活动,并且说明本月内遇到的重要事件,这里所说的重要事件是指一个开发阶段(即软件生存周期内各个阶段中的某一个,例如需求分析阶段)的开始或结束,要说明阶段名称及开始(或结束)的日期。
M.2.2 状态
说明本月的实际工作进度与计划相比,是提前了、按期完成了、或是推迟了?如果与计划不一致,说明原因及准备采取的措施。
M.3 资源耗用与状态
M.3.1 资源耗用
主要说明本月份内耗用的工时与机时。
M.3.1.1 工时
分为三类:
管理用工时节 包括在项目管理(制订计划、布置工作、惧数据、检查汇报工作等)方
面耗用的工时;
服务工时节 包括为支持项目开发所必须的服务工作及非直接的开发工作所耗用的工时;
开发用工时 要分各个开发阶段填写。
M.3.1.2 机时
说明本月内耗用的机时,以小时为单位,说明计算机系统的型号。
M.3.2 状态
说明本月内实际耗用的资源与计划相比,是超出了、相一致、还是不到计划数?如果与计划不一致,说明原因及准备采取的措施。
M.4 经费支出与状态
M.4.1 经费支出
M.4.1.1 支持性费用
列出本月内支出的支持性费用,一般可按如下七类列出,并给出本月支持费用的总和:
房租或房屋折旧费;
工资、奖金、补贴;
培训费 包括给教师的酬金及教室租金;
资料费 包括复印及购买参考资料的费用;
会议费 召集有关业务会议的费用;
旅差费;
其他费用。
M.4.1.2 设计购置费
列出本月内支出的设备购置费,一般可分如下三类:
购买软件的名称与金额;
购买硬设备的名称、型号、数量及金额;
已有硬设备的折旧费。
M.4.2 状态
说明本月内实际支出的经费与计划相比较,是超过了、相符合、还是不到计划数据?如果与计划不一致,说明原因及准备采取的措施。
M.5 下个月的工作计划
M.6 建议
本月遇到的重要问题和应引起重视的问题以及因此产生的建议。
附录N 项目开发总结报告的编写提示
(参考件)
N.1 引言
N.1.1 编写目的
说明编写这份项目开发总结报告的目的,指出预期的阅读范围。
N.1.2 背景
说明:
本项目的名称和所开发出来的软件系统的名称;
此软件的任务提出者、开发者、用户及安装此软件的计算中心。
N.1.3 定义
列出本文件中用到的专门术语的定义和外文首字母的组词的原词组。
N.1.4 参考资料
列出要用到的参考资料,如:
本项目的已核准的计划任务书或合同、上级机关的批文;
属于本项目的其他已发表的文件;
本文件中各处所引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
N.2 实际开发结果
N.2.1 产品
说明最终制成的产品,包括:
程序系统中各个程序的名字,它们之间的层次关系,以千字节为单位的各个程序的程序量、存储媒体的形式和数量;
程序系统共有哪几个版本,各自的版本号及它们之间的区别;
每个文件的名称;
所建立的每个数据库。
如果开发制订过配置管理计划,要同这个计划相比较。
N.2.2 主要功能和性能
逐项列出本软件产品所实际具有的主要功能和性能,对照可行性研究报告、项目开发计划、功能需求说明书的有关内容,说明原定的开发目标是达到了、未完全达到、或超过了。
N.2.3 基本流程
用图给出本程序系统的实际的基本的处理流程。
N.2.4 进度
列出原定计划进度与实际进度的对比,明确说明,实际进度是提前了、还是延误了,分析主要原因。
N.2.5 费用
列出原定计划费用与实际支出费用的对比,包括:
工时 ,以人月为单位,并按不同级别统计;
计算机的使用时间,区别CPU时间及其他设备时间;
物料消耗、出差费等其他支出。
明确说明,经费是超出了、还是节余了,分析其主要原因。
N.3开发工作评价
N.3.1 对生产效率的评价
给出实际生产效率,包括:
程序的平均生产效率,即每人月生产的行数;
文件的平均生产效率,即每人月生产的千字数;
并列出原订计划数作为对比。
N.3.2 对产品质量的评价
说明在测试中检查出来的程序编制中的错误发生率,即每千条指令(或语句)中的错误指令数(或语句数)。如果开发中制订过质量保证计划或配置管理计划,要同这些计划相比较。
N.3.3 对技术方法的评价
给出对在开发中所使用的技术、方法、工具、手段的评价。
N.3.4 出错原因的分析
给出对于开发中出现的错误的原因分析。
N.4 经验与教训
列出从这项开发工作中所得到的最主要的经验与教训及对今后的项目开发工作的建议。
PAGE \\# ;'Page: '#' ';
因篇幅问题不能全部显示,请点此查看更多更全内容