软件项目开发和管理规范标准详.docx
《软件项目开发和管理规范标准详.docx》由会员分享,可在线阅读,更多相关《软件项目开发和管理规范标准详.docx(10页珍藏版)》请在冰豆网上搜索。
软件项目开发和管理规范标准详
软件项目开发和管理规V1
软件开发标准化工作流程
1引言
1.1编写目的
软件项目管理是软件工程和项目管理的交叉学科,软件项目管理的概念涵盖了管理软件产品开发所必须的知识、技术及工具。
根据美国项目管理协会PMI对项目管理的定义可以将软件项目管理定义为:
在软件项目活动中运用一系列知识、技能、工具和技术,以满足软件需求的整体要求。
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。
实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。
软件生存期包括可行性分析与项目开发计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动,所有这些活动都必须进行管理,在每个阶段都存在着权限角色控制、文档管理、版本控制、管理工具等,软件项目管理贯穿于软件生命的演化过程之中。
1.2适用围
所有软件项目管理。
1.3定义
列出本文件中用到的专门术语的定义、外文首字母组词的原词组。
2软件项目管理过程
2.1概述
为保证软件项目获得成功,必须对软件开发项目的工作围、要完成的任务、需要的资源、需要的工作量、进度的安排、可能遇到的风险等做到心中有数。
软件项目的管理工作开始于技术工作开始之前,在软件从概念到实现的过程中持续进行,最后终止于软件开发工作结束。
2.2流程图
注:
带书名号《》的为项目开发过程中需提交的文档。
2.3项目管理过程
2.3.1启动软件项目
启动软件项目是指必须明确项目的目标和围、考虑可能的解决案以及技术和管理上的要求等,这些信息是软件项目运行和管理的基础。
2.3.2制定项目计划
项目计划在项目开始的时候制定,并随着项目的进展不断发展,项目计划为管理者提供了根据计划定期评审和跟踪项目进展的基础。
计划的制定以下面的活动为依据:
Ø估算项目所需要的工作量
Ø估算项目所需要的资源
Ø根据工作量制定进度计划,继而进行资源分配
Ø做出配置管理计划
2.3.3跟踪及控制项目计划
在软件项目进行过程中,格遵守项目计划,对于一些不可避免的变更,要进行适当的控制和调整,但要确保计划的完整性和一致性。
2.3.4评审项目计划
对项目计划的完成程序进行评审,并对项目的执行情况进行评价。
2.3.5编写管理文档
项目管理人员根据软件合同确定软件项目是否完成。
项目一旦完成,则检查项目完成的结果和中间记录文档,并把所有的结果记录下来形成文档而保存。
3软件项目管理容
3.1需求阶段管理
需求分析是软件生命期中相当重要的一个阶段,是软件设计的基础,也是用户和软件工程人员之间的桥梁。
简单地说,软件需求就是确定系统需要做什么,格意义上,软件需系统或软件必须达到的目标与能力。
●目标
需求管理是一种获取、组织并记录软件需求的系统化案,同时也是一个使客户与项目开发组对不断变更的软件需求达成并保持一致的过程。
在需求管理中,软件工程组的工作是采取适当的措施来保证分配的需求,即要将分配的需求文档化,控制需求的变化,负责项目实施过程中需求的实现情况。
需求管理的目的是在客户和处理客户需求的软件项目组之间建立对客户需求的共同理解。
需求管理的目标有两个:
Ø使软件需求受控,并建立供软件工程和管理使用的需求基线。
Ø使软件计划、产品和活动与软件需求保持一致。
在需求管理过程中,为实现第一个目标,必须控制需求基线的变动,按照变更控制的标准和规的过程进行需求变更控制和版本控制;为实现第二个目标,必须就变更和软件项目各小组达成共识,对软件项目计划做出调整,其中包括人员的安排、用户的沟通、成本的调整、进度的调整等。
需求管理是一个对系统需求变更了解和控制的过程,它贯穿于整个软件项目过程,在软件项目进行的过程中,无论正处于哪个阶段,一旦有需求错误出现或任有关需求的变更出现,都需要需求管理活动来解决,提交《需求变更控制报告》。
●原则
为进行有效的需求管理,一般要遵循如下五条原则:
Ø需求一定要分类管理
Ø需求必须分优先级
Ø需求必须文档化
Ø需求一旦变化,就必须对需求变更的影响进行评估
Ø需求管理必须与需求工程的其他活动紧密整合
●主要工作
需求阶段分为系统需求和系统分析两个阶段。
系统需求阶段的主要工作是:
Ø调研用户需求及用户环境
Ø论证项目可行性
Ø制定项目初步计划
系统分析阶段的主要工作是:
Ø确定系统运行环境
Ø建立系统逻辑模型
Ø确定系统功能及性能要求
Ø编写需求规格说明、测试计划
Ø确认项目开发计划
●完成文档
需求规格说明书、项目开发计划、测试计划
3.2设计阶段管理
●主要工作
软件的设计阶段可分为概要设计和详细设计两个阶段。
概要设计的主要工作:
Ø建立系统总体结构,划分功能模块
Ø定义各功能模块接口
Ø数据库设计(如果需要)
详细设计的主要工作:
Ø设计各模块具体实现算法
Ø确定模块间详细接口
●完成文档
概要设计完成文档
Ø概要设计说明书
Ø数据库设计说明书(如果有)
详细设计完成文档:
Ø详细设计说明书
3.3开发阶段管理
●主要工作
Ø编写程序源代码
Ø进行模块测试和调试
Ø编写测试案
Ø编写测试用例
Ø编写用户手册
●完成文档
Ø系统源程序清单
Ø测试用例
Ø测试案
3.4测试阶段管理
●主要工作
Ø执行测试
Ø测试整个软件系统(健壮性测试)
Ø完善用户手册
Ø编写开发总结报告
●完成文档
Ø测试报告
Ø用户手册
Ø开发工作总结
3.5维护阶段管理
●主要工作
Ø为纠正错误,完善应用而进行修改
Ø对修改进行配置管理
Ø编写故障报告和修改报告
Ø修订用户手册
●完成文档
Ø故障报告
Ø修改报告
3.6工具管理
列出开发的工具
4软件项目估算与进度管理
4.1软件项目估算
软件项目估算包括工作量估算和成本估算两个面。
软件估算作为软件项目管理的一项重要容,是确保软件项目成功的关键因素。
估算是指通过预测构造软件项目所需要的工作量的过程。
初步的估算用于确定软件项目的可行性,详细的估算用于指导项目计划的制定。
4.2软件规模
对软件项目进行估算遇到的第一个问题就是软件规模,即软件的程序量。
软件规模是软件工作量的主要影响因素。
软件项目的设计有一个分层结构,这一分层结构就对应着工作分解结构(WBS,WorkBreakdownStructure),它将软件过程和软件产品结构联系起来。
下图是一个典型的WBS结构:
系统
子系统
子系统
子系统
模块
模块
模块
模块
模块
模块
模块
模块
模块
模块
有了工作分解结构之后,必须定义度量标准用以对软件规模进行估计。
常用的软件规模度量标准有两种:
代码行LOC(LinesOfCode)和功能点FP(FunctionPoints)。
●代码行
代码行LOC是常用的源代码程序长度的度量标准,指源代码的总行数。
源代码中除了可执行语句外,还有帮助理解的注释语句。
●功能点
功能点度量是在需求分析阶段基于系统功能的一种规模估计法,该法通过已经初始应用需求来确定各种输入、输出、查询、外部文件和部文件的数目,从而确定功能点数量。
4.3成本估算
成本估算是对完成软件项目所需费用的估计和计划,是软件项目计划中的一个重要组成部分。
4.4进度安排
在确定了项目资源(总成本、人员、时间等),把其分配到各个项目开发阶段中,即确定项目的进度。
进度的合理安排是如期完成软件项目的重要保证,也是合理分配资源的重要依据,建议进度安排使用Gantt图(甘特图)。
项目整体进度安排的过程如下:
1)根据项目总体进度目标,编制人员计划。
2)将各阶段所需要的资源和可以取得的资源进行比较,确定各阶段的初步进度,然后确定整个项目的初步进度。
3)对初步进度计划进行评审,确保该计划满足要求,否则就重复上面的步骤。
进度安排的详细程度取决于相应工作分解结构的详细程度,而工作分解结构又取决于项目当前所处阶段与历史经验,进度安排计划随着项目的进展而动态调整,逐渐趋于更加详细准确。
在软件项目进行过程中,要及时更新项目进度,以使管理者及时了解项目进展情况。