软件项目管理复习章节重点docx.docx
《软件项目管理复习章节重点docx.docx》由会员分享,可在线阅读,更多相关《软件项目管理复习章节重点docx.docx(27页珍藏版)》请在冰豆网上搜索。
软件项目管理复习章节重点docx
章节重点
第一章:
绪论
1.软件的定义及特征
软件是计算机系统中与硕件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。
定义:
软件是使计算机能够工作的指令集合和相应的数据结构和文档,是一种产品,将计算机的硬件能力发挥出来的一种工具,是传递信息的一种工具,对信息的处理手段。
特征:
1•软件是一种逻辑元素,而不是物理元素;
2.软件是开发出來的,而不是用传统的方法制造出來的;
3.软件不会被用坏,一般产品的失败概率都遵循浴盆Illi线;
4.工业界己经是标准化装配时代,但软件还是定制吋代;
5.创新性和人为因素更高。
2.软件危机产生的原因
1•用户不易准确描述对软件的需求,经常存在二义性,遗漏其至错课
2.大型软件往往需要成百上千人的合作,由于软件系统结构复杂,如何有效组织管理、充分发挥团队作用就成为软件开发成功的关键。
3.缺乏有效的软件开发方法和工具的支持,过分依靠程序设计在开发屮的技巧和创造性,加剧了软件产品的个性化。
开发过程没有统--、规范的方法论指导,文档资料不齐全。
4.缺乏软件开发经验及相关数据积累,无法准确佔计经费和进度,导致经费严重超支,完成期限一拖再拖。
5忽视测试阶段的工作,提交的产品质虽差。
3.软件过程、软件过程能力、软件过程性能的定义
软件过程:
人们用于开发和维护软件及其相关过程的一系列活动,包括软件工程活动和软件管理活动。
软件过程能力:
描述(开发组织或项F1组)遵循其软件过程能够实现预期结果的程度,它既可对整个软件开发组织而言,也可对一个软件项目而言。
软件过程性能:
(开发组织或项目纟fl)遵循其软件过程所得到的实际结果,软件过程性能描述的是已得到的实际结果,而软件过程能力则描述的是最可能的预期结果,它既可对整个软件开发组织而言,也可对一个特定项n而言。
4.CMM定义及5个成熟度级别的主要特征
能力成熟度模型(CMM
做事的才'
判断与
能和办事
度量事
的本领•
物达到
、Z
完善的
「程度。
丿
CapabilityMaturityModel)
对现实世界的简化和抽象,对爭务的无歧义的书面描述。
定义:
CMM-软件能力成熟度模型(CapabilityMaturityModelforSoftware),对于软件组织在定义,实现,度量,控制和改善其软件过程的进程中各个发展阶段的描述。
1级初始级(Initial):
软件过程的特点是无秩序的,偶尔甚至是混乱的,儿乎没有什么过程是经过定义的,成功依赖于个人努力。
2级可重复级(Repeatable):
已建立基木的项目管理过程去跟踪成木进度和功能,必要的过程纪律己经就位,使具有类似应用的项目能重复以前的成功。
3级已定义级(Defined):
管理活动和工程活动两方面的软件过程均已文档化、标准化,并集成到组织的标准软件过程中,全部项冃均采川供开发和维护软件川的组织标准软件过程的一个经批准的普及裁剪版本。
4级已管理级(Managed):
已采集详细的有关软件过程和产站质量的度量,无论软件过程还是产品均得到定量了解和控制。
5级优化级(Optimizing):
利用来自过程和来白新思想、新技术的先导性实验的定最反馈信息,使持续过程的改进成为可能。
5.
KPA定义及结构
定义:
KPA・关键过程区域(KeyProcessArea),每个关键过程区域识别出一串相关活动,当这些活动全部完成时,能达到一组对增强过程能力至关重要的目标。
结构:
a.目标:
1.概括一个KPA屮的所有关键实践,并能用于确定一个组织或项目是否已有效地实施此KPAo
2.目标表示每个关键过程域的范围、边界和意图。
b.共同特点:
1.执行约定(CommitmenttoPerform):
企业为了建立和实施相应KPA所必须采取的行动;
2.执行能力(AbilitytoPerform):
描述了为了某软件过程得以始终如-哋执行必须在项冃或企业中存在的先决条件,是企业实施KPA的前提条件;
3.执彳亍活动(ActivitiesPerformed):
描述了执行KPA所需求的必要行动、任务和步骤,其是唯--一项与项目执行相关的属性。
4.度量和分析(MeasurementandAnalysis):
关注于这个关键过程域的活动需要做的度蜃和度蜃分析要求。
5.验证实施(VerifyingImplementation):
是验证执行活动是否与建立的过程一致,核实以确保所实施的过程是按照原定的计划以及达到其口标,着眼于保证过程的实现耍通过独立的个人和高级管理人员验证。
6.CMM每个成熟度等级的KPA
关键过程区域(KeyProcess
Areas)是一组相关的活动
Z
缺陷预防
优化级
CMM共冇18个KPA,其中:
2级一6个,3级一7个,4级一2个远级一3个.
技术炖管理
已管理级
程管理软件质量BS
集成软件管理软件产品工程组间协调
可重复级
/
需求管理
软件项目it»J软件项目跟踪与监習一软件子合同管理r软件质量保证
软件配青嘗理
关键过融
第二章:
软件项目管理概述
1.项目的定义和特征
定义:
所谓项目,就是为创建某一独特产品或服务或成果,在一定的环境和约束条件下进行的临时性努力;即它是利用有限的资源,在有限的时间内为特定客八完成特定目标的一次性工作。
特征:
1一个明确的范围和目标;2—个预期的完成时间;3有可以利用的资源;4一种己定义的性能评估方法;5不是例行的任务
2.项目管理的知识体系
项目管理的概念:
一定的主体,为了实现其目标,综合运用专门的知识、技能、工具和方法,对执行中的项冃周期的各阶段工作进行计划、组织、协调、控制,以满足甚至超越项目干系人的需求和期望。
项冃管理的三耍素是:
质量、进度和成本。
项口管理的内容:
HRMgt
人仃咨翳理
CommMgt
RiskMgt
ProcurementMgt
合同/乗li&管理
3.项目管理的阶段划分
软件项目管理的阶段划分:
1•项目规划:
主要是项目经理审阅合同条款,并制定一个满足他们的计划,实际上包括:
定义生命周期、估计工作量和进度、制定任务进度计划等
2•项目执行:
包括执行项冃计划、跟踪项FI的状态,并在项冃的绩效偏离项冃计划设定的绩效时采取措施进行纠正
3•项目收尾:
主要是在客八接收工作产晶之后对项目进行系统的总结。
数据分析是这一阶段的主要任务
第三章:
需求分析
1.需求的定义
IEEE软件工程标准词汇表(1997年)定义需求为:
1用户解决问题或达到目标所需的条件或权能(Capability)。
2系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。
3一种反映上而①或②所描述的条件或权能的文档说明。
2.需求分析的过程
•1)准备阶段:
阅读技术以及商务概念上的背景资料并进行培训、熟悉客户使用的方法和工具、确定信息的采集方法、准备好提问问题、确定用户组与评审专家、计划原型、确定需求规格标准、制定会谈计划、开发会谈计划并与客户评审。
•2)采集、澄淸需求:
建立系统目标和范围、采集功能需求、釆集外部接口信息、采集操作环境需求、釆集性能需求、釆集标准需求、采集用户特殊需求、准备和评估原型,执行反馈会话
•3)分析需求:
设计过程模型、设计逻辑数据模型、建立数据字典;
•4)准备SRS(SoftwareRequirementsSpecification,需求规格说明卩)、准备验收准则
•5)评审SRS和验收准则
•6)客户认可并签署SRS
3.需求规格说明书的要求
SRS的要求:
正确性、无二义性、完整性、一致性、可测试性、可跟踪性
4.需求变更管理的过程
•记录变更
•分析变更对工作产品的影响
•估计变更屮请所需的工作量
•重新估计交付时I'可表
•执行累计的成本影响风险
•如果影响超岀一定的限度,则与高级主管一起评审影响
•客户不再提出变更申请
•修改工作产品
第四章:
过程定义和过程裁剪
1.过程的定义
过程描述是项目可以用来遵照执行某些任务的一系列步骤,以及执行这些步骤的指南。
开发过程是提炼用户需求,设计、构建和测试满足这些需求的软件并最终将其交付给客户所需的过程。
当开发新的应用或计划为现有的应用进行重要的增强吋,就耍便用开发过程。
2.一般的软件开发过程包括哪些子过程
开发过程是提炼用户需求,设计、构建和测试满足这些需求的软件并最终将其交付给客户所需的过程,包括子过程有:
需求分析、概要设计、详细设计、编码和单元测试、集成测试、系统测试、验收测试和安装、文档、系统维护。
3.软件开发每个子过程的参加者、五要素
每个开发子过程都包括:
输入准则、输入、输出准则、输岀、度量
4.了解软件开发每个子过程的步骤
1需求分析:
初步沟通、导出需求、分析和精化、可行性研究、协商与沟通、规格说明、需求验证、变更管理
2概要设计:
定义标准(编码、文档、用户接口等等)、操作环境的决策/设计细节、进行功能设计、开发物理数据库设计、执行规模估计、执行受控非标准化、确定索引
(3)详细设计:
将功能分成小的组件、如果需要、开发数据移植程序、设计/开发代码框架、开发例程和工具、程序设计、计划单元测试
4编码和单元测试:
牛成测试数据库、牛成代码、进行独立的单元测试
5集成测试:
确定环境需求、决定集成规程、开发集成测试计划
6系统测试:
决定所需测试环境、决定系统测试规程、开发测试用例
7验收测试和安装:
执行验收、执行安装
8文档:
准备用户手册、准备操作手册、准备数据转换手册、准备联机帮助、评审文档/手册
9系统维护:
受理问题、解决问题、反馈问题、追踪问题、分析报告
5.过程裁剪的定义和分类
过程裁剪是调整组织标准过程的过程,以此来获得用丁•项冃的特定业务或技术需要的过程。
分为概要裁剪指南和详细裁剪指南。
6.概要裁剪可依据的项目特征
团队和项目经理的经验和熟练程度、团队人数最多时的人数、需求透明度、项目持续时间、应用的关键程度
第五章:
过程数据库和过程能力基线
1.软件度量的含义、作用
含义:
软件度量可以来虽:
化地描述软件过程和软件产品的不同方面的特点。
作用:
项目计划、控制项目过程、分析和改进组织过程
2.过程数据库定义、数据及含义
定义:
PDB是存放从项IT可获得的过程性能数据的数据库,这些数据可以用于项冃计划、估计、生产率和质量分析等。
数据构成:
1项冃特征:
包含项冃名称、项冃经理和模块经理的名字,项冃所属业务单元、项冃中使用的过程、应用领域、硬件平台、所用语言、所用DBMS、项目目标的简短描述、项目风险信息、项目持续时间和团队规模。
2项FI进度:
包含项FI期望开始和结束的日期以及实际开始和结束的日期
3项目工作量:
包含初始估计的工作量和实际总的工作量信息。
4项目规模:
包括己经开发的项目的软件规模。
按照Loc(代码行数)、简单、中等复杂或复杂程序的数目以及他们的组合来描述软件规模。
5故障和风险:
包括在各种缺陷检测活动中发现的缺陷数。
此外,在PDB中记录了一些注释,包括对估计的注释(区分简单、中等复杂或复杂程序的原则)和对风险管理的注释(贯穿于整个项冃的风险察觉是如何变化的)。
3.过程能力基线的定义、数据及含义(应掌握PCB数据项的计算方法)
定义:
用基线的形式量化的表示过程能力,而过程能力是可以预期得到的结果范围,运用过程基线有助于对过程进行分析和改进。
数据构成:
已交付软件的质量、生产率、进度计划、工作量分布、故障引入率、过程屮故障排除率、质量成本、故障分布
•已交付软件的质虽:
每个功能点所提交的缺陷数,提交的缺陷数是根据在整个验收测试、安装和维护期问所发现的所有缺陷估算出来的。
・生产率:
每人月所生产的功能点。
•故障引入率:
在项口的牛命周期内所有注入的缺陷除以规模得到的值。
项口屮全部的缺陷数是在过程中各个不同检测阶段所发现的缺陷数和在提交示发现的缺陷数的总和。
•过程中故障排除率:
在过程内通过各种缺陷检测活动所发现的缺陷数占全部缺陷数的百分比.
PCB数据项的计算方法:
F=用功育W点扌苗述的钦件夫见模
E=项目花费白勺所有工作屋
D1=在幵发过程(提立之前)中发现白勺所有缺陷数
D2=提立后发现的缺陷总数
D=D1+E>2
対■于一工页目■贝U有女口下定义:
生产率=F/E
质量=D2/F
缺陷注人率=D/F
整体缺陷清除率=3/D
4.PDB的建立及访问权限
PDB由SEPG建立;项目经理可以阅读
5.过程财富的含义
组织标准软件过程、组织的软件过程数据库/过程能力基线、软件生命周期描述、标准软件过程的剪裁指南和准则、软件有关文档
第六章:
工作量估计和进度安排
1.软件规模估计的方法(代码行、功能点)
Delphi法、类比法、功能点估计法、PERT法。
(具体执行过程XX文库,课件里没有)
2.功能点法估计软件规模的步骤
1•计算输入,输出,查询,主控文件,和接口需求的数冃
2.将这些数据进行加权乘。
(典型权值比重为:
4、5、4、10、10,对应1中
的各项)
3.估计者根据对复杂度的判断,总数可以用+25%、0、或-25%调整。
3.
自底向上的工作量估计方法步骤(能够根据案例数据计算估计工作量)
1.确定系统中的程序,并将它们分为简单、中等复杂或复杂(S/M/C)o尽量使用提供的
定义或其他项冃使用的定义。
2.如果存在项目特定的基线,从基线中获得构建S/M/C程序所需的平均工作罐。
3.如果项目特性的基线不存在,使用项目类型、技术、语言和其他属性來查找过程数据库中类似的项Flo使用来口这些项R的数据来定义S/M/C程序的构建工作量。
4.如果在过程数据库中没有类似的项目,并且不存在项目特性的基线(即,这个项目涉及到一个新领域或技术),使用通用过程能力基线中S/M/C程序的平均构建工作量。
5.使用项目特定的因素来进一步改进S/M/C程序的构建工作量。
6.使用S/M/C程序的构建工作量和程序被调用的总次数來获得总的构建工作量。
和总工作量。
8.棊于项冃特定的因素璽新改进估计。
4.自顶向下的工作量估计方法步骤(能够根据案例数据计算估计工作量)
1.获得按照功能点计算的整个软件规模的估计
2.使川类似过程类型的过程能力基线生产率数据或过程数据库中类似项冃的生产率数
据來确定项目的主产率级别
3.从牛产率和规模估计获得整体工作量估计
4.使用从过程能力基线(或类似项冃)获得的工作屋分布数据来估计各个阶段的工作量
5.修正估计,将项目特定的因素考虑进去
5.掌握用COCOM0初级、中级模型估计工作量和开发时间
基本cocom碍型E=a*SAbD=c*EAd
E表示工作量,单位是人月(PM)。
D表示开发时间,单位是月(M)o
S是项目的代码行估计值,单位是千行代码
a,b,c,d是常数
Boehm把软件划分为组织型、半独立型和嵌入型三类,允许不同应用领域和复杂程度的软件按照三类软件的适用范围选
取相应的参数a,b,c,d°
软件类型
a
b
c
d
适用范围
组织型
2.4
1.05
2.5
0.38
半純立单
3.0
1.12
2.5
0.35
酚、编
嵌入型
3.6
1.20
2.5
0.32
轴迎、控制操作琢
中级COCOMO^型
E=
a*S^b*EAF
D=c*E^d
软件类型
a
b
组织型
3.2
1.05
半独立型
3.0
1.12
嵌入型
2.8
1.20
工作量调节因子(EAF)
软件产品属性1•软件可靠性2.软件复杂性3.数据库的规模。
计算机属性4.程序执行时间5.程序占用内存的大小6.软件幵发环境的变化7.软件开发环境的响应速度。
人灵属性8.分析员的能力9.程序员的能力10.有关应用领域
的经验11.幵发环境的经验12.程序设计语言的维验
项目属性13.软件幵发方法的能力14.软彳牛工具的质量和
数量15.软件幵发的进度要求。
每个要秦调节因子FLi=1,215,的值分为:
很
彳氐、彳氐、正常、高、很高.极高•共六级。
正常情况下Fi=1o
Boehm推荐的Fi值范围
30,1.65)当15个Fi的
(0.70,0.85,1.00,1.15,
值选定后,EAF的计算如下
EAF=FT*F2**F15
调节因子集的定义和调节因子定值是由统计结果和
经验决定的。
不同的软件幵发细织•在不同的历史时期,
随養环境的变化,这些数据可能改变。
第七章:
质量计划和缺陷估计
1.软件质量的定义
•我们用已交付软件的故障密度作为软件质量的定义,即已交付软件屮每个单位规模的故障数。
2.缺陷注入和清除的环节
缺陷注人
S7.1缺陷注人和消除
3.质量管理的主要任务
质量管理的任务是规划合理的质虽控制任务,然后正确地执行和控制它们,以实现项冃的质量目标。
4.如何制定量化质量管理计划(能够根据案例数据估计质量目标)
•设定质量目标直接设定质量訂标的方法
•估计规模(代码行/功能点/生产率)
估计AT的缺陷数
各阶段的缺陷估计(PDB/PCB缺陷分布率)
程计划
设定缺陷注入率(注入率二D/S)
估计规模S(代码行型能為生廉)估计总缺陷数D
AT的缺陷数D2(PDB/PCB缺陷分布率)
质量过程计划N接设定缺陷注入率的方法
第八章:
风险管理
1.风险
风险是那些可能发牛的事件或者条件,如果它确实发牛了,则它的发生会对项目产主有害的或者负而的影响。
另-•方而,风险是一种概率事件,可能发牛也可能不发牛。
2.风险管理的含义、内容、目标和特点
含义:
风险管理(RiskManagement)试图使由丁•意外事件而导致项Fl失败的概率降到最小。
内容有:
风险评估和风险管理。
其目标是:
旨在识别出风险,然后采取措施使它们对项目的影响最小
特点是:
风险管理是要付出额外的成木;风险管理的价值不容易度虽
3.如何进行风险评估
确定风险一风险分析一风险等级划分
4•了解常见风险及其缓和措
•常见风险和缓和措施
风险缓解步霾
1
人员ML功的风险
确保关健项目领域有名个资滅行团队建设活动
在爼M中进行工作轮怏
为琐H保留颇外资谶作为备份堆护个人匚作的止确文档
严格違守配別骨蹿过W和也阳
2
太赛的离壊受更
从*八那唯銭御対〃面求观格的签胃求復世介影响进应定义一个炮丹*处理离求变出协庭按照实际工作凰付费
3
不楞鎚的馬求
使川经矗利逻榊制定・・叫的按似氏并m妙亦户.获御签淸开发K(农成让客户対离求进廿评审
4
缺乏冇終验的技术人才
估计一些初始学习的容PW维护菽外资潮的余玄定义项H待定的培训程序日开相互培训会议
5
強加于项目的外部决策
用所支待的班实或者数据列出本决策可能带*的风脸.并与负责尝加决笫的人进行盼裔
如采是不町靈免的.确定实际风险并给出相应的缓解计划
•
狮■定文性徒准则并交輪衣户评申定文"須连守的标It耒満足性純欖■種备Ml足性则的皱计・并对KiaffiT*獲冊承權拟关世处廳行为的性健或为其建比原棗
金可總的位良・用侑代农性的大flft徽据进行測试在可觸的位H快存压力测试
7
命时一卞更好的进度
不亡罠的诉噌及早准*«»
=久"眄煜復柴定呵以C动完成的领城
如聚关B路轻不在這度内・WhW户it行协商协■疲照養琢匸作・付费
8
•用算技术
有*帅疲交付
从交忖关»«%幵輪
椅孚习曲箴的时何飢衲在进覆内开发笠证•念的应用
不龙分的•务知识
堆加与客户的交流并3保恂逮足轉的如识机构域的9DiR坊训
複抵客户畳务事恸或为其题立原®b准
10
链话中段/性・F降
勾客户一电设定正•的1W生值擾•为链略负缺遴忖计划为优化使朗铳賂进行汁划
第九章:
项目管理计划
1.项目管理计划的内容和使用者
•项目管理计划(ProjectManagementPlan,PMP)是项目经理承担的所有规划任务的核心。
各规划任务的结果祁出现在PMP中,是指导所有项目执行的基准文档。
•项目管理计划分四部分:
•项目概述
•项目计划
•项冃跟踪
•团队
•项目管理计划的主要使用者:
•业务主管
•项目经理
•项目的开发人员
2.本章涵盖前述若干章节内容,要求能够进行综合分析
、d)r(OoO)
第十章:
配置管理
1.配置管理的概念
概念:
是项日管理的一项内容,主要涉及对变更进行系统地控制,建立和维护在项目的整个软件生存周期中软件项目产站的完整性。
•主要包括:
-标识在给定时间点上软件的配置
-系统地控制对配置项的更改
-维护在整个软件生存周期中配置的完整性和可跟踪性
2.配置管理的功能
•1、给出程序的状态;
•2、给出一个程序的最新版本;
•3、处理并发更新申请;
•4、取消一个程序变更;
•5、防止未授权的变更或者删除;
•6、提供需求变更申请和程序变更之|'可的可跟踪性;
•7、取消一个需求变更;
•8、显示相关的变更;
•9、收集当前系统的所有源代码、文档和其他信息。
3.典型的配置项有哪些
盂求规格、设计文档、源代码、测试计划、测试脚木、测试规程、测试数据、项H使用的标准(例如编码规范和设计规范)、验收计划、CM计划和项日计划之类的文档、用户手册之类的用户文档、培训材料文档、合同文档(包括支持工具,如编译器或内部使用的工具)、质量记录(评审记录、测试记录)fllCM记录(发布记录、状态跟踪记录)。
4.如何进行配置管理计划
•配置控制任务主要有两个:
•①涉及程序的状态转移管理
•②涉及必须被实现的变更申请的管理
5.如何执行配置管理过程中的变更申请
变更申请的步骤:
1、接受变更申请(影响分析Z后);2、建立一种跟踪机制;3、检出需要进行变更的配置项;4、执行变更;5、注册配置项(检入);6、在项日的整个生命期内维护该配置项。
第十一章:
评审
1.评审的功能和特点
1、评审可以应用于软件开发各个阶段、产生•的各种类型产品——范围广;
2、评市比软件测试更有效率,因为其看到的是问题本身而不是征兆;
3、通过评审不仅可能发现错误,还可以提出对软件产品的改进意见,防止再发生;
4、评审可以在产品开发阶段进行,作者对产品细节很清楚,可以及时修改;
5、不只发现错误,还有利于评审员、软件项目相关组熟悉有关产骷。
2.了解基本的评审过程
1.评审规划:
•标识要评审的产品
•选择评审成员及安排评审时间
•作者准备好相应的材料
2.准备和概述:
•目的:
是将要评审的软件包交给评审人员,并在需要时,对工作产品进行说明,为评审准备。
•主要活动:
•第一次会议;
•在正式会议之前,各评审