第一章.软件项目管理概述
1.实现项目目标的制约因素有:
- 项目范围
- 成本
- 进度计划
- 客户满意度
2.项目管理包括:
- 启动过程组
- 计划过程组
- 执行过程组
- 控制过程组
- 收尾过程组
3.什么是项目:
为了创造一个唯一的产品或者提供一个唯一的服务而进行的临时性的努力,所以说项目具有临时性特性
4.过程管理就是对过程进行管理,目的是要让过程能够被共享,复用,并得到持续的改进
5.项目与日常运作的区别与共同点:
项目 | 日常运作 |
---|---|
以目标为导项 | 通过效率和有效性的体现 |
通过项目经理及其团队工作完成的 | 职能式的线性管理 |
项目是一次性的 | 日常运作可以重复进行 |
共同点:
都需要人来做;而且都受资源限制;都需要规划,执行,控制
6.项目的特征:项目均是有时间范围的,所以最能表现项目特征的是确定期限
7.请简述项目管理的 5 个过程组及其关系
(1)启动过程组:主要是确定一个项目或一个阶段可以开始了,并要求着手实行;定义
和授权项目或者项目的某个阶段。 (2)计划过程组: 为完成项目所要达到的商业要求而进行
的实际可行的工作计划的设计、 维护, 确保实现项目的既定商业目标。 计划基准是后面跟踪
和监控的基础。 (3)执行过程组:根据前面制定的基准计划,协调人力和其他资源,去执行
项目管理计划或相关子计划。 (4)控制过程组: 通过监控和检测过程确保项目达到目标, 必
要时采取一些修正措施。 集成变更控制是一个重要的过程。 (5)收尾过程组: 取得项目或阶
段的正式认可并且有序地结束该项目或阶段。 向客户提交相关产品, 发布相关结束报告, 并
且更新组织过程资产并释放资源。
关系:各个过程组通过其结果进行连接,一个过程组的结果或输出是另一个过程组的输入。
其中,计划过程组、执行过程组、控制过程组是核心管理过程组。
8.项目的特征是什么
目标性、相关性、临时性、独特性、资源约束性、不确定性
第二章.项目确立
1.项目立项之后,项目负责人会进行自造购买决策,确立待开发产品的哪些部分的应该采购,外包开发,自主研发等
2,项目经理的主要职责是:
- 开发计划
- 组织实施
- 项目控制
3.在(立项)阶段,应该明确项目的目标、时间表、使用的资源和经费,而且得到项目发起人的认可。注意:项目立项是需求方(甲方)提出的需求
4.项目招标阶段
- 甲方过程:
(招标书定义) 、(供方选择)、(合同签署)
- 乙方过程:
(项目分析) 、(竞标)、(合同签署)
总而言之:甲方:客户(上帝),乙方:软件开发方
5.项目建议书是项目立项阶段(项目的初始阶段)开发的文档
6.甲方(顾客,需求方)招标阶段的任务是:
- 招标书定义
- 供方选择
- 合同签署
7.某公司希望开发一套软件产品, 如果选择自己开发软件的策略, 公司需要花费 30000 元,根据历史信息,维护这个软件每个月需要 3500 元。如果选择购买软件公司产品的策略,需要 18000 元,同时软件公司为每个安装的软件进行维护的费用是 4200 元/月。该公司该如何决策?
自制方案:
制造费 30000 元 维护费 3500 元/月
购买方案:
购买费 18000 元 维护费 4200 元/月
制造差额: 30000-18000=12000 元
服务差额: 4200-3500=700 元
自制方案承受月份: 12000/700=17.14
如果产品在 17 个月以内可以选择购买方案,如果超过 17 个月选择自造方案。
8.什么是项目章程?
项目章程是项目执行组织高层批准的一份以书面签署的确认项目存在的文件, 包括对项
目的确认、对项目经理的授权和项目目标的概述等。
9.招标书主要包括那几部分内容?
招标书主要包括三部分内容:技术说明、 商务说明和投标说明。技术说明主要对采购的
产品或者委托的项目进行详细的描述, 商务说明主要包括合同条款。 投标说明主要是对项目
背景、标书的提交格式、内容、提交时间等做出规定。
第三章.生存期模型
1.瀑布模型 生存期模型中, 要求项目所有的活动都严格按照顺序进行,一个阶段的输入是下一个阶段的输入。
2.敏捷开发通过迭代和快速用户反馈应对管理的不确定性和变更
3,每日站立会议是(Scrum)模型敏捷开发实践
4.瀑布模型适合短期项目
5.增量式模型可以避免一次性投资太多带来的风险
6.各个模型的优缺点:
模型 | 特点 | 缺点 | 使用范围 |
---|---|---|---|
瀑布模型 | 线性,阶段计划分明,以项目的阶段评审和文档控制为手段有效的对整个开发过程进行指导 | 缺乏灵活性,无法解决需求不明确或者不准确的情况;(2)由于开发是线性的,只有到末期才能见到开发成果,增加了开发的风险;(3)早期的错误到后期才能发现 | 适用于需求明确,解决方案明确的项目 |
V模型 | 纠正了人民不重视测试阶段的重要性的错误认识,将测试分等级,并且和前面的开发阶段对应 | 仍然将测试作为一个独立的阶段,并没有提高抗风险能力 | 与瀑布模型类似 |
快速原型模型 | 有助于增进软件人员和用户对系统服务需求的理解 | 文档容易被忽略,建立原型的许多工作会被浪费掉,项目难以规划和管理 | 适用于需求不明确,动态变化的项目 |
增量模型 | 增强了客户使用的信心,逐步提出对后续增量的需求;增量由高到低的优先级确定保障了系统重要功能部分的可靠性;项目总体失败的风险比较低 | 增量粒度选择问题,确定所有的基本服务比较苦难 | 适用于需求大部分明确,系统较为复杂,有一定的技术风险 |
渐进式模型:
- 缺点:需要精心规划各个阶段目标,每个阶段提交的是正式版本,所以工作量会增加
- 使用范围:主要适用于中型或者大型项目,是目前开发中最常用的开发模型
敏捷生存模型:通过迭代和快速的用户反馈管理不确定性和应对变更
敏捷开发宣言:
个体和交互胜过过程和工具;可以工作的软件胜过面面俱到的文档;客户合作胜过合同谈判;相应变化胜过遵循计划
适用于需求不明确的情况下采用
7.三种你熟悉的生存期模型,并说明这些模型适用于什么情况下的项目
(1)瀑布模型
适用于软件需求很明确的软件项目, 即一般适用于功能明确、 完成、 无重大变化的软件系统
的开发,即:
1) 在项目开始前,项目的需求已经被很好的理解、也很明确,而且项目经理很熟悉为实现
这一模型所需要的过程。
2) 解决方案在项目开始前也很明确。
3) 短期项目可采用瀑布模型。
(2)V 模型
适用于项目需求在项目开始前很明确、解决方案在项目开始前也很明确,项目对系统的
安全很严格,如航天飞机控制系统、公司的财务系统等。
(3)快速原型模型
适用于项目的需求在项目开始前不明确,需要减少项目的不确定性的时候。
第四章 软件项目范围计划——需求管理
1.需求管理包括:
- 需求获取
- 需求分析
- 需求规格编写
- 需求验证
- 需求变更
2.原型分析方法 是其中一种需求建模方法。
3.结构化分析方法是一种自下而上逐步求精的分析方法
4.软件项目管理需求过程:
- 需求获取
- 需求分析
- 需求规格编写
5.数据字典组成部分:
- 数据项
- 数据流
- 数据文件
6.下列不属于 UML 需求视图的是?
甘特图(甘特图用于做计划的视图)
属于需求的视图的是:用例图,状态图,顺序图
7.属于需求建模的方法:
- 原型方法
- 面向对象的用例分析方法
- 功能列表方法
8.(需求变更)软件项目的一个突出特点,可以导致软件项目的蔓延
9.结构化方法设计有:
- 数据流图
- 数据字典
- 系统流程图
10.我们常常从哪些方面着手处理需求不明确的问题?
(1