软件项目开发和管理规范.docx
《软件项目开发和管理规范.docx》由会员分享,可在线阅读,更多相关《软件项目开发和管理规范.docx(8页珍藏版)》请在冰豆网上搜索。
软件项目开发和管理规范
软件工程开发和管理标准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)对初步进度方案进展评审,确保该方案满足要求,否那么就重复上面的步骤。
进度安排的详细程度取决于相应工作分解构造的详细程度,而工作分解构造又取决于工程当前所处阶段与历史经历,进度安排方案随着工程的进展而动态调整,逐渐趋于更加详细准确。
在软件工程进展过程中,要及时更新工程进度,以使管理者及时理解工程进展情况。