




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件项目管理,薛建民xjm87818127,软件项目管理,基础知识软件度量软件策划软件质量保证,2/62,基础知识,项目管理的特点目的与任务,3/62,PMI定义,项目是一段时间内为了创造某种独特产品或服务而采取的一种努力。通过项目经理和项目组织的努力,运用系统理论的方法对项目及其资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理方法体。,4/62,PMI定义,关注点(4P)人员(People)产品(Product)过程(Process)项目(Project),5/62,项目管理的特点,管理在软件工程项目中的地位和作用与其它工程项目一样十分重要,必须对成本、人员、进度、质量、风险等进行分析和管理,6/62,项目管理的特点,软件产品是逻辑的,软件项目的施工是开发小组集体的智力劳动,使用的开发工具是建立在计算机系统上的软件软件很多属性无法直接度量为软件定量分析和项目管理增加困难。,7/62,目的,为了使软件项目能够在预定成本、进度、质量的前提下顺利完成,必须对软件工程项目进行计划、组织、监控和管理,8/62,任务,制定软件项目的实施计划和方案;对人员进行组织和分工;按照计划进度,以及成本管理、风险管理、质量管理的要求进行软件开发,完成软件项目的各项要求和任务,9/62,软件度量,简介产品度量成本度量好的度量与度量中的陷阱,10/62,简介,有两种测量方法可以用于软件开发对产品的测量对所开发的产品的特性进行量化对过程的测量对进行开发软件的过程的以下特征,例如生产率、成本、资源需求等进行量化,11/62,软件测量的分类,12/62,用于不同部分的可能度量,13/62,早期的度量程序中建议的测量,14/62,软件度量领域-产品,面向规模的度量面向功能的度量与复杂度有关的度量面向对象的度量,15/62,LOC作为面向规模的度量,面向规模的度量仍然是最为大家熟悉的度量,因为它们是直接可以测量的我们可以很容易地测量源代码行数,并将其与缺陷发生率、开发时间和花费的钱数(美元、人民币)进行比较面向规模的度量是对软件以及开发软件过程的直接测量这些度量包括花费的精力和金钱、KLOC(千行代码)、创建的文档页数、错误数以及项目中的开发人员数,16/62,面向规模的度量,17/62,面向功能的度量,关键思想是估计出正确的软件项目的规模,而不考虑所使用的编程语言Albrecht列举了以下五条所有软件都可见的外部特性:软件应用程序的输入软件应用程序生成的输出用户查询数应用程序要使用的数据文件数与其它应用程序的接口数,18/62,功能点度量的优势,需求阶段可以估计项目的规模。预测实现软件功能所需源语句的数目语言无关多种语言项目中测量项目的生产率最初用在商业应用程序和MIS应用程序不适用实时软件、嵌入式系统、数学软件可以使用功能部件的度量功能点与代码行及开发语言的关系(P345),19/62,与复杂度相关的度量,如果仅仅按照单位时间的代码行(LOC)来测量生产率,则该值很大一部分都取决于待开发的软件的复杂度现在使用的与复杂度相关的度量是:Halstead的软件科学(1977年)McCabe的环路复杂度(1971年)扇入扇出法,20/62,Halstead的软件科学,使用一组度量来估计编程的工作量最初先计算以下内容以推导出系统的度量:UniqueOperators=唯一或独特操作符数UniqueOperands=唯一或独特操作对象数TotalOperators=所有操作符的总使用数TotalOperands=所有操作对象的总使用数词汇=UniqueOperators+UniqueOperands实现长度=TotalOperators+TotalOperands,21/62,Halstead的软件科学积极方面,这些度量十分易于计算它们可以独立于所有编程语言使用对这些度量的计算都是十分简单的,不需要对程序结构进行深入分析这些度量可以预测软件中缺陷的发生率这些度量还可以用于预测在维护中要做的工作的范围这些度量还可以用于测量软件应用程序的整体质量,22/62,McCabe的环路复杂度,该测量将计算程序中独立路径的数目,它们将决定复杂度的数值要计算该值,我们必须考虑用图来表示程序将我们考虑的程序图称为G图G的环路复杂度用V来表示,并如下计算:V(G)=Number(edges)-Number(nodes)+2,23/62,McCabe的环路复杂度优点,计算方法简单应用简单主要用于软件维护容易程度的度量可以通过比较不同设计的复杂程度而用作表示软件质量的度量可以在软件开发生命周期的早期计算得出和应用(与Halstead的软件科学不同)通过控制程序开发逻辑指导测试过程,24/62,McCabe的环路复杂度缺点,注重程序控制复杂度而不是程序处理数据流的复杂度有时会提供错误结果,尤其是处理有简单的if-then和重复结构的程序时该度量不会认为多次嵌套的重复结构比非嵌套的重复结构简单,这样会导致结果错误,25/62,扇入和扇出方法(1981年),该方法用来跟踪数据流复杂度该方法要求计算从模块流出的数据流数,以及模块使用和修改的全局数据项或数据结构的数目该数必须包括已更新的过程参数该数还必须考虑从该模块内部调用的过程Henry和Kafura将复杂度定义为:复杂度=长度x(扇入x扇出)2,26/62,面向对象的度量,每个类的方法继承的相关性对象之间的耦合度对象的内聚度对象库有效性因子分解的有效性继承方法的重用度平均的方法复杂度应用程序的粒度,27/62,成本估算模型,以往类似项目、分解技术、经验模型SLIM或软件生命周期管理模型(1978年),最早的算法成本模型适用于大型项目,也称宏估算模型COCOMO或结构成本模型(1981年)系数来之63个项目分析后估算得到三个级别:基本模型、中间模型、详细模型,28/62,SLIM(软件生命周期管理),29/62,SLIM的优点和缺点,优点SLIM以有力的数学优化模型为基础(例如用线性程序设计求出成本约束和工作量约束),所以它是十分严格的SLIM非常易于使用;它的参数比COCOMO模型少缺点该模型提供的估算值与组织中使用的TechnologyConstant有关估算值的精确度取决于对TechnologyConstant估算的精确程度该模型不适用于小项目,因此应用受到一定的限制,30/62,COCOMO(构造式成本模型),31/62,COCOMO模型中的开发模式,32/62,良好度量的特征,有一定意义:客户、开发人员和项目经理都会认为它有一定的意义量化的:它说明了过程变化与业务性能之间的量化关系客观的:它的定义无二义性并且是客观的显示趋势:该度量可以显示趋势过程的自然副产品:不是人工引入的,而是该过程的自然副产品自动化支持:如果可以被某些自动化过程支持则更好,33/62,度量项目中的陷阱,达不到管理人员承诺的最低极限在组织中测量过多并且过早测量过少并且太迟测量了不正确的属性过多收集了很少使用的数据使用度量的不精确的定义使用度量来衡量工作人员而不是激励他们与工作人员缺乏交流并且对他们的培训不够对度量数据不正确的解释,34/62,软件策划,项目管理有三个主要阶段:策划监视和控制终止分析项目策划是项目管理的一个最大的任务这么做的目的是,为软件开发制定一个计划,从而可以根据该计划成功并有效地实现项目目标,35/62,项目规划,36/62,软件项目规划,“软件项目规划”应处理以下问题:成本估算进度和里程碑人员计划软件质量保证配置管理计划项目监视计划风险管理,37/62,风险管理,38/62,风险分析,在软件项目中,风险指的是对软件开发的成本、质量或进度安排造成负面影响的可能性这些因素还可以用于风险分析风险分析中还必须考虑如程序应用程序的实现操作方法、使用的工具类型、参与人数等其它因素,39/62,风险确定,风险通常按照标题分组,例如项目风险、技术风险和商业风险等项目风险涉及到进度安排问题、人员问题、资源问题、需求问题等技术风险涉及到技术、平台、环境的选择以及有关可移植性、安全性、可靠性等问题商业风险涉及到关于投资回报和达到收支平衡必需的时间的问题,40/62,风险预测,风险预测中主要包括四个活动测量风险发生的概率列出如果风险发生的话必须处理的一组问题对问题项目上的风险的影响做出估计对已预测的风险的可信度进行评估,41/62,风险评估,在风险评估阶段将开始进行以下步骤:定义项目的风险指示级别构建每个因子之间的关系,即风险、风险发生的概率、风险的影响与每个指示级别之间的关系得到的一组断点将定义终止区域对风险的组合方式的理解可能会影响指示级别,42/62,管理和监视风险,43/62,软件项目进度安排,软件项目进度安排中包含两种方法第一种方法,发布软件产品程序的最后期限已经设置好,公司必须在特定的时间范围内分配工作量在第二种方法中,大致的时间周期已制定并进行了分配,但是软件公司可以自己设定最后日期进度安排的精确性比成本估算的精确性的作用更大成本的增加可以通过重新制定产品的价格得到补偿,但是进度安排中的延迟会引起消极的影响,比如减少市场销售、客户的不满,以及在系统集成期间由于额外的问题造成内部成本的增加,44/62,人员与工作的关系,随着项目规模增加,要在给定的时间范围内得到最终结果,需要加入更多的人员如果项目进度拖后,增加程序员的人数当然可以加快该过程但是这对开发过程也有消极的影响,导致进度的进一步落后开发人员的增加也会导致系统内信息交流渠道的增加,45/62,工作量分布,软件估算技术可以帮助确定完成软件开发过程所需的人-月的数量项目工作量的分布可以仅由该项目的特性控制一般情况下,需求分析通常占项目工作量的百分之十到百分之二十五项目策划的工作量通常只占整个项目工作量的百分之二到百分之三花费在原型法分析上的工作量通常会根据项目的规模和复杂度增加另外百分之二十到百分之二十五的工作量通常用于软件设计,46/62,进度安排的不同方法,软件项目的进度安排与其它多任务的开发工作的进度安排相似软件开发中最常用的两种进度安排方法是:程序评估与审查技术(PERT)关键路径方法(CPM),47/62,控制和跟踪软件项目,跟踪可以用以下方式实现:通过召开项目状态会议通过对整个开发过程进行审查的结果进行评估通过确定在计划日期内是否完成实现先前设置的正式里程碑通过对照资源表中列出的每个项目任务的实际开始日期与计划开始日期,比较是否一致通过与其他软件团队进行交流,以获取对进度的主观评估并了解将来可能出现的问题,48/62,配置管理,49/62,配置管理的元素,50/62,配置管理的组成部分,51/62,软件质量保证,质量,在软件中指确保软件程序开发和应用中的各个方面具有预先设定的某种标准的方法软件中质量的概念通常与两方面有关:设计的质量满足要求的质量,52/62,质量的概念,53/62,软件质量保证,54/62,SQA操作,55/62,软件评审,执行软件评审的主要目的是:指出产品还可以改进的区域清楚地确定出软件满足设定标准的部分保持作业质量的一致性,56/62,正式技术评审,57/62,软件工程中的错误,58/62,质量保证体系:ISO9000,质量保证体系是一个整体结构的名称,其中包含有助于在组织内部实现质量管理功能的职责、处理、过程以及资源该体系中的活动包括整个开发过程中的规划、控制、测量、测试、报告和提高质量等级ISO9000主要用于质量保证体系,一般来说可以应用于不同的商业和服务,59/62,ISO9000进行质量保证的方法,使用ISO9000质量保证模型注册的所有公司看
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑亮化拍摄方案设计
- 单轨吊司机上岗考核试卷及答案
- 沈阳建筑桩基检测方案设计
- 2025版司法局《民事起诉状(姓名权、肖像权纠纷)》民事类法律文书(空白模板)
- 面食餐厅人才发展策略分析
- 银矿开采效率提升策略报告
- 成套的管理咨询方案
- 建筑方案设计时间进度
- 联合教堂建筑分析方案设计
- 班组开年趣味活动方案策划
- 黄冈市2025年高三年级9月调研考试(一模)生物试卷(含答案)
- 人工搬运培训课件
- 2025年哈尔滨投资集团有限责任公司校园招聘笔试备考题库含答案详解(精练)
- 城乡垃圾压缩站建设施工组织设计方案
- 安徽省合肥市六校联考2025-2026年高三上学期开学考试语文试卷(含答案)
- 2025债权收购委托代理合同
- 框架合作协议书合同模板
- 2025年辅警招聘考试试题库(附答案)(满分必刷)
- 热处理安全培训考试试题及答案解析
- 2025年北京市中考英语真题卷含答案解析
- 制鞋工岗前考核试卷及答案
评论
0/150
提交评论