软件项目开发的文档编写标准化
在项目开发过程中,应该按要求编写好十三种文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性。
◇ 可行性分析报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。
◇ 项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。
◇ 软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。
◇ 概要设计说明书:该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
◇ 详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。
◇ 用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。
◇ 测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。
◇ 测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。
◇ 开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。
◇ 项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。
◇ 软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。
◇ 软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文档。
◇ 软件修改报告:软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。
可行性分析报告
1 引言1.1 编写目的:阐明编写可行性研究报告的目的,提出读者对象。1.2 项目背景:应包括
● 所建议开发软件的名称
● 项目的任务提出者、开发者、用户及实现软件的单位
● 项目与其他软件或其他系统的关系。1.3 定义:列出文档中用到的专门术语的定义和缩写词的原文。1.4 参考资料:列出有关资料的作者、标题、编号、发表日期、出版单位或资料来源,可包括
● 项目经核准的计划任务书、合同或上级机关的批文
● 与项目有关的已发表的资料
● 文档中所引用的资料,所采用的软件标准或规范2 可行性研究的前提2.1 要求:列出并说明建议开发软件的的基本要求,如
● 功能
● 性能
● 输入/输出
● 基本的数据流程和处理流程
● 安全与保密要求
● 与软件相关的其他系统
● 完成日期2.2 目标:可包括
● 人力与设备费用的节省
● 处理速度的提高
● 控制精度或生产力的提高
● 管理信息服务的改进
● 决策系统的改进
● 人员工作效率的提高2.3 条件、假定和限制:可包括
● 建议开发软件运行的最短寿命
● 进行显然方案选择比较的期限
● 经费来源和使用限制
● 法律和政策方面的限制
● 硬件、软件、运行环境和开发环境的条件和限制
● 可利用的信息和资源
● 建议开发软件投入使用的最迟时间2.4 可行性研究方法2.5 决定可行性的主要因素3 对现有系统的分析3.1 处理流程和数据流程3.2 工作负荷3.3 费用支出:如人力、设备、空间、支持性服务、材料等项开支3.4 人员:列出所需人员的专业技术类别和数量3.5 设备3.6 局限性:说明现有系统存在的问题以及为什么需要开发新的系统4 所建议技术可行性分析4.1 对系统的简要描述4.2 与现有系统比较的优越性4.3 处理流程和数据流程4.4 采用建议系统可能带来的影响
● 对设备的影响
● 对现有软件的影响
● 对用户的影响
● 对系统运行的影响
● 对开发环境的影响
● 对经费支出的影响4.5 技术可行性评价:包括
● 在限制条件下,功能目的是否达到
● 利用现有技术,功能目的是否达到
● 对开发人员数量和质量的要求,并说明能否满足
● 在规定的期限内,开发能否完成5 所建议系统经济可行性分析5.1 支出5.2 效益5.3 收益/投资比5.4 投资回收周期5.5 敏感性分析:指一些关键性因素,如:
● 系统生存周期长短
● 系统工作负荷量
● 处理速度要求
● 设备和软件配置变化对支出和效益的影响等的分析6 社会因素可行性分析6.1 法律因素:如