软件过程定义.docx
《软件过程定义.docx》由会员分享,可在线阅读,更多相关《软件过程定义.docx(8页珍藏版)》请在冰豆网上搜索。
软件过程定义
文档编号:
软件过程定义–1.1
A软件开发公司
软件开发过程定义文档
制定人员:
日期:
文档变更历史记录
序号
变更日期
变更人员
变更内容详情描述
版本
1
2
3
1.
引言
1.1编写目的
本文档的目的是为A软件开发公司在整个软件产品及项目开发过程提供规范化、系统化的步骤,便于对软件开发过程进行管理和控制,缩短开发时间,降低软件开发成本,提高软件开发质量。
1.2读者对象
本文档面向A软件开发公司软件开发所有相关人员,包括公司管理人员、项目经理、测试人员、质量管理人员和软件开发人员。
1.3文档概述
本文档根据本公司的规模和实际运作模式,对软件开发模型的选择、软件开发活动过程、软件开发过程的裁剪和改进等方面进行规范。
1.4定义
用户确认测试计划,就是针对用户对软件的需求作出的,用以系统开发完成后由用户根据其所提出的需求功能进行验收所制定的计划。
1.5参考资料
名称
出版单位
作者
《软件工程》
高等教育出版社
齐治昌、谭庆平
软件过程定义文档模板
国防科学技术大学
毛新军
2.假设和范围
2.1假设和要求
有一家小型的、专门致力于电力行业的软件开发公司A,大约有20名员工。
他们都具有非常丰富的软件开发经验,熟悉电力行业的业务,相互之间具有非常好的合作精神。
在过去的几年中,这一公司已经在电力行业中开发了近十个软件系统,并且大部分业务都比较相似,因而这些项目大都取得了成功。
2.2适应范围
适用于软件开发生命周期全过程。
3.软件开发过程模型
虽然公司只有约20名员工,但他们都具有非常丰富的软件开发经验,相互之间具有非常好的合作精神,并且大部分业务都比较相似,因此,软件开发过程中错误率低,项目复用率高,可以选择瀑布模型。
在实际的软件开发过程中,根据软件的规模,可以依据定义的软件开发过程模型,对一些环节进行合并,以减少软件开发过程中一些不必要的人员和时间的损耗,提高软件开发的效率。
图1瀑布模型
4.软件开发活动
从任务、输入、输出、实施、注意事项等几个方面说明软件开发过程所涉及的每一个软件开发活动,包括技术活动和管理活动。
(1)需求分析
任务:
对用户的需求进行调查了解,定义用户的需求,撰写软件需求规格说明书;并根据软件需求规格说明书,制定用户确认测试计划,并对软件需求规格说明书和用户确认测试计划进行评审。
输入:
用户的初步需求的描述。
输出:
经评审通过的软件需求规格说明书和用户确认测试方案。
实施:
A、根据用户的初步需求的描述,分析和定义软件的需求,按照《软件需求规格说明书编写指南》撰写软件规格说明书(SRS)。
B、对SRS进行评审,使SRS达到正确性、完整性、一致性、简洁性和规范性的要求。
C、根据软件的用户需求,制定用户确认测试计划,按照《软件确认测试计划编写指南》撰写用户确认测试方案。
(2)概要设计
任务:
根据SRS,进行软件系统的总体结构、接口和相关的数据设计,撰写软件概要设计规格说明书、制定软件开发计划,并根据软件概要设计规格说明书、软件开发计划,确定软件的规模,制定集成测试计划/系统测试计划;对软件概要设计规格说明书、软件开发计划、集成测试计划/系统测试计划进行评审。
输入:
软件需求规格说明书。
输出:
软件概要设计说明书、软件开发计划和集成测试计划/系统测试计划。
实施:
A、根据软件需求规格说明书进行软件总体结构、接口和相关的数据设计,按照《软件概要设计规格说明书编写指南》编写软件概要设计说明书。
B、评审人员对软件概要设计说明书进行评审。
C、根据软件概要设计说明书制定软件开发计划、集成测试计划/系统测试计划。
(3)详细设计
任务:
根据软件需求规格和软件概要设计进行软件详细设计。
根据用户软件需求情况定义编码规范,并根据详细设计,制定单元测试计划。
输入:
软件概要设计规格说明书。
输出:
软件详细设计规格说明书和单元测试计划。
实施:
A、根据软件需求规格说明书和软件概要设计规格说明书,依据编码规范进行软件的详细设计,并根据《软件详细设计规格说明书编写指南》撰写详细设计说明书。
B、评审人员对详细设计说明书进行评审。
C、根据详细设计说明书编写单元测试计划。
(4)编码和单元测试
任务:
编写程序代码,并根据每个单元编写情况进行单元测试;撰写单元测试报告。
输入:
详细设计说明书、单元测试计划。
输出:
经过测试的软件模块,单元测试报告。
实施:
A、编码人员根据详细设计说明书的要求进行代码编写。
B、某个单元代码编写完成后,进行单元测试。
C、编写单元测试报告。
D、由指定人员对编码进行审查。
(5)集成测试
任务:
按功能分类对模块进行测试,对存在的问题进行跟踪修改,形成集成测试报告。
输入:
功能模块的代码程序、集成测试计划。
输出:
经过集成测试的代码,集成测试报告。
实施:
A、按功能把各单元程序代码组织成各个模块。
B、根据集成测试计划,对软件模块进行测试。
C、对存在的问题进行跟踪改善。
D、撰写集成测试报告。
(6)系统测试
任务:
把各个模块组合一起,链接成软件系统,根据系统测试计划对软件系统进行测试,并形成系统测试报告。
输入:
各个模块的程序代码,系统测试计划。
输出:
经过编译和系统测试过的可运行的软件系统,系统测试报告。
实施:
A、把各个模块的程序代码集成成为系统。
B、进行编译、链接。
C、根据系统测试计划对编译好的系统进行测试。
D、对存在的问题进行跟踪完善。
E、撰写系统测试报告。
(7)确认测试
任务:
与用户一起,根据用户确认测试计划和软件系统进行确认测试,听取用户对系统的意见,撰写确认测试报告。
输入:
用户、软件系统、用户确认测试计划。
输出:
用户签字确认的确认测试报告。
实施:
A、根据用户确认测试报告,对系统进行演示。
B、用户确认系统实现的功能,并在用户确认测试报告上签字。
(8)制作安装软件
任务:
把系统制作成带安装程序的软件产品。
输入:
软件系统代码。
输出:
软件产品。
实施:
利用编译器制作安装程序。
(9)编制文档
任务:
编写用户文档。
输入:
软件需求规格说明书、软件概要设计规格说明书、软件系统。
输出:
用户安装手册、系统使用指南。
实施:
根据软件需求规格说明书、软件概要设计规格说明书和软件系统撰写用户安装手册和系统使用指南。
(10)用户培训
任务:
对使用系统的人员进行培训,使系统操作人员能够熟悉系统功能、一般的操作和基本维护方法。
输入:
软件产品、用户安装手册、系统使用指南。
输出:
系统操作人员会操作和进行基本的维护。
实施:
集中系统使用人员进行培训。
(11)交付安装使用
任务:
把软件系统交付给用户,结算相关费用。
输入:
软件产品、用户安装手册、系统使用指南。
输出:
结算
实施:
按合同约定进行交付。
(12)软件维护
任务:
软件使用运行其间的故障维护
输入:
故障系统
输出:
已修复的系统
实施:
派人进行维护
5.软件开发过程改进
软件项目小组成员能力搭配要适当,在软件开发过程的需求、设计、编码、测试、编写文档上要根据人员的情况进行适当的分工,确保工作量均衡。
软件开发过程要规范,必要的时先进行培训。
在制定软件开发计划时就根据软件规模的大小对软件开发过程进行选择,把可以合并的步骤进行合并,把可以删除的步骤进行删除,防止开销增加。
软件项目小组要定期召开讨论会,报告开发的进度和存在的问题,及时进行解决。
软件开发结束后,及时进行总结,并形成总结报告,作为经验,便于完善今后的项目过程。
6.软件开发过程剪裁
针对项目的规模、项目开发周期和人员组成情况,可以对软件开发过程进行剪裁。
一些小型的项目,可以把集成测试和系统测试合并成系统测试,把详细设计、编码和单元测试合并成。
7.附录