第一章概述 1.1项目 1.1.1项目定义 运营就是一个持续进行的且重复的任务组,而项目有其生命周期——从开始到结束。项目管理协会将项目定义为“为创造独特的产品或服务而进行的一种临时性的工作” 项目的特点:1.临时性2.独特性 1.1.2项目和运营的区别 运营就是一系列不能作为项目的任务。 共同点:1.都需要有包括人力资源(人)在内的资源。 2.都严格的受到资源限制,与无限制的情况截然不同 3.都要被管理,即需要进行计划、执行和控制 4.都要有达到的目标不同点:项目定义中的两点:临时性和独特性 1.1.3项目的分类 1.土木工程、建筑、石化、矿业开采等邻域的项目 2.制造项目 3.管理项目 1.2项目管理 1.2.1项目管理的定义 项目管理是一定的主体,为了实现其目标,利用各种有效的手段,对执行中的项目周期各阶段工作进行计划、组织、协调、指挥、控制,以取得良好经济效益的各项活动的总和。 项目管理是在人们对工商业项目中复杂多变的各种作业活动进行计划、协调与控制的过程中发展起来的。 1.2.3软件项目管理 软件项目是一种特殊的项目,它创造的唯一产品或服务是逻辑主体,没有具体的形状和尺寸,只有逻辑的规模和运行的效果。 1.3项目经理 1.3.1项目经理的职责 1.沟通 2.谈判 3.解决问题 4.影响力 1.3.2项目经理的权利 1.制定项目的有关决策 2.挑选项目成员的权利 3.对项目获得的资源进行再分配 1.4项目管理过程组和知识领域 项目管理知识体系(PMBOK)是美国项目管理学会组织(PMI)开发的一套关于项目管理的知识体系,它是项目管理专业人员(PMD)考试的关键材料。 1.4.1项目管理过程组 1.启动过程组 2.规划过程组 3.执行过程组 4.监控过程组 5.收尾过程组 1.4.2项目管理知识领域 项目集成管理、项目范围管理、项目时间管理、项目成本管理、项目质量管理、项目人力资源管理、项目沟通管理、项目风险管理、项目采购管理(9个) 第二章软件项目集成管理 2.1项目集成管理定义 项目集成管理涉及在整个项目的生命周期中协调左右其他项目的知识领域。项目集成管理主要包括7个主要过程: 1.制定项目章程 2.创建初步的项目范围说明书 3.制定项目管理计划 4.指导和管理项目实施 5.监控项目工作 6.整体变更控制 7.项目收尾 2.2 制定项目章程 2.2.1制定项目章程依据 (1)合同。合同是监督项目执行的各方履行其权利和义务、具有法律效力的文件。 软件项目合同主要是技术合同,技术合同管理是围绕合同生存期进行的。 合同生存期分为:合同准备、合同签署、合同管理、合同终止四个阶段。 在合同准备阶段企业作为需方包括三个过程:招标书定义、供方选择、合同文本的准备企业作为供方包括:项目分析、竞标、合同文本三个过程。 (2)项目工作说明书 (3)事业环境因素 (4)组织过程资产 2.2.2制定项目章程的工具和技术 1.项目选择方法 2.项目管理方法 3.项目管理信息系统 4.专家判断 第三章软件项目范围管理 3.1项目范围管理 项目范围管理是指界定和控制项目中包括什么和不包括什么的过程。项目范围管理主要包括5个阶段: 1.需求收集 2.范围定义 3.制作工作分解结构 4.范围核实 5.范围控制 3.3项目工作分解 3.3.1创建工作分解结构工作分解结构(workbreakdownstructure,WBS)以可交付成果为中心,将项目中所涉及的工作进行分解,定义出项目的整体范围。 3.3.3工作分解的类型 1.清单类型 2.图标类型p23 第四章软件项目成本管理 4.1.1.成本定义 成本按照其生产和存在形式的不同可分成:固定成本、可变成本、半变动成本、直接成本、间接成本和总成本。 4.1.2成本管理 成本管理包括4个过程: 1.资源计划过程 2.成本估算过程 3.成本预算过程 4.成本控制过程 4.3成本估算 4.3.1成本估算的类型 成本估算的类型包括以下三种: 1.粗数量级估算(rom) 2.预算估算/概算 3.确定性估算 4.3.2成本估算的方法 P31有计算题 1.代码行方法 2.功能点方法 3.类比估算法 4.自下而上估算 5.专家估算法 6.参数估算法 第五章软件项目时间管理 项目时间管理涉及6个过程:活动定义、活动排序、活动资源估计、活动工期估计、进度安排、进度控制。 5.1.2活动排序 活动排序指识别与记载活动之间的逻辑关系。活动之间的相互关系有3中: 1.强制依赖关系 2.自由依赖关系 3.外部依赖关系 5.2.2活动工期估算 活动工期是开展活动的实际时间加上占用时间。人工量是指完成一项任务所需的工作天数和工作小时。工期估算是指时间估算,而不是人工量估算。 常用的活动工期估算方法:(7个)会出计算题 1.基于规模的进度估算 a)定额估算法T=Q/(R×S) b)经验导出模型D=α×E b 2.专家估算法 3.类比估算法 4.关键路径法 5.三点估算法 T=(a 4m b)/6 6.参数估算法 7.自上而下经验类比法 5.3 进度安排 5.3.2软件进度安排表示法 一般进度管理有三种图形表示法:甘特图、网络图、里程碑图。 1.甘特图 甘特图可以显示任务的基本信息,使用干特图能方便地看到任务的工期、开始和结束时间以及资源信息。 2.网络图 网络图能描绘任务分解情况以及每项作业的开始时间和结束时间,此外,它还描绘了各个作业彼此间的依赖关系网络图是用箭线和节点将项目任务的流程表示出来的图形,根据节点和箭线的不同含义,项目管理中的网络图分为PDM网络图、ADM网络图、CDM网络图三种类型。 3.里程碑图 里程碑图就是使用图标的方式来直接地表达项目里程碑地一种项目管理图表工具。 第六章软件项目质量管理 6.1基本概念 6.1.1软件质量定义 软件质量是与软件产品满足规定地和隐含地需求能力有关的特征或特征的全体。 6.1.2软件质量模型 McCall质量模型 三组质量因素: 1.产品操作质量 a.正确性 b.可靠性 c.有效性 d.完整性 e.可用性 2.产品修订质量 a.可维护性 b.可测试性 c.灵活性 3.产品转变质量 a.可移植性 b.可重用性 c.互操作性 Boehm质量模型 除了McCall模型中拥有的还包括了了McCall模型中没有的硬件特性。 ISO/IEC9126质量模型 1.内部质量模型 2.外部质量模型 3.使用中质量模型 6.1.3软件缺陷 软件缺陷是软件在生命周期各个阶段存在的一种不满足给定需求性的问题。 6.3质量保证 6.3.1软件质量保证的目标和任务 软件质量保证是一种有计划的、系统化的行动模式,他是为项目或产品符合已有技术需求提供充分信任所必需的。质量保证是一种预防性、提高性和保证性的质量管理活动。 质量保证的主要目标: 1.事前预防工作,例如,着重于缺陷预防而不是缺陷检查。 2.尽量在刚刚引入缺陷时就将其捕获,而不是让缺陷扩散到下一个阶段。 3.作用于过程而不是最终产品,因此他有可能会带来广泛的影响和巨大的收益。 4.贯穿于所有的活动之中,而不是集中在一点。 软件质量保证的主要任务: 1.SQA审计与评审 2.SQA报告 3.处理不符合问题 软件质量保证实施的五个步骤: 1.目标 2.计划 3.执行 4.检查 5.改进 6.3.2软件质量保证过程共6个 1.计划阶段 QA检查清单:软件开发质量计划、软件配置管理计划 2.需求分析阶段 质量保证检查清单:软件需求规格说明书、变更需求跟踪记录、验收测试标准与测试计划 3.设计阶段 质量保证检查清单:概要设计文档、详细设计文档、测设计划(系统/集成/单元)、项目标准 4.编码阶段 质量保证检查清单:编码计划、开发规范建议书、详细设计疑问列表、代码审查检查列表、代码审查记录、代码测试记录 5.测试阶段 质量保证检查清单:软件测试计划、测试记录、缺陷统计表 6.系统交付和安装阶段 质量保证检查清单:说明书检查、程序检查 6.4质量控制 质量控制是监控项目的具体结果,判断它们是否符合相关质量标准,并找出消除不合绩效的方法。一般来说,软件质量控制的过程包括技术评审、代码走查、代码评审、单元测试、集成测试、系统测试和缺陷追踪等。 6.5ISO9000质量标准和CMMI 6.5.1ISO9000质量标准 ISO9000质量体系提出了8项质量管理原则: 1.以顾客为关注焦点。组织依赖于顾客,因此组织应该理解顾客当前的和未来的需求,从 而满足顾客要求并超越其期望。 2.领导作用。领导者将本组织的宗旨、方向和内部环境统一起来,并创造时员工能够充分 参与时间组织目标的环境。80%的质量问题与管理有关,20%的质量与员工有关。 3.全员参与。各级员工时组织生存和发展之本,只有他们的充分参与,才能使其为组织利 益发挥才干。 4.过程方法。将活动和相关的过程以及资源进行有效的积累,更有可能得到期望的结果。 5.管理的系统方法。针对设定的目标,识别、理解并管理一个由相互关联的过程所组成的 体系,有助于提高组织的有效性的效率。 6.持续改进。是组织的一个永恒发展的目标,是一个PDCA循环。要增强满足要求的能力 的循环活动。 7.基于事实的决策方法。针对数据和信息的逻辑分析或判断是有效的基础,用数据和事实 说话。 8.互利的供方关系。通过互利的关系,增强组织及其供方创造价值的能力。 6.5.2能力成熟度模型集成CMMI 能力成熟度模型(CMM,capability maturity model)是以下三个基本成熟度模型为基础综合形成的: SW-CMM:软件工程的对象是软件系统的开发活动,要求实现软件开发、运行、维护活动系统化、制度化、量化。 SE-CMM:系统工程能力成熟度模型:系统工程的对象是全套系统的开发活动,可能包括也可能不包括软件。 IPD-CMM:整合产品能力成熟度模型:集成的产品和过程开发是指在产品生命周期中,通过所有相关人员的通力合作,采用系统化的进程来更好地满足客户需求、期望和要求。 第七章软件项目人力资源管理 7.1.1项目人力资源管理的定义 项目人力资源管理即根据项目的目标、项目活动进展情况和外部环境的变化,采取科学的方法,对项目团队成员的行为、思想和心理进行有效的管理,充分发挥他们的主观能动性,实现项目的最终目标。 7.1.2项目组织结构 主要有3中类型:职能型、项目型和矩阵型。 7.5.1过程管理 团队的发展一般都要经过形成期(forming),震荡期(storming),规范期(norming)和执行期(performing)这四个阶段。 第八章软件项目沟通管理 8.1沟通的重要性 沟通管理就是确保及时、正确地产生、收集、分发、储存和最终处理项目信息,规避或减少类似错误的发生。 8.5沟通建议 8.5.1沟通技巧 1.学会倾听 2.表达准确 3.双向沟通 4.换位思考 5.扫除障碍 6.因人而异 8.5.2知识传递及共享 纵向传递是一个具有很强时间顺序性的接力过程,是任何一个开发团队都必需面对的过程问题。横向传递是一个实时性的过程,是指软件产品和技术知识在不同角色和团队之间的传递过程,包括系统分析人员、产品设计人员、编程人员、测试人员、技术支撑人员之间的知识传递,包括不同产品线的开发团队之间的知识传递,不同领域之间的知识传递等。 第九章软件项目风险管理 9.1基本概念 风险是一种对实现项目目标产生消极或积极影响的不确定性。风险管理包含6个基本过程:风险规划、风险识别、风险定性评估、风险定量评估、风险应对规划、风险监控。 第十章软件项目采购管理 项目采购管理是为了达到项目范围从执行组织外部获得货物和服务所需要的过程。
信息发布:广州名易软件有限公司 http://www.myidp.net
|