软件项目管理

项目的特征:临时性,独特性,逐步完善

人员

  1. 软件项目的参与人员
  2. 软件开发团队
    组织方式:民主式组织结构,主程序员式组织结构,技术管理式组织结构,大型项目的层次式组织结构
    选择人员进行软件项目开发时,应考虑以下因素:


产品:使用“产品分解结构”(PBS)作为产品分解的工具
过程:使用“工作分解结构”(WBS)作为过程分解的工具
项目:项目管理四阶段:

  1. 项目启动:确定项目范围,组建项目团队,建立项目的基础设施
  2. 项目规划:确定项目活动,预算项目成本,制定进度计划
  3. 项目实施:监控项目执行,管理项目风险,控制项目变更
  4. 项目收尾:客户验收项目,安装培训软件,总结项目经验

软件项目估算

软件规模估算技术:
代码行技术(LOC技术)
根据以往开发类似产品的经验和历史数据,估算所开发软件的代码行数。将软件分解成一系列可分别独立估算的子功能,通过估算每个子功能的代码行数并进行累加,得到整个软件系统的总代码行数。
代码行数:若以1行代码为单位,记为LOC;若以1千行代码为单位,则记为KLOC。

功能点技术
根据软件信息域的基本特征和对软件复杂性的评估结果,估算所开发软件的规模。以功能点数(FP,Function Point)为度量单位。
该方法中定义了软件信息域的5个基本特征
外部输入,外部输出,外部查询,内部逻辑文件,外部接口

估算软件功能点数的基本步骤
第一步:估算未调整的功能点数UFP

第二步:计算复杂度调节因子CAF

第三步:计算调整后的功能点数

经过复杂度调节因子CAF调整后的功能点数(DFP)被称为交付功能点。研究表明,上述计算出的功能点数可以代表软件规模,也可以作为进一步估算成本和工作量的依据。

软件工作量估算

利用基本COCOMO模型估算出的源代码行数来计算软件开发工作量:

E——工作量(单位:人月)
L——估计的代码行数(单位:KLOC)
D——所需的开发时间(单位:月)
中级COCOMO模型:


EAF:工作量调节因子

软件成本/效益分析
方法:

  • 货币的时间价值
    成本估算是要对项目投资,因投资先于取得效益,因此要考虑货币的时间价值,通常以利率的形式表示。假设年利率为i,投资额P在n年后的价值F为:

    反之,预计n年后所产生的效益R折合成现在价值S为

    投资回收率:

  • 投资回收期

  • 纯收入

软件项目进度管理

常用图形工具:

  • 甘特图
  • 工程网络图(关键路径法)
    如何计算每个时间节点的最早时刻EET:约定整个工程的第一个时间节点的EET=0;从左向右顺着任务流的方向依次计算其它时间节点的EET:考虑流入该时间节点的所有任务,对每个任务计算:开始时间节点的EET + 持续时间,取所有和中的最大值作为该时间节点的EET
    如何计算每个时间节点的最晚时刻LET:
    约定整个工程的最后一个时间节点的LET = EET;从右向左逆着任务流的方向依次计算其它时间节点的LET:考虑流出该时间节点的所有任务,对每个任务计算:结束时间节点的LET - 持续时间,取所有差中的最小值作为该时间节点的EET
    非关键任务的机动时间:结束时间节点的LET - 开始时间节点的EET - 持续时间

软件项目风险管理

风险识别:建立风险条目检查表
常见软件风险:软件规模风险,客户相关风险, 商业影响风险, 软件过程风险,开发环境风险,开发技术风险, 开发人员风险
风险评估:建立风险评估表
风险规划:风险处理策略:规避风险, 接受并缓解风险, 转移风险, 风险自留
风险监控:贯穿于软件开发的全过程,是一种项目跟踪活动。

软件工程学习笔记(二)软件项目管理相关推荐

  1. 项目管理学习笔记二:信息系统服务管理

    项目管理学习笔记二:信息系统服务管理 2010-10-22 09:56:33 标签:信息系统 笔记 项目管理 服务 学习 [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文 ...

  2. 软件工程学习笔记《二》代码规范

    文章目录 软件工程学习笔记目录 google代码规范 节选python来自google翻译 错误注释的示例 命名规范 import语句的规范 import this 源码 软件工程学习笔记目录 [ht ...

  3. 软件工程学习笔记《一》什么是软件工程

    文章目录 软件工程学习笔记目录 软件工程过程 软件工程方法 软件质量 软件质量如何评价 软件的质量模型 ISO9126模型 易用性: 效率 可维护性 可移植性 为什么内存缓冲区是2048或4096 软 ...

  4. linux系统管理学习笔记之三----软件的安装

    linux系统管理学习笔记之三----软件的安装 2009-12-29 19:10:02 标签:linux 系统管理 [推送到技术圈] 版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 ...

  5. 软件工程学习笔记《四》需求分析

    文章目录 软件工程学习笔记<目录> 需求工程师 当代的需求工程师需要具备的能力 当代的需求工程师需要努力的方向 当代的需求工程师需要注意的错误 需求的定义 需求目标 需求分析的实质 需求分 ...

  6. 软件工程学习笔记《目录》

    软件工程学习笔记<目录> 软件工程学习笔记<一>什么是软件工程 软件工程学习笔记<二>代码规范 软件工程学习笔记<三>代码优化和性能测试 软件工程学习笔 ...

  7. ROS学习笔记二:探索ROS文件系统

    ROS学习笔记二:探索ROS文件系统 ROS针对自己文件的特性,具有一些自己的工具命令,当针对ROS文件进行操作的时候是非常方便的.这些命令和ubuntu系统原有的命令相似但却不同,单独针对ROS文件 ...

  8. 【学习笔记】软件设计模式(一)基本概念与归纳总结

    软件设计模式之基本概念与归纳总结 本人学习笔记.内容参考<Java设计模式>刘伟 教程配套PPT.仅供学习参考使用. 文章目录 软件设计模式概述 模式的分类 模式定义和特点的归纳总结 1. ...

  9. oracle学习笔记 oracle软件安装准备工作 第一部分 环境准备

    oracle学习笔记   oracle软件安装准备工作  第一部分 环境准备 这节课对初学者来说内容较多,我把它分成了三篇. 即使这样也不可能把每个可能遇到的问题都说到,如果遇到没说到的问题自己上网搜 ...

  10. 投资信托学习笔记(二)

    投资信托学习笔记(二) 补充 二 https://baike.baidu.com/item/%E4%BF%A1%E6%89%98%E6%8A%95%E8%B5%84/89898?fr=aladdin# ...

最新文章

  1. hive插入表的insert 执行计划_0651-6.2.0-启用Sentry后Impala执行SQL失败问题分析
  2. 选对工具,你也能做出别人家的酷炫大屏
  3. python基础开发环境_Python基础教程,第一讲,开发环境搭建
  4. ZJOI2019赛季回顾
  5. Bootstrap导航栏
  6. Oracle Segments可以跨多个data files吗?
  7. oracle 类似decode,类似于ORACLE decode 的用法
  8. 开环直流电机的机械特性_无刷直流电动机的开环调速机械特性研究
  9. import sun.misc.BASE64Decoder;import sun.misc.BASE64Encoder; 报错的解决方法
  10. LAMP架构调优(四)——资源压缩传输
  11. SAS的SQL过程(SQL Procedure in SAS)(一)
  12. php jpg转换为pdf文件,使用PHP进行PDF转换为JPG转换
  13. px和毫米的换算_px和厘米怎么换算?
  14. 【知乎热议】如何看待Momenta研发总监任少卿去了蔚来汽车?
  15. 初步探索python
  16. 华为快应用接入广告服务开发指导
  17. 微信公众号发送模板通知
  18. 揪出占用电脑C盘的元凶“微信”,立马清爽了
  19. VC++2012编程演练数据结构《9》平衡二叉搜索树
  20. mysql联合唯一索引可以有多个吗_mysql可以设置联合唯一索引吗?

热门文章

  1. python爬虫 构建自己的代理IP池
  2. 全网最火爆,最详细Docker与自动化测试讲解,看完觉得我又行了
  3. 第十一届吴文俊人工智能科学技术奖颁奖盛典召开,66个项目成果摘得中国智能科学技术奖励最高殊荣
  4. iOS 加密算法之MD5加密使用
  5. java.lang.IllegalArgumentException: Invalid character found in method name [0x160x030x0
  6. 迅雷下载文件名为download的解决办法
  7. SaltStack技术入门与实践
  8. 2020-11-3(安卓开发入门)
  9. 部署AlphaSSL
  10. 内容制作新纪元:AIGC技术的革命性影响