新软件项目管理方法与实践 阳王东 电子教案 软件项目管理 1
软件项目管理教案
第3章软件开发过程管理1 软件过程规范(1)过程的定义①定义《牛津简明词典》:“过程”被定义为活动与操作的集合,例如一系列的生产活动。
IEEE-Std-610:“过程”是为完成一个特定的目标而进行的一系列操作步骤。
SEI-CMM:过程是用于软件开发及维护的一系列活动、方法、实践和革新。
②软件过程的分类和组成软件基本过程:软件获取、供应、开发、运行和维护,包括需求分析、软件设计、编码等过程。
软件支持过程:对软件主要过程提供支持的过程,包括文档编制过程、配置管理过程、质量保证过程、验证和确认过程(测试过程)、评审过程等。
软件组织过程:对软件主要过程和支持过程的组织保证过程,包括管理过程、基础设施过程、改进过程和培训过程。
(2)过程规范①什么是过程规范“规范”可以解释为“明文规定或约定俗成的标准”或理解为“用来控制或治理一个团队的一系列准则与章程,以及团队成员必须遵守的相关的规章制度” 过程规范就是对输入/输出活动进行明文规定或约定俗成的标准,即人们需要遵守的约定和规则。
软件过程规范是软件开发组织行动的准则与指南,如软件支持和软件组织过程规范。
软件过程规范与创造力是一对矛盾,如何平衡两者之间的关系,值得研究。
软件过程规范的建立:软件能力成熟度模型(CMM/CMMI ); IBM-Raional 统一过程(RUP);极限编程(eXtreme Programming,XP);微软软件框架(MSF);个体软件过程(PSP);团队软件过程(TSP)。
②过程规范的内容和示例任务规范;日常规章制度;软件工具。
③过程规范的作用帮助团队实现共同的目标;能带来稳定的、高水平的过程质量;使软件组织的生产效率更高。
(3)软件生命周期的过程需求①软件工程过程工程过程:软件系统、产品的定义、设计、实现以及维护的过程。
开发过程:定义并开发软件产品的活动,包括需求分析、软件设计和编程等。
运行过程:在规定的环境中为用户提供运行计算机系统服务的活动,包括软件部署维护过程:提供维护软件产品服务的活动。
软件项目管理方法与实践课后习题(答案)
《软件项目管理方法与实践》课后习题编著阳王东一、选择题(不定项)1、以下属于项目的是(BC)。
A.公务员每天上班 B.ERP系统的二次开发 C.数据移植工作 D.担任领导岗位2、下列是项目的利益干系人(A,C,D,E,F)。
A.项目业主B.竞争对手C.项目客户D.项目经理E.项目实施组织F.项目组成员3、在ISO质量体系中,下面(D)是最终检验和试验的质量保证模式标准。
A.ISO9000B.ISO9001C.ISO9002D.ISO9003E.ISO90044、下面(C)不是软件项目的特点。
A.项目交付成果不明确B.项目进度难以界定C.项目需要的原材料较多D.项目变更难以控制E.项目工作对开发人员依赖性很大5、在PMBOOK中,项目人力资源管理的主要内容包括(A,B,D)。
A.人力资源组织规划B.招聘人员C.人员汇报方式D.人员班子建设6、项目团队在项目结束后解散,这反映出项目的(C)属性。
A.独特性B.开放性C.临时性D.一次性7、增强团队凝聚力属于PMBOOK中九大知识领域中的(D)。
A.进度管理B.人力资源管理C.范围管理D.沟通管理8、项目管理的基本要素是(A)。
A.成本、范围、时间、质量、组织、客户满意度B.成本、时间、质量、风险、计划、沟通C.团队、范围、进度、成本、整合、项目经理D.成本、时间、质量、需求分析、解决方案、采购9、项目的成功主要依赖于(AB)。
A.进度计划、成本控制和质量B.客户满意度C.定义客户需求时客户的妥协D.通过形象工程体现客户的要求二、填空题1、在PMBOOK中,把项目管理划分为以下几个知识领域,即范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理、整体管理。
2、一般的软件项目的核算方式有三种,分别是业务负责制、有限责任制、项目外包制。
3、在PMBOOK中,项目范围管理的主要内容包括启动、范围规划、范围定义、范围核实、范围的变更控制。
软件项目管理课件(完整版)
第三章 项目范围管理
• 软件需求收集遵循的步骤
(1)客户和开发组织确定各自单一联系点,授予 做决定的权利,并代表各自的组织利益行事;
(2)双方举行会议和面谈,讨论各种需求; (3)软件开发组织分析需求的一致性和完整性; (4)开发组织以需求规格说明文档的形式得出讨
• 活动工期估计
工期是开展活动的实际时间加上占用时间。例 如,尽管可能只花一周或5天就能完成一项实际的 工作,但估计的工期可能是两周,目的是根据外 部信息留出一些额外的时间进行调整。
人工量是指完成一项任务所需的工作天数和工作 小时。工期是指时间估计,而不是人工量估计。
第五章 项目时间管理
• 常用的工期估算方法
精度多少
粗数量级
项目生命周期前期, 提供选择决策的成本
经常是项目完成前
估计
得3~5年
-50%~100%
预算估计/概算 早期,1~2年 把钱分配到预算计划 -10%~25%
确定性
项目后期,少于1 为采购提供详细内容, -5%~10%
年
估计实际费用
第四章 软件项目成本管理
• 估算方法
(1)代码行方法 ; (2)功能点方法; (3)类比估算法; (4)自下而上估算; (5)专家估算法; (6)参数估算法。
第二章 项目集成管理
• 指导和管理项目执行
指导与管理项目执行过程要求项目经理和项目团 队采取多种行动执行项目管理计划,完成项目范 围说明书中明确的工作 。
指导与管理项目执行过程最直接会受到项目应用 领域的影响。
可交付成果是为完成项目管理计划中列入并做了 时间安排的项目工作而进行的过程的成果。
全套课件 《软件项目管理方法与实践》-阳王东
软件能力成熟度模型CMM
• 初始级:具有软件开发能力,但无章可循 • 重复级:规范的软件开发过程能够重复,从而使软件开发
具有一定的确定性和稳定性。
• 已定义级:软家开发过程清晰明确,像是在一条规范的生 成流水线上开发软件
• 已管理级:软件开发过程始终在掌控之中,像是在每个流 水线上安装了一个摄像头,能够监控每一个阶段的完成情 况和质量
• 项目范围的主要内容
– 1. 项目的合理性说明 – 2. 项目目标 – 3. 项目可交付成果
• 项目范围的依据
– 合同 – 规范
– SOW
• 确定项目范围的作用
– 确定项目的基本框架,使项目所有者或项目管理者能够系统地、逻辑 地分析项目关键问题及项目形成中的相互作用要素,使得项目的有关 利益人员在项目实施前或项目有关文件书写前,能就项目的基本内容 和结构达成一致。
• 人力资源管理:为了保证最有效地使用参加项目者的个人能力。
– (1) 组织规划。确定、记录并分派项目角色、责任和互相通报的关系; – (2) 招聘人员。招收项目需要的人力,并将其分派到需要的工作岗位上; – (3) 班子建设。培养个人的和集体的工作能力,提高项目管理水平。
• 沟通管理:保证项目信息及时、正确地提取、收集、传播、存贮以及最终 进行处置。
中难以进行实际操作和运用
对该课程教学的要求
• 必须把项目管理知识和软件技术相结合 • 提供丰富的实际项目案例分析,给学生提供间接
的项目经历积累 • 应该结合我国目前软件项目管理实际来阐述软件
项目管理的方法和实践 • 提供实际具体的软件项目管理方法和步骤,增加
所学知识的可操作性
软件项目管理课程教案
2.作业完成情况比较满意
3.分小组讨论案例
章节
第四章需求管理(补充)
时间
第讲
基本
内容
1.需求工程、需求、需求基线的相关概念
2.CMM2的需求管理
3.需求管理的变更控制活动
4.需求管理中的需求稳定性评估
教学
目标
1.掌握需求工程、需求、需求基线的相关概念
2.了解需求工程、需求等定义、需求变更过程控制活动和过程
2.项目经理如何管理和控制项目的一些变更
难点
1.成功管理项目所需要具备的技能及获取这些技能的方法
2.项目经理如何管理和控制项目的一些变更
作业
分组讨论《一家成长中的电子商务公司》案例
教学组织
教学情况记录
这一章开始,就进入到课程的第三部分。对于这一章,学生会更关心项目经理这个对他们有点神秘的角色。首先讲述项目经理概念,然后通过案例,表明项目经理是项目成功的关键所在,再引入项目经理应该具备什么技能及获取这些技能的方法,接着引出如何授权的方法,最后,结合案例,讲述项目经理如何管理和控制项目的一些变更。教材对项目经理这个角色分析比较透彻,讲授时要结合实际案例,让学生易于接受。注意引导学生思考:项目实施过程中,如何在项目规定时间范围内平衡资源的使用?
教学情况记录
识别需求和提出方案是项目生命周期的前2个阶段。前一讲案例学生已经初步掌握了识别需求的概念。如果有多个机会,应该怎么办如果需要招标,如何让承约商明白客户的目标
1.讨论上一讲的案例
2.评讲案例
3.如何识别需求
4.如何选择项目
5.制订需求建议书(RFP)
6.强调实事求是
7.课堂练习与解答
8.布置作业
软件项目管理方法与实践进度管理PPT课件
风险。
第16页/共23页
工作时间度量表
姓名
…
… … … … …
任务项 项目管理 详细设计评审 山东出差 详细设计评审、修改 详细设计评审 详细设计评审、工具熟悉
• 开评审会对里程碑的工作产品进行评审,或者开发人员相互进行检查 • 质量保证员进行规范性检查 • 定期的工作汇报 • 个别的访谈
• 制定有效的补救措施 • 避免形式主义
第12页/共23页
好的实践经验
• 及时准确地向自己上司汇报自己工作情况的人必将会取得成功; • 只存在于人大脑中的思想和知识是不能算作任何工作成果的; • 对于项目经理而言,大多数情况应采用基于结果的管理方式,而不要过多干预开发人员具体的做事方式。
第4页/共23页
关键日期法
阶段一 业务需求调研和理解
开始日期
2002-10-16 结束日期
任务描述
(1) 与客户实际交流,确定要做什么; (2) 详细了解客户现有的办事流程; (3) 确定开发地点、人员及进度安排; (4) 理解和分析现有的业务流程的基础上,提出我们要改进的方式。
提交的工作产品
业务需求说明的理解
第3页/共23页
描述项目进度的方法
• 关键日期法 。列出一些关键活动和进行的日期 • 甘特图 。由Henry L.Gantt于1917年提出。它主要的方法是在一个面向日历
的图上划出一个直线代表项目活动,并用一些符号指示活动的主要里程碑,并 用不同颜色的线或不同类型的线表示进展。 • 关键路线法和计划评审技术(CPM/PERT ) 。用网络图来表达项目中各项活 动的进度和它们之间的相互关系
《软件项目管理原理与实践》 课件 第11章 软件项目管理软件
29
11.1.5 创建新项目计划
项目计划,本质上是你为参与的实际项目的某几 方面内容(你预想会发生的以及希望发生的,二 者最好差别不大)构建的模型。
此模型关注实际项目的某些(不是全部)方面,即任务、资源、时 间框架及其相关成本。
27
可视报表对话框
(5)接下来创建一个可视报表以便仔细查看总的资源工作量及其在项 目生命周期中的可用性。
此要求计算机上安装有微软 Office Excel 2013或更高版本,如果没有,请跳至最后步骤。
(6)单击“报表”菜单中的“可视报表”,显示可视报表对话框,其 中列出了Project中所有预定义的可视报表
项目管理软件有助于制定项目计划和跟踪项目计划的执行 。
人工维护项目管理数据,通常是很麻烦的。 利用项目管理软件,数据资源的任何更改都会自动反映到网络图表、成本
表、资源图表这些项目文件中。 凭借优秀的项目管理软件,可以解决以下问题:
要取得项目的可交付成果,必须执行什么任务,以何种顺序执行? 应于何时执行每一个任务? 谁来完成这些任务?成 本是多少? 如果某些任务没有按计划完成,该怎么办? 对那些关心项目的人而言,交流项目详情的最佳方式是什么?
“网络图”视图中的每个框或节点显示某个 任务的详细信息,框之间的线表示任务间的 关系。
和“日历”视图一样,“网络图”视图没有表结构,整 个视图就是一个图。
项目包含两种类型的报表:表格报表用于打 印,可视报表用于将Project数据输出到Excel 和Visio。
可视报表使用Project中的Excel和Visio模板,来生成设 计美观的图表。
同时,又能与资源和其他项目干系人交流。 (6)使用外观和操作类似桌面程序的应用来管理项目。
软件项目管理的思路与实践
软件项目管理的思路与实践一、引子随着计算机技术的飞速发展,软件已经渗透到了人们生活和工作的方方面面。
软件项目管理已经成为企业最重要的部分之一,因为它关系到软件的成果、进度和成本。
而软件项目管理的成功与否,很大程度上取决于管理者的思路与实践。
在本文中,我们将分享软件项目管理的思路与实践,希望能对大家有所帮助。
二、软件项目管理的思路1. 定义项目目标在进行任何软件项目之前,必须明确项目的目标。
这包括确定软件的功能、性能要求、工作流程、界面设计和用户体验等。
同时,还要确定项目的范围、预算和时间表等。
只有明确了项目目标,才能有效地进行规划和管理,确保软件项目能够按照预期达到成功。
2. 制定项目计划制定项目计划是软件项目管理的关键环节之一。
在项目计划中要确定包括项目的里程碑、任务分配、资源调度和时间表等。
还要建立项目团队成员之间的沟通机制和协作模式。
只有建立正确的项目计划,才能在项目的不同阶段中成功应对各种挑战和风险。
3. 合理分配资源软件项目开发需要大量的人力和物力资源,必须合理分配。
这包括确定每个项目团队成员的职责、技能和工作量。
此外,还要考虑软件开发过程中需要使用的硬件、软件、工具和设备等。
只有合理分配资源,才能更好地控制项目成本和进度,并确保项目质量。
4. 采用适当的开发方法软件项目管理需要采用适当的开发方法。
这包括传统的瀑布模型、敏捷开发、迭代开发等。
针对不同的项目需求,选择合适的开发方法是必须的。
例如,传统的瀑布模型适用于明确的项目目标和稳定的需求,而敏捷开发则适用于需要快速响应需求变更的项目。
5. 设立项目里程碑和质量标准在软件项目管理的过程中,设立项目里程碑和质量标准是非常重要的。
里程碑可以标识出项目不同阶段的成果和进度,方便团队成员了解项目进展情况。
而质量标准则可以帮助团队成员确定项目成果的质量标准,并确保团队成员的责任和工作内容非常清晰。
6. 实施风险管理软件项目管理中常常伴随着各种风险。
软件工程项目管理的方法与实践
软件工程项目管理的方法与实践在当前软件工程的背景下,软件项目管理的重要性越来越突显。
软件项目管理不仅涉及到计划目标的制定和决策,还需要对资源的配置和目标达成过程的监控和调整。
如果软件项目管理工作不得当,就会导致软件开发周期延长,成本增加,甚至出现软件产品无法达到预期质量的情况。
因此,软件工程项目管理的方法与实践的研究一直是软件工程领域的焦点。
在本文中,我们将探讨软件工程项目管理中的方法与实践,并深入探讨如何利用这些方法和实践来提高软件项目管理的效率和质量。
一、软件工程项目管理的方法在软件工程项目管理中,管理方法的选择不仅需要考虑管理的效率和质量,还需要考虑软件项目的特点和团队的组成。
目前,常用的软件工程项目管理方法主要包括以下几种:1. 瀑布模型瀑布模型是最早被广泛应用于软件项目管理的方法之一。
该模型是基于阶段性开发的方法,即按照系统开发的每个阶段分别进行设计、编码、测试等工作。
瀑布模型的优点是结构化明确,容易理解和使用,因此被广泛应用。
但是,这种方法也存在一些缺点。
由于瀑布模型是基于阶段性开发的,因此项目在一个阶段的完成之前,下一个阶段的工作不能启动,容易导致项目延误。
此外,如果在某个阶段中发现了问题,需要重新回到前面的阶段重做工作,工作量会增加,时间和成本也会加大。
2. 增量模型增量模型是一种基于迭代的软件开发方法。
该方法跟瀑布模型类似,但是不同之处在于增量模型将项目工作划分为多个可重叠的增量,每个增量都是一个小的迭代过程。
每个增量都包括需求分析、设计、编码、测试等工作。
每个迭代周期的增量可交付给客户或测试人员进行验证和反馈。
增量模型的优点是能够提高软件质量和开发效率。
由于增量模型可以在迭代周期中同步进行不同的开发工作,因此可以节约时间和成本。
同时,迭代周期中的反馈也可以及时纠正问题,改进质量。
3. 敏捷开发敏捷开发是一种基于迭代和增量的软件开发方法。
与瀑布模型和增量模型不同,敏捷开发更加关注用户需求和变更的适应性。