categories: [计算机通识,软件项目策划与管理]
thumbnail: /images/fe/rjxmchhgl.jpg
toc: true
软件项目策划与管知识点汇总
第一章:序言
关于软件
软件的特征
- 软件是一种逻辑元素而不是物理元素
- 软件是开发出来的而不是用传统的方法制造出来的
- 软件不会被用坏

软件的分类: - 系统软件(操作系统)
- 实时软件(高炉控制软件)
- 商务软件
- 工程与科学计算软件
- 嵌入式软件(安卓)
- 个人计算机软件
- web软件
- 人工智能软件
- 。。。
软件危机:指在计算机软件的开发和维护过程中所遇到的一系列严重问题
软件危机的表现
- 成本高
- 软件质量得不到保证
- 进度难以控制
- 维护非常困难
产生软件危机的原因以及如何解决软件危机
- 逻辑产品不同于物理产品,
- 复杂性高
- 规模大
- 影响软件生产率和质量的因素比较复杂:人员的能力与水平、团队合作
- 缺乏有效、系统原理、原则、方法和工具的指导和辅助
解决:既要有技术措施(方法和工具)支持软件开发,又要有必要的组织管理措施
什么是项目(重点)
为创造某种独特产品或服务所做的一次性有计划的活动。
项目的要素与特征(重点)
一个项目无论大小、特点如何,一般包括下列要素:
(1)具体的结果(产品或结果)。
(2)明确的开始与结束日期(项目工作开始日期和它的结束日期)。
(3)既定的预算(包括人员、资金、设备、设施和资料总额等)。
项目的基本特征表现在:
- 它有一个明确的目标。每一个项目都是一个特定的项目产品,是为一个明确的目标而成立的。
- 由一系列互相关联的任务构成。
- 所有的项目都具有有限的资源。比如时间、人力和成本等。
- 项目是具有一次性、独特性的活动。它有明确的开始和结束时间,具有临时性
项目的5个阶段(重点)
- 启动
- 计划
- 控制
- 执行
- 结束

什么是项目管理(重点)
项目管理是在项目活动中应用知识、技能、工具和技术来满足项目需求的过程,它通过初始化,计划,执行,控制和结束等活动来完成。
PMI对项目管理的定义:项目管理就是为了满足甚至超越项目干系人对项目的需求和期望,将理论知识、技能、工具和技巧应用到项目的活动中去,以满足或超过项目干系人的需求和期望。
项目管理是指把各种系统、方法和人员结合在一起,在规定的时间、预算和质量目标范围内完成项目的各项工作。
软件项目生命周期(重点)
- 开始阶段
- 中间阶段
- 最后阶段

软件项目的特征
- 不可见
- 灵活
- 复杂性
软件项目常见问题
产品相关的问题:
- 需求镀金:项目具有比实际需求多得多的性能
- 功能蔓延:项目平均会有25%的需求变更
- 开发人员的镀金:开发人员着迷于新技术
- 又拉又推的交易:经理在批准项目顺延时又加入了新的功能
- 研究导向的开发
过程相关的问题
- 缺乏计划
- 过于乐观的计划
- 在压力下放弃计划
- 缺乏足够的风险管理
- 承包人导致的失败
- 在模糊的项目前期,浪费时间
- 前期活动不符合要求
- 设计低劣
- 缺少质量保证措施
- 缺少管理控制
- 太早和过于频繁的集成
- 项目估算时遗漏必要的任务
- 追赶计划
- 鲁莽编码
技术相关的问题
- 银弹综合征:过于相信以前没有采用的技术
- 过高估计新技术和方法带来的节省量
- 项目中间时切换工具
- 缺少自动的源代码控制手段
人员相关的问题
- 挫伤积极性
- 人员素质低
- 对有问题的员工失控
- 英雄主义
- 项目开发后期加入人员:火上加油
- 办公环境差
- 开发人员与客户之间发生摩擦
- 不现实的预期
- 缺乏有效的上层支持
- 缺乏各种角色的互相协作
- 缺乏用户的介入
- 政治高于物质
- 充满想象
第二章 软件项目计划总揽
项目计划的作用
- 指导计划的实施
- 记载项目计划的前提假设
- 记载根据选择的方案作出的决策
- 促进项目人员之间的沟通
- 确定项目管理的内容、范围和时间
- 作为度量(实际执行效果与计划作比较)和控制项目进程的基准
项目计划的内容
- 什么:工作的具体内容,一定时期内的工作重点
- 怎样:如何完成这些工作和任务
- 谁:确定具体人员和部门
- 何时:各项工作需要多少时间
- 多少:各项工作需要多少费用
- 哪里:各项工作进行的环境
项目计划的特性
动态性要求:项目计划要有弹性
职能性:从总体出发,涉及各相关部门
相关性:子计划的相互影响
系统性:子计划的合理性
目标性:目标是灵魂
经济性:技术经济分析
软件项目计划的步骤
使用的是步进式模型:
- 选择项目
- 确定项目的范围和目的
- 确定项目结构
- 分析项目特征
- 确定项目产品与活动
- 估计每个活动的工作量
- 确定活动的风险
- 分配资源
- 检查和公布计划
- 执行计划
- 更细层次上的计划

1. 选择项目(可行性分析)
一般需要回答下列问题:

2. 确定项目的范围和目的
- 确定目标和这些目标的衡量方法
- 选择项目的责任人(负责人)
- 确定项目的所有干系人(技术人员,甲方,政府部门等等和项目有关系的人)和兴趣(关注点)
- 根据项目的干系人的要求分析修改目标
- 建立各方沟通渠道
3. 确定项目的结构
- 建立项目和策略计划

- 建立标准和过程

- 建立项目团队组织
4.分析项目特征
- 分析项目是目标驱动还是产品驱动
- 分析项目的其他特征(针对的行业)
- 确定项目的高层次的风险(主要风险)
- 考虑用户实现方面的需求
- 选择通用的生命周期方法
- 检查估计资源
5. 确定项目的产品与活动
-
确定产品的类型:技术产品(如代码)、管理产品(计划说明书)
-
确定产品的层次性:产品由一些子产品构成,子产品由一些更小的子产品构成
-
画出产品的分解结构:PBS
一个通用的产品模型:

-
写出一般性的生产流程:产品流程图(PFD)

-
确定产品实例
-
定义理想的活动网络:从一个产品产生另一个产品,需要一个或多个活动完成转换。为了确定这些活动,需要一个活动网,以标识活动执行的顺序。
这是一个活动网络图(CPN)

(图中每一个活动有一个持续时间,可以根据这个图找出一个关键活动,就是耗时最长的活动路径) -
考虑阶段和检查点,修改理想的活动网络
在实际项目中,一般将项目分解为阶段,并设置检查点。检查点,即里程碑
6. 估计活动的工作量
- 自底向上的估计
- 对计划进行修改以生成可控的活动
7.确定活动的风险
- 识别和量化风险
- 制定风险降低方法和紧急处理手段(关键人员生病,使用兼职人员)
- 在考虑风险的基础上调整计划和估计(计划中加入培训活动,或悲观估计)
8. 分配资源
- 确定和分配资源
- 在考虑资源约束条件下,修改计划(某些人员承担多个任务,就要考虑任务的优先级)
9. 检查和公布计划
- 检查项目计划的质量(活动需小组质量检查,前面活动因质量问题需重做)
- 计划书面化和上报批准
10. 执行计划
11. 更细层次上的计划
产品分解结构的描述
- 产品的名称及标识
- 产品的功能
- 产品的来源
- 产品的派生物
- 产品的形式(用文档或图形表示)
- 产品的分解结构
- 相关的标准(如文档的模板)
- 适用的质量标准(如文档的评价标准)
软件项目的经济性评价(重点)
如何估计经济型
- 自底向上
将任务分解为片段
估计每一个片段
将片段加起来
- 自顶向下
从管理者对成本的额度期望出发
确定在成本约束条件下能够交付的产品
提供管理者多种选择
成本
- 开发成本
- 安装成本
- 运行成本
可能的IT成本
- 采购成本

- 启动成本

- 与项目有关的成本

- 运行成本

项目经济型评估
- 净收益:项目生命周期内,总收入与总成本的差额

2. 投资回收期:投资项目所需要的时间(简单来说就是回本的时间)
- 回收时间越长,项目的风险越大,或者说项目收益不那么具有吸引力。
- 如果项目的收益比较大,收益就远远大于支出,它就可以在较短时间内回收项目投资,短的回收期通常意味着项目具有更好的收益,所以也可以通过项目的回收期来判断一个项目是否可行。
投资回收期短的不一定净收益高
- 投资回报率或收益率(ROI)

平均年收益 = 净收益 / 年份

- 净现值NPV
一个投资项目的净现值等于一个项目整个生命周期内(时间)预期未来每年净现金流的现值之和减去项目初始投资支出(本金)
判断一个项目是否可行,就要看它的净现值是不是大于零,净现值大于零,意味着项目能够取得收益,它的净收益是正的,也就是说项目的净收益大于净支出,这个项目应该入选,反之不然。
NPV计算公式:

- NPV:净现值度i-贴现率
- NCFt:第t年的营业现金净流量
- n:项目寿命周期
- i :预期收益率
举个例子:
B公司正考虑一项新的软件开发投资项目,该项目初始投资为40000元,每年的税后现金流如下所示。假设该公司要求的收益率为13%。


所得净现值为负数,证明此方案不可行。
但是NPV也存在问题,当收益率不同时,NPV结果也会随着被影响

5. 内部收益率(IRR)
内部收益率就是当NPV为0时的收益率的值,就是上面那个公式知道NPV为0,反推i的值
所以可以很容易得出结论,从项目的角度来说:内部收益率越高越好,但是从公司的角度出发,内部收益率越低越好
可以用内部收益率是否大于期望的标准收益率或者基本收益率(行业投资平均收益率)来判断这个项目是否能够入选。
总结:净现值、内部收益率和回收期,这三个指标通常是用来决定一个项目取舍的主要经济效益指标
第三章 招投标活动
招标的工作内容和步骤(重点)
- 成立招标工作小组;
- 编制招标文件;
- 发布招标公告;
- 进行投标单位资格审查;
- 组织现场踏勘和招标答疑;
- 接受投标文件;
- 组织评标
- 确定中标单位;
- 发出中标通知书
- 签订承发包合同
评标过程(重点)
- 专家库抽取各方面的的专家
- 专家人数:5,7,9…,甲方人数1/3以下
- 确定地点(保密)
- 监督部门到场
- 专家评标(根据一定的标准)
- 专家写出评价意见,推荐中标人
- 由业主或招标代理写出评价报告
- 评标方法:主要有打分法和合理低价中标法
第四章 需求工程
需求工程的定义与内容(重点)
- 把所有与需求直接相关的活动通称为需求工程。
- 需求工程中的活动可分为两大类,一类属于需求开发,另一类属于需求管理。
- 需求工程的结构图:

需求开发
通过调查与分析,获取用户需求并定义产品需求。
- 需求调查:通过各种途径获取用户的需求信息(原始材料),产生《用户需求说明书》。
- 需求分析:对各种需求信息进行分析,消除错误,刻画细节等。常见的需求分析方法有“问答分析法”和“建模分析法”两类。
- 需求定义:根据需求调查和需求分析的结果,进一步定义准确无误的产品需求,产生《产品需求规格说明书》。系统设计人员将依据《产品需求规格说明书》开展系统设计工作
需求管理
在客户与开发方之间建立对需求的共同理解,维护需求与其它工作成果的一致性,并控制需求的变更
- 需求确认:开发方和客户共同对需求文档进行评审,双方对需求达成共识后作出书面承诺,使需求文档具有商业合同效果
- 需求跟踪:通过比较需求文档与后续工作成果之间的对应关系,建立与维护“需求跟踪矩阵”,确保产品依据需求文档进行开发。
- 需求变更:依据“变更申请-审批-更改-重新确认”的流程处理需求的变更,防止需求变更失去控制而导致项目发生混乱。
需求开发主要困难(重点)
- 知识技能问题
- 态度问题
- 合作关系(需求分析员与用户,开发方与用户)
- 用户说不清楚需求
- 双方误解需求
- 开发人员写不好需求文档
- 用户经常变更需求
如何开展需求调查
准备调查
- 首先,需求分析员应当起草需求调查问题表,将调查重点锁定在该问题表内,否则调查工作将变得漫无边际。
- 其次,需求分析员应当确定需求调查的方式
与用户交谈,向用户提问题。向用户群体发调查问卷。
参观用户的工作流程,观察用户的操作。
与同行、专家交谈,听取他们的意见。
分析已经存在的同类软件产品,提取需求。
从行业标准、规则中提取需求。 从Internet上搜查相关资料。
- 最后,需求分析员与被调查者建立联系,确定调查的时间、地点、人员等,撰写需求调查计划。要特别留意的是不要漏掉典型的用户

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



