项目管理期末考试
15个缩写/30分 6个问答题/30分 分析题3题/40分
第一章
What is software project management? Is it really different from ‘ordinary’ project management?
软件项目的特性:不可见性、复杂性、一致性、灵活性 软件项目管理在管理方面的特性。管理包括以下活动:
● ● ● ● ● ● ● ●
策划:决定要做什么 组织:进行安排
人员:选择合适的人员来完成任务等 指导:作出指示 监督:检查进展
控制:采取行动以清除项目的障碍 革新:提出新的解决方案
代表:与客户、用户、开发人员、供应商以及其他利益相关者进行沟通
②How do you know when a project has been successful? 就软件项目而言,可以总结为以下目标:
? 实现既定功能。 ? 达到质量要求。 ? 按时。 ? 在预算内。
就商业方面而言,一个项目的成功是指项目的收益高于成本。
③Stakeholders? 利益相关者
利益相关者是指在项目中有利害关系的人。 利益相关者可以分为以下几类:
1)项目组内部人员 这意味着项目负责人直接管理这类利益相关者。
2)项目组外部人员但属于同一组织内部 例如需要用户的帮助来执行系统测试,此时有关人员的委托必须经过协商。
3) 项目组和组织的外部人员 外部的利益相关者可能是受益于所实现系统的客户(或用户)。这些人之间的关系大多建立在具有法律效力的合同之上。
④Some ways of categorizing software projects 软件项目分类的方式
1、强制使用用户和自愿使用用户
在工作场所中,有一些系统是员工完成工作(比如记录销售业务)必须使用的系统,然而有些系统的使用是自愿而非强制的,比如游戏软件。我们很难用一个业务系统从潜在客户那里引导出精确的需求。游戏软件的内容主要依靠开发人员丰富的创造力,以及市场调查、关注群体和原型评价等技术手段。 2、系统与嵌入式系统:
信息系统与嵌入式系统之间存在着传统的区别。信息系统可以帮助员工完成事务处理操作,如库存管理系统。嵌入式(或过程控制)系统用于控制机器,比如建筑物的空调设备的控制系统。有些系统可能兼有二者的要素,比如上述库存管理系统也可以控制一个自动化仓库。
3、目标与产品
要区别项目的目标是为了生产一种产品,还是为了满足一定目标。 项目可能是生产一种其细节由客户规定并负责证实的产品。
另一方面,项目可能是为了满足一定目标,这些目标可能有多种方法来达到。
很多软件项目有两个阶段。第一阶段是目标驱动项目,可产生项目的建议书;第二阶段是实际创建该软件产品。
⑤Activities covered by software project management 软件管理覆盖的活动 开发新系统通常有三个连续的步骤:
1)可行性研究 评估一个预期的项目是否值得开始——即存在一个有效的业务案例。 2)策划 如果可行性研究的结果指出预期的项目可行,那么就可进入策划阶段。 3)项目实施 现在可以实施项目了,项目实施通常包括设计和实现两个子阶段。
第二章
①Cost-benefit evaluation techniques 成本效益评价技术
净利润(net profit):是在项目的整个生命周期中总成本和总收入之差。 回收期(payback period):是达到收支平衡或偿还初始投入所花的时间。
投资回报率(Return On Investment,ROI):也称作会计回报率(Accounting Rate of Return,ARR),提供了一种方法来比较净收益率与需要的投入。 ROI=(平均年利润/总投资)×100%
※净现值(Net Present Value,NPV):是一种项目评价技术,它考虑了项目的收益率和要产生的现金流的时限。
现值=第t年的值/(1+r)t
r是贴现率,用十进制小数值表示。t是现金流在未来出现的年数。
练习 假定贴现率为10%,计算项目的NPV。
②Programme management 项目集管理
项目集:为了获得利益,用协同方式管理的一组项目,而这些项目不能进行独立的管理。 项目集的存在形式: 商业周期项目集 战略项目集 基础设施项目集 研究和开发项目集 创新的伙伴关系
第三章
Step-Wise methods 步进式方法
第一步:标识项目的范围和目标 第二步:标识项目的基础设施 第三步:分析项目的特征 第四步:标识项目的产品和活动 第五步:估算每个活动的工作量 第六步:标识活动的风险 第七步:分配资源 第八步:评审/发布计划
第九步和第十步:执行计划并进行较低层次的策划
第四章
①Take account of the characteristics of the system to be developed.
选择通用的生命周期方法: 控制系统(control system)
信息系统(information system) 用户可用性(availability of users) 专用技术(specialized techniques) 硬件环境(hardware environment)
安全性关键的系统(safety-critical system) 不准确的需求(imprecise requirement)
②Select an appropriate process model. 选择合适的过程模型 —— Waterfall process model 瀑布模型
One-shot 一次完成 once-through 一次通过
V-process model V过程模型是瀑布模型的扩展 Spiral model 螺旋模型是研究瀑布模型的另一种方法 —— prototypes model 原型模型
原型是已规划的系统的一个或多个方面的工作模型。
原型分类:
抛弃型原型:只验证某些想法,然后在真正开发系统时抛弃 进化型原型:开发和修改原型,直至它最终成为可运行的系统
——
increment model 增量式模型
增量式交付是将应用程序分解为小的构件,然后按顺序实现和交付构件,每个要交付的构件应该给用户带来一些效益。
时间盒(time-boxing)通常与增量式方法相关联。每个增量可交付物的时机严格受已批准的最终期限的约束。这个最终期限必须满足,甚至可以删掉一些计划的功能,或者可以转移到后面的增量去实现。
——
aqile development methods
第五章
①Avoid the changers of unrealistic estimates. 避免不现实估计
估计过高可能导致项目花更长的时间。 ● 帕金森定律(Parkinson Law) ● 布鲁克斯定律(Brooks Law) 估计过低的危险是影响质量。
②Understand the range of estimating methods that can be used.
软件开发工作量估计的主要方法:
算法模型 使用代表目标系统和实现环境特征的“工作量驱动因子”来预测工作量。 专家判断 征求知识渊博的员工的建议。
类比 标识一个类似的已完成的项目的实际工作量作为新项目的基础。 帕金森法 标识做一个项目可利用的员工工作量,并用来作为“估计”。 赢的价格 “估计”似乎是一个相当低的赢得合同的数字。
自顶向下 明确地规划整个项目的总体估计,然后分解成为构件任务所需要的工作量。 由底向上 标识和确定构件任务的大小,然后累计这些单独的估计。 序 1 2 3 4 5 6 7 测算方法 算法模型 自底向上 自顶向下 类比 专家判断 价格致胜 帕金森法 适用范围 系统规划阶段 系统规划 系统分析/设计 准备开发 系统规划 准备开发阶段 准备开发 系统规划阶段 项目投标 项目洽谈