资源预览内容
第1页 / 共116页
第2页 / 共116页
第3页 / 共116页
第4页 / 共116页
第5页 / 共116页
第6页 / 共116页
第7页 / 共116页
第8页 / 共116页
第9页 / 共116页
第10页 / 共116页
亲,该文档总共116页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
,软件工程,那只猴子能用C编程,非常快,代码紧凑高效,所以值那么多钱。,$5000,哦,那是一只C+ 猴;它会面向对象的编程,会用Visual C+,还懂得一点Java,是非常有用的,$10000,$50000,我们也不知道它究竟能做什么,不过它是做项目管理出身的,Unit 4 软件项目管理,70年代中期,70%的项目是由于管理不善引起的,而并不是因为技术实力不够,管理是影响软件研发项目全局的因素,而技术因素只影响局部。,90年代中期 美国软件工程实施现状的调查:,10%的项目能够在预定的费用和进度下交付。,成为软件项目开发中 最重要的核心问题之一。,软件项目管理,什么是软件项目管理?,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。 软件项目管理的对象是软件工程项目,他所涉及的范围覆盖了整个软件工程过程。,Meiler Page-Jones: 我拜访了很多商业公司,我也观察了很多数据处理的管理者,我常常恐惧地看到这些管理者徒劳地与恶梦般的项目斗争着,在根本不可能的最后期限下苦苦挣扎,或是在交付了使其用户极为不满的系统之后,又继续花费大量的时间去维护该系统。,Q,B,T,管理的范围,有效的项目管理集中于三个P 上: People 项目参与者 项目负责人 软件项目组 协调和通讯 Problem 软件范围 问题分解 Process 合并问题和过程 过程分解,软件项目管理,软件项目计划 风险管理 项目成本预算,1. 软件项目计划,软件项目计划 Software Project Planning,对估算的观察 Observations on Estimating 项目计划目标 Project Planning Objectives 软件范围 Software Scope 资源 Resources 软件项目估算 Software Project Estimation 分解技术 Decomposition 经验估算模型 Empirical Estimation Models 自行开发或购买的决策 The Make/Buy Decision,软件项目计划Observations on Estimating,A leading executive was once asked: “ What single characteristic was most important when selecting a project manager?” His response:,“A person with the ability to know what will go wrong before it actually does”,And the courage to estimate when the future is cloudy.”,软件项目计划Observations on Estimating,估算需要: 经验 experience 了解以前有用的信息 access to good historical information 当仅存定性数据时进行定量测量的勇气 the courage to commit to quantitative predictions when qualitative information is all that exists.,软件项目计划Observations on Estimating,Key points Project complexity, project size, and the degree of structural uncertainty all affect the reliability of estimate.,亚里斯多德: 记住:应该满足于事物的本性所能容许的精确度,当只能近似于真理时,不要去寻求绝对的准确,软件项目计划Project Planning Objectives,提供一个框架,使得管理者能够对资源、成本及进度进行合理的估算。 一个限定的时间框架内 “最好的情况” 及“最坏的情况” 通过一个信息发现的过程实现的,软件项目计划Project Planning Objectives,Advice: The more you know, the better you estimate. Therefore, update your estimates as the project progresses.,软件项目计划Software Scope,Key point: A consideration of software scope must include on evaluation of all externalinterfaces.,软件项目计划Software Scope,软件项目计划的第一个活动是软件范围的确定。 软件范围描述了功能、性能、约束条件、接口及可靠性。,软件项目计划Software Scope,范围是通过回答下列问题来定义的: 背景:待建造的软件如何适应于大型的系统、产品或商业的背景,在该背景下要加什么约束? 信息目标:软件要产生什么样的客户可见的数据对象输出,需要什么样的数据对象输入? 功能和性能:软件执行什么样的功能使得输入数据才能变换成为输出数据?需要满足什么特殊的性能特征吗?,软件项目计划Software Scope,Advice: Technical feasibility is important, but business need is even more important. It does no good to build a high tech system or product that no one really wants.,软件项目计划Resources,Key Point: To be reused effectively, software components must be cataloged, standardized, and validated.,软件项目计划Resources,硬件/软件工具,可复用构件,人员,提供支持开发 工作的基础,极大地降低开发成本,时间,主要资源,软件项目计划Resources,人力资源 描述组织的职位及专业技能等 可复用软件资源 可直接使用的构件 具有完全经验的构件 具有部分经验的构件 新构件 环境资源 硬件及软件,软件项目计划Resources,资源说明四特征 资源描述 可用性说明 需要该资源的时间 被使用的持续时间,软件项目计划Resources,软件成本及工作量估算永远不会是一门精确的科学。 可以从神秘的技巧向一系列系统化的步骤转化,软件项目计划Software Project Estimation,几种可考虑的选择 将估算拖延到项目的最后 基于已经完成的类似项目 使用简单的分解技术 使用经验模型,软件项目计划Software Project Estimation,Advice When collecting productivity metrics for projects, be sure to establish a taxonomy of project types. This will enable you to compute domain specific averages, making estimation more accurate.,软件项目计划Decomposition,分解问题, 将项目分解成若干主要功能及相关的软件工程活动,通过逐步求精的方式进行成本及工作量的估算 问题分解 “分而治之” 过程分解 回答“如何完成公共过程框架?”,软件项目计划Empirical Estimation Models,Key Point An estimation model reflects the population of projects from which it has been derived. Therefore, the model is domain sensitive.,软件项目计划Empirical Estimation Models,估算模型的结构 E=A+B*(ev)C A、B、C是由经验导出的常数, E是以人月为单位的工作量 ev 是估算变量,软件项目计划Empirical Estimation Models,面向LOC的估算模型 E=5.2*(KLOC)0.91Walston-Felix模型 E=5.5+0.73*(KLOC)1.16Bailey-Basili模型 E=3.2*(KLOC)1.05Boehm模型 E=5.288*(KLOC)1.047Doty模型 面向FP的估算模型 E=-13.39+0.0545FPAlbrecht 和Gaffney E=60.62*7.728*10(-8)*FP3Kemerer E=585.7+5.12FPMaston、Barnett 和Mellichamp,软件项目计划Empirical Estimation Models,COCOMO 模型(Constructive Cost MOdel) 软件估算模型的层次体系 模型1:基本COCOMO模型,将软件开发工作量及成本作为程序规模的函数进行计算,程序规模已估算的代码来表示。 模型2:中级COCOMO模型,将软件开发工作量及成本作为程序规模及一组“成本驱动因子”的函数来进行计算,其中“成本驱动因子”包括对产品、硬件、人员、及项目属性的主管评估。 模型3:高级COCOMO模型,包含了中级莫茨能够的所有特性,并结合了成本驱动因子对软件工程过程中每一步骤的影响评估。,软件项目计划Empirical Estimation Models,软件方程式 是一个多变量模型,他假设在软件开发项目的整个生命周期中的一个特定的工作量分布。 E=LOC*B0.333/P3*(1/t4),软件项目计划Empirical Estimation Models,Advice: None of these models should be used without careful calibration to your environment.,软件项目计划The Make/Buy Decision,自行开发/购选择 购买可直接使用的软件 购买“具有完全经验”或“具有部分经验”的软件构件,修改,集成 外包,软件项目计划The Make/Buy Decision,低成本的软件 昂贵的软件产品 建立性能及性能规约,可测量性 估算内部开发的成本及交付日期 选择三到四个候选软件 选择能够有助于建造所需软件的可复用构件 建立比较矩阵,对关键功能进行比较/测试 根据以前产品的质量、开发商的支持、产品的方向、以及其名声评估候选软件包后构件 联系该软件的其他用户并询问其意见,软件项目计划The Make/Buy Decision,自行开发/购买 时间 成本,软件项目计划The Make/Buy Decision,系统 X,建造,复用,购买,承包,简单(0.30),困难(0.70),小改动(0.40),大改动(0.6),简单(0.2),复杂(0.8),小改动(0.70),大改动(0.7),不改动(0.6),有改动(0.4),$380,000,$450,000,$275,000,$310,000,$490,000,$210,000,$400,000,$350,000,$500,000,$429,000,$382,000,$267,000,$410,000,决策树,软件项目计划T
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号