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