1、软件项目开发和管理规范V1软件开发原则化工作流程1 引言1.1 编写目的软件项目管理是软件工程和项目管理的交叉学科,软件项目管理的概念涵盖了管理软件产品开发所必须的知识、技术及工具。根据美国项目管理协会PMI对项目管理的定义可以将软件项目管理定义为:在软件项目活动中运用一系列知识、技能、工具和技术,以满足软件需求方的整体规定。软件项目管理是为了使软件项目可以按照预定的成本、进度、质量顺利完毕,而对成本、人员、进度、质量、风险等进行分析和管理的活动。事实上,软件项目管理的意义不仅仅如此,进行软件项目管理有助于将开发人员的个人开发能力转化成公司的开发能力,公司的软件开发能力越高,表白这个公司的软件
2、生产越趋向于成熟,公司越可以稳定发展。软件生存周期涉及可行性分析与项目开发筹划、需求分析、设计(概要设计和具体设计)、编码、测试、维护等活动,所有这些活动都必须进行管理,在每个阶段都存在着权限角色控制、文档管理、版本控制、管理工具等,软件项目管理贯穿于软件生命的演化过程之中。1.2 合用范畴所有软件项目管理。1.3 定义列出本文献中用到的专门术语的定义、外文首字母组词的原词组。2 软件项目管理过程2.1 概述为保证软件项目获得成功,必须对软件开发项目的工作范畴、要完毕的任务、需要的资源、需要的工作量、进度的安排、也许遇到的风险等做到心中有数。软件项目的管理工作开始于技术工作开始之前,在软件从概
3、念到实现的过程中持续进行,最后终结于软件开发工作结束。2.2 流程图注:带书名号的为项目开发过程中需提交的文档。2.3 项目管理过程2.3.1 启动软件项目启动软件项目是指必须明确项目的目的和范畴、考虑也许的解决方案以及技术和管理上的规定等,这些信息是软件项目运营和管理的基本。2.3.2 制定项目筹划项目筹划在项目开始的时候制定,并随着项目的进展不断发展,项目筹划为管理者提供了根据筹划定期评审和跟踪项目进展的基本。筹划的制定如下面的活动为根据: 估算项目所需要的工作量 估算项目所需要的资源 根据工作量制定进度筹划,继而进行资源分派 做出配备管理筹划2.3.3 跟踪及控制项目筹划在软件项目进行过
4、程中,严格遵守项目筹划,对于某些不可避免的变更,要进行合适的控制和调节,但要保证筹划的完整性和一致性。2.3.4 评审项目筹划对项目筹划的完毕程序进行评审,并对项目的执行状况进行评价。2.3.5 编写管理文档项目管理人员根据软件合同拟定软件项目与否完毕。项目一旦完毕,则检查项目完毕的成果和中间记录文档,并把所有的成果记录下来形成文档而保存。3 软件项目管理内容3.1 需求阶段管理需求分析是软件生命周期中相称重要的一种阶段,是软件设计的基本,也是顾客和软件工程人员之间的桥梁。简朴地说,软件需求就是拟定系统需要做什么,严格意义上,软件需求是系统或软件必须达到的目的与能力。l 目的需求管理是一种获取
5、、组织并记录软件需求的系统化方案,同步也是一种使客户与项目开发组对不断变更的软件需求达到并保持一致的过程。在需求管理中,软件工程组的工作是采用合适的措施来保证分派的需求,即要将分派的需求文档化,控制需求的变化,负责项目实行过程中需求的实现状况。需求管理的目的是在客户和解决客户需求的软件项目组之间建立对客户需求的共同理解。需求管理的目的有两个: 使软件需求受控,并建立供软件工程和管理使用的需求基线。 使软件筹划、产品和活动与软件需求保持一致。在需求管理过程中,为实现第一种目的,必须控制需求基线的变动,按照变更控制的原则和规范的过程进行需求变更控制和版本控制;为实现第二个目的,必须就变更和软件项目
6、各小组达到共识,对软件项目筹划做出调节,其中涉及人员的安排、顾客的沟通、成本的调节、进度的调节等。需求管理是一种对系统需求变更理解和控制的过程,它贯穿于整个软件项目过程,在软件项目进行的过程中,无论正处在哪个阶段,一旦有需求错误浮现或任何有关需求的变更浮现,都需要需求管理活动来解决,提交需求变更控制报告。l 原则为进行有效的需求管理,一般要遵循如下五条原则: 需求一定要分类管理 需求必须分优先级 需求必须文档化 需求一旦变化,就必须对需求变更的影响进行评估 需求管理必须与需求工程的其她活动紧密整合l 重要工作需求阶段分为系统需求和系统分析两个阶段。系统需求阶段的重要工作是: 调研顾客需求及顾客
7、环境 论证项目可行性 制定项目初步筹划系统分析阶段的重要工作是: 拟定系统运营环境 建立系统逻辑模型 拟定系统功能及性能规定 编写需求规格阐明、测试筹划 确认项目开发筹划l 完毕文档需求规格阐明书、项目开发筹划、测试筹划3.2 设计阶段管理l 重要工作软件的设计阶段可分为概要设计和具体设计两个阶段。概要设计的重要工作: 建立系统总体构造,划分功能模块 定义各功能模块接口 数据库设计(如果需要)具体设计的重要工作: 设计各模块具体实现算法 拟定模块间具体接口l 完毕文档概要设计完毕文档 概要设计阐明书 数据库设计阐明书(如果有)具体设计完毕文档: 具体设计阐明书3.3 开发阶段管理l 重要工作
8、编写程序源代码 进行模块测试和调试 编写测试方案 编写测试用例 编写顾客手册l 完毕文档 系统源程序清单 测试用例 测试方案3.4 测试阶段管理l 重要工作 执行测试 测试整个软件系统(强健性测试) 完善顾客手册 编写开发总结报告l 完毕文档 测试报告 顾客手册 开发工作总结3.5 维护阶段管理l 重要工作 为纠正错误,完善应用而进行修改 对修改善行配备管理 编写故障报告和修改报告 修订顾客手册l 完毕文档 故障报告 修改报告3.6 工具管理列出开发的工具4 软件项目估算与进度管理4.1 软件项目估算软件项目估算涉及工作量估算和成本估算两个方面。软件估算作为软件项目管理的一项重要内容,是保证软
9、件项目成功的核心因素。估算是指通过预测构造软件项目所需要的工作量的过程。初步的估算用于拟定软件项目的可行性,具体的估算用于指引项目筹划的制定。4.2 软件规模对软件项目进行估算遇到的第一种问题就是软件规模,即软件的程序量。软件规模是软件工作量的重要影响因素。软件项目的设计有一种分层构造,这一分层构造就相应着工作分解构造(WBS,Work Breakdown Structure),它将软件过程和软件产品构造联系起来。下图是一种典型的WBS构造:系 统子 系 统子 系 统子 系 统模块模块模块模块 模块模块模块模块模块模块有了工作分解构造之后,必须定义度量原则用以对软件规模进行估计。常用的软件规模
10、度量原则有两种:代码行LOC(Lines Of Code)和功能点FP(Function Points)。l 代码行代码行LOC是常用的源代码程序长度的度量原则,指源代码的总行数。源代码中除了可执行语句外,尚有协助理解的注释语句。l 功能点功能点度量是在需求分析阶段基于系统功能的一种规模估计措施,该措施通过已经初始应用需求来拟定多种输入、输出、查询、外部文献和内部文献的数目,从而拟定功能点数量。4.3 成本估算成本估算是对完毕软件项目所需费用的估计和筹划,是软件项目筹划中的一种重要构成部分。4.4 进度安排在拟定了项目资源(总成本、人员、时间等),把其分派到各个项目开发阶段中,即拟定项目的进度
11、。进度的合理安排是如期完毕软件项目的重要保证,也是合理分派资源的重要根据,建议进度安排使用Gantt图(甘特图)。项目整体进度安排的过程如下:1) 根据项目总体进度目的,编制人员筹划。2) 将各阶段所需要的资源和可以获得的资源进行比较,拟定各阶段的初步进度,然后拟定整个项目的初步进度。3) 对初步进度筹划进行评审,保证该筹划满足规定,否则就反复上面的环节。进度安排的具体限度取决于相应工作分解构造的具体限度,而工作分解构造又取决于项目目前所处阶段与历史经验,进度安排筹划随着项目的进展而动态调节,逐渐趋于更加具体精确。在软件项目进行过程中,要及时更新项目进度,以使管理者及时理解项目进展状况。您好,欢迎您阅读我的文章,本WORD文档可编辑修改,也可以直接打印。阅读过后,但愿您提出保贵的意见或建议。阅读和学习是一种非常好的习惯,坚持下去,让我们共同进步。