软件项目管理内容摘要:
件范围的叙述 由此叙述 把软件分解成一些小的可分别独立进行估算的子功能 对每一个子功能 估算 LOC或 FP 把基线生产率度量 (如 LOC/ PM或 FP/ PM) 用做特定的估算变量, 导出子功能的成本或工作量 综合子功能的估算 得到 整个项目的总估算。 72 项目计划人员可 对每一个分解的功能提出一个有代表性的估算值范围。 利用历史数据或凭实际经验(当其它的方法失效时),对每个功能分别按 最佳的 、 可能的 、 悲观的 三种情况给出 LOC或 FP估计值。 记作 a、 m、 b。 接着计算 LOC或 FP的 期望值 E。 E = ( a+ 4m+ b)/ 6 73 所有子功能的总估算变量值 除以 相应于该估算变量的平均生产率度量 得到 项目的总工作量。 例如,若假定总的 FP估算值 是 310, 基于过去项目的平均 FP生产率 是 /PM,则 项目的总工作量 是: 工作量 = 310/ = 56 PM 作为 LOC和 FP估算的实例,考察一 个为 CAD应用而开发的软件包。 74 系统定义评审指明, 软件是在一个工作站上运行,其接口必须使用各种计算机图形设备,包括鼠标器、数字化仪、高分辩率彩色显示器和激光打印机。 在这个实例中,使用 LOC做为估算变量。 根据系统规格说明 , 软件范围 的初步叙述如下 “软件将从操作员那里接收 2 维或 3 维几何数据。 操作员通过 用户界面 与 CAD系统 交互并控制它,这种用户界面将表 75 现出很好的人机接口设计特性。 所有的几何数据和其它支持信息保存在一个CAD数据库 内。 要开发一些设计分析模块以产生在各种图形设备上显示的输出。 软件要设计得能控制并与能各种外部设备,包括鼠标器、数字化仪、激光打印机和绘图仪 交互。 ” 76 经过分解 , 识别出下列主要软件功能: 用户界面和控制功能 二维几何分析 三维几何分析 数据库管理 计算机图形显示功能 外设控制 PC 设计分析模块 通过分解,可得到如下估算表 77 79 软件开发成本估算方法 软件开发成本主要是指 软件开发过程中所花费的工作量及相应的代价。 它不包括原材料和能源的消耗,主要是人的劳动的消耗。 人的劳动消耗所需代价就是软件产品的开发成本。 软件产品开发成本的计算方法不同于其它物理产品成本的计算。 80 软件的开发成本是 以一次性开发过程所花费的代价 来计算的。 软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、组装测试到确认测试,整个软件开发全过程所花费的代价作为依据的。 81 对于一个大型的软件项目,由于 项目的复杂性 ,开发成本的估算不是一件简单的事,要进行一系列的估算处理。 主要靠 分解 和 类推。 基本估算方法分为三类。 自顶向下的估算方法 自底向上的估计法 差别估计法 82 1. 自顶向下的估算方法 这种方法的主要思想是 从项目的整体出发 , 进行类推。 估算人员根据以前已完成项目所消耗的总成本(或总工作量), 推算将要开发的软件的总成本 ( 或总工作量 ),然后按比例将它分配到各开发任务单元中去 ,再来检验它是否能满足要求。 83 软件 库存情况更新 开发者 W .W ard 日期 2 / 8 / 82 阶 段 项目任务 工作量分布 (1 /5 3) 小计 (1 /5 3) 计划和需求 软件需求定义 5 开发计划 1 6 产品设计 6 产品设计 初步的用户手册 3 测试计划 1 10 详细 PDL 描述 4 详细设计 数据定义 4 过程设计 2 正式的用户手册 2 12 编码与 程序编码 6 单元测试 单元测试结果 10 16 组装与 编写文档 4 联合测试 组装与测试 5 9 总 计 53 84 2. 自底向上的估计法 这种方法的主要思想是把 待开发的软件细分 , 直到每一个子任务都已经明确所需要的开发工作量 ,然后 把它们加起来 ,得到软件开发的总工作量。 它的优点是估算各个部分的准确性高。 缺点是缺少各项子任务之间相互联系所需要的工作量,还缺少许多与软件开发有关的系统级工作量 . 85 3. 差别估计法 这种方法综合了上述两种方法的优点,其主要思想是 把待开发的软件项目与过去已完成的软件项目进行类比 , 从其开发的各个子任务中区分出类似的部分和不同的部分。 类似的部分按实际量进行计算,不同的部分则采用相应方法进行估算。 86 4. 专家判定技术 由多位专家进行成本估算。 单独一位专家可能会有种种偏见,最好由多位专家进行估算,取得多个估算值。 有多种方法把这些估算值合成一个估算值。 一种方法是 简单地求各估算值的中值或平均值。 其优点是简便。 缺点是可能会由于受一、二个极端估算值的影响而产生严重的偏差。 87 一种方法是 召开小组会 , 使各位专家们统一于或至少同意某一个估算值。 优点是可以摈弃蒙昧无知的估算值,缺点是一些组员可能会受权威或政治因素的影响。 88 5. Deiphi技术 标准 Deiphi技术 组织者发给每位专家一份 软件系统规格说明书 和一张 记录估算值的表格 ,请他们进行估算。 专家详细研究软件规格说明书的内容,对该软件提出 三个规模 的估算值,即: ai (最小 ), mi (可能 ), bi (最大 ), 无记名地填写表格 89 组织者对专家们填在表格中的答复 进行整理 : a. 计算各专家估算的期望值 Ei。 b. 对专家的估算结果分类摘要。 专家对此估算值另做一次估算。 在综合专家估算结果的基础上, 组织专家再次无记名地填写表格。 比较两次估算的结果。 若差异很大,要通过查询找出差异的原因。 90 上述过程可重复多次。 最终可获得一个得到多数专家共识的软件规模 (源代码行数 )。 最后,通过与历史资料进行类比,根据过去完成软件项目的规模和成本等信息,推算出该软件每行源代码所需要的成本。 然后再乘以该软件源代码行数的估算值,就可得到该软件的成本估算值。 91 软件开发成本估算的经验模型 软件开发成本估算是 依据开发成本估算模型进行估算 的。 开发成本估算模型通常 采用经验公式 来预测软件项目计划所需要的成本 、 工作量和进度数据。 用以支持大多数模型的经验数据都是从有限的一些项目样本中得到的。 92 1. IBM模型 (WalstonFelix) E = (KLOC) D = (KLOC) = S = DOC = 49 (KLOC) KLOC是 千 源代码行数 , E是 工作量 (PM),D 是 项目持续时间 (月 ), S 是 人员需要量 (人 ), DOC是 文档数量 (页 )。 93 IBM模型是 静态单变量模型。 在此模型中,一般指 一条机器指令为 一行源代码。 一个软件的源代码行数不包括程序注释、作业命令、调试程序在内。 对于非机器指令编写的源程序,例如汇编语言或高级语言程序,应 转换成机器指令源代码行数 来考虑。 94 转换系数表 语语 言言 转转 换换 系系 数数 简简 单单 汇汇 编编 11 宏宏 汇汇 编编 11 .. 22 ~~ 11 .. 55 FF OO RR TT RR AA NN 44 ~~ 66 PP LL // II 44 ~~ 11 00 定义 : 转换系数=机器指令条数/非机器语言执行步数。 95 其他静态单变量模型 面向规模的估算 E = + (KLOC) BeileyBasili模型 E = (KLOC) Boehm的简单模型 E = (KLOC) Doty模型 , 针对 KLOC9的情况 96 面向功能点的估算 E = + FP AlbrechtGaffney模型 E = 108 FP3 Kemerer模型 E = + FP MastonBarnrttMellichamp模型 97 2. Putnam 模型 Putnam模型是一种动态多变量模型。 适用于大型项目,但也可以应用在一些较小的软件项目中。 它是 假定在软件开发的整个生存期中工作量有特定的分布。 大型软件项目的开发工作量分布可以用RayleighNorden曲线 表示。 98 系统定义 功能设计 规格说明 系统开发 系统维护与支持 工作量(人月) 时间 系统定义 功能设计 规格说明 安装 测试与确认 设计与编码 开发工作 = 总工作量的 40% 维护与支持工作 = 总工作量的 60% 99 用 RayleighNorden曲线可以导出一个“软件方程” td 是 开发持续时间 (年 ), K是 软件开发与维护在内的整个生存期所花费的工作量 (人年 ), L是 源代码行数 (LOC), Ck是 技术状态常数 , 因开发环境而异。 3431tdKCkL 100 技术状态常数 Ck的取值 Ck的 典型值 开发 环境 开 发 环 境 举 例 2020 差 没有系统的开发方法,缺乏文档和复审,批处理方式。 8000 好 有合适的系统开发方法,有充分的文档和复审,交互执行方式。 11000 优 有自动开发工具和技术 101 3. COCOMO模型 ( COnstructive COst MOdel) 结构型成本估算模型是一种 精确 、 易于使用 的成本估算方法。 DSI( 源指令条数 )定义为 代码 的 源程序行数。 若一行有两个语句,则算做一条指令。 它 包括作业控制语句 和 格式语句 , 但不包括注释语句。 KDSI= 1024DSI。 102 MM(度量单位为 人月 )表示 开发工作量。 TDEV(度量单位为 月 )表示 开发进度。 它由工作量决定。 软件开发项目的分类 软件开发项目的 总体类型 : 组织型 嵌入型 半独立型 103 COCOMO模型的分类 COCOMO模型 按其详细程度 分成三级: 基本 COCOMO模型 中间 COCOMO模型 详细 COCOMO模型 基本 COCOMO模型 是 静态单变量模型 ,用 源代码行数 (LOC) 为自变量的经验函数计算软件开发工作量。 104 中间 COCOMO模型 在用 LOC为自变量的函数计算软件开发工作量(称为名义工作量)的基础上,用涉及产品、硬件、人员、项目等方面的影响因素调整工作量估算。 详细 COCOMO模型 包括中间 COCO MO模型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中每一步骤(分析、设计等)的影响。 105 基本 COCOMO模型 基本 COCOMO模型的工作量和进度公式 总体类型 工 作 量 进 度 组织型 MM = = ( KD S。软件项目管理
相关推荐
次,限制车速,星期天关闭全国加油站,禁止和限制户外灯光广告等。 甚至连白宫顶上和联合国大厦周围的电灯也限时关掉,尼克松还下令减低他的座机飞行的正常速度,取消了他周末旅行的护航飞机。 美国国会通过法案,授权总统对所有石油产品实行全国配给。 ( 2)世界经济格局的变化 ( 3)经济增长、失业率和通货膨胀 二、失灵的凯恩斯主义 让我来告诉你们这些定义,经济的衰退是指你的邻居失了业
了。 这是一种熏陶,它以潜移默化的形式产生作用。 ,老教材是“不可能使热量由低温物体传递到高温物体,而不引起其它变化”,新教材的叙述是“热量不可能自发地从低温物体传到高温物体”,表面上看似避开“而不引起其它变化”几个字降低了难度,其实不好。 因为教材上的第二种表述还是有这种字样:“不可能从单一热库(源)吸收热量,使之完全变成功,而不产生其它影响(变化)”。 还是没绕过这几个字。
增强决策的可行性。 同时,企业与核心专业人员的双边治理可以使核心专业人员愿意承担创新带来的风险,避免企业陷入 “ 单边风险危机 “ 中。 过渡期 • 技术晋升通道: 随着技术职务的晋升,将获得更好的研发设备和更齐全的资料,保证专业人员随着自身知识与经验的积累而获得相应的权利和地位。 • 科技基金: 成立“华为科技基金”,大力鼓励和引导专业人员开展创业活动。 • 效果:
)降低幅度PL A + OL A DV + A DV (N = 12 0) A DV + OL A DV + A DV (N = 24 0) A DV + OL A DV + PL A (N = 12 0) p 52周治疗期间血清 HBV DNA转阴率 * 051015202530350 4 8 12 16 20 24 28 32 36 40 44 48 52时间(周)HBV