1、计算机软件产品开发文件编制指南 计算机软件产品开发文件编制指南 .1 引言.3 第一篇 文件的编制指导.5 1、可行性研究报告.11 2、项目开发计划.17 3、软件需求说明书.20 4、数据要求说明书.23 5、概要设计说明书.26 6、详细设计说明书.30 7、数据库设计说明书.33 8、用户手册. 35 9、操作手册. 39 10、模块开发卷宗.42 11、测试计划.44 12、测试分析报告.47 13、开发进度月报.49 14、项目开发总结报告.51 引言引言 1 目的 一项计算机软件的筹划、 研制及实现, 构成一个软件开发项目。 一个软件开发项目的进行, 一般需要 在 人力和自动化资
2、源等方面作重大的投资。为了保证项目开发的成功,最经济地花费这些投资,并且便 于运 行和维护,在开发工作的每一阶段,都需要编制二定的文件。这些文件连同计算机程序及数据一起, 构成 为计算机软件。文件是计算机软件中不可缺少的组成部分,它的作用是: a作为开发人员在一定阶段内的工作成果和结束标志; b向管理人员提供软件开发过程中的进展和情况,把软件开发过程中的一些不可见的事物转 换成 可见?quot;文字资料。以便管理人员在各个阶段检查开发计划的实施进展,使之能够判断原定目标是 否已 达到,还将继续耗用资源的种类和数量; C记录开发过程中的技术信息,便于协调以后的软件开发、使用和修改; d提供对软件
3、的有关运行、维护和培训的信息,便于管理人员、开发人员、操作人员和用户之间相 互 了解彼此的工作; e向潜在用户报导软件的功能和性能,使他们能判定该软件能否服务于自己的需要。 换言之,本指南认为:文件的编制必须适应计算机软件整个生存周期的需要。 计算机软件所包含的文件有两类:一类是开发过程中填写的各种图表,可称之为工作表格;另一类 则 是应编制的技术资料或技术管理资料,可称之为文件。本指南规定软件文件的编制形式,并提供对这 些规 定的解释。本指南的目的是使得所编制的软件文件确实能够起到软件文件应该发挥的作用。 2 范围 本指南是一份指导性文件。 本指甫建议, 在一项计算机软件的开发过程中, 一般
4、地说, 应该产生十四 种 文件。这十四种文件是: 可行性研究报告; 项目开发计划; 软件需求说明书; 数据要求说明书; 概要设计说明书; 详细设计说明书; 数据库设计说明书; 用户手册; 操作手册; 模块开发卷宗; 测试计划; 测试分析报告; 开发进度月报; 项目开发总结报告。 本指南将给出开发过程中建议产生的这十四种文件的编制指导,同时,本指南也是这十四种文件的 编 写质量的检验准则。但是,本指南并未涉及软件开发过程中如何填写工作表格的问题。 一般地说, 一个软件总是一个计算机系统 (包括硬件、 固件和软件) 的组成部分。 鉴于计算机系统的 多 样性,本指南一般不涉及整个系统开发中的文件编制
5、问题,本指南仅仅是软件开发过程中的文件编制指南。 3 文件的使用者 对于使用文件的人员而言,他们所关心的文件的种类,随他们所承担的工作而异。 管理人员:可行性研究报告,项目开发计划,模块开发卷宗,开发进度月报,项目开发总结报告; 开发人员:可行性研究报告,项目开发计划,软件需求说明书,数据要求说明书, 概要设计说明书, 详细设计说明书,数据库设计说明书,测试计划,测试分析报告; 维护人员:设计说明书,测试分析报告,模块开发卷宗; 用户:用户手册, 操作手册。 尽管本指南提出了在软件开发中文件编制的要求,但并不意味着这些文件都必须交给用户。一项软件 的用户应该得到的文件的种类由供应者与用户之间签
6、订的合同规定。 第一篇第一篇 文件的编制指导文件的编制指导 4 软件生存周期与各种文件的编制 一项计算机软件, 从出现一个构思之日起, 经过这项软件开发成功投入使用, 直到最后决定停止使 用, 并被另一一项软件代替之时止,被认为是该软件的一个生存周期。一般地说这个软件生存周期可以分成以 下六个阶段: 可行性与计划研究阶段 需求分析阶段 设计阶段 实现阶段 测试阶段 运行与维护阶段 在可行性研究与计划阶段内,要确定该软件的开发目标和总的要求,要进行可行性分析、投资一收益 分析、制订开发计划,并完成应编制的文件。 在需求分析阶段内,由系统分析人员对被设计的系统进行系统分析,确定对该软件的各项功能、
7、性能 需求和设计约束,确定对文件编制的要求,作为本阶段工作的结果,一般地说,软件需求说明书、数据要 求说明书和初步的用户手册应该编写出来。 在设计阶段内,系统设计人员和程序设计人员应该在反复理解软件需求的基础上,提出多个设计,分 析每个设计能履行的功能并进行相互比较,最后确定一个设计,包括该软件的结构、模块的划分、功能的 分配以及处理流程。在被设计系统比较复杂的情况下,设计阶段应分解成概要设计阶段和详细设计阶段两 个步骤。在一般情况下,应完成的文件包括:概要设计说明书、详细设计说明书和测试计划初稿。 在实现阶段内,要完成源程序的编码、编译(或汇编)和排错调试得到无语法错的程序清单,要开始 编写
8、模块开发卷宗,并且要完成用户手册、操作手册等面向用户的文件的编写工作,还要完成测试计划的 编制。 在测试阶段,该程序将被全面地测试,已编制的文件将被检查审阅。一般要完成模块开发卷宗和测试 分析报告,作为开发工作的结束,所生产的程序、文件以及开发工作本身将逐项被评价,最后写出项目开 发总结报告。 在整个开发过程中(即前五个阶段中),开发集体要按月编写开发进度月报。 在运行和维护阶段,软件将在运行使用中不断地被维护,根据新提出的需求进行必要而且可能的扩充 和删改。 对于一项软件而言,其生存周期各阶段与各种文件编写工作的关系可见表互,其中有些文件的编写工 作可能要在若干个阶段中延续进行。 表 1 软
9、件生存周期各阶段中的文件编制 5 文件编制中的考虑因素 文件编制是一个不断努力的工作过程。是一个从形成最初轮廓,经反复检查和修改,直到程序和文件 正式交付使用的完整过程。其中每一步都要求工作人员做出很大努力。要保证文件编制的质量,要体现每 个开发项目的特点,也要注意不要花太多的人力。为此,编制中要考虑如下各项因素。 51 文件的读者 每一种文件都具有特定的读者。这些读者包括个人或小组、软件开发单位的成员或社会上的公众、从 事软件工作的技术人员、管理人员或领导干部。他们期待着使用这些文件的内容来进行工作,例如设计、 编写程序、测试、使用、维护或进行计划管理。因此,这些文件的作者必须了解自己的读者
10、,这些文件的 编写必须注意适应自己的特定读者的水平、特点和要求。 52 重复性 本指南第二篇中将列出的这十四种文件的内容要求中,显然存在某些重复。较明显的重复有两类。引 言是每一种文件都要包含的内容,以向读者提供总的梗概。第二类明显的重复是各种文件中的说明部分, 如对功能性能的说明、对输入和输出的描述、系统中包含的设备等。这是为了方便每种文件各自的读者, 每种产品文件应该自成体系,尽量避免读一种文件时又不得不去参考另一种文件。当然,在每一种文件里, 有关引言、说明等同其他文件相重复的部分,在行文上、在所用的术语上、在详细的程度上,还是应该有 一些差别,以适应各种文件的不同读者的需要。 53 灵
11、活性 鉴于软件开发是具有创造性的脑力劳动,也鉴于不同软件在规模上和复杂程度上差别极大,本指南认 为在文件编制工作中应允许一定的灵活性。这种灵活性表现在如下各款。 531 应编制的文件种类 尽管本指南认为在一般情况下,一项软件的开发过程中,应产生的文件有十四种,然而针对一项具体 的软件开发项目,有时不必编制这么多的文件,可以把几种文件合并成一种。一般地说,当项目的规模、 复杂性和成败风险增大时,文件编制的范围、管理手续和详细程度将随之增加。反之,则可适当减少。为 了恰当地掌握这种灵活性,本指南要求贯彻分工负责的原则,这意味着: a: 一个软件开发单位的领导机构应该根据本单位经营承包的应用软件的专
12、业领域和本单位的管理能 力,制定一个对文件编制要求的实施规定,主要是:在不同的条件下,应该形成哪些文件?这些文件的详 细程度?该开发单位的每一个项目负责人,必须认真执行这个实施规定。这种规定的两个例子可叹 本指南 的附录 o(参考件); b对于一个具体的应用软件项目,项目负责人应根据上述实施规定,确定一个文件编制计划,主 中 包括: (1)应该编制哪几种文件,详细程度如何? (2)各个文件的编制负责人和进度要求; (3)审查、批准的负责人和时间进度安排; (4)在开发时期内,各文件的维护、修改和管理的负责人,以及批准手续。 每项工作必须落实到人。 这个文件编制计划是整个开发计划的重要组成部分;
13、 C有关的设计人员则必须严格执行这个文件编制计划。 532 文件的详细程度 从同一份提纲起草的文件的篇幅大小往往不同,可以少到几页,也可以长达几百页。对于这种差别本 指南是允许的。此详细程度取决于任务的规模、复杂性和项目负责人对该软件的开发过程及运行环与所需 要的详细程度的判断。 533 文件的扩展 当被开发系统的规模非常大 (例如源码超过一百万行) 时, 一种文件可以分成几卷编写, 可以按其。 每 一个系统分别编制,也可以按内容划分成多卷,例如: 项目开发计划可能包括:质量保证计划,配置管理计划, 用户培训计划, 安装实施计划; 系统设计说明书可分写成:系统设计说明书,子系统设计说明书; 程
14、序设计说明书可分写成:程序设计说明书,接口设计说明书,版本说明; 操作手册可分写成:操作手册,安装实施过程; 测试计划可分写成:测试计划,测试设计说明, 测试规程,测试用例; 测试分析报告可分写成:综合测试报告,验收测试报告; 项目开发总结报告亦可分写成项目开发总结报告和资源环境统计。 534 节的扩张与缩并 在有些文件中,可以使用本指南所提供的章、条标题,但在条内又存在一系列需要分别讨论的因素 本 指南认为,所有的条都可以扩展,可以进一步细分,以适应实际需要。反之,如果章条中的有些细节; 非 必需,也可以根据实际情况缩并。此时章条的编号应相应地改变。 535 程序设计的表现形式 本指南对于程
15、序的设计表现形式并未作出规定或限制,可以使用流程图的形式、判定表的形式,1 可 以使用其他表现形式,如程序设计语言(PDL)、问题分析图(PAD)等。 536 文件的表现形式 本指南对于文件的表现形式亦未作出规定或限制, 可以使用自然语言, 也可以使用形式化语言。5 3 7 文件的其他种类 当本指南中规定的文件种类尚不能满足某些应用部门的特殊需要时,他们可以建立一些特殊的文件种 类要求,例如软件质量保证计划、软件配置管理计划等,这些要求可以包含在本单位的文件编制实施规定 中。 6 文件编制的管理工作 文件编制工作必须有管理工作的配合,才能使所编制的文件真正发挥它的作用。文件的编制工作实际 上贯
16、穿于一项软件的整个开发过程,因此,对文件的管理必须贯穿于整个开发过程。在开发过程中必须进 行的管理工作是以下四条。 61 文件的形成 开发集体中的每个成员,尤其是项目负责人,应该认识到:文件是软件产品的必不可少的组成部分; 在软件开发过程的各个阶段中,必须按照规定及时地完成各种产品文件的编写工作;必须把在一个开发步 骤中作出的决定和取得的结果及时地写入文件;开发集体必须及时地对这些文件进行严格的评审;这些文 件的形成是各个阶段开发工作正式完成的标志。这些文件上必须有编写者、评审者和批准者的签字,必须 有编写、评审完成的日期和批准的日期。 62 文件的分类与标识 在软件开发的过程中,产生的文件是
17、很多的,为了便于保存、查找、使用和修改,应该对文件按层次 地加以分类组织。一个软件开发单位应该建立一个对本单位文件的标识方法,使文件的每一页都具有明确 的标识。例如可以按如下四个层次对文件加以分类和标识。 a文件所属的项目的标识; b文件种类的标识; C同一种文件的不同版本号; d页号。 此外,对每种文件还应根据项目的性质,划定它们各自的保密级别,确定他们各自的发行范围。 63 文件的控制 在一项软件的开发过程中,随着程序的逐步形成和逐步修改,各种文件亦在不断地产生、不断地修改 或补充。因此,必须加以周密的控制,以保持文件与程序产品的一致性,保持各种文件之间的一致性和文 件的安全性。这种控制表
18、现为: a就从事一项软件开发工作的开发集体而言,应设置一位专职的文件管理人员(接口管理工程师或文 件管理员);在开发集体中,应该集中保管本项目现有全部文件的主文本两套,由该文件管理人员负责保 管; b每一份提交给文件管理人员的文件都必须具有编写人、审核人和批准人的签字; C这两套主文本的内容必须完全一致;其中有一套是可供出借的,另一套是绝对不能出借的,以免 发生万一;可出借的主文本在出借时必须办理出借手续,归还时办理注销出借手续; d开发集体中的工作人员可以根据工作的需要,在本项目的开发过程中持有一些文件,即所谓个人文 件,包括为使他完成他承担的任务所需要的文件,以及他在完成任务过程中所编制的
19、文件;但这种个人文 件必须是主文本的复制品,必须同主文本完全一致,若要修改,必须首先修改主文本; e不同开发人员所拥有的个人文件通常是主文本的各种子集;所谓子集是指把主文本的各个部分根据 承担不同任务的人员或部门的工作需要加以复制、组装而成的若干个文件的集合;文件管理人员。应该列 出一份不同子集的分发对象的清单,按照清单及时把文件分发给有关人员或部门; f一份文件如果已经被另一份新的文件所代替,则原文件应该被注销;文件管理人中要随时整理主文 本,及时反映出文件的变化和增加情况,及时分发文件; g当一个项目的开发工作临近结束时,文件管理人员应逐个收回开发集体内每个成员的个人文 件, 并检查这些个
20、人文件的内容;经验表明,这些个人文件往往可能比主文本更详细,或同主文本的内容 有所 不同,必须认真监督有关人员进行修改,使主文本能真正反映实际的开发结果。 64 文件的修改管理 在一个项目的开发过程中的任何时刻,开发集体内的所有成员都可能对开发工作的已有成果- 文件, 提出进行修改的要求。提出修改要求的理由可能是各种各样的,进行修改而引起的影响可能很小, 也可能 会牵涉到本项目的很多方面。因此,修改活动的进行必须谨慎,必须对修改活动的进行加以管理, 必须执 行修改活动的规程,使整个修改活动有控制地进行。 修改活动可分如下五个步骤进行: a提议开发集体中的任何一个成员都可以向项目负责人提出修改建
21、议,为此应该填写一份修 改建议 表,说明修改的内容、所修改的文件和部位、以及修改理由; b评议由项目负责人或项目负责人指定的人员对该修改建议进行评议,包括审查该项修改的 必要性、 确定这一修改的影响范围、研究进行修改的方法、步骤和实施计划; c审核一般由项目负责人进行审核,包括核实修改的自的和要求、核实修改活动将带来的影 响、审 核修改活动计划是否可行; d批准在一般情况下,批准权属于该开发单位的部门负责人;在批准时,主要是决断修改工作 中各 项活动的先后顺序及各自的完成日期,以保证整个开发工作按原定计划日期完成; e实施由项目负责人按照已批准的修改活动计划,安排各项修改活动的负责人员进行修改
22、,建 立修 改记录、产生新的文件以取代原有文件、最后把文件交文件管理人员归档,并分发给有关的持有者。 1、可行性研究报告、可行性研究报告 可行性研究报告的编写目的是:说明该软件开发项目的实现在技术、经济和社会条件方面的可行 性;评述 为了合理地达到开发目标而可能选择的各种方案;说明并论证所选定的方案。 可行性研究报告的编写内容要求如下: 1引言 11 编写目的 说明编写本可行性研究报告的目的,指出预期的读者。 12 背景 说明: a所建议开发的软件系统的名称; b本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络; C该软件系统同其他系统或其他机构的基本的相互来往关系。 13
23、定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 14 参考资料 列出用得着的参考资料,如: a本项目的经核准的计划任务书或合同、上级机关的批文; b属于本项目的其他已发表的文件; C本文件中各处引用的文件、资料,包括所需用到的软件开发标准。| 列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2可行性研究的前提 说明对所建议的开发项目进行可行性研究的前提,如要求、目标、假定、限制等。 21 要求 说明对所建议开发的软件的基本要求,如: a功能; b性能; C输出如报告、文件或数据,对每项输出要说明其特征,如用途、产生频度、接口以及分发对象
24、; d输入说明系统的输入,包括数据的来源、类型、数量、数据的组织以及提供的频度; e处理流程和数据流程用图表的方式表示出最基本的数据流程和处理流程,并辅之以叙述; f在安全与保密方面的要求; g同本系统相连接的其他系统; h完成期限。 22 目标 说明所建议系统的主要开发目标,如: a人力与设备费用的减少; b处理速度的提高; C控制精度或生产能力的提高; d管理信息服务的改进; e自动决策系统的改进; f人员利用率的改进。 23 条件、假定和限制 说明对这项开发中给出的条件、假定和所受到的限制,如: a所建议系统的运行寿命的最小值; b进行系统方案选择比较的时间; c经费、投资方面的来源和限
25、制; d法律和政策方面的限制; e硬件、软件、运行环境和开发环境方面的条件和限制; f可利用的信息和资源; g系统投入使用的最晚时间。 24 进行可行性研究的方法 说明这项可行性研究将是如何进行的,所建议的系统将是如何评价的。摘要说明所使用的基本方法 和 策略,如调查、加权、确定模型、建立基准点或仿真等。 25 评价尺度 说明对系统进行评价时所使用的主要尺度,如费用的多少、各项功能的优先次序、开发时间的长短 及 使用中的难易程度。 3对现有系统的分析 这里的现有系统是指当前实际使用的系统,这个系统可能是计算机系统,也可能是一个机械系统甚 至 是一个人工系统。 分析现有系统的目的是为了进一步阐明
26、建议中的开发新系统或修改现有系统的必要性。 31 处理流程和数据流程 说明现有系统的基本的处理流程和数据流程。此流程可用图表即流程图的形式表示,并加以叙述。 32 工作负荷 列出现有系统所承担的工作及工作量。 33 费用开支 列出由于运行现有系统所引起的费用开支, 如人力、 设备、 空间、 支持性服务、 材料等项开支以及开 支 总额。 34 人员 列出为了现有系统的运行和维护所需要的人员的专业技术类别和数量。 35 设备 列出现有系统所使用的各种设备。 36 局限性 列出本系统的主要的局限性, 例如处理时间赶不上需要, 响应不及时, 数据存储能力不足, 处理功能 不 够等。并且要说明,为什么对
27、现有系统的改进性维护已经不能解决问题。 4所建议的系统 本章将用来说明所建议系统的目标和要求将如何被满足。 41 对所建议系统的说明 概括地说明所建议系统, 并说明在第 A 2 章中列出的那些要求将如何得到满足, 说明所使用的基本 方 法及理论根据。 42 处理流程和数据流程 给出所建议系统的处理流程和数据流程。 43 改进之处 按 22 条中列出的目标,逐项说明所建议系统相对于现存系统具有的改进。 44 影响 说明在建立所建议系统时,预期将带来的影响,包括: 441 对设备的影响 说明新提出的设备要求及对现存系统中尚可使用的设备须作出的修改。 442 对软件的影响 说明为了使现存的应用软件和
28、支持软件能够同所建议系统相适应。 而需要对这些软件所进行的修 改和 补充。 443 对用户单位机构的影响 说明为了建立和运行所建议系统,对用户单位机构、人员的数量和技术水平等方面的全部要求。 4 4 4 对系统运行过程的影响 说明所建议系统对运行过程的影响,如: a用户的操作规程; b运行中心的操作规程; C运行中心与用户之间的关系; d源数据的处理; e数据进入系统的过程; f对数据保存的要求,对数据存储、恢复的处理; g输出报告的处理过程、存储媒体和调度方法; h系统失效的后果及恢复的处理办法。 445 对开发的影响 说明对开发的影响,如: a为了支持所建议系统的开发,用户需进行的工作;
29、b为了建立一个数据库所要求的数据资源; C为了开发和测验所建议系统而需要的计算机资源; d所涉及的保密与安全问题。 446 对地点和设施的影响 说明对建筑物改造的要求及对环境设施的要求。 447 对经费开支的影响 扼要说明为了所建议系统的开发,设计和维持运行而需要的各项经费开支。 45 局限性 说明所建议系统尚存在的局限性以及这些问题未能消除的原因。 46 技术条件方面的可行性 本节应说明技术条件方面的可行性,如: a在当前的限制条件下,该系统的功能目标能否达到; b利用现有的技术,该系统的功能能否实现; C对开发人员的数量和质量的要求并说明这些要求能否满足; d在规定的期限内,本系统的开发能
30、否完成。 5可选择的其他系统方案 扼要说明曾考虑过的每一种可选择的系统方案,包括需开发的和可从国内国外直接购买的,如果没 有 供选择的系统方案可考虑,则说明这一点。 51 可选择的系统方案 1 参照第 4 章的提纲,说明可选择的系统方案 1,并说明它未被选中的理由。 52 可选择的系统方案 2 按类似 5 1 条的方式说明第 2 个乃至第。个可选择的系统方案。 6投资及效益分析 61 支出 对于所选择的方案,说明所需的费用。如果已有一个现存系统,则包括该系统继续运行期间所需的费 用。 611 基本建设投资 包括采购、开发和安装下列各项所需的费用,如: a房屋和设施; b A DP 设备; C数
31、据通讯设备; d环境保护设备; e安全与保密设备; fADP 操作系统的和应用的软件; g数据库管理软件。 612 其他一次性支出 包括下列各项所需的费用,如: a研究(需求的研究和设计的研究); b开发计划与测量基准的研究; C数据库的建立; dADP 软件的转换; e检查费用和技术管理性费用; f培训费、旅差费以及开发安装人员所需要的一次性支出; g人员的退休及调动费用等。 613 非一次性支出 列出在该系统生命期内按月或按季或按年支出的用于运行和维护的费用,包括: a设备的租金和维护费用; b 软件的租金和维护费用; C数据通讯方面的租金和维护费用; d人员的工资、奖金; e房屋、空间的
32、使用开支; f公用设施方面的开支; g保密安全方面的开支; h其他经常性的支出等。 62 收益 对于所选择的方案,说明能够带来的收益,这里所说的收益,表现为开支费用的减少或避免、差错的 减少、灵活性的增加、动作速度的提高和管理计划方面的改进等,包括; 621 一次性收益 说明能够用人民币数目表示的一次性收益,可按数据处理、用户、管理和支持等项分类叙述,如: a开支的缩减包括改进了的系统的运行所引起的开支缩减,如资源要求的减少,运行效率的改进,数 据进入、存贮和恢复技术的改进,系统性能的可监控,软件的转换和优化,数据压缩技术的采用,处理的 集中化分布化等; b价值的增升包括由于一个应用系统的使用
33、价值的增升所引起的收益,如资源利用的改进,管理和运 行效率的改进以及出错率的减少等; C其他如从多余设备出售回收的收入等。 622 非一次性收益 说明在整个系统生命期内由于运行所建议系统而导致的按月的、按年的能用人民币数目表示的收益, 包括开支的减少和避免。 623 不可定量的收益 逐项列出无法直接用人民币表示的收益,如服务的改进,由操作失误引起的风险的减少,信息掌握情 况的改进,组织机构给外界形象的改善等。有些不可捉摸的收益只能大概估计或进行极值估计(按最好和 最差情况估计)。 63 收益投资比 求出整个系统生命期的收益投资比值。 64 投资回收周期 求出收益的累计数开始超过支出的累计数的时
34、间。 65 敏感性分析 所谓敏感性分析是指一些关键性因素如系统生命期长度、系统的工作负荷量、工作负荷的类型与这些 不同类型之间的合理搭配、处理速度要求、设备和软件的配置等变化时,对开支和收益的影响最灵敏的范 围的估计。在敏感性分析的基础上做出的选择当然会比单一选择的结果要好一些。 7社会因素方面的可行性 本章用来说明对社会因素方面的可行性分析的结果,包括: 71 法律方面的可行性 法律方面的可行性问题很多,如合同责任、侵犯专利权、侵犯版权等方面的陷井,软件人员通常是不 熟悉的,有可能陷入,务必要注意研究。 72 使用方面的可行性 例如从用户单位的行政管理、工作制度等方面来看,是否能够使用该软件
35、系统;从用户单位的工作人 员的素质来看,是否能满足使用该软件系统的要求等等,都是要考虑的。 8结论 在进行可行性研究报告的编制时,必须有一个研究的结论。结论可以是: a可以立即开始进行; b需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行; c需要对开发目标进行某些修改之后才能开始进行; d不能进行或不必进行(例如因技术不成熟、经济上不合算等)。 2、项目开发计划、项目开发计划 编制项目开发计划的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度、 所需经 费预算、所需软、硬件条件等问题作出的安排记载下来,以便根据本计划开展和检查本项目的开 发工作。 编制内容要
36、求如下: 1引言 11 编写目的 说明编写这份项目开发计划的目的,并指出预期的读者。 12 背景 说明: a待开发的软件系统的名称; b本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络; C该软件系统同其他系统或其他机构的基本的相互来往关系。 13 定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 14 参考资料 列出用得着的参考资料,如: a本项目的经核准的计划任务书或合同、上级机关的批文; b属于本项目的其他已发表的文件; C本文件中各处引用的文件、资料,包括所要用到的软件开发标准。 列出这些文件资料的标题、文 件编号、发表日期和出版单位,说明能够得到这些
37、文件资料的来源。 2项目概述 21 工作内容 简要地说明在本项目的开发中须进行的各项主要工作。 22 主要参加人员 扼要说明参加本项目开发工作的主要人员的情况,包括他们的技术水平。 23 产品 231 程序 列出需移交给用户的程序的名称、所用的编程语言及存储程序的媒体形式,并通过引用有关文件, 逐 项说明其功能和能力。 232 文件 列出需移交给用户的每种文件的名称及内容要点。 233 服务 列出需向用户提供的各项服务, 如培训安装、 维护和运行支持等, 应逐项规定开始日期、 所提供支持 的 级别和服务的期限。 234 非移交的产品 说明开发集体应向本单位交出但不必向用户移交的产品(文件甚至某
38、些程序)。 24 验收标准 对于上述这些应交出的产品和服务,逐项说明或引用资料说明验收标准。 25 完成项目的员迟用限 26 本计划的批准者和批准日期 3实施计划 31 工作任务的分门与人员分工 对于项目开发中需完成的各项工作,从需求分析、设计、实现、测试直到维护,包括文件的编制、审 批、打印、分发工作,用户培训工作,软件安装工作等,按层次进行分解,指明每项任务的负责人和参加 人员。 32 接口人员 说明负责接口工作的人员及他们的职责,包括: a 负责本项目同用户的接口人员; b负责本项目同本单位各管理机构,如合同计划管理部门、财务部门、质量管理部门等的接口人员; c负责本项目同各分合同负责单
39、位的接口人员等。 33 进度 对于需求分析、设计、编码实现、测试、移交、培训和安装等工作,给出每项工作任务的预。定开始 日期、完成日期及所需资源,规定各项工作任务完成的先后顺序以及表征每项工作任务完成的标志性事件 (即所谓里程碑)。 34 预算 逐项列出本开发项目所需要的劳务(包括人员的数量和时间)以及经费的预算(包括办公费、差旅费、 机时费、资料费、通讯设备和专用设备的租金等)和来源。 35 关键问题 逐项列出能够影响整个项目成败的关键问题、技术难点和风险,指出这些问题对项目的影响。 4支持条件 说明为支持本项目的开发所需要的各种条件和设施。 41 计算机系统支持 逐项列出开发中和运行时所需
40、的计算机系统支持, 包括计算机、 外围设备、 通讯设备、 模拟器、 编译(或 汇编)程序、操作系统、数据管理程序包、数据存储能力和测试支持能力等,逐项给出有关到货日期、 使 用时间的要求。 42 需由用户承担的工作 逐项列出需要用户承担的工作和完成期限。包括需由用户提供的条件及提供时间。 43 由外单位提供的条件 逐项列出需要外单位分合同承包者承担的工作和完成的时间, 包括需要由外单位提供的条件和提 供的 时间。 5专题计划要点 说明本项目开发中需制订的各个专题计划 (如分合同计划、 开发人员培训计划、 测试计划、 安全保密 计 划、质量保证计划、配置管理计划、用户培训计划、系统安装计划等)的
41、要点。 3、软件需求说明书、软件需求说明书 软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的 理解, 使之成为整个开发工作的基础。编制软件需求说明书的内容要求如下: 1引言 11 编写目的 说明编写这份软件需求说明书的目的,指出预期的读者。 12 背景 说明: a待开发的软件系统的名称; b本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络; C该软件系统同其他系统或其他机构的基本的相互来往关系。 13 定义 列出本文件中用到的专门术语的定义和外文首字母组词的原词组。 14 参考资料 列出用得着的参考资料,如: a本项目的经核准的计划任务书或合同、
42、上级机关的批文; b属于本项目的其他已发表的文件; c本文件中各处引用的文件、资料、包括所要用到的软件开发标准。 列出这些文件资 料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。 2任务概述 21 目标 叙述该项软件开发的意图、 应用目标、 作用范围以及其他应向读者说明的有关该软件开 发的背景材料。 解释被开发软件与其他有关软件之间的关系。 如果本软件产品是一项独立的 软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成 部分, 则应说明本产品与该系统中其他各组成部分之间的关系, 为此可使用一张方框图来说 明该系统的组成和本产品同其他各部分的
43、联系和接口。| 22 用户的特点 列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长, 以及本软件的预期使甩频度。这些是软件设计工作的重要约束 23 假定和约束 列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。 3需求规定 31 对功能的规定 用列表的方式(例如 IPO 表即输入、处理、输出表的形式),逐项定量和定性地叙述 对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支 持的终端数和应支持的并行操作的用户数。 32 对性能的规定 321 精度 说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。 322 时间
44、特性要求 说明对于该软件的时间特性要求,如对: a响应时间; b更新处理时间; c数据的转换和传送时间; d解题时间; 等的要求。 323 灵活性 说明对该软件的灵活性的要求, 即当需求发生某些变化时, 该软件对这些变化的适应能 力,如: a操作方式上的变化; b运行环境的变化; c同其他软件的接口的变化; d精度和有效时限的变化; e计划的变化或改进。 对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。 33 输人输出要求 解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数 据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态 输
45、出及异常输出)以及图形或显示报告的描述。 34 数据管理能力要求 说明需要管理的文卷和记录的个数、 表和文卷的大小规模, 要按可预见的增长对数据及 其分量的存储要求作出估算。 35 故障处理要求 列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。 36 其他专门要求 如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、 可靠性、运行环境可转换性的特殊要求等。 4运行环境规定 41 设备 列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能,包括: a处理器型号及内存容量; b外存容量、联机或脱机、媒体及其存储格式,设备的型号及数量; c输
46、入及输出设备的型号和数量,联机或脱机; d数据通信设备的型号和数量; e功能键及其他专用硬件 42 支持软件 列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。 43 接口 说明该软件同其他软件之间的接口、数据通信协议等。 44 控制 说明控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。 4、数据要求说明书、数据要求说明书 1引言 11 编写目的 说明编写这份数据要求说明书的目的,指出预期的读者。 12 背景 说明: a待开发软件系统的名称; b列出本项目的任务提出者、开发者、用户以及将运行该项软件的计算站(中心)或计算机网络系统。 13 定义 列出本文件中用
47、到的专门术语的定义和外文首字母组词的原词组。 14 参考资料 列出有关的参考资料,如: a本项目的经核准的计划任务书或合同,上级机关的批文; b属于本项目的其他已发表文件; c本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、 发表日期和出版单位。说明能够得到这些文件资料的来源。 2数据的逻辑描述 对数据进行逻辑描述时可把数据分为动态数据和静态数据。所谓静态数据,指在运行过程中主要作 为 参考的数据,它们在很长的一段时间内不会变化,一般不随运行而改变。所谓动态数据包括所有在运 行 中要发生变化的数据以及在运行中要输入、输出的数据。进行描述时应把各数据元素逻
48、辑地分成若干 组, 列如函数、源数据或对于其应用更为恰当的逻辑分组。给出每一数据元的名称(包括缩写和代码)、定 义 (或物理意义)度量单位、值域、格式和类型等有关信息。 21 静态数据 列出所有作为控制或参考用的静态数据元素。 22 动态输人数据 列出动态输入数据元素(包括在常规运行中或联机操作中要改变的数据)。 23 动态输出数据 列出动态输出数据元素(包括在常规运行中或联机操作中要改变的数据)。 24 内部生成数据 列出向用户或开发单位中的维护调试人员提供的内部生成数据。 25 数据约定 说明对数据要求的制约。 逐条列出对进一步扩充或使用方面的考虑而提出的对数据要求的限制 (容 量、 文卷
49、、记录和数据元的个数的最大值)。对于在设计和开发中确定是临界性的限制更要明确指出。 3数据的采集 31 要求和范围 按数据元的逻辑分组来说明数据采集的要求和范围,指明数据的采集方法,说明数据采集工作的承担 者是用户还是开发者。具体的内容包括: a输入数据的来源,例如是单个操作员、数据输入站,专业的数据输入公司或它们的一个分组; b数据输入(指把数据输入处理系统内部)所用的媒体和硬设备。如果只有指定的输入点的输入才是 合法的,则必须对此加以说明; c接受者说明输出数据的接受者; d输出数据的形式和设备列出输出数据的形式和硬设备。无论接受者将接收到的数据是打印输出,还 是 CRT 上的一组字符、一
50、帧图形,或一声警铃,或向开关线圈提供的一个电脉冲,或常用介质如磁盘、磁 带、穿孔卡片等,均应具体说明; e数据值的范围给出每一个数据元的合法值的范围; f量纲给出数字的度量单位、增量的步长、零点的定标等。在数据是非数字量的情况下,要给出每一 种合法值的形式和含意; g更新和处理的频度给出预定的对输入数据的更新和处理的频度。如果数据的输入是随机的,应给出 更新处理的频度的平均值,或变化情况的某种其他度量。 32 输人的承担者 说明预定的对数据输入工作的承担者。如果输入数据同某一接口软件有关,还应说明该接口软件的来 源。 33 预处理 对数据的采集和预处理过程提出专门的规定,包括适合应用的数据格式