软件工程第15章(4-02)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.进度安排的图形方法
(1)甘特图
2.进度安排的图形方法
(2)PERT图
1.项目进度跟踪
项目跟踪指的是在项目运行过程中把实际
发生的情况与原来估计的情况进行比较, 以检查项目开发是否按照计划正常进行。 实施跟踪需要在项目计划制定结束评审通 过时即把这一原始计划保存下来,该原始 计划又称为基准。当然要跟踪项目,仅建 立基准是不够的,还需要了解跟踪项目有 关的具体步骤并建立有效的跟踪处理程序。


本章主要介绍了软件项目计划和软件项目进度控制两方面 的内容。 软件项目计划即软件项目开始前必须进行的一项活动,它 为整个项目活动建立了一个框架。其任务是确定软件范围, 估算项目资源、成本与进度,编制项目进度表,以及划分 项目实施计划中的任务等。 软件项目进度控制是项目开发的三大目标(进度、费用和 质量)之一,也是最重要的目标。进度控制追求的目标是 高效率。在项目进度控制中,主要工作是:任务分解与工 作量的确定,项目开发进度计划与进度安排,以及项目进 度跟踪与控制。进度控制工作的主要依据是合同书和项目 计划。
2.1.2 软件项目计划的过程

1.确定项目范围和目标 2.确定项目结构 3.建立标准和过程 4.分析项目特征 5.确定项目产品和活动 6.估计每个活动的工作量 7.确定活动风险 8.分配资源 9.检查、公布计划 10.执行计划
2.1.3 软件项目计划的任务
1.确定软件范围 2.项目资源、成本与进度的估算 3.编制项目进度表
2.项目进度控制
在实际工作中,软件项目管理人员应该利
用控制手段来管理项目资源,并指导项目 开发人员。如果过程进展顺利,则不必施 加控制。但是如果出现问题,项目管理者 就必须施加严格控制,以便尽快排解问题。 例如,在应用领域中可能需要追加一些资 源;重新部署人员;重新调整项目进度等 处理。
本章小结
软件项目计划与进度控制


软件项目计划定义了所有项目活动的指标,也是项目组成 员相互沟通的基础,其科学与否,合理与否,对项目、产 品、人员都有着至关重要的影响,而进度控制则是对项目 计划所进行的跟踪管理,以保证项目在规定的时间内按期 保质完成。且前者是后者的前提和基础,后者是对前者的 执行和监控,二者之间只有达到有效结合和相互平衡,才 能保证整个软件工程的成功。 本章主要介绍了软件项目计划的基本内容,包括过程、任 务、内容和计划文档的编制;同时,还介绍了软件项目进 度控制的基本方法,包括进度计划、进度跟踪与控制,对 工作量的确定和进度安排等。

3.软件成本估算模型
(2)COCOMO模型 以中级COCOMO模型为例介绍这种构造性
模型。在这种模型中,软件开发工作量表 示为代码行数的非线性行数。例如: MM=Ci×KLOC^a×ПFi 其中MM为开发工作量,以人月为单位;Ci 为模型系数;KLOC为估计的代码行数,以 千行为单位;a为模型指数;Fi为成本因素。
2.2.3 项目开发进度计划与进度安排

1.制定项目开发进度计划 制定项目开发进度计划是在对项目范围定义完成之后,根 据工作分解结构所划分的具体工作任务进行工作时序安排 的过程。主要是规划各项任务何时开始、持续多久、何时 结束,以便在时间上跟踪和控制项目的进度,确保项目能 够按时完成。 正因为每个项目都可根据一定的原则将其分解为一系列活 动,每一个活动还可以分解为一系列的子活动,因此可对 各个工作包制定实施的进度计划,使每项任务都能有条不 紊、按时保质地完成。由于进度计划来自工作任务安排, 那么其规模与需求是基本明确的,在此基础之上再进行资 源的分配以及进度计划的安排将更加切实可行。

2.2 软件项目进度控制


进度控制的主要依据是合同书和项目计划。进度控制的方 法是把复杂的整体项目分解成许多可以准确描述、度量、 可独立操作相对简单的任务,然后安排这些任务的执行顺 序,确定每个任务的完成期限、开始时间和结束时间。通 常,有些活动是并行进行的。调度人员必须协调这些并行 活动并把整个工作组织起来,从而使人力资源得到充分利 用。一定要避免出现因一项关键任务没有完成而使整个项 目延期交付的情形。 在进度控制的过程中需要考虑的主要问题:项目可以支配 的人力及资源、项目的关键路径、生存周期各个阶段工作 量的划分、工程进展如何度量、各个阶段任务完成标志、 如何自然过渡到下一阶段的任务等。
2.2.2 任务分解与工作量的确定

1.项目任务分解 软件项目采用一定的组织形式将软件开发人员进行了组织,而其组织和分工 与软件项目的任务分解是分不开的。为了缩短开发进度,充分发挥软件开发 人员的潜力,应该根据不同的软件项目性质,选择合适的软件工程过程,对 软件项目的任务进行分解,并从中找出其串行成分及并行成分
1.软件成本估算过程

项目开发成本估算过程如图4-2-2所示。软件成本包括需 求分析、设计成本、系统软件的购置和编程调试等费用。 但对于一个项目而言,还应包括培训、硬件设备、运行维 护等费用。在成本估算过程中,对软件成本的估算是最困 难和最关键的。
2.软件成本估算方法

根据曲线,著名学者Putnam在估算软件开发工作量时得出如下公式: 其中,E表示工作量(单位:人年),L表示源代码行数(以LOC计),Td表 示开发时间(单位:年),Ck表示技术状态常数。Ck反映了总体的过程成熟 度及管理水平、开发环境、软件项目组的技术与经验等。它的典型值为:当 开发环境差时,Ck=2 000;当开发环境好时,Ck=8 000;当开发环境优时, Ck=11 000。
3.软件成本估算模型
(1)IBM模型 1977年Walston和Felix总结了IBM联合系统分部负责的60 个项目的数据。其中源代码从400~467 000行,工作量 从12~11 758人月,共使用29中不同语言和66种计算机。 用最小二乘法拟合,可以得到与ED=rSc相同形式的估算 公式: E=5.2×L0.91 D=4.1×L0.36=2.47×E0.35 S=0.54×E0.6 DOC=49×L1.01 其中:E为工作量(单位为:人月),D为项目持续时间 (单位为:月),文档页数DOC为所估算的源代码行数的 函数而建立的模型。

(1)自顶向下的估算方法 这种方法是从项目的整体出发,进行类推。即估计人员根据已完成项目所耗费的总成本,推算将要 开发的软件的总成本,然后按比例将它分配到各开发任务中去,再检验它是否能满足要求。 (2)自底向上的估计法 先对开发各个子系统或每个模块的工作量进行估算,再逐步相加得出整个系统工作量。这是一种常 见的估算方法。 (3)差别估计法 此方法是把待开发的软件项目与已完成的软件项目进行比较,不同的部分则采用相应的方法进行估 算。这种方法的优点是可以提高估算的准确程度,缺点是不容易明确“类似”的界限。 (4)类比估算法 参考已经完成的类似项目进行类推估算。类比估算法适合评估一些与历史项目在应用领域、环境和 复杂度的相似的项目,通过新项目与历史项目的比较得到规模估计。 类比法的基本步骤:理出项目功能列表和实现每个功能的编码行数;标识出每个功能列表与历史项 目的相同点和不同点,特别要注意历史项目做得不够的地方;得出各个功能的估计值;得出规模估 计。 (5)参数估算法 目前经常采用的有IBM模型、COCOMO模型、Putnam模型。这些模型通过对大量不同类型组织已 完成的项目进行研究,找出项目规模与工作量之间的关系和转换方法。这些行业性的模型可能不如 自己的历史数据精确,但是非常有效。
2.1.1 软件项目计划的意义与作用


项目计划的意义,在于在软件工程中,保证在正确的时间 有正确的资源可用,避免不同的活动在相同的时间竞争相 同的资源,为每个人员分配任务,使实际的进度可以有标 准进行衡量,产生成本消耗计划,根据实际情况,调整项 目,进行可行性研究,协调人员。软件工程过程中的每一 步骤都应该产生可以复审并能够作为后续步骤的基础工作 产品,目的是估计项目所需的资源和完成项目所需的时间, 从而管理和控制项目。 项目计划的作用主要表现在:确立项目组各成员及工作的 责任范围和地位以及相应的职权;促进项目组成员及项目 委托人和管理部门之间的交流与沟通;使项目组成员明确 自己的奋斗目标、实现目标的方法、途径及期限;可作为 进行分析、协商及记录项目范ቤተ መጻሕፍቲ ባይዱ变化的基础;可以了解结 合部分在哪里;可以把叙述性报告的需要减少到最低量。
2.1.4 软件项目计划的内容

(1)概述 (2)阶段计划 (3)组织计划 (4)测试计划 (5)变动控制计划 (6)文档计划 (7)培训计划 (8)复审和报告计划 (9)安装和运行计划 (10)资源和配置计划
2.1.5 软件项目的估算

软件产品的开发成本不同于其他物理产品的成本, 其主要是人员的劳动消耗。另外,软件产品不存 在重复制造的过程。所以,软件产品的开发成本 主要是以一次性软件开发过程中所付出的工作量 代价进行计算的。在计算机发展的早期,软件成 本在整个计算机系统成本中占很小的百分比。但 随着计算机应用的发展,特别是今天,在大多数 计算机系统中,软件已成为开销最大的部分。如 果成本估算误差很大,就会造成很严重的后果。 为了保证软件开发项目能在规定的时间内完成且 不超过预算,成本的估算和管理控制非常关键。
3.软件成本估算模型


(3)Putnam模型 Putnam估算模型是一种动态多变量模型,它是在假设软件开发的整 个生命周期,其中一个特定工作量分布的基础上推导出来的。这个特 定的工作量分布是依据一些大型项目中收集的工作量数据导出的曲线
3.软件成本估算模型


(3)Putnam模型 Putnam估算模型是一种动态多变量模型,它是在假设软件开发的整 个生命周期,其中一个特定工作量分布的基础上推导出来的。这个特 定的工作量分布是依据一些大型项目中收集的工作量数据导出的曲线
相关文档
最新文档