附录 软件文档编写概要
1.可行性研究报告
1.1引言
1.1.1编写目的
1.1.2项目背景
1.1.3术语
1.1.4 参考资料
1.2 可行性研究的前提
1.2.1基本要求
1.2.2开发目标
1.2.3具备的条件
1.2.4研究的方法
1.3对现有系统的分析
1.3.1处理流程和数据流程
1.3.2费用开支
1.3.3人员
1.3.4设备情况
1.3.5存在问题
1.4所建议系统的技术可行性分析
1.4.1所建议系统的简要描述
1.4.2处理流程和数据流程
1.4.3与现有系统比较的优越性
1.4.4采用建议系统可能带来的影响
1.4.5新系统的可行性分析
1.5所建议系统的经济可行性分析(投资和效益分析)
1.6社会因素方面的可行性
1.7结论
2. 项目开发计划
2.1 引言
目的、背景、专门术语定义、参考资料等。
2.2 项目概述
2.2.1 功能:简要地说明在本项目的开发中须进行的各项主要工作。
2.2.2 条件:主要参加人员扼要说明参加本项目开发工作的主要人员的情况,包括他们的技术水平,任务分配 、 任务进度情况。
2.2.3 运行环境及工具
2.2.4 验收标准
对于上述这些应交出的产品和服务,逐项说明或引用资料说明验收标准。
2.2.5 完成项目的最迟期限
2.2.6 本计划的批准者和批准日期
2.3 实施计划
2.3.1 工作
任务的分解与人员分工对于项目开发中需完成的各项工作,从需求分析、设计、实现、测试直到维护,包括文件的编制、审批、打印、分发工作,用户培训工作,软件安装工作等,按层次进行分解,指明每项任务的负责人和参加人员。
2.3.2 进度
对于需求分析、设计、编码实现、测试、移交、培训和安装等工作,给出每项任务的预定开始日期、完成日期及所需资源,规定各项工作任务完成的先后顺序以及表征每项工作任务完成的标志性事件(即所谓“里程碑”)。
2.3.3 预算
逐项列出本开发项目所需要的劳务(包括人员的数量和时间)以及经费的预算(包括办公费、差旅费、机时费、资料费、通讯设备和专用设备的租金等)和来源。
2.3.4 关键问题
逐项列出能够影响整个项目成败的关键问题、技术难点和风险,指出这些问题对项目的影响。
2.4 支持条件
说明为支持本项目的开发所需要的各种条件和设施。
2.4.1人员组织及分工
2.4.2 计算机系统的支持
2.4.3 需用户承担的工作
2.5交付日期
3. 软件需求规格说明书
3.1 引言
目的、背景、专门术语定义、参考资料等。
3.2 任务概述
3.2.1 目标
叙述该项软件开发的意图、应用目标、作用范围。
3.2.2 用户的特点
列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,以及本软件的预期使用频度。这些是软件设计工作的重要约束。
3.2.3 假定和约束
列出进行本软件开发工作的假定和约束,例如经费限制、开发期限等。
3.3 需求规定
3.3.1 业务流程描述
可以通过流程图并辅以文字对当前业务处理流程进行描述。
3.3.2 数据描述
3.3.2.1 数据流图(DFD)
3.3.2.2 实体联系图(ER)
3.3.2.3 数据字典
3.3.3 功能描述
对DFD或IPO图中的处理按编号逐项定性地叙述对软件所提出的功能要求,说明输入什么量、经什么处理、得到什么输出。
3.3.4 处理描述
用结构化语言对DFD图中的处理按编号逐项给出本处理接受什么输入、怎样处理、输出什么的具体描述。
3.3.5 输入输出
要求解释各输入输出数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
3.3.6 对性能的规定
3.3.6.1 精度
说明对该软件的输入、输出数据精度的要求,可能包括传输过程中的精度。
3.3.6.2 时间特性
要求说明对于该软件的时间特性要求,如:响应时间、更新处理时间、数据的转换和传送时间、解题时间等的要求。
3.3.6.3 灵活性说明
对该软件的灵活性的要求,即当需求发生某些变化时,该软件对这些变化的适应能力,如:操作方式上的变化、运行环境的接口的变化、同其他软件的接口的变化、精度和有效时限的变化、计划的变化或改进。对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。
3.3.7 数据的采集
指明数据的采集方法,说明数据采集工作的承担者,可能产生的影响
3.3.8 数据管理能力
要求说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作出估算。
3.3.9 故障处理要求
列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。
3.3.10 其他专门要求
如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。
3.4 运行环境规定
3.4.1 设备
列出运行该软件所需要的硬设备。说明其中的新型设备及其专门功能。
3.4.2 支持软件
列出支持软件,包括要用到的操作系统、编译(或汇编)程序、测试支持软件等。
3.4.3 接口说明
该软件同其他软件之间的接口、数据通信协议等。
3. 4.4 控制说明
控制该软件的运行的方法和控制信号,并说明这些控制信号的来源。
4. 概要设计规格说明书
4.1 引言
目的、读者、背景、专门术语的定义、参考资料、软件开发标准。
4.2总体设计
4.2.1需求规定说明总体设计的需求依据。
4.2.2运行环境
简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定。
4.2.3基本设计概念
说明本系统的基本设计概念、方法等。
4.2.4结构
用一览表或图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。
4.2.5功能需求与程序的关系
程序1 程序2 … 程序m 功能需求1 功能需求2 …… 功能需求n
4.2.6人工处理过程
说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。
4.3接口设计
4.3.1用户接口
说明将向用户提供的命令和他们的语法结构,以及软件的回答信息。或用户界面设计:窗体编号及名称;窗体所属模块及模块编号;窗体介绍,描述窗体在模块中的位置和作用l; 窗体接口,描述和其他窗体之间的关系(调用和输入输出等); 窗体界面,提供和开发完成后同样的窗体图示 。
4.3.2外部接口
说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。
4.3.3内部接口
说明本系统之内的各个系统的接口的安排。
4.4运行设计
4.4.1运行模块组合说明
对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所经历的内部模块和支持软件。
4.4.2运行控制
说明每一种外界的运行控制的方式方法和操作步骤。
4.4.3运行时间
说明每种运行模块组合将占用各种资源的时间。
4.5系统数据结构设计/数据库设计
3.5.1逻辑结构设计
数据库逻辑结构设计给出本系统内所使用的每个数据结构名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
4.5.2物理结构设计
数据库物理结构设计给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法,存取单位、存取的物理关系(索引、设备、存储区域及外存空间的组织)。
4.5.3安全、保密设计
4.5.4数据结构与程序的关系
说明各个数据结构与访问这些数据结构的各个程序之间的对应关系,可采用如下的矩阵图的形式: 程序1 程序2 … 程序m 数据结构1 数据结构2 …… 数据结构n
4.6系统出错处理设计
4.6.1出错信息
用一览表的方式说明每种可能的出错或故障情况出现时,系统输出信息的形式、含义及处理方法。
4.6.2系统维护设计
说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。
5. 详细设计说明书
5.1引言
目的、读者、背景、专门术语、参考资料、软件开发标准等。
5.2程序系统的结构
用一系列图表列出本程序内的每个程序(包括每个模块和子程序)的名称、标识符和它们之间的层次结构关系。
5.3程序1(标识符/编号)设计说明从本节开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
5.3.1程序描述
给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是常驻内存还是非常驻?是否子程序?有无覆盖要求?是顺序处理还是并发处理?…等)。
5.3.2功能说明
该程序应具有的功能,可采用窗体界面的形式加以描述。窗体界面描述应该包括:窗体编号及名称;窗体界面,提供和开发完成后同样的窗体图示;窗体描述,给出窗体中的每个控件和对象的名称和编号并对其所应该实现的功能给出准确的描述,包括窗体中的出错处理等。例如某个BUTTON的clicked事件中的脚本应该实现的功能。
5.3.3性能说明
对该程序的全部性能要求,包括对精度、灵活性和时间特性的要求。
5.3.4输入项
给出对每一个输入项的特性,包括名称、标识、数据的类型和格式、数据值的有效范围、输入的方式、数量和频度、输入媒体、输入数据的来源和安全保密条件等等。
5.3.5输出项
给出对每一个输出项的特性,包括名称、标识、数据的类型和格式,数据值的有效范围,输出的形式、数量和频度、输出媒体、对输出图形及符号的说明、安全保密条件等等。
5.3.6算法
详细说明本程序所选用的算法,包括事件、控件中的操作,具体的计算公式和计算步骤。
5.3.7流程逻辑
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
5.3.8接口用图的形式
说明本程序所隶属的上一层模块及隶属于本程序的下一层模块、子程序、函数,关联的数赋值和调用方式,说明与本程序直接关联的数据结构(数据库、数据文卷)。
5.3.9存储分配
根据需要,说明本程序的存储分配。
5.3.10注释设计说明
准备在本程序中安排的注释。
5.3.11限制条件说明
本程序运行中所受到的限制条件。
5.3.12测试计划说明
对本程序进行单元测试的计划,包括对测试的技术要求、输入数据、预期结果、进度安排、人员职责、设备条件、驱动模块及桩模块等的规定。
6.软件测试
给出软件测试清单。清单格式如下:测试对象 测试类型 测试用例 测试结果 测试时间 测试人员 备注 其中,测试对象包括模块、窗体、控件及对象等;测试类型包括功能或内部处理逻辑等。