软件项目策划与管理知识点汇总

categories: [计算机通识,软件项目策划与管理]
thumbnail: /images/fe/rjxmchhgl.jpg
toc: true

软件项目策划与管知识点汇总

第一章:序言

关于软件

软件的特征

  • 软件是一种逻辑元素而不是物理元素
  • 软件是开发出来的而不是用传统的方法制造出来的
  • 软件不会被用坏

    软件的分类:
  • 系统软件(操作系统)
  • 实时软件(高炉控制软件)
  • 商务软件
  • 工程与科学计算软件
  • 嵌入式软件(安卓)
  • 个人计算机软件
  • web软件
  • 人工智能软件
  • 。。。

软件危机:指在计算机软件的开发和维护过程中所遇到的一系列严重问题

软件危机的表现

  • 成本高
  • 软件质量得不到保证
  • 进度难以控制
  • 维护非常困难

产生软件危机的原因以及如何解决软件危机

  • 逻辑产品不同于物理产品,
  • 复杂性高
  • 规模大
  • 影响软件生产率和质量的因素比较复杂:人员的能力与水平、团队合作
  • 缺乏有效、系统原理、原则、方法和工具的指导和辅助

解决:既要有技术措施(方法和工具)支持软件开发,又要有必要的组织管理措施

什么是项目(重点)

为创造某种独特产品或服务所做的一次性有计划的活动。

项目的要素与特征(重点)

一个项目无论大小、特点如何,一般包括下列要素:
(1)具体的结果(产品或结果)。
(2)明确的开始与结束日期(项目工作开始日期和它的结束日期)。
(3)既定的预算(包括人员、资金、设备、设施和资料总额等)。

项目的基本特征表现在:

  • 它有一个明确的目标。每一个项目都是一个特定的项目产品,是为一个明确的目标而成立的。
  • 由一系列互相关联的任务构成。
  • 所有的项目都具有有限的资源。比如时间、人力和成本等。
  • 项目是具有一次性、独特性的活动。它有明确的开始和结束时间,具有临时性

项目的5个阶段(重点)

  1. 启动
  2. 计划
  3. 控制
  4. 执行
  5. 结束

什么是项目管理(重点)

项目管理是在项目活动中应用知识、技能、工具和技术来满足项目需求的过程,它通过初始化,计划,执行,控制和结束等活动来完成。

PMI对项目管理的定义:项目管理就是为了满足甚至超越项目干系人对项目的需求和期望,将理论知识、技能、工具和技巧应用到项目的活动中去,以满足或超过项目干系人的需求和期望。

项目管理是指把各种系统、方法和人员结合在一起,在规定的时间、预算和质量目标范围内完成项目的各项工作。

软件项目生命周期(重点)

  • 开始阶段
  • 中间阶段
  • 最后阶段

软件项目的特征

  • 不可见
  • 灵活
  • 复杂性

软件项目常见问题

产品相关的问题:

  • 需求镀金:项目具有比实际需求多得多的性能
  • 功能蔓延:项目平均会有25%的需求变更
  • 开发人员的镀金:开发人员着迷于新技术
  • 又拉又推的交易:经理在批准项目顺延时又加入了新的功能
  • 研究导向的开发

过程相关的问题

  • 缺乏计划
  • 过于乐观的计划
  • 在压力下放弃计划
  • 缺乏足够的风险管理
  • 承包人导致的失败
  • 在模糊的项目前期,浪费时间
  • 前期活动不符合要求
  • 设计低劣
  • 缺少质量保证措施
  • 缺少管理控制
  • 太早和过于频繁的集成
  • 项目估算时遗漏必要的任务
  • 追赶计划
  • 鲁莽编码

技术相关的问题

  • 银弹综合征:过于相信以前没有采用的技术
  • 过高估计新技术和方法带来的节省量
  • 项目中间时切换工具
  • 缺少自动的源代码控制手段

人员相关的问题

  • 挫伤积极性
  • 人员素质低
  • 对有问题的员工失控
  • 英雄主义
  • 项目开发后期加入人员:火上加油
  • 办公环境差
  • 开发人员与客户之间发生摩擦
  • 不现实的预期
  • 缺乏有效的上层支持
  • 缺乏各种角色的互相协作
  • 缺乏用户的介入
  • 政治高于物质
  • 充满想象

第二章 软件项目计划总揽

项目计划的作用

  • 指导计划的实施
  • 记载项目计划的前提假设
  • 记载根据选择的方案作出的决策
  • 促进项目人员之间的沟通
  • 确定项目管理的内容、范围和时间
  • 作为度量(实际执行效果与计划作比较)和控制项目进程的基准

项目计划的内容

  • 什么:工作的具体内容,一定时期内的工作重点
  • 怎样:如何完成这些工作和任务
  • 谁:确定具体人员和部门
  • 何时:各项工作需要多少时间
  • 多少:各项工作需要多少费用
  • 哪里:各项工作进行的环境

项目计划的特性

动态性要求:项目计划要有弹性
职能性:从总体出发,涉及各相关部门
相关性:子计划的相互影响
系统性:子计划的合理性
目标性:目标是灵魂
经济性:技术经济分析

软件项目计划的步骤

使用的是步进式模型:

  1. 选择项目
  2. 确定项目的范围和目的
  3. 确定项目结构
  4. 分析项目特征
  5. 确定项目产品与活动
  6. 估计每个活动的工作量
  7. 确定活动的风险
  8. 分配资源
  9. 检查和公布计划
  10. 执行计划
  11. 更细层次上的计划

1. 选择项目(可行性分析)

一般需要回答下列问题:

2. 确定项目的范围和目的

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

3. 确定项目的结构

  • 建立项目和策略计划
    =
  • 建立标准和过程
    在这里插入图片描述
  • 建立项目团队组织

4.分析项目特征

  • 分析项目是目标驱动还是产品驱动
  • 分析项目的其他特征(针对的行业)
  • 确定项目的高层次的风险(主要风险)
  • 考虑用户实现方面的需求
  • 选择通用的生命周期方法
  • 检查估计资源

5. 确定项目的产品与活动

  • 确定产品的类型:技术产品(如代码)、管理产品(计划说明书)

  • 确定产品的层次性:产品由一些子产品构成,子产品由一些更小的子产品构成

  • 画出产品的分解结构:PBS
    一个通用的产品模型:

  • 写出一般性的生产流程:产品流程图(PFD)
    在这里插入图片描述

  • 确定产品实例

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

    (图中每一个活动有一个持续时间,可以根据这个图找出一个关键活动,就是耗时最长的活动路径)

  • 考虑阶段和检查点,修改理想的活动网络
    在实际项目中,一般将项目分解为阶段,并设置检查点。检查点,即里程碑

6. 估计活动的工作量

  • 自底向上的估计
  • 对计划进行修改以生成可控的活动

7.确定活动的风险

  • 识别和量化风险
  • 制定风险降低方法和紧急处理手段(关键人员生病,使用兼职人员)
  • 在考虑风险的基础上调整计划和估计(计划中加入培训活动,或悲观估计)

8. 分配资源

  • 确定和分配资源
  • 在考虑资源约束条件下,修改计划(某些人员承担多个任务,就要考虑任务的优先级)

9. 检查和公布计划

  • 检查项目计划的质量(活动需小组质量检查,前面活动因质量问题需重做)
  • 计划书面化和上报批准

10. 执行计划

11. 更细层次上的计划

产品分解结构的描述

  • 产品的名称及标识
  • 产品的功能
  • 产品的来源
  • 产品的派生物
  • 产品的形式(用文档或图形表示)
  • 产品的分解结构
  • 相关的标准(如文档的模板)
  • 适用的质量标准(如文档的评价标准)

软件项目的经济性评价(重点)

如何估计经济型

  • 自底向上

将任务分解为片段
估计每一个片段
将片段加起来

  • 自顶向下

从管理者对成本的额度期望出发
确定在成本约束条件下能够交付的产品
提供管理者多种选择

成本

  • 开发成本
  • 安装成本
  • 运行成本

可能的IT成本

  • 采购成本
    在这里插入图片描述
  • 启动成本
  • 与项目有关的成本
  • 运行成本

项目经济型评估

  1. 净收益:项目生命周期内,总收入与总成本的差额


2. 投资回收期:投资项目所需要的时间(简单来说就是回本的时间

  • 回收时间越长,项目的风险越大,或者说项目收益不那么具有吸引力。
  • 如果项目的收益比较大,收益就远远大于支出,它就可以在较短时间内回收项目投资,短的回收期通常意味着项目具有更好的收益,所以也可以通过项目的回收期来判断一个项目是否可行。

投资回收期短的不一定净收益高

  1. 投资回报率或收益率(ROI)


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

  1. 净现值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上搜查相关资料。

  • 最后,需求分析员与被调查者建立联系,确定调查的时间、地点、人员等,撰写需求调查计划。要特别留意的是不要漏掉典型的用户

执行调查

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值