您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 建筑材料 > 软件项目管理复习章节重点
章节重点第一章:绪论1.软件的定义及特征软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。定义:软件是使计算机能够工作的指令集合和相应的数据结构和文档,是一种产品,将计算机的硬件能力发挥出来的一种工具,是传递信息的一种工具,对信息的处理手段。特征:1.软件是一种逻辑元素,而不是物理元素;2.软件是开发出来的,而不是用传统的方法制造出来的;3.软件不会被用坏,一般产品的失败概率都遵循浴盆曲线;4.工业界已经是标准化装配时代,但软件还是定制时代;5.创新性和人为因素更高。2.软件危机产生的原因1.用户不易准确描述对软件的需求,经常存在二义性,遗漏甚至错误2.大型软件往往需要成百上千人的合作,由于软件系统结构复杂,如何有效组织管理、充分发挥团队作用就成为软件开发成功的关键。3.缺乏有效的软件开发方法和工具的支持,过分依靠程序设计在开发中的技巧和创造性,加剧了软件产品的个性化。开发过程没有统一、规范的方法论指导,文档资料不齐全。4.缺乏软件开发经验及相关数据积累,无法准确估计经费和进度,导致经费严重超支,完成期限一拖再拖。5.忽视测试阶段的工作,提交的产品质量差。3.软件过程、软件过程能力、软件过程性能的定义软件过程:人们用于开发和维护软件及其相关过程的一系列活动,包括软件工程活动和软件管理活动。软件过程能力:描述(开发组织或项目组)遵循其软件过程能够实现预期结果的程度,它既可对整个软件开发组织而言,也可对一个软件项目而言。软件过程性能:(开发组织或项目组)遵循其软件过程所得到的实际结果,软件过程性能描述的是已得到的实际结果,而软件过程能力则描述的是最可能的预期结果,它既可对整个软件开发组织而言,也可对一个特定项目而言。4.CMM定义及5个成熟度级别的主要特征定义:CMM-软件能力成熟度模型(CapabilityMaturityModelforSoftware),对于软件组织在定义,实现,度量,控制和改善其软件过程的进程中各个发展阶段的描述。1级初始级(Initial):软件过程的特点是无秩序的,偶尔甚至是混乱的,几乎没有什么过程是经过定义的,成功依赖于个人努力。2级可重复级(Repeatable):已建立基本的项目管理过程去跟踪成本进度和功能,必要的过程纪律已经就位,使具有类似应用的项目能重复以前的成功。3级已定义级(Defined):管理活动和工程活动两方面的软件过程均已文档化、标准化,并集成到组织的标准软件过程中,全部项目均采用供开发和维护软件用的组织标准软件过程的一个经批准的普及裁剪版本。4级已管理级(Managed):已采集详细的有关软件过程和产品质量的度量,无论软件过程还是产品均得到定量了解和控制。5级优化级(Optimizing):利用来自过程和来自新思想、新技术的先导性实验的定量反馈信息,使持续过程的改进成为可能。5.KPA定义及结构定义:KPA-关键过程区域(KeyProcessArea),每个关键过程区域识别出一串相关活动,当这些活动全部完成时,能达到一组对增强过程能力至关重要的目标。结构:a.目标:1.概括一个KPA中的所有关键实践,并能用于确定一个组织或项目是否已有效地实施此KPA。2.目标表示每个关键过程域的范围、边界和意图。b.共同特点:1.执行约定(CommitmenttoPerform):企业为了建立和实施相应KPA所必须采取的行动;2.执行能力(AbilitytoPerform):描述了为了某软件过程得以始终如一地执行必须在项目或企业中存在的先决条件,是企业实施KPA的前提条件;3.执行活动(ActivitiesPerformed):描述了执行KPA所需求的必要行动、任务和步骤,其是唯一一项与项目执行相关的属性。4.度量和分析(MeasurementandAnalysis):关注于这个关键过程域的活动需要做的度量和度量分析要求。5.验证实施(VerifyingImplementation):是验证执行活动是否与建立的过程一致,核实以确保所实施的过程是按照原定的计划以及达到其目标,着眼于保证过程的实现要通过独立的个人和高级管理人员验证。6.CMM每个成熟度等级的KPACMM共有18个KPA,其中:2级―6个,3级―7个,4级―2个,5级―3个.第二章:软件项目管理概述1.项目的定义和特征定义:所谓项目,就是为创建某一独特产品或服务或成果,在一定的环境和约束条件下进行的临时性努力;即它是利用有限的资源,在有限的时间内为特定客户完成特定目标的一次性工作。特征:1一个明确的范围和目标;2一个预期的完成时间;3有可以利用的资源;4一种已定义的性能评估方法;5不是例行的任务2.项目管理的知识体系项目管理的概念:一定的主体,为了实现其目标,综合运用专门的知识、技能、工具和方法,对执行中的项目周期的各阶段工作进行计划、组织、协调、控制,以满足甚至超越项目干系人的需求和期望。项目管理的三要素是:质量、进度和成本。项目管理的内容:3.项目管理的阶段划分软件项目管理的阶段划分:1.项目规划:主要是项目经理审阅合同条款,并制定一个满足他们的计划,实际上包括:定义生命周期、估计工作量和进度、制定任务进度计划等2.项目执行:包括执行项目计划、跟踪项目的状态,并在项目的绩效偏离项目计划设定的绩效时采取措施进行纠正3.项目收尾:主要是在客户接收工作产品之后对项目进行系统的总结。数据分析是这一阶段的主要任务第三章:需求分析1.需求的定义IEEE软件工程标准词汇表(1997年)定义需求为:①用户解决问题或达到目标所需的条件或权能(Capability)。②系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。③一种反映上面①或②所描述的条件或权能的文档说明。2.需求分析的过程•1)准备阶段:阅读技术以及商务概念上的背景资料并进行培训、熟悉客户使用的方法和工具、确定信息的采集方法、准备好提问问题、确定用户组与评审专家、计划原型、确定需求规格标准、制定会谈计划、开发会谈计划并与客户评审。•2)采集、澄清需求:建立系统目标和范围、采集功能需求、采集外部接口信息、采集操作环境需求、采集性能需求、采集标准需求、采集用户特殊需求、准备和评估原型,执行反馈会话•3)分析需求:设计过程模型、设计逻辑数据模型、建立数据字典;•4)准备SRS(SoftwareRequirementsSpecification,需求规格说明书)、准备验收准则•5)评审SRS和验收准则•6)客户认可并签署SRS3.需求规格说明书的要求SRS的要求:正确性、无二义性、完整性、一致性、可测试性、可跟踪性4.需求变更管理的过程•记录变更•分析变更对工作产品的影响•估计变更申请所需的工作量•重新估计交付时间表•执行累计的成本影响风险•如果影响超出一定的限度,则与高级主管一起评审影响•客户不再提出变更申请•修改工作产品第四章:过程定义和过程裁剪1.过程的定义过程描述是项目可以用来遵照执行某些任务的一系列步骤,以及执行这些步骤的指南。开发过程是提炼用户需求,设计、构建和测试满足这些需求的软件并最终将其交付给客户所需的过程。当开发新的应用或计划为现有的应用进行重要的增强时,就要使用开发过程。2.一般的软件开发过程包括哪些子过程开发过程是提炼用户需求,设计、构建和测试满足这些需求的软件并最终将其交付给客户所需的过程,包括子过程有:需求分析、概要设计、详细设计、编码和单元测试、集成测试、系统测试、验收测试和安装、文档、系统维护。3.软件开发每个子过程的参加者、五要素每个开发子过程都包括:输入准则、输入、输出准则、输出、度量4.了解软件开发每个子过程的步骤①需求分析:初步沟通、导出需求、分析和精化、可行性研究、协商与沟通、规格说明、需求验证、变更管理②概要设计:定义标准(编码、文档、用户接口等等)、操作环境的决策/设计细节、进行功能设计、开发物理数据库设计、执行规模估计、执行受控非标准化、确定索引③详细设计:将功能分成小的组件、如果需要、开发数据移植程序、设计/开发代码框架、开发例程和工具、程序设计、计划单元测试④编码和单元测试:生成测试数据库、生成代码、进行独立的单元测试⑤集成测试:确定环境需求、决定集成规程、开发集成测试计划⑥系统测试:决定所需测试环境、决定系统测试规程、开发测试用例⑦验收测试和安装:执行验收、执行安装⑧文档:准备用户手册、准备操作手册、准备数据转换手册、准备联机帮助、评审文档/手册⑨系统维护:受理问题、解决问题、反馈问题、追踪问题、分析报告5.过程裁剪的定义和分类过程裁剪是调整组织标准过程的过程,以此来获得用于项目的特定业务或技术需要的过程。分为概要裁剪指南和详细裁剪指南。6.概要裁剪可依据的项目特征团队和项目经理的经验和熟练程度、团队人数最多时的人数、需求透明度、项目持续时间、应用的关键程度第五章:过程数据库和过程能力基线1.软件度量的含义、作用含义:软件度量可以来量化地描述软件过程和软件产品的不同方面的特点。作用:项目计划、控制项目过程、分析和改进组织过程2.过程数据库定义、数据及含义定义:PDB是存放从项目可获得的过程性能数据的数据库,这些数据可以用于项目计划、估计、生产率和质量分析等。数据构成:①项目特征:包含项目名称、项目经理和模块经理的名字,项目所属业务单元、项目中使用的过程、应用领域、硬件平台、所用语言、所用DBMS、项目目标的简短描述、项目风险信息、项目持续时间和团队规模。②项目进度:包含项目期望开始和结束的日期以及实际开始和结束的日期③项目工作量:包含初始估计的工作量和实际总的工作量信息。④项目规模:包括已经开发的项目的软件规模。按照Loc(代码行数)、简单、中等复杂或复杂程序的数目以及他们的组合来描述软件规模。⑤故障和风险:包括在各种缺陷检测活动中发现的缺陷数。此外,在PDB中记录了一些注释,包括对估计的注释(区分简单、中等复杂或复杂程序的原则)和对风险管理的注释(贯穿于整个项目的风险察觉是如何变化的)。3.过程能力基线的定义、数据及含义(应掌握PCB数据项的计算方法)定义:用基线的形式量化的表示过程能力,而过程能力是可以预期得到的结果范围,运用过程基线有助于对过程进行分析和改进。数据构成:已交付软件的质量、生产率、进度计划、工作量分布、故障引入率、过程中故障排除率、质量成本、故障分布•已交付软件的质量:每个功能点所提交的缺陷数,提交的缺陷数是根据在整个验收测试、安装和维护期问所发现的所有缺陷估算出来的。•生产率:每人月所生产的功能点。•故障引入率:在项目的生命周期内所有注入的缺陷除以规模得到的值。项目中全部的缺陷数是在过程中各个不同检测阶段所发现的缺陷数和在提交后发现的缺陷数的总和。•过程中故障排除率:在过程内通过各种缺陷检测活动所发现的缺陷数占全部缺陷数的百分比.PCB数据项的计算方法:4.PDB的建立及访问权限PDB由SEPG建立;项目经理可以阅读5.过程财富的含义组织标准软件过程、组织的软件过程数据库/过程能力基线、软件生命周期描述、标准软件过程的剪裁指南和准则、软件有关文档第六章:工作量估计和进度安排1.软件规模估计的方法(代码行、功能点)Delphi法、类比法、功能点估计法、PERT法。(具体执行过程百度文库,课件里没有)2.功能点法估计软件规模的步骤1.计算输入,输出,查询,主控文件,和接口需求的数目2.将这些数据进行加权乘。(典型权值比重为:4、5、4、10、10,对应1中的各项)3.估计者根据对复杂度的判断,总数可以用+25%、0、或-25%调整。3.自底向上的工作量估计方法步骤(能够根据案例数据计算估计工作量)1.确定系统中的程序,并将它们分为简单、中等复杂或复杂(S/M/C)。尽量使用提供的定义或其他项目使用的定义。2.如果存在项目特定的基线,从基线中获得构建S/M/C程序所需的平均工作量。3.如果项目特性的基线不存在,使用项目类型、技术、语言和其他属性来查找过程数据库中类似的项目。使用来自这些项目的数据来定义S/M/C程序的构建工作量。4.如果在过程数据库
本文标题:软件项目管理复习章节重点
链接地址:https://www.777doc.com/doc-6689763 .html