软件工程导论——7软件项目管理

人员组织与管理

取决于开发组织的管理模式和软件项目的特点。
典型的组织方式:

民主式组织结构

– 小组成员完全平等
– 项目工作由全体人员讨论决定
– 适合规模小、能力强、习惯于共同工作的开发组
– 无权威领导,难解决意见分歧,不适合大规模开发

主程序员式组织结构

主程序员:体系结构设计和关键部分详细设计,管理和知道其他程序员
后备程序员:协助主程序员
程序员:详细设计和编程
优点:实现项目人员的专业化分工,提高了效率
缺点:对主程序员要求高

软件规模和工作量估算

目的:为项目分配合理的人力、时间和相关资源
– 要完成该项目需要多少工作量r> – 要完成该项目需要多长时间r> – 项目的总成本是多少p>

软件规模:软件产品的大小

以代码行表示,以千代码行为单位(KLOC)

  1. 将软件分解成尽量小且可独立估算的子功能
  2. 计算每个子功能的代码行数
    – 最小代码行数估算值:a
    – 最可能的代码行数估算值:m
    – 最大代码行数估算值:b
    – 代码行数期望值:L=(a+4m+b)/6
  3. 将所有子功能的代码行数期望值相加得到系统的代码行数
  4. 由多名有经验的开发人员分别给出估算,然后得出估算的平均值
    ? 特点
    – 简单方便
    – 根据历史项目数据,历史数据可靠时估计精确
    – 依赖于功能分解,难以在开发初期估算
    – 估计结果与开发语言相关

? 案例:
XXX银行信息系统
该系统应能增加新客户,并能从客户文件中作删除 。系统支持客户的存款和取款业务。在出现透支时 ,系统应给出警告信息。客户可通过终端查询自己 的账户余额,可以要求系统给出自己的透支 告。

?案例1:
XXX银行信息系统
该系统应能增加新客户,并能从客户文件中作删除 。系统支持客户的存款和取款业务。在出现透支时 ,系统应给出警告信息。客户可通过终端查询自己 的账户余额,可以要求给出透支客户 告。

软件工作量:投入的人力

专家判定

? 由多位专家进行工作量估算,需要丰富经验
? 用Delphi方法统一专家意见
① 项目协调人向每个专家提供软件规模和估算表格
② 项目协调人召集专家小组会讨论与规模相关的因素
③ 每个专家匿名填写工作量估算表格
④ 项目协调人整理出一个估算总结,将其反馈给专家
⑤ 项目协调人召集专家小组会讨论较大的估算差异
⑥ 专家复查估算总结,在估算表上提交另一个匿名估计
⑦ 重复④到⑥,直到估算结果中的最低和最高达到一致

类比估算

通过和相似历史项目的对比来估算
① 整理出项目的功能列表和实现每个功能的代码行数
② 标识出每个功能列表与历史项目的相同点和不同点
③ 得出各个功能的工作量估算值
④ 产生总的工作量估计
? 精确度取决于历史项目数据的完整性和准确度

经验模型

COCOMO模型

? 经验模型:基于从大量软件项目中收集的数据
? 基于项目规模(代码行数)来估算工作量

基本COCOMO模型

高级COCOMO模型

跟踪项目进展

甘特图通过条状图来显示项目,进度,和其他时间相关的系统进展的内在关系随着时间进展的情况。
甘特图横轴表示时间,纵轴表示要安排的活动。

软件工程导论——7软件项目管理

软件风险管理

什么是风险

– 一种具有负面后果的、人们不希望发生的事件
– 该事件发生后会产生损失(风险影响)
– 该事件有可能发生(风险概率)
– 能够改变结果的程度(风险控制)

风险管理的四个阶段

风险识别

风险条目检查表

风险分析

对识别的风险进行评估:确定风险发生的概率和影响

风险规划

制定风险应对策略
– 风险规避:降低风险出现的可能性,如改变需求
– 风险缓解:减少风险产生的影响
– 风险转移:将风险转移给第三方
– 风险接受:采取应急方案应对风险的发生

风险监控

– 监控指示风险变化的影响因素
– 监视风险应对措施的执行

软件配置管理

简单地说,软件配置管理就是对软件变更的管理

软件配置项 :

– 与合同、过程、计划和产品有关的文档和数据
– 源代码、目标代码和可执行代码
– 软件工具、库内可复用软件、外购软件及用户提供的软件

基线:

– 通过正式评审和批准的规格说明或者中间产品
– 软件配置项在成为基线之前可以迅速非正式修改,
– 软件配置项成为基线之后,只有通过正式的变更控制过程才 能修改
– 标志软件开发的里程碑

版本控制

对软件的不同版本进行标识和跟踪、对版本的各种操作 进行控制,如检入检出、分支与合并、版本发布等。

考纲

项目管理
重点是项目计划和估计的方法。掌握软件项目管理的主要内容和主要方法,能根据具体的项目进行项目计划和项目估计;理解软件项目管理四个基本要素:人、产品、过程和项目。主要知识点:

  1. 项目管理四要素:人员、产品、项目、过程(概念)
  2. 软件度量有哪些方法:生产率估计(基于规模(KLOC)、基于功能点(FP))、工作量度量(算法成本模型、COCOMO模型)。掌握直接测量(基于规模)方法。
  3. 项目计划与风险管理的概念

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月4日
下一篇 2021年1月4日

相关推荐