资源描述
软件项目管理知识点
第一章 概述
1.1项目
1.1.1项目定义
运营就是一个连续进行的且反复的任务组,而项目有其生命周期——从开始到结束。
项目管理协会将项目定义为“为发明独特的产品或服务而进行的一种临时性的工作”
项目的特点:1.临时性 2.独特性
1.1.2 项目和运营的区别
运营就是一系列不能作为项目的任务。
共同点:1.都需要有涉及人力资源(人)在内的资源。
2.都严格的受到资源限制,与无限制的情况截然不同
3.都要被管理,即需要进行计划、执行和控制
4.都要有达成的目的
不同点:项目定义中的两点:临时性和独特性
1.1.3 项目的分类
1.土木工程、建筑、石化、矿业开采等邻域的项目
2.制造项目
3.管理项目
4.研究项目
1.2 项目管理
1.2.1 项目管理的定义
项目管理是一定的主体,为了实现其目的,运用各种有效的手段,对执行中的项目周期各阶段工作进行计划、组织、协调、指挥、控制,以取得良好经济效益的各项活动的总和。
项目管理是在人们对工商业项目中复杂多变的各种作业活动进行计划、协调与控制的过程中发展起来的。
1.2.3 软件项目管理
软件项目是一种特殊的项目,它发明的唯一产品或服务是逻辑主体,没有具体的形状和尺寸,只有逻辑的规模和运营的效果。
1.3 项目经理
1.3.1 项目经理的职责
1.沟通
2.谈判
3.解决问题
4.影响力
5.领导力
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 创建工作分解结构
工作分解结构(work breakdown structure,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个)会出计算题 p38
1. 基于规模的进度估算
a) 定额估算法 T=Q/(R×S)
b) 经验导出模型 D=α×Eb
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.5 ISO9000质量标准和CMMI
6.5.1 ISO9000质量标准
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个基本过程:风险规划、风险辨认、风险定性评估、风险定量评估、风险应对规划、风险监控。
第十章 软件项目采购管理
项目采购管理是为了达成项目范围从执行组织外部获得货品和服务所需要的过程。
展开阅读全文