软件项目开发和管理规范V1.0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件项目开发和管理规范
版本V1.0
2010年1月15日
目录
1.软件项目管理概述 (3)
2.软件项目管理过程 (3)
3.软件项目管理内容 (5)
3.1.需求阶段管理 (5)
3.2.设计阶段管理 (7)
3.3.开发阶段管理 (7)
3.4.测试阶段管理 (8)
3.5.维护阶段管理 (8)
3.6.工具管理 (8)
3.7.软件项目估算与进度管理 (9)
3.7.1.软件项目估算 (9)
3.7.2.进度安排 (10)
1.软件项目管理概述
软件项目管理是软件工程和项目管理的交叉学科,软件项目管理的概念涵盖了管理软件产品开发所必须的知识、技术及工具。根据美国项目管理协会PMI 对项目管理的定义可以将软件项目管理定义为:在软件项目活动中运用一系列知识、技能、工具和技术,以满足软件需求方的整体要求。
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。
软件生存周期包括可行性分析与项目开发计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动,所有这些活动都必须进行管理,在每个阶段都存在着权限角色控制、文档管理、版本控制、管理工具等,软件项目管理贯穿于软件生命的演化过程之中。
2.软件项目管理过程
为保证软件项目获得成功,必须对软件开发项目的工作范围、要完成的任务、需要的资源、需要的工作量、进度的安排、可能遇到的风险等做到心中有数。软件项目的管理工作开始于技术工作开始之前,在软件从概念到实现的过程中持续进行,最后终止于软件开发工作结束。
根据公司的实际情况,结合软件工程及软件过程标准等,特制定我公司软件项目管理流程如下:
软件项目管理规范流程图
注:带书名号《》的为项目开发过程中需提交的文档。
项目管理的过程分为如下几个步骤:
(1)启动软件项目
启动软件项目是指必须明确项目的目标和范围、考虑可能的解决方案以及技术和管理上的要求等,这些信息是软件项目运行和管理的基础。
(2)制定项目计划
项目计划在项目开始的时候制定,并随着项目的进展不断发展,项目计划为管理者提供了根据计划定期评审和跟踪项目进展的基础。计划的制定以下面的活动为依据:
➢估算项目所需要的工作量
➢估算项目所需要的资源
➢根据工作量制定进度计划,继而进行资源分配
➢做出配置管理计划
(3)跟踪及控制项目计划
在软件项目进行过程中,严格遵守项目计划,对于一些不可避免的变更,要进行适当的控制和调整,但要确保计划的完整性和一致性。
(4)评审项目计划
对项目计划的完成程序进行评审,并对项目的执行情况进行评价。
(5)编写管理文档
项目管理人员根据软件合同确定软件项目是否完成。项目一旦完成,则检查项目完成的结果和中间记录文档,并把所有的结果记录下来形成文档而保存。
3.软件项目管理内容
3.1. 需求阶段管理
需求分析是软件生命周期中相当重要的一个阶段,是软件设计的基础,也是用户和软件工程人员之间的桥梁。简单地说,软件需求就是确定系统需要做什么,严格意义上,软件需求是系统或软件必须达到的目标与能力。
●目标
需求管理是一种获取、组织并记录软件需求的系统化方案,同时也是一个使客户与项目开发组对不断变更的软件需求达成并保持一致的过程。在需求管理中,软件工程组的工作是采取适当的措施来保证分配的需求,即要将分配的需求文档化,控制需求的变化,负责项目实施过程中需求的实现情况。
需求管理的目的是在客户和处理客户需求的软件项目组之间建立对客户需求的共同理解。需求管理的目标有两个:
➢使软件需求受控,并建立供软件工程和管理使用的需求基线。
➢使软件计划、产品和活动与软件需求保持一致。
在需求管理过程中,为实现第一个目标,必须控制需求基线的变动,按照变更控制的标准和规范的过程进行需求变更控制和版本控制;为实现第二个目标,必须就变更和软件项目各小组达成共识,对软件项目计划做出调整,其中包括人员的安排、用户的沟通、成本的调整、进度的调整等。
需求管理是一个对系统需求变更了解和控制的过程,它贯穿于整个软件项目过程,在软件项目进行的过程中,无论正处于哪个阶段,一旦有需求错误出现或任何有关需求的变更出现,都需要需求管理活动来解决,提交《需求变更控制报告》。
●原则
为进行有效的需求管理,一般要遵循如下五条原则:
➢需求一定要分类管理
➢需求必须分优先级
➢需求必须文档化
➢需求一旦变化,就必须对需求变更的影响进行评估
➢需求管理必须与需求工程的其他活动紧密整合
●主要工作
需求阶段分为系统需求和系统分析两个阶段。
系统需求阶段的主要工作是:
➢调研用户需求及用户环境
➢论证项目可行性
➢制定项目初步计划
系统分析阶段的主要工作是:
➢确定系统运行环境
➢建立系统逻辑模型
➢确定系统功能及性能要求
➢编写需求规格说明、测试计划
➢确认项目开发计划
●完成文档
需求规格说明书、项目开发计划、测试计划
3.2. 设计阶段管理
●主要工作
软件的设计阶段可分为概要设计和详细设计两个阶段。
概要设计的主要工作:
➢建立系统总体结构,划分功能模块
➢定义各功能模块接口
➢数据库设计(如果需要)
详细设计的主要工作:
➢设计各模块具体实现算法
➢确定模块间详细接口
●完成文档
概要设计完成文档
➢概要设计说明书
➢数据库设计说明书(如果有)
详细设计完成文档:
➢详细设计说明书
3.3. 开发阶段管理
●主要工作
➢编写程序源代码
➢进行模块测试和调试
➢编写测试方案
➢编写测试用例
➢编写用户手册