软件工程课件8.ppt
《软件工程课件8.ppt》由会员分享,可在线阅读,更多相关《软件工程课件8.ppt(114页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第8章 软件过程管理内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 2 2 页页本章学习目标本章学习目标熟悉软件工程项目管理知识领域熟悉软件能力成熟度模型熟悉配置管理了解配置管理工具的使用方法内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 3 3 页页38.1 8.1 软件工程项目管理软件工程项目管理软件工程项目管理是一种应用于软件工程技术的管理过程。软件项目的管理非常重要,因为软件是知识产品,其开发进度和质量很难估计和度
2、量,开发及测试工作效率也难以预测和保证,并且软件系统的复杂性也导致了开发过程中各种风险难以预见和控制。 内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 4 4 页页48.1 8.1 软件工程项目管理软件工程项目管理在软件工程项目管理方面比较权威的体系是项目管理知识体系,即PMBOK(Project Management Body Of Knowledge),它是由美国项目管理协会(Project Management Institute, PMI)发起的。PMBOK对项目管理所需的知识、技能和工具进行了全面的
3、阐述。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 5 5 页页58.1 8.1 软件工程项目管理软件工程项目管理PMBOK每四年更新一次,截止目前最新版是PMBOK第五版(PMBOK2013)。它包括十大知识领域,47个项目管理过程。这十大知识领域为:项目整合管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目干系人管理、项目风险管理、项目采购管理。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engi
4、neering)第第 6 6 页页68.1.1 8.1.1 项目启动管理项目启动管理项目启动项目启动是指组织正式开始一个项目或继续到项目的下一个阶段。项目启动阶段是一个项目非常重要的阶段,然而项目的启动管理往往被忽视,因此作为项目管理者或项目经理(PM),应该特别重视项目启动管理。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 7 7 页页78.1.1 8.1.1 项目启动管理项目启动管理项目启动时需要明确以下几个问题:(1)项目范围、项目周期、关键里程碑点。(2)识别干系人,明确沟通、汇报渠道及各个角色的职
5、责。(3)项目规则约定、表单模板、流程。(4)项目资源、费用预算。(5)产品业务需求、技术需求,用户群体。(6)识别可能的项目风险。(7)需要什么样的技术支持,是否需要前期学习和调查。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 8 8 页页88.1.1 8.1.1 项目启动管理项目启动管理项目启动会是(甲乙双方的)项目小组进行认识和会面的过程。项目启动会的成功开展,有助于明确项目目标,同时向项目经理和项目小组成员进行授权。并有助于调动员工的积极性,让项目各方自上而下达成共识,为日后开展相关的工作扫除障碍。
6、项目启动阶段准备的充足与否往往决定着一个项目的成败,目前对项目启动管理的重要性已形成统一的认知。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 9 9 页页98.1.1 8.1.1 项目启动管理项目启动管理(1)项目考核管理制度。(2)项目例会等沟通管理制度。(3)项目汇报制度。(4)项目计划管理制度:明确各级测试项目计划的制定、检查流程,如:整体计划、阶段计划、周计划等。(5)项目文件管理流程:明确各种测试文件名称的管理和文件的标准模版,如:测试需求编写规范、测试用例编写规范、缺陷编写规范、汇报模板、例会模
7、板日志等。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 10 10 页页108.1.2 8.1.2 项目计划管理项目计划管理项目计划管理项目计划管理是在项目计划阶段对项目实施的管理,内容包括:范围管理、进度管理和综合管理。一个科学的计划,不仅可以保证项目工期,减少资源浪费;而且,所制定出的进度时间表还可以对项目的进程进行跟踪控制管理,以掌握并调控项目的进度,从而保证项目的按期完成。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)
8、第第 11 11 页页118.1.2 8.1.2 项目计划管理项目计划管理计划是行动的准则,是衡量项目成功与否的标准。在进行计划时,需要和客户沟通好时间,范围,成本,质量时间,范围,成本,质量各个方面的内容。在完成项目计划后,计划需要通过项目管理团队评审通过,并与客户沟通,书面认可。在项目实施过程中,需要保证项目组成员理解并按照计划实施。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 12 12 页页128.1.2 8.1.2 项目计划管理项目计划管理项目计划应在项目开始初期制定出来,并随着工程的进展渐进明细
9、。 这样做的好处是可以提前把未知的部分变成已知的并展开工作,若把未知部分留滞到以后通常会产生很多问题,因为未知部分具有最高的风险系数。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 13 13 页页138.1.2 8.1.2 项目计划管理项目计划管理项目进度安排的正确方法是首先识别一组项目任务,建立任务间的相互关联,然后估计各个任务的工作量,分配人力和其他资源,指定进度时序。一般来说,项目进度的安排有两种考虑方式项目进度的安排有两种考虑方式,一种是系统最终交付日期已经确定,项目组织必须在规定期限内完成;另一种
10、是系统最终交付日期只确定了大致年限,确切日期由项目组织确定。1 1制定开发进度计划制定开发进度计划内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 14 14 页页148.1.2 8.1.2 项目计划管理项目计划管理项目进度安排需要将项目的所有工作分解为若干个独立的活动,并在此基础上判断这些活动所需的时间,其具体过程为:内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 15 15 页页158.1.2 8.1.2 项目计划管理项目
11、计划管理在做项目进度计划的时候,常常采用项目管理中的一些技术,如工作分解结构(WBS)、甘特图(GANT)、及PERT估算法等。项目进度通常用一系列的图表表示,通过这些图表可以直观地了解任务分解、活动依赖关系和人员分配情况。目前广泛使用Project软件制作进度计划。Microsoft Project是由微软公司开发销售的项目管理软件程序。软件设计目的在于协助项目经理发展计划、为任务分配资源、跟踪进度、管理预算和分析工作量。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 16 16 页页168.1.2 8.1
12、.2 项目计划管理项目计划管理项目经理编制进度计划,大约分如下几步:(1)日历设置(工作日、非工作日、项目日历、任务日历、资源日历)。(2)WBS分解(分级的层次结构建议,任务备注如何使用,80小时法则)。(3)工期设置(分钟、小时、天、周、月,弹性工期,摘要任务工期计算、估计工期用法)。(4)关联性设定(四种关联性、网络图解释、关联设置方法与技巧)。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 17 17 页页178.1.2 8.1.2 项目计划管理项目计划管理(5)关键路径(概念,作用,实践的用法)。(
13、6)项目进度压缩方法(赶工、快速跟进、并行工程、修改日历)。(7)检查进度计划是否满足要求,如果不满足如何调整。(8)进度计划评审与确认。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 18 18 页页188.1.2 8.1.2 项目计划管理项目计划管理使用Project软件制定的项目进度计划模板:内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 19 19 页页198.1.2 8.1.2 项目计划管理项目计划管理2 2计划跟
14、踪监控计划跟踪监控在项目的进度跟踪与控制方面,采用日志的方式或相应采用日志的方式或相应的工具的工具,项目组成员每天填写工作完成情况,项目经理及时了解项目进展情况和每个人的工作情况,便于项目经理及时发现项目当前存在的问题并且快速的做出相应的调整。 内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 2020 页页208.1.2 8.1.2 项目计划管理项目计划管理计划跟踪监控可以分为如下三项内容:(1 1)计划跟踪:)计划跟踪:对计划中各里程碑进行必要的跟踪,了解项目进度、范围的覆盖情况、人员状况、开发与测试中的问
15、题等。(2 2)分析偏差:)分析偏差:根据里程碑计划跟踪任务的完成情况,对项目的实际数据信息进行分析,并与项目里程碑计划进行比对,分析进度偏差情况,对偏差产生的原因进行必要分析。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 21 21 页页218.1.2 8.1.2 项目计划管理项目计划管理(3 3)进度汇报:进度汇报:负责汇总项目进度情况,并定期向公司管理人员和客户项目管理人员汇报。对于与实际情况偏差较大计划,须经项目管理人员批准后变更计划。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software
16、EngineeringSoftware Engineering)第第 2222 页页228.1.3 8.1.3 人员组织与管理人员组织与管理人员是软件工程项目中最重要、也是最为活跃的资源因素。 一个成功的项目经理应具备领导者的才能、沟通者的技巧、推动者的激情。因为项目负责人项目负责人是一个项目的核心人物,对项目的成败起着关键的作用。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 2323 页页238.1.3 8.1.3 人员组织与管理人员组织与管理项目负责人的工作主要有下面几项:(1 1)确定项目目标)确定项
17、目目标 每个项目都应该有一个明确的、大家一致认可的主要目标。 过多的目标会分散注意力,如果有些目标是在项目过程中自然产生的,那么不要一开始把它定为项目的目标。分析达到目标应该完成的具体任务,每个任务都围绕一个中心,并且不会互相抵触。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 2424 页页248.1.3 8.1.3 人员组织与管理人员组织与管理(2 2)明确职责权限)明确职责权限 在项目开始前应该有岗位职责书,明确每个岗位的职责和权限; 内蒙古工业大学内蒙古工业大学软件工程软件工程(Software En
18、gineeringSoftware Engineering)第第 2525 页页258.1.3 8.1.3 人员组织与管理人员组织与管理(3 3)熟悉工作流程)熟悉工作流程软件组织在制定一个企业或一个项目的管理规范时,应该首先了解一些国际或国家软件工程规范和标准,尽量使自己的项目过程符合大的规范和标准;(4 4)掌握技术要点)掌握技术要点通常,项目经理不需要有非常娴熟的技术能力,可以在项目组或公司层面配置技术专家。项目经理应该对需要使用的技术有一定的理解,便于沟通;内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第
19、第 2626 页页268.1.3 8.1.3 人员组织与管理人员组织与管理(5 5)了解人力资源状况)了解人力资源状况一般软件项目中人员的使用是分段的,不同的阶段需要不同人员,应该根据需求选择合适的人员组建项目组; (6 6)把握内外资源)把握内外资源尽可能在项目早期明确提出需要的资源,除了前面提到的人力资源外,还有资金和设备等。好的项目经理还要清楚,通过什么途径可以获得这些资源。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 2727 页页278.1.3 8.1.3 人员组织与管理人员组织与管理(7 7)制
20、定项目计划)制定项目计划 制定项目计划的第一个重要原则是尊重事实项目计划的第一个重要原则是尊重事实:计划要合理和可行,充分考虑项目背景、开发者的能力和项目风险等因素。计划的第二个原则是分步细化计划的第二个原则是分步细化:很难在一开始就将所有的阶段计划细化,因此可以先定出阶段性的计划和细化计划的时机,然后只细化最近内容。计划的第三个原则是描述清晰、没有歧义。最后一个原则是计划一定要通过评审最后一个原则是计划一定要通过评审,得到所有相关部门人员的认可。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 2828 页页
21、288.1.3 8.1.3 人员组织与管理人员组织与管理(8 8)对项目变更要有完整的记录)对项目变更要有完整的记录项目从启动到设计、实施、上线通常经历一个较长的时间,其中不免会有变化。所有的变化项目经理都必须控制,包括需求分析、方案设计、人员和设备调整等,掌控变化,规避风险。(9 9)保持良好的客户关系)保持良好的客户关系,建成一个项目,结交一批朋友。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 2929 页页298.1.3 8.1.3 人员组织与管理人员组织与管理【案例【案例8.18.1】项目经理工作内
22、容】项目经理工作内容下面结合一个实际的项目来了解一下项目经理的工作。这个研发项目的投资150万,项目经理做了以下工作。(1)写技术可行性方案,到现场给客户讲解可行性方案并进行部分演示,主要目的是显示技术实力和对业务的理解程度,让客户了解开发组织的能力。(2)根据客户发出的邀标书,编写投标书。(3)中标后,编写项目开发计划,包括预计需要的资源、项目预算、可能遇到的困难、开发进度等。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 3030 页页308.1.3 8.1.3 人员组织与管理人员组织与管理(4)需求调研
23、,帮助客户梳理业务流程同时自己了解客户业务,编写初步的需求文档。(5)组建开发团队,分配任务。(6)进行技术培训,制定软件框架和开发规范、数据库设计等规范。(7)开发软件原型界面,并与客户一起讨论和完善原型界面,这个周期比较长也很重要。(8)按照原型开发软件。(9)测试人员陆续进行测试。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 31 31 页页318.1.3 8.1.3 人员组织与管理人员组织与管理(10)与其他外部系统接口厂商讨论接口方案。(11)过程监控,计划跟踪,风险预估与规避。(12)团队建设,
24、项目冲突管理。(13)新系统与原有系统并行工作,发现问题及时解决,目的是试用。(14)并行一段时间后,准备正式上线,项目组检查所有的运行环境和外部接口。(15)正式上线运行后,开始催促客户付剩余的开发款。内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 3232 页页328.1.4 8.1.4 变更管理变更管理随着客户对信息化建设认识的发展和业务水平的提高,以及市场的要求,项目(或软件系统)会不断的被提出新的需求和修改项,即需求变更需求变更。需求变更可能发生在任何阶段,即使到项目后期也会存在。后期的变更往往会对
25、项目产生很负面的影响。 内蒙古工业大学内蒙古工业大学软件工程软件工程(Software EngineeringSoftware Engineering)第第 3333 页页338.1.4 8.1.4 变更管理变更管理需求变更管理活动需要完成下面几个任务: (1 1)确定变更控制过程,)确定变更控制过程,即确定一个选择、分析和决策需求变更的过程,所有的需求变更都需遵循此流程; (2 2)建立一个由项目风险承担者组成的软件变更控制)建立一个由项目风险承担者组成的软件变更控制委员会委员会(Software Change Control Board, SCCB),由他们来评估和确定需求变更;内蒙古工业
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 课件
限制150内