软件工程管理技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三节 计划管理
一、Gantt图 Gantt图(横道图)是安排工程进度计划的工具
二、工程网络技术
工程网络技术又称 PERT技术
软件测试 12
产品测试 8
圈内数字表 示完成该项 任务所需时 间(单位为
星期)
圆圈表 示开发 工程的 一项具 体任务
箭头表示各项任务完 成的先后顺序和相互 依赖关系
开始
表2.1是用代码行技术来估算开发一个图形软件包成本的例子。假设该软件
包有四个主要功能,即用户接口控制、二维几何分析、计算机图形显示、 外部设备控制(见表中第一列)。实现每个子功能所需要的代码行数Le(见表 中第二列)是由已知的a,m,b代入代码行平均值公式计算而得的。表中第
三列是生产率,第四列是每行代码的成本.第五列成本和第六列人力都是 计算而得的。
由表2.1中可知,开发图形软件包所需代码行总数是: L=14 810≈15 000行 总成本: 3O9 180元=3O9 00O元 总人力: 71.7≈72(人月)
二、任务估算技术
这种方法实际上是一种任务分析技术,它首先把软件开发 工程分解为若干个相对独立的任务,再分别估计每个单独开 发任务的成本,最后累加起来得出软件开发工程的总成本。 在估计每个任务的成本时,通常先估计完成该项任务需要用 的人力(以人月为单位),再乘以每人每月的平均工资而得出每 个任务的成本。
软件工程管理技术
1. 第一节 成本估计技术 2. 第二节 人员组织
3. 第三节 计划管理 4. 第四节 软件工程规范
第一节 成本估计技术
软件开发成本估算 主要指软件开发过程中所花费的工作量及相应的代价。
一、代码行技术(简称LOC技术)
代码行技术是比较简单的定量估算方法,它把开发每个软件功 能的成本和实现这个功能需要用的源代码行数联系起来。通常根据 经验和历史数据来估计实现一个功能需要的源程序行数。当有以往 开发类似工程的历史数据可供参考时,这个方法是非常有效的。 代码行技术估算步骤如下: 1)确定功能:将项目功能反复分解到足够细,直到可以对为实现该功 能所需要的源代码行数做出可靠的估算为止。 2)算出各子功能代码行数的平均值:首先根据经验和历史数据对每个 子功能估计其程序规模的大小,即最小规模a,最大规模b和最可能的 规模m,然后用下式计算出该子功能源代码的行数的平均值Le:
总人力:
一般约定若相对误差在士20%以内被认为估算基本正确,当然误差越小越好。 若误差相差太大,则说明估算不正确,需重新进行估算 。
第二节 人员组织
一、Brooks定律
向一个进度已经落后的项目增派开发人员, 可能使它完成得更晚。
二、软件开发组织的管理结构
软件开发的管理是层次结构。 每个经理直接管理5~6名下级人员,管理组织层次一般不超过6~7层。
通常按开发阶段划分任务。典型环境下各个开发阶段需 要使用的人力的百分比大致如图2.7所示。 下面仍以图形软件包为例,用任务估算技术来估算其开发成 本(见表 2.2所示)。
由表 2.2可知,用任务估算技术得到图形软件包的开发总成本是 339 95O元, 取整千位得 340 000元,总人力是76个人月。然后把代码行技术和任务估算技 术所得到的结果进行比较,计算出其总成本和总人力的相对误差为: 总成本:
二、工程网络技术
寻找PERT图的关键路径
二、工程网络技术
标明最早起止时间和最迟起止时间的PERT图
二、工程网络技术
缩短关键路径上任务完成时间后的PERT图
三、程序设计小组的组织
(1)程序设计小组 成员以2~8名为宜。
(2)主程序员组 ①主程序员:负责系统的设计、编码、测试和安装工作; ②辅助程序员:协助主程序员工作,设计测试方案和分析
测试结果; ③程序管理员:负责和项目有关的全部事务性工作。 配备临时或长期工作人员:项目管理员、工具员、文档编
辑、语言和系统专家、测试员、后援程序员等。
测试 计划
4
分析 6
软件 测试
12
数据 测试
4
编码 8
百度文库
产品 测试
8
结束
设计 8
文档 4
PERT图
绘制PERT图
绘制PERT图从终点向起点逐步倒推, 根据各项任务相互之间的依赖关系画出 每一项任务,直至整个工程的起点。
在PERT图中从起点到终点有许多 条路径,把其中耗时最长的路径 称作关键路径。
关键路径耗时等于整个工程耗时。
3)确定各子功能的代码行成本和生产率:代码行成本指生产一条有效 代码需要的花费(用元/行表示),生产率指每个人一个月所能生产的 有效源代码行数(用行/人月表示),根据历史提供数据和开发人员工 资率就可以估算出每行代码的成本。同样,凭经验和开发人员的技术 水平、软件复杂程度等因素可以估算出软件生产率。 4)计算各子功能的成本和人力(工作量):每个子功能的成本等于其代 码行平均值乘以其代码行成本。每个子功能的人力等于其代码行平均 值除以其生产率。 计算该项目的总代码行数、总成本和总工作量