《《软件工程》第14章 软件项目管理.ppt》由会员分享,可在线阅读,更多相关《《软件工程》第14章 软件项目管理.ppt(86页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第 14 章章软件项目管理软件项目管理邢承杰邢承杰北京大学计算中心管理信息中心北京大学计算中心管理信息中心 E-mail:Software Engineering_Chapter142北京大学远程教育课程我们的目标我们的目标Project Manager!项目经理(微软):是负责并保证高质量的软件产品按时完成和发布的专职管理人员。他的任务包括倾听用户需求;负责产品功能的定义、规划和设计;做各种复杂决策,保证开发队伍顺利开展工作及跟踪程序错误等。总之,项目经理全权负责产品的最终完成。Software Engineering_Chapter143北京大学远程教育课程Software Engine
2、ering_Chapter144北京大学远程教育课程Software Engineering_Chapter145北京大学远程教育课程Software Engineering_Chapter146北京大学远程教育课程中美软件项目现状对比中美软件项目现状对比国际Standish Group,CHAOS,2000统计报告只有28%IT项目成功,不幸的是,72%都是失败。国内中国计算机报报道:在为政府和企业做相关应用软件的实施成功率不超过30%Software Engineering_Chapter147北京大学远程教育课程本章主要内容本章主要内容14.1软件项目管理的概念14.2软件度量14.3成
3、本管理14.4时间管理14.5风险分析和管理14.6软件配置管理Software Engineering_Chapter148北京大学远程教育课程14.1 软件项目管理的概念软件项目管理的概念What is Project Management?为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。Project management is the application of knowledge,skills,tools,and techniques to project activities in order to meet or e
4、xceed stakeholder needs and expectations from a project.Software Engineering_Chapter149北京大学远程教育课程项目管理的历史和发展项目管理的历史和发展1古代Software Engineering_Chapter1410北京大学远程教育课程项目管理的历史和发展项目管理的历史和发展2近代萌芽:公认为20世纪40年代,“曼哈顿计划”成熟:50年代,关键路线法(CPM)和计划评审技术(PERT),阿波罗登月计划传播和现代化20世纪7080年代,面向市场,迎接竞争,初步形成现代项目管理的框架新发展20世纪90年代注重人
5、的因素注重顾客注重柔性管理注重管理工具应用领域扩大:IT(软件)项目管理Software Engineering_Chapter1411北京大学远程教育课程项目管理的历史和发展项目管理的历史和发展3软件项目管理最早源于70年代中期。当时美国国防部曾立题专门研究软件项目做不好的原因,发现70的项目是由于管理不善引起的,而并不是应为技术实力不够,进而得出一个结论,即管理是影响软件研发项目全局的因素,而技术只是影响局部。到了90年代中期,软件项目管理不善的问题仍然存在。据美国软件工程实施现状的调查,软件研发的情况仍然很难预测,大约只有10的项目能够在预定的费用和进度下交付。目前,软件项目管理许多技术
6、还很不成熟。但一些大型软件公司多采用一定的标准规范如CMM和ISO9000,以及一些软件项目管理辅助工具进行软件项目管理,并取得了较好的效果。Software Engineering_Chapter1412北京大学远程教育课程软件项目管理的特点软件项目管理的特点软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。软件系统的复杂性也导致了开发过程中各种风险的难以预见和控制。例:Windows这样的操作系统有1500万行以上的代码,同时有数千个程序员在进行开发,项目经理都有上百个。结论:软件的管理比其它领域的管理要复杂的多。Software Engineering_Chap
7、ter1413北京大学远程教育课程软件项目的三约束软件项目的三约束Software Engineering_Chapter1414北京大学远程教育课程项目管理的五个阶段项目管理的五个阶段项目启动阶段项目计划阶段项目实施阶段项目控制阶段项目收尾阶段Software Engineering_Chapter1415北京大学远程教育课程项目阶段项目阶段每一个项目阶段的标记是一个或几个可倨傲府的物件,物件是一个具体的可验证的工作产品,如可行性研究,详细设计或者一个工作原型。项目阶段的结束是由关键交付物或者项目性能作为标记的,以确定项目是否能够继续进行下一阶段或者检测和修正错误。Software Engi
8、neering_Chapter1416北京大学远程教育课程项目管理框架图项目管理框架图Software Engineering_Chapter1417北京大学远程教育课程项目管理知识要学什么?项目管理知识要学什么?以上三个约束、五个阶段和九大知识领域,统称为“项目管理的三五九”。“项目管理的三五九”就是我们项目管理要学习和研究的内容。将项目管理的九大知识领域的知识,运用在项目管理的五个阶段中,以平衡和满足项目的三个约束条件。Software Engineering_Chapter1418北京大学远程教育课程本章主要内容本章主要内容14.1软件项目管理的概念14.2软件度量14.3成本管理14.
9、4时间管理14.5风险分析和管理14.6软件配置管理Software Engineering_Chapter1419北京大学远程教育课程14.2 软件度量(软件度量(metrics)软件度量:是软件产品、软件开发过程、资源和环境等的定量描述。如程序规模、操作符个数、程序中错误的个数等。Software Engineering_Chapter1420北京大学远程教育课程软件度量的目标软件度量的目标管理人员每个过程所耗费的成本是多少?所有成员的生产力如何?正在开发的代码质量如何?用户对产品是否满意?如何改进?工程师需求是不是可以测试的?是否发现了所有的缺陷?是否实现了产品和过程目标?今后会出现什么
10、情况?Software Engineering_Chapter1421北京大学远程教育课程软件度量的作用软件度量的作用刻画(characterize)获得理解、发现问题、确定改进的目标。评估(evaluate)期望与实际相比较预测(predict)由已知要素推算、估计其它要素 改进(improve)识别问题、查找问题的根源 Software Engineering_Chapter1422北京大学远程教育课程软件度量的一般步骤软件度量的一般步骤Software Engineering_Chapter1423北京大学远程教育课程软件度量的组成部分软件度量的组成部分Software Engineer
11、ing_Chapter1424北京大学远程教育课程度量方法度量方法面向规模的度量面向规模的度量面向规模的度量是通过规范化质量和生产率的测量而得到的,这些测量是基于所生产的软件的规模。代码行估算方法 计算:软件项目的生产率每行代码的平均成本文档与代码比代码出错率Software Engineering_Chapter1425北京大学远程教育课程代码行估算软件规模的优缺点代码行估算软件规模的优缺点优点:简单,容易实行缺点:代码行数的估算依赖于程序设计语言的功能和表达能力;采用代码行估算方法会对设计精巧的软件项目产生不利的影响;代码行估算只适用于过程式程序设计语言,不太适用于非过程式的程序设计语言。
12、Software Engineering_Chapter1426北京大学远程教育课程度量方法度量方法面向功能的度量面向功能的度量面向功能的软件度量使用软件所提供的功能的测量作为规范化值。因为功能不是直接测量的,所以必须通过利用其它直接的测量来间接的导出。软件功能点度量方法 FP=CT 0.65+0.01Fi CT:总计数值,是5个信息量的加权和Fi:14个因素的复杂性调节值以上公式中的常量值和被应用的加权因子是根据经验确定的Software Engineering_Chapter1427北京大学远程教育课程5个信息量定义个信息量定义用户输入数:计算每个用户输入,输入向软件提供不同的面向应用的数
13、据。用户输出数:计算每个用户输出,输出向用户提供面向应用的信息。主要指的是报表、屏幕、出错信息等等。用户查询数:一个查询被定义为一次联机输入,它导致软件以联机输出的方式产生实时的响应。每一个不同的查询都要计算。文件数:计算每个逻辑的主文件。外部接口数:计算所有机器可读的接口。Software Engineering_Chapter1428北京大学远程教育课程总计数值计算总计数值计算Software Engineering_Chapter1429北京大学远程教育课程14个因素个因素系统需要可靠的备份和恢复吗?需要数据通信吗?有分布处理功能吗?性能很关键吗?系统是否在一个现存的、重负的操作环境中运
14、行?系统需要联机数据登录?联机数据登录是否需要在多屏幕或多操作之间切换以完成输入?需要联机更新主文件吗?输入、输出、文件或查询很复杂吗?内部处理复杂吗?代码需要被设计成可复用的吗?设计中需要包括转换及安装吗?系统的设计支持不同组织的多次安装吗?应用的设计方便用户修改和使用吗?对每个问题的回答的取值范围为0-5Software Engineering_Chapter1430北京大学远程教育课程功能点度量方法的优缺点功能点度量方法的优缺点优点:与程序设计语言无关,适用于过程式与非过程式语言;功能点度量能适用于软件项目的开发初期。缺点:涉及到的主观因素比较多,如各种权函数的取值;信息领域中的某些数据
15、有时不容易采集;FP的值没有直观的物理意义。Software Engineering_Chapter1431北京大学远程教育课程本章主要内容本章主要内容14.1软件项目管理的概念14.2软件度量14.3成本管理14.4时间管理14.5风险分析和管理14.6软件配置管理Software Engineering_Chapter1432北京大学远程教育课程14.3 软件项目成本管理软件项目成本管理成本估算的原则估算中的计量单位成本估算方法软件效益分析软件的成本是以一次性开发过程中所花费的代价来计算的,也就是软件计划、需求分析、设计、编码、测试的全过程中所付出的费用作为软件的开发成本。对软件成本的估算
16、中存在着许多可变因素,如人的素质、技术水平、环境等,所以想要准确估算软件开发成本不是一件容易的事。同时如果软件成本的估算有大的偏差,将造成整个系统费用估计的错误,严重的会导致软件项目开发的失败。Software Engineering_Chapter1433北京大学远程教育课程成本成本估算中的原则估算中的原则项目范围必须被精确定义任务和功能的分解是必须的历史的度量数据是非常有帮助的至少要使用两种估算方法不确定性是不可避免的Software Engineering_Chapter1434北京大学远程教育课程估算中的计量单位估算中的计量单位代码行数软件是代码行的集合。一个软件的代码行总数是软件成本
17、估算中的基本数据。开发工作量开发工作量是指完成一项开发任务所需要的计量单位,软件工程中用于计量开发工作量的单位主要有“人-月”,“人-年”,“人-日”。如:某个项目需5人-月的工作量,它表示该项目的开发工作量实际为5每个程序员一个月应完成的“标准劳动量”。Software Engineering_Chapter1435北京大学远程教育课程常规的成本估算技术代码行估算法(LOC)功能点估算法(FP)运用估算模型进行成本估算(完全经验)静态单变量模型COCOMO模型动态多变量模型使用自动估算工具进行估算利用软件工具进行自动估算。须长期搜集大量的历史资料、数据和建立良好的数据库管理系统。成本估算方法
18、(技术)成本估算方法(技术)Software Engineering_Chapter1436北京大学远程教育课程代码行估算法举例代码行估算法举例Software Engineering_Chapter1437北京大学远程教育课程功能点估算法举例功能点估算法举例Software Engineering_Chapter1438北京大学远程教育课程静态单变量模型静态单变量模型工作量K(人-月)=5.2 L0.91项目所需时间T(月)=4.1 L0.36文档页数DOC=49 L1.01需要人数S=0.54 K0.6上述公式是从60个已完成的项目中收集到的数据而得到的。Software Engineer
19、ing_Chapter1439北京大学远程教育课程COCOMO模型模型构造性成本模型(COnstructive Cost MOdel)以静态但变量模型为基础,在两个方面进行扩充考虑软件项目的特性,将软件项目按其应用领域及复杂程度划分为组织、半独立性和嵌入3种类型,每种类型的公式有所调整对公式计算出的结果,再综合4类15种因素,分别根据软件项目的具体特性确定不同因素的调整系数。参考教材26页Software Engineering_Chapter1440北京大学远程教育课程一个估算模型的例子:一个估算模型的例子:CoCoMoCoCoMo=Constructive Cost Model(构造性成本
20、模型)公式:E=a(kLOC)b D=c Ed N=E/D其中,E-工作量 D-开发时间 N-参加项目的人数 kLOC-代码行估计值 a,b,c,d-常数Software Engineering_Chapter1441北京大学远程教育课程用基本用基本CoCoMo模型估算模型估算工作量E=a(kLOC)b =3.0*(33.3)1.12=152 PM(PM:每人/月)开发时间D=c Ed =2.5*152 0.35=14.5参加项目人数N=E/D=152/14.511Software Engineering_Chapter1442北京大学远程教育课程软件效益分析软件效益分析软件产品的效益分为经济
21、效益社会效益软件产品的经济效益从两个方面评价开发者获得的收益软件应用方获得的收益效益分析方法现值分析法,参考教材29页Software Engineering_Chapter1443北京大学远程教育课程自动估算工具的功能自动估算工具的功能项目交付产品的规模估算选择项目活动预测人员层次预测软件工作量预测软件成本预测软件进度Software Engineering_Chapter1444北京大学远程教育课程本章主要内容本章主要内容14.1软件项目管理的概念14.2软件度量14.3成本管理14.4时间管理14.5风险分析和管理14.6软件配置管理Software Engineering_Chapte
22、r1445北京大学远程教育课程14.4软件项目时间管理软件项目时间管理开发小组人数与软件生产率的关系按开发进程合理调配人力资源制定软件进度时间表项目的最后交付日期已经确定,负责开发工作的软件机构将在一个规定的时间范围内非配其工作量。项目的最后交付日期由软件开发机构自己决定。软件开发项目的进度安排可以有以下两种不同的情况:实际工作中经常遇到的是第一种情况。对于一个实际的项目来说,开发进度的要求有时比成本的要求更为重要,或者说开发进度安排失误比成本的估算错误更为致命Software Engineering_Chapter1446北京大学远程教育课程开发小组人数与软件生产率的关系开发小组人数与软件生
23、产率的关系当一定数目的开发人员被组织成共同完成软件项目的成员时,他们之间就要通过信息交流来解决各自承担任务之间的接口问题,也就是所谓的通讯问题。通讯要花费时间和精力,同时还会增加软件出错的概率,降低软件生产率。结论:参加软件项目的工作人员数量与整体生产率之间的关系不是线性的。Software Engineering_Chapter1447北京大学远程教育课程通过在略为延长的时间内使用较少的人员,可以实现相同的目标。一个软件工程原则:一个软件工程原则:10个人1年20个人6个月5个人2年20个人9个月5个人1.5年Software Engineering_Chapter1448北京大学远程教育课
24、程按开发进程合理调配人力资源按开发进程合理调配人力资源一个软件项目完成的快慢,不完全取决于参与人员的多少,而主要在于人员调配的合理性。一种比较好的分配方案时采用402040原则,在项目进行的不同阶段调配不同数量的工作人员。软件项目各个阶段工作量分配的百分比大致如右图:402040原则是一个定性的指导性原则,要根据项目的不同情况灵活处理。Software Engineering_Chapter1449北京大学远程教育课程制定软件进度时间表制定软件进度时间表开发进度安排工作的结果是形成一张软件进度时间表。在进度时间表上必须规定每项任务完成的起止时间、任务完成的标志、各项任务中参与人员数、工作量和各
25、个任务之间的衔接情况。另外,还必须明确完成该任务所必须的资源。注意:每个任务完成的标志,不是以下一阶段任务能否开始为标准,而应该以该任务必须交付的文档资料和复审是否已通过为标准。Software Engineering_Chapter1450北京大学远程教育课程软件进度时间表的实例参考(甘特图)软件进度时间表的实例参考(甘特图)教材第32页。国外一个项目计划文档中的进度安排表。Software Engineering_Chapter1451北京大学远程教育课程本章主要内容本章主要内容14.1软件项目管理的概念14.2软件度量14.3成本管理14.4时间管理14.5风险分析和管理14.6软件配置
26、管理Software Engineering_Chapter1452北京大学远程教育课程14.4 风险分析和管理风险分析和管理风险的类型:项目风险:项目在预算、进度、人力、资源、顾客和需求等方面的原因对软件项目产生的不良影响;技术风险:项目在设计、实现、接口、验证和维护过程中可能发生的潜在问题对项目带来的危害;商业风险:开发了一个没人需要的优质软件,开发的产品不符合公司的产品销售战略等。Software Engineering_Chapter1453北京大学远程教育课程风险的分析管理过程风险的分析管理过程风险识别:系统化地确定对项目计划(估算、进度、资源分配)的威胁。风险预测:又称风险估算,试
27、图从风险发生的可能性或概率以及如果风险发生所产生的后果这两个方面评估每一个范型。风险求精:将风险进一步细化。风险缓解、监控和管理:辅助项目组建立处理风险的策略。Software Engineering_Chapter1454北京大学远程教育课程风险识别风险表现风险识别风险表现产品规模与要建造或要修改的软件的总体规模相关的风险商业影响与管理或市场所加诸的约束相关的风险客户特征与客户的素质以及开发者和客户及时通信能力相关的风险过程定义与软件过程被定义的程度以及它们被开发组织所遵守的程度相关的风险开发环境与用以建造产品的工具的可用性及质量相关的风险将采用的技术与待开发软件的负责性及系统所包含技术的“
28、新奇性”相关的风险参与项目的各类人员与参与工作的软件工程师的总体技术水平及项目经验相关的风险Software Engineering_Chapter1455北京大学远程教育课程风险识别风险因素风险识别风险因素性能风险产品能够满足需求且符合于其使用目的的不确定的程度成本风险项目预算能够被维持的不确定的程度支持风险软件易于纠错、适应修改、及增强的不确定的程度进度风险项目进度能够被维持且产品能按时交付的不确定的程度Software Engineering_Chapter1456北京大学远程教育课程风险识别风险驱动因子风险识别风险驱动因子每一个风险驱动因子对风险元素的影响均可分为以下四个类别,影响评估
29、图指出了由于错误而产生的潜在影响(标为1的行)或没有达到预期的结果所产生的影响(标为2的行)。可忽略的轻微的严重的灾难的Software Engineering_Chapter1457北京大学远程教育课程风险影响评估图风险影响评估图Software Engineering_Chapter1458北京大学远程教育课程风险预测建立风险表风险预测建立风险表Software Engineering_Chapter1459北京大学远程教育课程风险表说明风险表说明风险表为项目管理者提供了一种简单的风险预测技术。项目组一开始根据风险表现在表中的第一列列出所有风险。每一个风险在第二列上加以分类(例如,PS表示
30、产品规模风险,BU表示商业风险)。每个风险发生的概率则输入到第三列中。下一步是评估每个风险所产生的影响。使用影响评估图所述的特性评估每个风险元素,并确定其影响的类别。四个风险元素性能、支持、成本及进度的影响类别被求平均以得到一个整体的影响值。根据概率及影响来进行排序,高发生概率、高影响的风险放在表的上方,而低概率风险则移到表的下发。项目管理者根据已排序的表,定义一条中止线。该中止线表示:只有在线之上的风险才给予关注,线之下的风险则需要进一步评估才能决定。Software Engineering_Chapter1460北京大学远程教育课程Software Engineering_Chapter1
31、461北京大学远程教育课程风险求精的方式风险求精的方式在项目计划的早期阶段,风险可能是相当一般性地陈述的。随着时间推移,关于项目和风险的了解加深,有可能将风险精化为一组更详细的风险,而每个风险在某种程度上更易于被缓解、监控和管理。这样做的一种方式是:条件变迁结果(conditiontransitionconsequence)即风险按如下方式描述:给定,则存在担忧(可能)Software Engineering_Chapter1462北京大学远程教育课程本章主要内容本章主要内容14.1软件项目管理的概念14.2软件度量14.3成本管理14.4时间管理14.5风险分析和管理14.6软件配置管理So
32、ftware Engineering_Chapter1463北京大学远程教育课程软件配置管理的概念软件配置管理的概念软件配置管理(Software Configuration Management),简称SCM,是一组用于在计算机软件的整个生存期内管理变更的活动。SCM活动的目标是为了(1)标识变更;(2)控制变更;(3)确保变更正确地实现;(4)向其他有关的人报告变更。Software Engineering_Chapter1464北京大学远程教育课程软件配置管理的概念软件配置管理的概念-1软件配置项(software configuration item)软件开发的过程中,会得到许多工作产
33、品或阶段产品,还会用到许多工具软件,这可能是外购软件,也可能是用户提供的软件。所有这些独立的信息项都要得到妥善的管理,绝不能出现混乱,以便在提出某些特定的要求时,能将其进行约定的组合来满足使用的目的。这些信息项是配置管理的对象,称为软件配置项。例如,需求规格说明、设计规格说明、用户手册、维护使用手册都属于此。如果说软件配置项是一个独立存在的信息项,我们可以把它看成一个元素。单独的一个元素发挥不了什么作用,但随着工作的进展,出于不同的要求,需要将这些元素进行不同的组合。软件配置是一个软件产品在生存期各个阶段的不同形式(记录特定信息的不同媒体)和不同版本的程序、文档及相关数据的集合,或者说是配置项
34、的集合。Software Engineering_Chapter1465北京大学远程教育课程软件配置项(软件配置项(SCISCI)的内容)的内容系统规格说明软件项目实施计划软件需求说明可执行的原型初步的用户手册设计规格说明源代码清单测试计划和过程、测试用例和测试结果记录操作和安装手册可执行程序(可执行程序模块、连接模块)数据库描述(模式和文件结构、初始内容)正式的用户手册维护文档(软件问题报告、维护请求、工程变更次序)软件工程标准项目开发总结除以上所列SCI以外,许多软件工程组织还把配置控制之下的软件工具列入其中,即编辑程序、编译程序、其它CASE工具的特定版本。因为要使用这些工具来生成文档、
35、程序和数据,如果编译程序的版本不同,可能产生的结果也不同。Software Engineering_Chapter1466北京大学远程教育课程软件配置管理的概念软件配置管理的概念-2基线(Baseline)基线是软件生存期中各开发阶段末尾的特定点,又称里程碑。其标记是通过一个或多个软件配置项的交付,且这些软件配置项已经经过正式技术评审而获得认可。基线的作用是把各阶段工作的划分更加明确化,以便于检验和肯定阶段成果。Software Engineering_Chapter1467北京大学远程教育课程软件开发各阶段的基线软件开发各阶段的基线Software Engineering_Chapter14
36、68北京大学远程教育课程软件配置管理的概念软件配置管理的概念-3项目数据库项目数据库也称为项目或软件中心存储库。一旦一个软件配置项(SCI)成为基线,就把它存放到项目数据库中。当软件组织成员想要对基线SCI进行修改时,把它从项目数据库中复制到该工程师的专用工作区中。例如,把一个名为B的SCI从项目数据库复制到工程师的专用工作区中。工程师在B(B的副本)上完成要求的变更,再用B来更新B。有些系统中把这个基线SCI锁定。在变更完成、评审和批准之前,不许对它做任何操作。Software Engineering_Chapter1469北京大学远程教育课程基线基线SCI和项目数据库和项目数据库Softw
37、are Engineering_Chapter1470北京大学远程教育课程软件配置管理(SCM)的任务是:标识软件配置项SCI 标识和管理软件各种版本 控制变更报告所有加在配置上的变更审查软件配置软件配置管理的任务软件配置管理的任务Software Engineering_Chapter1471北京大学远程教育课程标识软件配置项标识软件配置项一方面随着软件生存期的向前推进,SCI的数量不断增多。整个软件生存期的软件配置就象一部不断演变的电影,而某一时刻的配置就是这部电影的一个片段。为了方便对软件配置的各个片段(SCI)进行控制和管理,不致造成混乱,首先应给它们命名。为了控制和管理SCI,每个S
38、CI必须被独立命名,然后用面向对象的方法组织,有两种类型的对象可以被标识,分别是基本对象和复合对象。Software Engineering_Chapter1472北京大学远程教育课程版本控制版本控制版本控制是SCM的基础,它管理并保护开发者的软件资源。版本控制管理在软件工程过程中建立起配置对象的不同版本。版本管理可以把一些属性结合到各个软件版本上。通过描述所希望的属性集合来确定(或构造)所想要的配置。使用演变图来表示系统的不同版本。Software Engineering_Chapter1473北京大学远程教育课程Software Engineering_Chapter1474北京大学远程教
39、育课程变更控制(修改控制)变更控制(修改控制)软件生存期内全部的软件配置是软件产品的真正代表,必须使其保持精确。软件工程过程中某一阶段的变更,均要引起软件配置的变更,这种变更必须严格加以控制和管理,保持修改信息。变更控制包括建立控制点和建立报告与审查制度。Software Engineering_Chapter1475北京大学远程教育课程变更控制过程变更控制过程Software Engineering_Chapter1476北京大学远程教育课程配置状态报告配置状态报告为了清楚、及时地记载软件配置的变化,需要对开发的过程做出系统的记录,以反映开发活动的历史情况。这就是配置状态登录的任务。登录主要
40、根据变更控制小组会议的记录,并产生配置状态报告。对于每一项变更,记录:发生了什么?为什么会发生?谁做的?什么时侯发生的?会有什么影响?Software Engineering_Chapter1477北京大学远程教育课程配置状态报告信息流配置状态报告信息流Software Engineering_Chapter1478北京大学远程教育课程配置审计配置审计软件的完整性,是指开发后期的软件产品能够正确地反映用户要求。软件配置审计的目的就是要证实整个软件生存期中各项产品在技术上和管理上的完整性。确保所有文档的内容变动不超出当初确定的软件要求范围。使得软件配置具有良好的可跟踪性。软件配置审计是软件变更控
41、制人员掌握配置情况、进行审批的依据。软件的变更控制机制通常只能跟踪到工程变更顺序产生为止。为确认变更是否正确完成?一般可以用以下两种方法去审查:正式技术评审:着重检查已完成修改的软件配置对象的技术正确性。评审者评价SCI,决定它与其它SCI的一致性,是否有遗漏或可能引起的副作用。正式技术评审应对所有的变更进行,除了那些最无价值的变更之外。软件配置审计:作为正式技术评审的补充,评价在评审期间通常没有被考虑的SCI的特性。Software Engineering_Chapter1479北京大学远程教育课程国际项目管理组织国际项目管理组织1国际项目管理协会IPMA(International Pro
42、ject Management Association)创建:1965,性质:非盈利的国际性组织成员:国际级项目管理协会职能:促进国际间项目管理发展产品和服务:研究和发展,教育和培训,标准和资质认证Software Engineering_Chapter1480北京大学远程教育课程国际项目管理组织国际项目管理组织2美国项目管理协会PMI(Project Management Institute)创建:1969,性质:国际性组织分会:245个成员:企业、高校、研究单位职能:促进国际间项目管理发展Software Engineering_Chapter1481北京大学远程教育课程国际项目管理专业资
43、格认证国际项目管理专业资格认证PMI项目管理专业人员认证Project Management ProfessionalPMPIPMA四级证书认证A级:Certificated Program DirectorCPD工程主任主任证书级,总经理一级B级:Certificated Project ManagerCPM项目经理级别证书C级:Registered Project Management ProfessionalPMP项目管理工程师级证书D级:Project Management FachmannPMF项目管理技术员级证书Software Engineering_Chapter1482北京大
44、学远程教育课程PMP和和IPMP的比较的比较PMPIPMP认证机构PMIIPMA影响力大小认证标准统一不统一证书持续有效性每3年审核无规定Software Engineering_Chapter1483北京大学远程教育课程PMP的培训机构的培训机构尚德机构 http:/ Engineering_Chapter1484北京大学远程教育课程推荐教材推荐教材-1IT项目管理(原书第2版)【作者】(美)凯西.施瓦尔贝(Kathy Schwalbe)【译者】邓世忠 等【出版社】机械工业出版社Software Engineering_Chapter1485北京大学远程教育课程推荐教材推荐教材-2人月神话【作者】(美)Frederick P.Brooks【出版社】清华大学出版社Software Engineering_Chapter1486北京大学远程教育课程