1、附件:计算机软件产品开发文件编制指南(GB8567-88)中华人民共和国国家标准UDC681.3计算机软件产品开发文件编制指南GB8567-88Guidelinesforcomputersoftwareproductdevelopmentdocumentation目的范围文件的使用者软件生存周期与各种文件的编制文件编制中的考虑因素文件编制的管理工作可行性研究报告工程开发方案软件需求说明书数据要求说明书概要设计说明书详细设计说明书用户手册操作手册模块开发卷宗测试方案测试分析报告开发进度月报工程开发总结报告(附件A、B、C、D、E、F、G、H、I、J、K、L、M、N)国家技术监督局1989-07-
2、04批准1990-01-01实施引言1、目的一项计算机软件的筹划、研制及实现,构成一个软件开发工程。一个软件开发工程的进行,一般需要在人力和自动化资源等方面作重大的投资。为了保证工程开发的成功,最经济地花费这些投资,并且便于运行和维护,在开发工作的每一阶段,都需要编制二定的文件。这些文件连同计算机程序及数据一起,构成为计算机软件。文件是计算机软件中不可缺少的组成局部,它的作用是:a.作为开发人员在一定阶段内的工作成果和结束标志;b.向管理人员提供软件开发过程中的进展和情况,把软件开发过程中的一些“不可见的事物转换成“可见的文字资料。以便管理人员在各个阶段检查开发方案的实施进展,使之能够判断原定
3、目标是否已到达,还将继续耗用资源的种类和数量;C.记录开发过程中的技术信息,便于协调以后的软件开发、使用和修改;d.提供对软件的有关运行、维护和培训的信息,便于管理人员、开发人员、操作人员和用户之间相互了解彼此的工作;e.向潜在用户报导软件的功能和性能,使他们能判定该软件能否效劳于自己的需要。换言之,本指南认为:文件的编制必须适应计算机软件整个生存周期的需要。计算机软件所包含的文件有两类:一类是开发过程中填写的各种图表,可称之为工作表格;另一类则是应编制的技术资料或技术管理资料,可称之为文件。本指南规定软件文件的编制形式,并提供对这些规定的解释。本指南的目的是使得所编制的软件文件确实能够起到软
4、件文件应该发挥的作用。2、范围本指南是一份指导性文件。本指甫建议,在一项计算机软件的开发过程中,一般地说,应该产生十四种文件。这十四种文件是:可行性研究报告;工程开发方案;软件需求说明书;数据要求说明书;概要设计说明书;详细设计说明书;数据库设计说明书;用户手册;操作手册;模块开发卷宗;测试方案;测试分析报告;开发进度月报;工程开发总结报告。本指南将给出开发过程中建议产生的这十四种文件的编制指导,同时,本指南也是这十四种文件的编写质量的检验准则。但是,本指南并未涉及软件开发过程中如何填写工作表格的问题。一般地说,一个软件总是一个计算机系统(包括硬件、固件和软件)的组成局部。鉴于计算机系统的多样
5、性,本指南一般不涉及整个系统开发中的文件编制问题,本指南仅仅是软件开发过程中的文件编制指南。3、文件的使用者对于使用文件的人员而言,他们所关心的文件的种类,随他们所承当的工作而异。管理人员:可行性研究报告,工程开发方案,模块开发卷宗,开发进度月报,工程开发总结报告;开发人员:可行性研究报告,工程开发方案,软件需求说明书,数据要求说明书,概要设计说明书,详细设计说明书,数据库设计说明书,测试方案,测试分析报告;维护人员:设计说明书,测试分析报告,模块开发卷宗;用户:用户手册,操作手册。尽管本指南提出了在软件开发中文件编制的要求,但并不意味着这些文件都必须交给用户。一项软件的用户应该得到的文件的种
6、类由供给者与用户之间签订的合同规定。第一篇文件的编制指导4、软件生存周期与各种文件的编制一项计算机软件,从出现一个构思之日起,经过这项软件开发成功投入使用,直到最后决定停止使用,并被另一一项软件代替之时止,被认为是该软件的一个生存周期。一般地说这个软件生存周期可以分成以下六个阶段:可行性与方案研究阶段需求分析阶段设计阶段实现阶段测试阶段运行与维护阶段在可行性研究与方案阶段内,要确定该软件的开发目标和总的要求,要进行可行性分析、投资一收益分析、制订开发方案,并完成应编制的文件。在需求分析阶段内,由系统分析人员对被设计的系统进行系统分析,确定对该软件的各项功能、性能需求和设计约束,确定对文件编制的
7、要求,作为本阶段工作的结果,一般地说,软件需求说明书、数据要求说明书和初步的用户手册应该编写出来。在设计阶段内,系统设计人员和程序设计人员应该在反复理解软件需求的基础上,提出多个设计,分析每个设计能履行的功能并进行相互比较,最后确定一个设计,包括该软件的结构、模块的划分、功能的分配以及处理流程。在被设计系统比较复杂的情况下,设计阶段应分解成概要设计阶段和详细设计阶段两个步骤。在一般情况下,应完成的文件包括:概要设计说明书、详细设计说明书和测试方案初稿。在实现阶段内,要完成源程序的编码、编译(或汇编)和排错调试得到无语法错的程序清单,要开始编写模块开发卷宗,并且要完成用户手册、操作手册等面向用户
8、的文件的编写工作,还要完成测试方案的编制。在测试阶段,该程序将被全面地测试,已编制的文件将被检查审阅。一般要完成模块开发卷宗和测试分析报告,作为开发工作的结束,所生产的程序、文件以及开发工作本身将逐项被评价,最后写出工程开发总结报告。在整个开发过程中(即前五个阶段中),开发集体要按月编写开发进度月报。在运行和维护阶段,软件将在运行使用中不断地被维护,根据新提出的需求进行必要而且可能的扩充和删改。对于一项软件而言,其生存周期各阶段与各种文件编写工作的关系可见表互,其中有些文件的编写工作可能要在若干个阶段中延续进行。表1软件生存周期各阶段中的文件编制阶段文件可行性研究与计划阶段需求分析阶段Is测试
9、阶段运行与维护阶段数据需求说明书项目开发计划软件需求说明书数据需求说明书测试计划概要设计说明书详细设计说明书数据库设计说明书模块开发卷宗用户手册操作手册测试分析报告开发进度月报项目开发总结5文件编制中的考虑因素文件编制是一个不断努力的工作过程。是一个从形成最初轮廓,经反复检查和修改,直到程序和文件正式交付使用的完整过程。其中每一步都要求工作人员做出很大努力。要保证文件编制的质量,要表达每个开发工程的特点,也要注意不要花太多的人力。为此,编制中要考虑如下各项因素。每一种文件都具有特定的读者。这些读者包括个人或小组、软件开发单位的成员或社会上的公众、从事软件工作的技术人员、管理人员或领导干部。他们
10、期待着使用这些文件的内容来进行工作,例如设计、编写程序、测试、使用、维护或进行方案管理。因此,这些文件的作者必须了解自己的读者,这些文件的编写必须注意适应自己的特定读者的水平、特点和要求。5.2重复性本指南第二篇中将列出的这十四种文件的内容要求中,显然存在某些重复。较明显的重复有两类。引言是每一种文件都要包含的内容,以向读者提供总的梗概。第二类明显的重复是各种文件中的说明局部,如对功能性能的说明、对输入和输出的描述、系统中包含的设备等。这是为了方便每种文件各自的读者,每种产品文件应该自成体系,尽量防止读一种文件时又不得不去参考另一种文件。当然,在每一种文件里,有关引言、说明等同其他文件相重复的
11、局部,在行文上、在所用的术语上、在详细的程度上,还是应该有一些差异,以适应各种文件的不同读者的需要。5.3灵活性鉴于软件开发是具有创造性的脑力劳动,也鉴于不同软件在规模上和复杂程度上差异极大,本指南认为在文件编制工作中应允许一定的灵活性。这种灵活性表现在如下各款。5.3.1应编制的文件种类尽管本指南认为在一般情况下,一项软件的开发过程中,应产生的文件有十四种,然而针对一项具体的软件开发工程,有时不必编制这么多的文件,可以把几种文件合并成一种。一般地说,当工程的规模、复杂性和成败风险增大时,文件编制的范围、管理手续和详细程度将随之增加。反之,则可适当减少。为了恰当地掌握这种灵活性,本指南要求贯彻
12、分工负责的原则,这意味着:a:一个软件开发单位的领导机构应该根据本单位经营承包的应用软件的专业领域和本单位的管理能力,制定一个对文件编制要求的实施规定,主要是:在不同的条件下,应该形成哪些文件?这些文件的详细程度?该开发单位的每一个工程负责人,必须认真执行这个实施规定。这种规定的两个例子可叹本指南的附录。(参考件);b.对于一个具体的应用软件工程,工程负责人应根据上述实施规定,确定一个文件编制方案,主中包括:(1)应该编制哪几种文件,详细程度如何?(2)各个文件的编制负责人和进度要求;(3)审查、批准的负责人和时间进度安排;(4)在开发时期内,各文件的维护、修改和管理的负责人,以及批准手续。每
13、项工作必须落实到人。这个文件编制方案是整个开发方案的重要组成局部;C.有关的设计人员则必须严格执行这个文件编制方案。5.3.2文件的详细程度从同一份提纲起草的文件的篇幅大小往往不同,可以少到几页,也可以长达几百页。对于这种差异本指南是允许的。此详细程度取决于任务的规模、复杂性和工程负责人对该软件的开发过程及运行环与所需要的详细程度的判断。5.3.3文件的扩展当被开发系统的规模非常大(例如源码超过一百万行)时,一种文件可以分成几卷编写,可以按其。每一个系统分别编制,也可以按内容划分成多卷,例如:工程开发方案可能包括:质量保证方案,配置管理方案,用户培训方案,安装实施方案;系统设计说明书可分写成:
14、系统设计说明书,子系统设计说明书;程序设计说明书可分写成:程序设计说明书,接口设计说明书,版本说明;操作手册可分写成:操作手册,安装实施过程;.测试方案可分写成:测试方案,测试设计说明,测试规程,测试用例;测试分析报告可分写成:综合测试报告,验收测试报告;工程开发总结报告亦可分写成工程开发总结报告和资源环境统计。5.3.4节的扩张与缩并在有些文件中,可以使用本指南所提供的章、条标题,但在条内又存在一系列需要分别讨论的因素本指南认为,所有的条都可以扩展,可以进一步细分,以适应实际需要。反之,如果章条中的有些细节;非必需,也可以根据实际情况缩并。此时章条的编号应相应地改变。5.3.5程序设计的表现
15、形式本指南对于程序的设计表现形式并未作出规定或限制,可以使用流程图的形式、判定表的形式,1可以使用其他表现形式,如程序设计语言(PDL),问题分析图(PAD)等。5.3.6文件的表现形式本指南对于文件的表现形式亦未作出规定或限制,可以使用自然语言,也可以使用形式化语言。5.3.7文件的其他种类当本指南中规定的文件种类尚不能满足某些应用部门的特殊需要时,他们可以建立一些特殊的文件种类要求,例如软件质量保证方案、软件配置管理方案等,这些要求可以包含在本单位的文件编制实施规定中。6文件编制的管理工作文件编制工作必须有管理工作的配合,才能使所编制的文件真正发挥它的作用。文件的编制工作实际上贯穿于一项软
16、件的整个开发过程,因此,对文件的管理必须贯穿于整个开发过程。在开发过程中必须进行的管理工作是以下四条。6.1文件的形成开发集体中的每个成员,尤其是工程负责人,应该认识到:文件是软件产品的必不可少的组成局部;在软件开发过程的各个阶段中,必须按照规定及时地完成各种产品文件的编写工作;必须把在一个开发步骤中作出的决定和取得的结果及时地写入文件;开发集体必须及时地对这些文件进行严格的评审;这些文件的形成是各个阶段开发工作正式完成的标志。这些文件上必须有编写者、评审者和批准者的签字,必须有编写、评审完成的日期和批准的日期。6.2文件的分类与标识在软件开发的过程中,产生的文件是很多的,为了便于保存、查找、
17、使用和修改,应该对文件按层次地加以分类组织。一个软件开发单位应该建立一个对本单位文件的标识方法,使文件的每一页都具有明确的标识。例如可以按如下四个层次对文件加以分类和标识。a.文件所属的工程的标识;b.文件种类的标识;C.同一种文件的不同版本号;d.页号。此外,对每种文件还应根据工程的性质,划定它们各自的保密级别,确定他们各自的发行范围。6. 3文件的控制在一项软件的开发过程中,随着程序的逐步形成和逐步修改,各种文件亦在不断地产生、不断地修改或补充。因此,必须加以周密的控制,以保持文件与程序产品的一致性,保持各种文件之间的一致性和文件的平安性。这种控制表现为:a.就从事一项软件开发工作的开发集
18、体而言,应设置一位专职的文件管理人员(接口管理工程师或文件管理员);在开发集体中,应该集中保管本工程现有全部文件的主文本两套,由该文件管理人员负责保管;b.每一份提交给文件管理人员的文件都必须具有编写人、审核人和批准人的签字;C.这两套主文本的内容必须完全一致;其中有一套是可供出借的,另一套是绝对不能出借的,以免发生万一;可出借的主文本在出借时必须办理出借手续,归还时办理注销出借手续;d.开发集体中的工作人员可以根据工作的需要,在本工程的开发过程中持有一些文件,即所谓个人文件,包括为使他完成他承当的任务所需要的文件,以及他在完成任务过程中所编制的文件;但这种个人文件必须是主文本的复制品,必须同
19、主文本完全一致,若要修改,必须首先修改主文本;e不同开发人员所拥有的个人文件通常是主文本的各种子集;所谓子集是指把主文本的各个局部根据承当不同任务的人员或部门的工作需要加以复制、组装而成的若干个文件的集合;文件管理人员。应该列出一份不同子集的分发对象的清单,按照清单及时把文件分发给有关人员或部门;f.一份文件如果已经被另一份新的文件所代替,则原文件应该被注销;文件管理人中要随时整理主文本,及时反映出文件的变化和增加情况,及时分发文件;g当一个工程的开发工作临近结束时,文件管理人员应逐个收回开发集体内每个成员的个人文件,并检查这些个人文件的内容;经验说明,这些个人文件往往可能比主文本更详细,或同
20、主文本的内容有所不同,必须认真监督有关人员进行修改,使主文本能真正反映实际的开发结果。6. 4文件的修改管理在一个工程的开发过程中的任何时刻,开发集体内的所有成员都可能对开发工作的已有成果一一文件,提出进行修改的要求。提出修改要求的理由可能是各种各样的,进行修改而引起的影响可能很小,也可能会牵涉到本工程的很多方面。因此,修改活动的进行必须谨慎,必须对修改活动的进行加以管理,必须执行修改活动的规程,使整个修改活动有控制地进行。修改活动可分如下五个步骤进行:a提议开发集体中的任何一个成员都可以向工程负责人提出修改建议,为此应该填写一份修改建议表,说明修改的内容、所修改的文件和部位、以及修改理由;b
21、评议由工程负责人或工程负责人指定的人员对该修改建议进行评议,包括审查该项修改的必要性、确定这一修改的影响范围、研究进行修改的方法、步骤和实施方案;c.审核一般由工程负责人进行审核,包括核实修改的自的和要求、核实修改活动将带来的影响、审核修改活动方案是否可行;d.批准在一般情况下,批准权属于该开发单位的部门负责人;在批准时,主要是决断修改工作中各项活动的先后顺序及各自的完成日期,以保证整个开发工作按原定方案日期完成;e.实施由工程负责人按照已批准的修改活动方案,安排各项修改活动的负责人员进行修改,建立修改记录、产生新的文件以取代原有文件、最后把文件交文件管理人员归档,并分发给有关的持有者。第二
22、篇各种文件的内容要求本篇将对引言中提到的十四种文件提供内容要求,作为文件编制的技术标准。7可行性研究报告可行性研究报告的编写目的是:说明该软件开发工程的实现在技术、经济和社会条件方面的可行性;评述为了合理地到达开发目标而可能选择的各种方案;说明并论证所选定的方案。可行性研究报告的编写内容要求如下:7. 1引言7. 1.1编写目的7. 1.2背景7. 1.3定义7. 1.4参考资料77. 2可行性研究的前提7. 2.1要求7. 2.2目标7. 2.3条件、假定和限制7. 2.4进行可行性研究的方法7. 2.5评价尺度7. 3对现有系统的分析7. 3.1数据流程和处理流程7. 3.2工作负荷7.
23、3.4人员7. 3.5设备7. 3.6局限性7. 4所建议的系统7. 4.1对所建议系统的说明7. 4.2数据流程和处理流程7. 4.3改良之处7. 4.4影响7. 4.4.1对设备的影响7. 4.4.2对软件的影响7. 4.4.3对用户单位机构的影响7. 4.4.4对系统运行的影响7. 4.4.5对开发的影响7. 4,4.6对地点和设施的影响7. 4.4.7对经费开支的影响7. 4.5局限性7. 4.6技术条件方面的可行性7. 5可选择的其他系统方案7. 5.1可选择的系统方案17. 5.2可选择的系统方案27. 6投资及收益分析7. 6.1支出7. 6.L1根本建设投资7. 6.1.2其他
24、一次性支出7.6. 1,3非一次性支出7. 6.2收益7. 6,2.1一次性收益7. 6.2.2非一次性收益7. 6.3收益/投资比7. 6.4投资回收周期7. 7社会条件方面的可行性7. 7.1法律方面的可行性7. 7.2使用方面的可行性7. 8结论附录A可行性研究报告的编写提示(参考件)A.1引言A.1.1编写目的说明编写本可行性研究报告的目的,指出预期的读者。A.1.2背景说明:a.所建议开发的软件系统的名称;b.本工程的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;C.该软件系统同其他系统或其他机构的根本的相互来往关系。A.1.3定义列出本文件中用到的专门术语的定义和外文
25、首字母组词的原词组。A.1.4参考资料列出用得着的参考资料,如:a.本工程的经核准的方案任务书或合同、上级机关的批文;b.属于本工程的其他己发表的文件;C.本文件中各处引用的文件、资料,包括所需用到的软件开发标准。列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。A.2可行性研究的前提说明对所建议的开发工程进行可行性研究的前提,如要求、目标、假定、限制等。A.2.1要求说明对所建议开发的软件的根本要求,如:a.功能;b.性能;C输出如报告、文件或数据,对每项输出要说明其特征,如用途、产生频度、接口以及分发对d.输入说明系统的输入,包括数据的来源、类型、数量、
26、数据的组织以及提供的频度;e.处理流程和数据流程用图表的方式表示出最根本的数据流程和处理流程,并辅之以叙述;f.在平安与保密方面的要求;g.同本系统相连接的其他系统;h.完成期限。A.2.2目标说明所建议系统的主要开发目标,如:a.人力与设备费用的减少;b.处理速度的提高;C.控制精度或生产能力的提高;d.管理信息效劳的改良;e.自动决策系统的改良;f.人员利用率的改良。A.2.3条件、假定和限制说明对这项开发中给出的条件、假定和所受到的限制,如:a.所建议系统的运行寿命的最小值;b.进行系统方案选择比较的时间;c.经费、投资方面的来源和限制;d.法律和政策方面的限制;e.硬件、软件、运行环境
27、和开发环境方面的条件和限制;f.可利用的信息和资源;g.系统投入使用的最晚时间。A.2.4进行可行性研究的方法说明这项可行性研究将是如何进行的,所建议的系统将是如何评价的。摘要说明所使用的根本方法和策略,如调查、加权、确定模型、建立基准点或仿真等。A.2.5评价尺度说明对系统进行评价时所使用的主要尺度,如费用的多少、各项功能的优先次序、开发时间的长短及使用中的难易程度。A.3对现有系统的分析这里的现有系统是指当前实际使用的系统,这个系统可能是计算机系统,也可能是一个机械系统甚至是一个人工系统。分析现有系统的目的是为了进一步说明建议中的开发新系统或修改现有系统的必要性。说明现有系统的根本的处理流
28、程和数据流程。此流程可用图表即流程图的形式表示,并加以叙述。A.3.2工作负荷列出现有系统所承当的工作及工作量。列出由于运行现有系统所引起的费用开支,如人力、设备、空间、支持性效劳、材料等项开支以及开支总额。A.3.4人员列出为了现有系统的运行和维护所需要的人员的专业技术类别和数量。A.3.5设备列出现有系统所使用的各种设备。A.3.6局限性列出本系统的主要的局限性,例如处理时间赶不上需要,响应不及时,数据存储能力缺乏,处理功能不够等。并且要说明,为什么对现有系统的改良性维护已经不能解决问题。A.4所建议的系统本章将用来说明所建议系统的目标和要求将如何被满足。A.4.1对所建议系统的说明概括地
29、说明所建议系统,并说明在第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对用户单位机构的影响说明为了建立和运行所建议系统,对用户单位机构
30、人员的数量和技术水平等方面的全部要求。A.4.4.4对系统运行过程的影响说明所建议系统对运行过程的影响,如:a.用户的操作规程;b.运行中心的操作规程;C.运行中心与用户之间的关系;d.源数据的处理;e.数据进入系统的过程;f.对数据保存的要求,对数据存储、恢复的处理;g.输出报告的处理过程、存储媒体和调度方法;h.系统失效的后果及恢复的处理方法。A.4.4.5对开发的影响说明对开发的影响,如:a.为了支持所建议系统的开发,用户需进行的工作;b.为了建立一个数据库所要求的数据资源;C-为了开发和测验所建议系统而需要的计算机资源;d.所涉及的保密与平安问题。A.4.4.6对地点和设施的影响说明
31、对建筑物改造的要求及对环境设施的要求。A.4.4.7对经费开支的影响扼要说明为了所建议系统的开发,设计和维持运行而需要的各项经费开支。A.4.5局限性说明所建议系统尚存在的局限性以及这些问题未能消除的原因。A.4.6技术条件方面的可行性本节应说明技术条件方面的可行性,如:a.在当前的限制条件下,该系统的功能目标能否到达;b.利用现有的技术,该系统的功能能否实现;C.对开发人员的数量和质量的要求并说明这些要求能否满足;d.在规定的期限内,本系统的开发能否完成。A.5可选择的其他系统方案扼要说明曾考虑过的每一种可选择的系统方案,包括需开发的和可从国内国外直接购置的,如果没有供选择的系统方案可考虑,
32、则说明这一点。A.5.1可选择的系统方案1参照第A.4章的提纲,说明可选择的系统方案1,并说明它未被选中的理由。A.5.2可选择的系统方案2按类似A.5.1条的方式说明第2个乃至第。个可选择的系统方案。A.6投资及效益分析A.6.1支出对于所选择的方案,说明所需的费用。如果已有一个现存系统,则包括该系统继续运行期间所需的费用。A.6.1.1根本建设投资包括采购、开发和安装以下各项所需的费用,如:a.房屋和设施;b.ADP设备;C.数据通讯设备;d.环境保护设备;e.平安与保密设备;f.ADP操作系统的和应用的软件;g.数据库管理软件。A.6.1.2其他一次性支出包括以下各项所需的费用,如:a.
33、研究(需求的研究和设计的研究);b.开发方案与测量基准的研究;C.数据库的建立;d.ADP软件的转换;e.检查费用和技术管理性费用;f.培训费、旅差费以及开发安装人员所需要的一次性支出;g.人员的退休及调动费用等。A.6.1.3非一次性支出列出在该系统生命期内按月或按季或按年支出的用于运行和维护的费用,包括:a.设备的租金和维护费用;b软件的租金和维护费用;C.数据通讯方面的租金和维护费用;d.人员的工资、奖金;e.房屋、空间的使用开支;f.公用设施方面的开支;g.保密平安方面的开支;h.其他经常性的支出等。A.6.2收益对于所选择的方案,说明能够带来的收益,这里所说的收益,表现为开支费用的减
34、少或防止、过错的减少、灵活性的增加、动作速度的提高和管理方案方面的改良等,包括;A.6.2.1一次性收益说明能够用人民币数目表示的一次性收益,可按数据处理、用户、管理和支持等项分类叙述,如:a.开支的缩减包括改良了的系统的运行所引起的开支缩减,如资源要求的减少,运行效率的改良,数据进入、存贮和恢复技术的改良,系统性能的可监控,软件的转换和优化,数据压缩技术的采用,处理的集中化/分布化等;b.价值的增升包括由于一个应用系统的使用价值的增升所引起的收益,如资源利用的改良,管理和运行效率的改良以及出错率的减少等;C.其他如从多余设备出售回收的收入等。A.6.2.2非一次性收益说明在整个系统生命期内由
35、于运行所建议系统而导致的按月的、按年的能用人民币数目表示的收益,包括开支的减少和防止。A.6.2.3不可定量的收益逐项列出无法直接用人民币表示的收益,如效劳的改良,由操作失误引起的风险的减少,信息掌握情况的改良,组织机构给外界形象的改善等。有些不可捉摸的收益只能大概估计或进行极值估计(按最好和最差情况估计)。A.6.3收益/投资比求出整个系统生命期的收益/投资比值。A.6.4投资回收周期求出收益的累计数开始超过支出的累计数的时间。A.6.5敏感性分析所谓敏感性分析是指一些关键性因素如系统生命期长度、系统的工作负荷量、工作负荷的类型与这些不同类型之间的合理搭配、处理速度要求、设备和软件的配置等变
36、化时,对开支和收益的影响最灵敏的范围的估计。在敏感性分析的基础上做出的选择当然会比单一选择的结果要好一些。A.7社会因素方面的可行性本章用来说明对社会因素方面的可行性分析的结果,包括:A.7.1法律方面的可行性法律方面的可行性问题很多,如合同责任、侵犯专利权、侵犯版权等方面的陷井,软件人员通常是不熟悉的,有可能陷入,务必要注意研究。A.7.2使用方面的可行性例如从用户单位的行政管理、工作制度等方面来看,是否能够使用该软件系统;从用户单位的工作人员的素质来看,是否能满足使用该软件系统的要求等等,都是要考虑的。A. 8结论在进行可行性研究报告的编制时,必须有一个研究的结论。结论可以是:a.可以立即
37、开始进行;b.需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行;c.需要对开发目标进行某些修改之后才能开始进行;d.不能进行或不必进行(例如因技术不成熟、经济上不合算等)。8工程开发方案编制工程开发方案的目的是用文件的形式,把对于在开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软、硬件条件等问题作出的安排记载下来,以便根据本方案开展和检查本工程的开发工作。编制内容要求如下:8. 1.1编写目的9. 1.2背景10. 1.3定义11. 1.4参考资料12. 2工程概述13. 2.11作内容14. 2.2主要参加人员15. 2.3产品及成果16. 2.3.1程序17.
38、2.3.3效劳18. 2.4验收标准19. 2.5完成工程的最迟期限20. 2.6本方案的审查者与批准者21. 3实施总方案22. 3.1工作任务的分解23. 4支持条件24. 4.1计算机系统支持25. 5专题方案要点附录B工程开发方案的编写提示(参考件)8. 1引言8. 1.1编写目的说明编写这份工程开发方案的目的,并指出预期的读者。8. 1.2背景说明:a待开发的软件系统的名称;b.本工程的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;C.该软件系统同其他系统或其他机构的根本的相互来往关系。8. 1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。B. 1.
39、4参考资料列出用得着的参考资料,如:a.本工程的经核准的方案任务书或合同、上级机关的批文;b属于本工程的其他已发表的文件;C.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。B.2工程概述B.2.1工作内容简要地说明在本工程的开发中须进行的各项主要工作。B.2.2主要参加人员扼要说明参加本工程开发工作的主要人员的情况,包括他们的技术水平。B.2.3产品B.2.31程序列出需移交给用户的程序的名称、所用的编程语言及存储程序的媒体形式,并通过引用有关文件,逐项说明其功能和能力。B.2.3.2文件列出需移
40、交给用户的每种文件的名称及内容要点。B.2.3.3效劳列出需向用户提供的各项效劳,如培训安装、维护和运行支持等,应逐项规定开始日期、所提供支持的级别和效劳的期限。B.2.3.4非移交的产品说明开发集体应向本单位交出但不必向用户移交的产品(文件甚至某些程序)。B.2.4验收标准对于上述这些应交出的产品和效劳,逐项说明或引用资料说明验收标准。B25完成工程的员迟用限B.2.6本方案的批准者和批准日期B.3实施方案B.3.1工作任务的分门与人员分工对于工程开发中需完成的各项工作,从需求分析、设计、实现、测试直到维护,包括文件的编制、审批、打印、分发工作,用户培训工作,软件安装工作等,按层次进行分解,
41、指明每项任务的负责人和参加人员。B.3.2接口人员说明负责接口工作的人员及他们的职责,包括:a.负责本工程同用户的接口人员;b.负责本工程同本单位各管理机构,如合同方案管理部门、财务部门、质量管理部门等的接口人员;c.负责本工程同各分合同负责单位的接口人员等。8. 3.3进度对于需求分析、设计、编码实现、测试、移交、培训和安装等工作,给出每项工作任务的预。定开始日期、完成日期及所需资源,规定各项工作任务完成的先后顺序以及表征每项工作任务完成的标志性事件(即所谓“里程碑)。9. 3.4预算逐项列出本开发工程所需要的劳务(包括人员的数量和时间)以及经费的预算(包括办公费、差旅费、机时费、资料费、通
42、讯设备和专用设备的租金等)和来源。逐项列出能够影响整个工程成败的关键问题、技术难点和风险,指出这些问题对工程的影响。B. 4支持条件说明为支持本工程的开发所需要的各种条件和设施。B.4.1计算机系统支持逐项列出开发中和运行时所需的计算机系统支持,包括计算机、外围设备、通讯设备、模拟器、编译(或汇编)程序、操作系统、数据管理程序包、数据存储能力和测试支持能力等,逐项给出有关到货日期、使用时间的要求。B.4.2需由用户承当的工作逐项列出需要用户承当的工作和完成期限。包括需由用户提供的条件及提供时间。B.4.3由外单位提供的条件逐项列出需要外单位分合同承包者承当的工作和完成的时间,包括需要由外单位提
43、供的条件和提供的时间。B.5专题方案要点说明本工程开发中需制订的各个专题方案(如分合同方案、开发人员培训方案、测试方案、平安保密方案、质量保证方案、配置管理方案、用户培训方案、系统安装方案等)的要点。9软件需求说明书软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。编制软件需求说明书的内容要求如下:9.1引言9.1.1编写目的9. L2背景9. 1.3定义9. 1.4参考资料9. 2.1目标9. 2.2、用户的特点9. 2.3假定与约束9.3需求规定9. 3.1对功能的规定9. 3.2对性能的规定10. .2.1精度9. 3.2.2
44、时间特性耍求9. 3.2.3灵活性9. 3.3输入输出要求9. 4运行环境规定9. 4.1设备9. 4.2支持软件9. 4.3接口9. 4.4控制附录C软件需求说明书的编写提示(参考件)C.1引言C.1.1编写目的说明编写这份软件需求说明书的目的,指出预期的读者。C.1.2背景说明:a.待开发的软件系统的名称;b.本工程的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络;C.该软件系统同其他系统或其他机构的根本的相互来往关系。C.1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。C.1.4参考资料列出用得着的参考资料,如:a.本工程的经核准的方案任务书或合同、上级机
45、关的批文;b.属于本工程的其他已发表的文件;c.本文件中各处引用的文件、资料、包括所要用到的软件开发标准。列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。C.2任务概述C.2.1目标叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成局部,则应说明本产品与该系统中其他各组成局部之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各局部的联系和接口。IC.2.2用户的特点列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使甩频度。这些是软件设计工作的重要约束C.2.3假定和约束列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。C.3需求规定用列表的方式(例如IPo表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数。