软件工程-软件项目管理培训教材(编辑修改稿)内容摘要:

介绍 :说明产品、产品的意向市场及对产品性质的预期。  软件计划 :包括产品确切的发布日期、产品责任及产品的销售和售后服务计划。  过程描述 :产品的开发和管理中应该采用开发和售后服务质量过程。  质量目标 :包括鉴定和验证产品的关键质量属性。  风险和风险管理 : 说 明影响产品质量的主要风险和这些风险的应对措施。 Humphrey的结构框架: 企业通用业频道 质量规划 质量规划时要考虑各种潜在的软件质量属性: 安全性 可理解性 可移植性 保密性 可测试性 可使用性 可靠性 适应性 复用性 弹性 模块性 效率 鲁棒性 复杂性 可学习性 当然,要对任何系统的所有这些属性都重点关注是不可能的,因此质量规划的一个关键任务是挑选出关键的质量属性,然后对如何达到这些质量属性做出规划。 企业通用业频道 质量控制 • 质量控制就是监督检查整个软件开发过程,以确保质量保证规程和标准被严格执行。 • 有两种质量控制的方法: – 质量评审 :一组人对软件、文档编制及软件制作过程进行评审。 – 自动化的软件评估 :软件和文档生成后,经过一定的程序进行处理,并与用于具体项目的标准相对照。 企业通用业频道 软件成本估算  成本估算是可行性分析的重要依据,也是软件管理的重要内容,直接影响到软件开发的风险。 软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价,即主要是人的劳动的消耗。 软件产品不存在重复制造过程,它的开发成本是以一次性开发过程所花费的代价来计算的。 因此软件成本估算,应以软件计划、需求分析、设计、编码到测试的软件开发全过程所花费的代价为依据。 *成本估算与成本估计是软件管理的核心任务之一。 企业通用业频道 软件成本估算  由于软件成本涉及较多变量,因而难以对其作出准确的估算。 我们需要使用多种不同的方法对软件成本进行交叉估算,才有可能得到软件成本的较精确的估算结果。 对于大型项目,由于其项目的复杂度,必须建立相应的估算模型,按照一定的方法、技术来进行估算。 企业通用业频道 软件成本估算 项目的规模 项目的难度 项目的时间限制 资源 根据需求分析后确定的功能模块的数量,或者用例的数量 确定 根据现有经验、技术水平 确定 根据客户的要求及现有资源 确定 确定 企业通用业频道 软件规模估算  代码行技术  功能点技术 企业通用业频道 代码行技术  代码行技术是比较简单的 定量 估算软件规模的方法。  这种方法依据以往开发类似产品的经验和历史数据,估算实现一个功能所需要的源程序行数。 当有以往开发类似产品的历史数据可供参考时,这种方法估算出的数值还是比较准确的。 企业通用业频道 代码行技术  为使得对软件规模估计值更接近实际值,可以由多名有经验的软件工程师分别作出估计。 每个人都估计软件的最小规模 (a)、最大规模 (b)和最可能规模 (m),分别算出三者的平均值 a, b, m,再用下式计算软件规模估算值: 在使用代码行技术估算软件规模时,若软件较小时常用的单位是代码行数( LOC);若软件较大时常用的单位是千行代码数( KLOC)。 常使用的单位有: SLOC(single line of code)、KLOC(thousand lines of code)、 LLOC(logical line of code)、PLOC(physical line of code)、 NCLOC (nonmented line of code)、 DSI(delivered source instruction交付源指令数 )。 46a m bL  企业通用业频道 代码行技术  代码行技术的优点:  代码是所有软件项目开发都包含的 “ 产品 ” ,而且代码行数很容易计算。  代码行技术的缺点:  源程序仅是软件配置的一个成分,用它的规模代表整个软件规模不太合理;  用不同语言实现同一个软件所需的代码行数并不相同,即它依赖于所使用的编程语言;  不适合于非过程语言。 企业通用业频道 功能点技术  是为克服代码行技术缺点提出的;  它涉及多种因素的度量方法;  功能点技术根据软件的基本功能来定义,所以在系统设计初期就能够估算出软件项目的规模。 企业通用业频道 信息域特性  产品信息域的 5个特性: 输入项数 (Inp):用户向软件输入的项数,这些输入给软件提供了面向应用的数据。 输出项数 (Out):软件向用户输出的项数,它们向用户提供面向应用的信息。 查询数 (Inq):查询即一次联机输入,它导致软件以联机输出方式产生某种即时响应。 主文件数 (Maf):逻辑主文件(数据的一个逻辑集合)的数目。 外部接口数 (Inf):机器可读的全部接口的数量。 企业通用业频道 功能点技术基本原理 使用 5个信息域的“加权和” CT与 14个技术因素的“复杂性调节值” Fi来计算功能点 FP: 141( 0 . 6 5 0 . 0 1 )iiF P C T F     企业通用业频道 估算功能点的步骤 计算未调整的功能点数 CT  首先把信息域的每个特性都分类为简单级、平均级或复杂级,根据等级按下表分配功能点数: 10 7 5 接口系数 a5 15 10 7 文件系数 a4 6 4 3 查询系数 a3 7 5 4 输出系数 a2 5 4 3 输入系数 a1 复杂 平均 简单 特性系数 复杂级别 然后用下式计算未调整的功能点数 CT: CT=a1 Inp+ a2 Out+ a3 Inq+ a4 Maf+ a5 Inf 企业通用业频道 估算功能点的步骤 计算技术复杂因子 TCF 软件复杂度的估算基于 14个问题,逐一对各问题做出复杂度估计 Fi,其取值范围是 05。 141iiD I F  C F DI   企业通用业频道 估算功能点的步骤 “没有影响 ” 取值 0 “偶然的 ” 取值 1 “适中的 ” 取值 2 “普通的 ” 取值 3 “重要的 ” 取值 4 “极重要的 ” 取值 5 系统需要可靠的备份和复原吗。 需要数据通信吗。 有分布处理功能吗。 性能很关键吗。 系统是否在一个已有的、很实用的操作环境中运行。 系统需要联机入口吗。 联机入口需要在多屏幕或多操作之间切换以完成输入。 系统联机需要更新主文件吗。 系统的输入、输出、文件或查询很复杂吗。 系统内部处理复杂吗。 代码需要被设计成可复用的吗。 设计中要包括转换及安装吗。 系统的设计支持不同组织的多次安装吗。 系统的设计有利于用户修改和使用吗。 企业通用业频道 功能点技术 功能点技术没有涉及系统本身的算法复杂性。 因此,它仅仅适合与算法比较简单的事务处理系统软件的规模度量;对算法较复杂的大型软件系统并不适应。 企业通用业频道 工作量估算  软件估算模型使用由经验导出的公式来预测软件开发工作量,工作量是软件规模 (LOC或 FP)的函数,工作量的单位通常是人月( pm)。 静态单变量模型 动态多变量模型 COCOMO2模型 支持大多数估算模型的经验数据,都是从有限个项目的样本集中总结出来的,因此,没有一个估算模型可以使用于所有类型的软件和开发环境。 企业通用业频道 静态单变量模型  静态单变量的总体结构形式如下: 其中, A、 B、 C是由经验数据导出的常数, E是以人月为单位的工作量, ev是估算变量( KLOC或 FP)。 下面给出典型的静态单变量模型: 1) 面向 KLOC的估算模型 2) 面向 FP的估算模型 () CE A B e v   企业通用业频道 面向 KLOC的估算模型 Walston_Felix (IBM模型 ) Bailey_Basili模型 Boehm简单模型 Doty模型 (KLOC9时适合 ) 1. K L O C1 .0 4 75. 28 8E K L OC1. K L O C  0. K L O C 企业通用业频道 面向 FP的估算模型  Albrechtamp。 Gaffney模型  Maston, Bart和 Mellichamp模型 13 .39 54 5E FP  5 8 5 .7 1 5 .1 2E F P 企业通用业频道 静态单变量的估算模型  从上面可以看出,对于相同的 KLOC或 FP,用不同的模型估算的结果各不相同。  主要原因: 这些模型都仅仅依据若干领域中有限个项目的经验数据推导出来的,适应范围有限。  因此,必须根据当前项目特点选择适应的估算模型,并依据需要对相应模型作出调整。 企业通用业频道 动态多变量模型  动态多变量模型,即软件方程式,它是根据4000多个当代软件项目中收集的生产率数据推导出来的。  该模型把工作量看作是软件规模和开发时间的函数,其形式如下: 0. 333 3 4( / ) ( 1 / )E L O C B P t   企业通用业频道 动态多变量模型 其中:  E是以人月或人年为单位的工作量;  t是以月或年为单位的项目持续时间;  B是特殊因子,它随着对测试、质量保证、文档及管理技术的需求的增加而缓慢增加。 对于较小程序(KLOC=5~ 15), B=;而对于超过 70KLOC的程序,B=;  P是生产率参数,它反映下属因素对工作量的影响:  总体过程成熟度及管理水平;  使用良好的软件工程实践的程度;  使用程序设计语言的级别;  软件环境状态;  软件项目组的经验和技术;  应用系统的复杂性等。 企业通用业频道 动态多变量模型 P的取值: 开发实时嵌入式软件时, P的典型值为 20xx; 开发电信系统和系统软件时, P=10000; 对于商业应用软件来说, P=28000。 从上式可以看出,开发同一个软件产品(即 LOC固定)的时候,如果把项目持续时间延长,则可降低完成项目所需要功能的工作量。 企业通用业频道 COCOMO模型 COCOMO模型 Constructive Cost Model  它是 Boehm于 1981年在静态单变量模型基础上提出的 “ 构造性成本模型 ”。  1997年 Boehm等人提出修订版 CoCoMo2模型。 企业通用业频道 COCOMO模型  依据系统规模和考虑因素的多少,由三种类型的 COCOMO模型:  基本 COCOMO模型  中间 COCOMO模型  详细 COCOMO模型 企业通用业频道 ① 独立型( Organic) 较简单,对产品目标理解充分,经验丰富,对软件开发环境熟悉,由小团队开发。 大多数应用软件及老的操作系统、编译系统属此类。 ② 半独立型( Semidetached) 项目较复杂,团队成员对系统可能有些经验。 如新操作系统,大型数据库,生产控制等软件属此类。 ③ 嵌入型( Embadded) 项目复杂,软件只是复杂系统的一部分,软件、硬件、规则和操作规程关系紧密,对接口、数据结构,算法要求较高。 如大型复杂的事务处理系统,大型、超大型的操作系统,军事指挥系统,航天控制系统等。 软件复杂度的三种类型 企业通用业频道 基本 COCOMO模型  基本 COCOMO模型是一个静态单变量模型,它把软件系统所需要的成本看作是程序大小单一变量(KLOC)的 (经验 )函数,用于系统级的粗略估算。 实时处理、控制程序、操作系统 嵌入型 各类实用程序、编译程序等 半独立型 各类应用软件 独立型 适应范围 d c a C 软件类型 工作量 E=C KLOCa (人月 |人年 ) 开发时间 TDEV=cEd (月 |年 ) 企业通用业频道 中间 COCOMO模型  中间 COCOMO模型是一个静态多变量模型,它把软件系统所需要的成本看作是程序大小和一系列。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。