第3章软件设计231GB8567-88软件开发主要文档编写规范本附录中列出了《计算机软件产品开发文件编制指南》GB8567-88中主要软件文档的编写说明,供编写时参考。这些文档主要是:可行性研究报告、项目开发计划、软件需求说明书、概要设计说明书、详细设计说明书、模块开发卷宗、测试计划、测试分析报告、项目开发总结报告。一、可行性研究报告l引言1.1编写目的说明:说明本可行性研究报告的编写目的,指出预期的读者。1.2背景说明:a.所建议开发的软件系统的名称。b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络。c.该软件系统同其他系统或其他机构的基本的相互来往关系。1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。1.4参考资料列出用得着的参考资料,如:a.本项目的经核准的计划任务书或合同、上级机关的批文。b.属干本项目的其他已发表的文件。c.本文件中各处引用的文件、资料,包括所需用到的软件开发标准。列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2可行性研究的前提说明对建议开发项目进行可行性研究的前提,如要求、目标、条件、假定和限制等。2.1要求说明对所建议开发软件的基本要求,如:a.功能。b.性能。c.输出如报告、文件或数据,对每项输出要说明其特征,如用途、产生频度、接口以及分发对象。d.输入说明。系统的输入包括数据的来源、类型、数量、数据的组织以及提供的频度。e.处理流程和数据流程。用图表的方式表示出最基本的数据流程和处理流程,并输之以叙述。f.在安全与保密方面的要求。g.同本系统相连接的其他系统。h.完成期限。2.2目标说明所建议系统的主要开发目标,如:a.人力与设备费用的减少。b.处理速度的提高。c.控制精度或生产能力的提高。第3章软件设计232d.管理信息服务的改进。e.自动决策系统的改进。f.人员利用率的改进。2.3条件、假定和限制说明对这项开发中给出的条件、假定和所受到的限制,如a.所建议系统的运行寿命的最小值。b.进行系统方案选择比较的时间。c.经费、投资方面的来源和限制。d.法津和政策方面的限制。e.硬件、软件、运行环境和开发环境方面的条件和限制。f.可利用的信息和资源。g.系统投入使用的最晚时间。2.4进行可行性研究的方法说明这项可行性研究将是如何进行的,所建议的系统将是如何评价的。摘要说明所使用的基本方法和策略,如调查、加权、确定模型、建立基准点或仿真等。2.5评价尺度说明对系统进行评价时所使用的主要尺度.如费用的多少、各项功能的优先次序、开发时间的长短及使用中的难易程度。3对现有系统的分析这里的现有系统是指当前实际使用的系统。这个系统可能是计算机系统,也可能是一个机械系统甚至是一个人工系统。分析现有系统的目的是为了进一步阐明建议中的开发新系统或修改现有系统的必要性。3.l处理流程和数据流程说明现有系统的基本处理流程和数据流程。此流程可用图表即流程图的形式表示,并加以叙述。3.2工作负荷列出现有系统所承担的工作及工作量。3.3费用开支列出由于运行现有系统所引起的费用开支,如人力、设备、空间、支持性服务、材料等项开支以及开支总额。3.4人员列出为了现有系统的运行和维护所需要的人员的专业技术类别和数量。3.5设备列出现有系统所使用的各种设备。3.6局限性列出本系统的主要的局限性,例如处理时间赶不上需要,响应不及时,数据存储能力不足。处理功能不够等。并且要说明,为什么对现有系统的改进维护已经不能解决问题。4所建议的系统本章将用来说明所建议系统的目标和要求将如何被满足。4.l对所建议系统的说明概括地说明所建议系统,并说明在第2节中列出的那些要求将如何得到满足,说明所使用的基本方法及理论根据。4.2处理流程和数据流程给出所建议系统的处理流程和数据流程第3章软件设计2334.3改进之处按2节中列出的目标,逐项说明所建议系统相对于现存系统具有的改进。4.4影响说明在建立所建议系统时,预期将带来的影响,包括:4.4.1对设备的影响说明新提出的设备要求及对现存系统中尚可使用的设备需作的修改。4.4.2对软件的影响说明为了使现存的应用软件和支持软件能够同所建议系统相适应。而需要对这些软件所进行的修改和补充。4.4.3对用户单位机构的影响说明为了建立和运行所建议系统,对用户单位机构、人员的数量和技术水平等方面的全部要求。4.4.4对系统运行过程的影响说明所建议系统对运行过程的影响,如:a.用户的操作规程。b.运行中心的操作规程。c.运行中心与用户之间的关系。d.源数据的处理。e.数据进入系统的过程。f.对数据保存的要求,对数据存储、恢复的处理。g.输出报告的处理过程、存储媒体和调度方法。h.系统失效的后果及恢复的处理办法。4.4.5对开发的影响说明对开发的影响,如:a.为了支持所建议系统的开发用户需进行的工作。b.为了建立一个数据库所要求的数据资源。c.为了开发和测验所建议系统而需要的计算机资源。d.所涉及的保密与安全问题。4.4.6对地点和设施的影响说明对建筑物改造的要求及对环境设施的要求。4.4.7对经费开支的影响扼要说明为了所建议系统的开发,设计和维持运行而需要的各项经费开支。4.5局限性说明所建议系统尚存在的局限性以及这些问题未能消除的原因。4.6技术条件方面的可行性本节应说明技术条件方面的可行性,如:a.在当前的限制条件下,该系统的功能目标能否达到。b.利用现有的技术,该系统的功能能否实现。c.对开发人员的数量和质量的要求并说明这些要求能否满足。d.在规定的期限内,本系统的开发能否完成。5可选择的其他系统方案扼要说明曾考虑过的每一种可选择的系统方案,包括需开发的和从国内国外直接购买的,如果没有供选择的系统方案可考虑,则说明这一点。5.1可选择的系统方案1第3章软件设计234参照第4节的提纲说明可选择的系统方案1,并说明它未被选中的理由。5.2可选择的系统方案2按类似5.1条的方式说明第2个乃至第N个可选择的系统方案。6投资及效益分析6.1支出对于所选择的方案,说明所需的费用。如果已有一个现存系统,则包括该系统继续运行期间所需的费用。6.l.1基本建设投资包括采购、开发和安装下列各项所需的费用,如:a.房屋和设施。b.ADP设备。c.数据通讯设备。d.环境保护设备。e.安全与保密设备。f.ADP操作系统和应用的软件。g.数据库管理软件。6.1.2其他一次性支出包括下列各项所需的费用,如:a.研究(需求的研究和设计的研究)。b.开发计划与测量基准的研究。c.数掘库的建立。d.ADP软件的转换。e.检查费用和技术管理性费用。f.培训费、旅差费以及开发安装人员所需要的一次性支出。g.人员的退休及调动费用等。6.1.3非一次性支出列出在该系统生命期内按月或按季或按年支出的用于运行和维护的费用,包括:a.设备的租金和维护费用。b.软件的租金和维护费用。c.数据通讯方面的租金和维护费用。d.人员的工资、奖全。e.房屋、空间的使用开支。f.公用设施方面的开支。g.保密安全方面的开支。h.其他经常性的支出等。6.2收益对于所选择的方案,说明能够带来的收益,这里所说的收益,表现为开支费用的减少或避免、差错的减少、灵活性的增加、动作速度的提高和管理计划方面的改进等,包括:6.2.1一次性收益说明能够用人民币数目表示的一次性收益,可按数据处理、用户、管理和支持等项分类叙述,如:a.开支的缩减包括改进了的系统的运行所引起的开支缩减,如资源要求的减少,运行效率的改进,数据进入、存贮和恢复技术的改进,系统性能的可监控,软件的转换和优化,数据压缩技术的采用,处理的集中化/分布化等。第3章软件设计235b.价值的增升包括由于一个应用系统的使用价值的增升所引起的收益,如资源利用的改进.管理和运行效率的改进以及出错率的减少等。c.其他如从多余设备出售回收的收入等。6.2.2非一次胜收益说明在整个系统生命期内由于运行所建议系统而导致的按月的、按年的能用人民币数目表示的收益,包括开支的减少和避免。6.2.3不可定量的收益逐项列出无法直接用人民币表示的收益,如服务的改进,由操作失误引起的凤险的减少,信息掌握情况的改进,组织机构给外界形象的改善等。有些不可捉摸的收益只能大概估计或进行极值估计(按最好和最差情况估计)。6.3收益/投资比求出整个系统生命期的收益/投资比值。6.4投资回收周期求出收益的累计数开始超过支出的累计数的时间。6.5敏感性分析所谓敏感性分析是指一些关键性因素如系统生命期长度、系统的工作负荷量、工作负荷的类型与这些不同类型之间的合理搭配、处理速度要求、设备和软件的配置等变化时,对开支和收益的影响最灵敏的范围的估计。在敏感性分析的基础上做出的选择当然会比单一选择的结果要好一些。7社会因素方面的可行性本节用来说明对社会因素方面的可行性分析的结果,包括:7.l法律方面的可行性法律方面的可行性问题增多,如合同责任、侵犯专利权、侵犯版权等方面的陷阱,软件人员通常是不熟悉的,有可能陷入,务必要注意研究。7.2使用方面的可行性例如从用户单位的行政管理、工作制度等方面来看,是否能够使用该软件系统;从用户单位的工作人员的素质来看,是否能满足使用该软件系统的要求等等,都是要考虑。8结论在进行可行性研究报告的编制时,必须有一个研究的结论。结论可以是:a.可以立即开始进行。b.需要推迟到某些条件(例如资金、人力、设备等)落实之后才能开始进行。c.需要对开发目标进行某些修改之后才能开始进行。d.不能进行或不必进行(例如因技术不成熟、经济上不合算等)。二、项目开发计划l引言1.1编写目的说明编写这份项目开发计划的目的并指出预期的读者。1.2背景说明:a.待开发软件系统的名称。b.本项目的任务提出者、开发者、用户及实现该软件的计算中心或计算机网络。c.该软件系统同其他系统或其他机构的基本的相互来往关系。1.3定义第3章软件设计236列出本文件中用到的专门术语的定义和外文首字母组词的原词组。1.4参考资斜列出用得着的参考资料,如:a.本项目的经核准的计划任务书或合同、上级机关的批文。b.属于本项目的其他已发表的文件。c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件资料的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2.项目概述2.1工作内客简要地说明在本项目的开发中需进行的各项主要工作。2.2主要参加人员扼要说明参加本项目开发工作的主要人员的情况,包括他们的技术水平。2.3产品2.3.1程序列出需移交给用户的程序的名称、所用的编程语言及存储程序的媒体形式。并通过引用有关文件,逐项说明其功能和能力。2.3.2文件列出需移交给用户的每种文件的名称及内容要点。2.3.3服务列出需向用户提供的各项服务。如培训安装、维护和运行支持等。应逐项规定开始日期、所提供支持的级别和服务的期限。2.3.4非移交的产品说明开发集体应向本单位交出但不必向用户移交的产品(文件甚至某些程序)。2.4验收标准对于上述这些应交出的产品和服务,逐项说明或引用资料说明验收标准。2.5完成项目的推迟期限2.6本计划的批准者和批准日期3.实施计划3.1工作任务的分工与人员分工对于项目开发中需完成的各项工作,从需求分析、设计、实现、测试直到维护,包括文件的编制、审批、打印、分发工作,用户培训工作,软件安装工作等,按层次进行分解,指明每项任务的负责人和参加人员。3.2接口人员说明负责接口工作的人员及他们的职责,包括:a.负责本项目同用户的接口人员。b.负责本项目同本单位各管理机构,如合同计划管理部门、财务部门、质量管理部门等的接口人员。c.负责本项目同各分合同负责单位的接口人员等。3.3进度对于需求分析、设计、编码实现、测试、移交、培训和安装等工作,给出每项工作任务的预定开始日期、完成日期及所需资源,规定各项工作任务完成的先后顺序以及表征每项工作任务完成的标志性事件(即所谓的“里程碑”)。3.4预算逐项列出本开发项目所需要的劳务(包括人员的数量和时间)以及经费的预算(包括办第3章软件设