软件项目管理(上)
第一章
知识点
项目(Project)是为了创造一个唯一的产品或提供一 个唯一的服务而进行的临时性的努力。
项目的特征
- 有明确的目标
- 项目之间的活动有相关性
- 限定的周期
- 有独特性
- 资源成本的约束性
- 项目的不确定性
项目管理是一系列的伴随着项目的进行而进行的、目的是为了确保项目能够达到期望的结果的一系列管理行为
项目管理五大过程组:
- 启动过程组
- 计划过程组
- 执行过程组
- 控制过程组
- 收尾过程组
敏捷模型
⚫ 敏捷组织提出的一个灵活开发方法 ⚫ 应对迅速变化需求的快速软件开发方法 ⚫ 是一种迭代、循序渐进的开发方法
敏捷宣言
- 个体和互动胜过过程和工具
- 可工作的软件胜过面面俱到的文档
- 客户合作胜过合同谈判
- 响应变化胜过遵循计划
12个敏捷原则:
习题
1、项目管理知识体系(PMBOK)包括哪10个知识领域?
答:项目集成管理、项目范围管理、项目进度管理、项目成本管理、项目质量管理、项目资源管理、项目沟通管理、项目风险管理、项目采购管理、项目干系人管理
2、请简述项目管理的5个过程组及其关系。
答:(1)启动过程组:主要是确定一个项目或一个阶段可以开始了,并要求着手实行;定义和授权项目或者项目的某个阶段。
(2)计划过程组:为完成项目所要达到的商业要求而进行的实际可行的工作计划的设计、维护,确保实现项目的既定商业目标。计划基准是后面跟踪和监控的基础。
(3)执行过程组:根据前面制定的基准计划,协调人力和其他资源,去执行项目管理计划或相关子计划。
(4)控制过程组:通过监控和检测过程确保项目达到目标,必要时采取一些修正措施。集成变更控制是一个重要的过程。
(5)收尾过程组:取得项目或阶段的正式认可并且有序地结束该项目或阶段。向客户提交相关产品,发布相关结束报告,并且更新组织过程资产并释放资源。
3、项目的特征是什么。
答:目标性、相关性、临时性、独特性、资源约束性、不确定性
第二章
知识点
项目启动的背景:
- 符合法规法律,社会要求
- 满足相关方的要求或需求
- 创造,改进或修复产品过程或服务
- 执行,变更业务或技术战略
项目立项:
明确项目的目标、时间表、项目使用的资源 和经费,而且得到执行该项目的项目经理 和项目发起人的认可
项目投标过程
甲方招标书定义-》乙方项目分析-》招标与竞标-》合同签署
项目章程
确认项目存在的文件,包括对项目的确认、 对项目经理的授权和项目目标的概述等
习题
-
项目立项之后,项目负责人会进行(自造-购买)决策,确定待开发产品的哪些部分应该采购、外包开发、自主研发等。
-
PMI人才三角重点关注(技术项目管理)、(领导力)、(战略和商务管理)3个关键技能。
-
在立项阶段,应该明确项目的目标、时间表、使用的资源和 经费,而且得到项目发起人的认可。
项目招标对于一个项目的开发是必需的,即便项目是内部项目。(×)内部项目不需要项目招标
项目建议书是项目计划阶段开发的文档。(×)项目建议书是在项目初期为竞标或签署合同而提交的文档(投标)
项目章程是项目执行组织高层批准的确认项目存在的文件,其中不包括对项目经理的授权。(×)
项目章程是项目执行组织高层批准的一份以书面签署的确 认项目存在的文件,包括对项目的确认、对项目经理的授权和 项目目标的概述等。
下列不是项目立项过程内容的是(B)
A.项目的目标
B.项目的风险
C.项目的时间表
D.项目使用的资源和经费
在项目选择过程中,关键是对项目的定义有明确的描述,包括明确项目的目标、
时间表、项目使用的资源和经费,而且得到项目发起人的认可。这个阶段称为立项阶段。
项目建议书是(C)阶段开发的文档
A.项目执行 B.项目结尾 C.项目初始 D.项目计划
下列不属于甲方招投标阶段任务的是?(A)
A.编写建议书 B.招标书定义 C.供方选择 D.合同签署
甲(需)方在招投标阶段的主要任务是招标书定义、供方选择、合同签署。
乙(供)方在招投标阶段主要包括3个过程:项目分析、竞标、合同签署。
下列不属于乙方招投标阶段任务的是?(D)
A.项目分析 B.竞标 C.合同签署 D.招标书定义
什么是项目章程?
答:项目章程是项目执行组织高层批准的一份以书面签署的确认项目存在的文件,包括对项目的确认、对项目经理的授权和项目目标的概述等。
第三章
知识点
项目生存期选择
- 预测型:
提前进行大量的计划工作,然后一次性执行;执行是一个 连续的过程。
- 迭代型:
允许对未完成的工作进行反馈,从而改进和修改该工作。
-
增量型:
向客户提供各个己完成的,可能立即使用的可交付成果。
-
敏捷型:
既有迭代,也有增量,便于完善工作,频繁交付。
1、瀑布模型的适用范围:
1 ) 在 项 目 开 始 前 , 项 目 的 需 求 已 经 被 很 好 地 理 解 , 也 很 明 确 , 而 且 项 目 经 理 很 熟 悉 为 实 现 这 一 模 型 所 需 要 的 过 程 。 2 ) 解 决 方 案 在 项 目 开 始 前 也 很 明 确 。 3 ) 短 期 项 目 以 采 用 瀑 布 模 型 。
瀑 布 模 型 的 缺 点 .
1 ) 在 软 件 开 发 的 初 期 阶 段 就 要 求 做 出 正 确 、 全 面 、 完 整 的 需 求 分 析 , 这 对 许 多 应 用 软 件 来 说 是 极 其 困 难 的 。
2 ) 由 于 开 发 模 型 - 模 型 中 没 有 反 馈 过 程 , 用 户 只 有 等 到 整 个 过 程 的 末 期 才 能 见 到 开 发 成 果 , 从 而 增 加 了 开 发 风 险
3 ) 一 个 新 的 项 目 不 适 合 瀑 布 模 型 , 除 非 在 项 目 的 后 期 。
4 ) 用 户 直 到 项 目 结 束 才 能 看 到 产 品 的 质 量 , 用 户 不 是 渐 渐 地 熟 悉 系 统 。
5) 不 允 许 变 更 或 者 限 制 变 更 。
6) 早 期 的 错 误 可 能 要 等 到 开 发 后 期 才 能 发 现 , 进 而 带 来 严 重 后 果 。
2、V 模 型 的 适 用 范 围 :
1 ) 项 目 的 需 求 在 项 目 开 始 前 很 明 确 。
2 ) 解 决 方 案 在 项 目 开 始 前 很 明 确 。
3 ) 项 目 对 系 统 的 安 全 性 能 要 求 很 严 格
V 模 型 的 使 说 明 : 使 用 V 模 型 , 要 求 开 发 的 全 过 程 是 严 格 按 照 顺 序 进 行 的 , 一 个 阶 段 的 输 出 是 下 一 个 阶 段 的 输 入 。
3、增 量 型 生 存 期 模 型 的 适 用 范 围 :
1 ) 进 行 已 有 产 品 升 级 或 新 版 本 开 发 , 增 量 型 生 存 期 模 型 是 非 常 适 合 的 。
2 ) 对 于 完 成 期 限 要 求 严 格 的 产 品 , 可 以 使 增 量 型 生 存 期 模 型 。
3 ) 对 于 所 开 发 的 领 域 比 较 熟 悉 而 且 已 有 原 型 系 统 , 增 量 型 生 存 期 模 型 是 非 常 适 合 的 。
4 ) 对 市 场 和 用 户 把 握 不 是 很 准 , 需 要 逐 步 了 解 的 项 目 , 可 采 用 增 量 型 生 存 期 模 型 。
增 量 型 生 存 期 模 型 的 使 用说 明 : 使 用 增 量 型 生 存 期 模 型 后 首 先 构 建 整 个 系 统 的 核 心 部 分 , 或 者 具 有 高 风 险 的 部 分 功 这 部 分 功 能 对 项 目 的 成 功 起 到 重 要 作 用 。
4、渐进式阶段模型
渐进式阶段模型是一个特殊的增量型生存期模型,每个增量就是一个比较完整的系统。
5、敏捷型生存期模型
结合了迭代和增量方法
敏捷是许多方法的总称,其中包括很多敏捷开发管理实践,如Scrum. XP (eXtreme Programming极限编程)、OpenUP、 看板方法、Scrumban、 精益(lean)模型、持续交付、DevOps等。
习题
瀑布模型要求项目所有的活动都严格按照顺序执行,一个阶段的输出是下一个阶段的输入。
总体上,项目生存期模型可以是预测型或适应型。
DevOps是(Development)和(Operations)的组合
瀑布模型不适合短期项目。(×)
短期项目可以采用瀑布模型
瀑布模型和V模型都属于预测型生存期模型(√)
极限编程从3个层面提供了13个敏捷实践(√)
对于某项目,甲方提供了详细、准确的需求文档。我们的解决方案也很明确。且安全性要求非常严格。此项目采用(C)成存期模型比较合适
A:瀑布模型 B:增量式模型 C:V模型 D:XP模型
下面关于敏捷模型描述不正确是(D)
A、与传统模型相比,敏捷模型属于自适应过程
B、可以应对需求的不断变化
C、Scrum模型、XP模型、DevOps模型等都属于敏捷模型
D、敏捷型是预测型和迭代型的混合模型
增量和迭代
XP模型的实践原则不包括以下哪一点?(D)
A:快速反馈 B:假设简单 C:包容变化 D:详细设计
关于迭代模型,下列说法不正确的是(B)
A、不断反馈原型 B、可以加快开发速度 C、项目需求变化大 D、不多次提交
写出 3 种你熟悉的生存期模型,并说明这些模型适用什么情况下的项目。
答: 瀑布模型,其适用范围为: (1)在项目开始前,项目的需求已经被很好的理解、也很明确,而且项目经理很熟悉为实现这一模型所需要的过程。 (2)解决方案在项目开始前也很明确。 (3)短期项目可采用瀑布模型。
V 模型,其适用范围为: (1)项目的需求在项目开始前很明确。 (2)解决方案在项目开始前很明确。 (3)项目对系统的安全性能要求很严格,如航天飞机控制系统、公司的财务系统等。
原型模型,其适用范围为: (1)项目的需求在项目开始前不明确。 (2)需要减少项目的不确定性的时候。
混合模型是什么模型?
答:混合模型使用预测、迭代、增量和敏捷方法组合的混合方法,为达到特定的目标,项目经常要结合不同的生命周期要素
第四章
知识点
需求是指用户对软件的功能和性能的要求。
需求分析是为最终用户所看到的系统建立 一个概念模型,是对需求的抽象描述。
需求分析工作完成的一个基本标志 是形成了一份完整的、规范的需求 规格说明书。
需求验证
需求变更管理
① 建立需求基线 ② 确定需求变更控制过程 ③ 建立变更控制委员会(SCCB) ④ 进行需求变更影响分析 ⑤ 跟踪所有受需求变更影响的工作产品 ⑥ 建立需求基准版本和需求控制版本文档,维 护需求变更的历史记录 ⑦ 跟踪每项需求的状态,衡量需求稳定性
习题
需求管理包括(需求获取)、(需求分析)、(需求规格编写)、(需求验证)、(需求变更) 5个过程。
敏捷项目主要采用(用户故事)描述需求
.数据流分析方法是一种自下而上逐步求精的分析方法。(×)
自上而下,逐步细化
用户故事常常写在卡片上,然后将其部署在墙上(√)
软件项目系统的响应时间属于功能性需求(×)
非功能性需求
数据字典是由数据项、数据流及操作指令组成的(×)
无操作指令
下列不属于软件项目管理需求过程的是?(D)
A:需求获取 B:需求分析 C:需求规格编写 D:需求更新
下列不属于数据字典组成部分的是?(D)
A:数据项 B:数据流 C:数据文件 D:数据库
下列不属于 UML 需求视图的是(A)。
A:甘特图 B:用例图 C:状态图 D:顺序图
下列关于用户故事描述不正确的是(D)。
A.英文称:user story B.不使用技术语言来描述 C.可以描述敏捷需求 D.一种数据结构
下列不属于结构化方法设计的是?(D)
A:数据流图 B:数据字典 C:系统流程图 D:系统用例图
下列不属于软件需求范畴的是?(A)
A:软件项目采用什么样的实现技术
B:用户需要软件能做什么样的事情
C:用户需要软件完成什么样的功能
D:用户需要软件达到什么样的性能
敏捷项目需求一般采用下面(C)描述
A、用户用例 B、DFD C、用户故事 D、数据字典
作为一个学生用户,
我希望 …希望<结果>… 以便于<目的>
第五章
知识点
任务分解是项目管理的基础
任务分解过程:将一个项目分解为更多的工作细目或 者子项目,使项目变得更小、更易管理、 更易操作
习题
任务分解是将一个项目分解为更多的工作细目或者(子项 目),是项目变得更小、更易管理、更易操作。
WBS的全称是(任务分解结构 Work Breakdown Structure)
WBS最底层次可交付成果是(工作包 work package)
工作包的特点: 工作包可以分配给另一位项目经理进行计划和执行。
工作包可以通过子项目的方式进一步分解为子项目的WBS。
工作包可以在制定项目进度计划时,进一步分解为活动。
工作包可以由惟一的一个部门或承包商负责。用于在组织之外分包 时,称为委托包(Commitment Package)。
WBS提供了项目范围基线。(√)
一个工作包可以分配给另一个项目经理去完成。(√)
如果开发人员对项目比较熟悉或者对项目大局有把握,开发WBS时最好采用自底向上方法。(×)
【从顶向下】
对于一个没有做过的项目,开发WBS时可以采用自底向上方法。(√)
WBS的最高层次的可交付成果是工作包。(×)
【工作包是最低层次的,最高的应该是整个项目】
WBS非常重要,因为下列原因,除了(D)
A.帮助组织工作B.防止遗漏工作C.为项目估算提供依据D.确定团队成员责任
WBS中的每一个具体细目通常都指定唯一的(A)
A.编码B.地点C.功能模块D.提交截至期限
【ID】
下列不是创建WBS的方法的是(C)
A.自顶向下B.自底向上C.控制方法D.模板参照
任务分解时,(D)方法从特殊到一般的方向进行,首先定义一些特殊的任务,然后将这些任务组织起来,形成更高级别的WBS层。
A.模板参照B.自顶向下C.类比D.自底向上
下列关于WBS的说法,不正确的是(D)
A.WBS是任务分解的结果
B.不包括再WBS中的任务就不是该项目的工作
C.可以采用清单或者图表的形式标识WBS的结果
D.如果项目是一个崭新的项目,最好采用自顶向下方法开发WBS
【自底向上】
检验WBS分解结果的标准不包括以下那一项?(B)
A.最底层的要素是否是实现目标的充分必要条件
B.分解的层次不少于3层
C.最底层元素是否有重复
D.最底层要素是否有清晰完整定义
WBS是对项目由粗到细的分解过程,它的结构是(B)
A.分层的集合结构 B.分级的树形结构 C.分层的线性结构 D.分级的图状结构
任务分解时,(B)方法从一般到特殊的方向进行,从项目的大局着手,然后逐步分解子细目,将项目变为更细、更完善的部分。
A.模板参照 B.自顶向下 C.类比 D.自底向上
试写出任务分解的方法和步骤。
答:任务分解的基本步骤:
1) 确认并分解项目的组成要素(WBS编号)。
2) 确定分解标准,按照项目实施管理的方法分解,而且分解的标准要统一。
3) 确认分解是否详细,是否可以作为费用和时间估计的标准,明确责任。
4) 确定项目交付成果(可以编制WBS字典)。
5) 验证分解正确性。验证分解正确后,建立一套编号系统。
任务分解方法:
1) 模板参照方法
2) 类比方法
3) 自上而下
4)自下而上
当项目过于复杂时,可以对项目进行任务分解,这样做的好 处是什么?
答:对项目进行任务分解的好处有:
- 将一个项目分解为更多的工作细目或者子项目,使项目 变得更小、更易管理、更易操作。
- 可以提高估算成本、时间和资源的准确性,使工作变得 更易操作,责任分工更加明确。
- 可以生成 WBS(Work Breakdown Structure:任务分解 结构),明确项目的组成要素和交付成果。
- 可以提高团队协作和沟通效率,避免重复工作或遗漏工作。
文档地址
Attention: