软件项目管理(Software-Project-Management).ppt
-
资源ID:71799398
资源大小:1.08MB
全文页数:86页
- 资源格式: PPT
下载积分:12金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
软件项目管理(Software-Project-Management).ppt
第八讲第八讲 软件项目管理软件项目管理(Software Project Management)Welcome to Software EngineeringLecture 8Zhang Jiannan 目标目标n了解软件项目的基本概念及管理者的主要任务;n了解软件项目管理的特征及其和其他工程项目管理之间的区别;n熟悉项目策划的概念及任务过程;n了解软件成本的基本知识和基本的估算方法;n掌握应用图形工具制作项目进度表的方法;目标目标n了解软件质量的影响因素及CMM基本概念。n了解软件配置管理的重要意义;n了解配置管理中CM规划、变更管理等主要活动;n了解人员管理的基本内容与方法。内容内容n软件项目管理基础n软件项目策划与估算n软件进度安排n软件质量管理与CMM n软件配置管理n软件人员管理n软件项目管理软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。n软件项目管理主要考虑如何保证软件能够按时、按计划并满足用户需求规格的交付,即如何用科学的管理手段保障软件项目的成功。n软件项目管理是必要的活动,因为软件项目必然会受到时间和成本的约束,如何有效的利用时间与成本是不能仅凭工程分析与设计方法来解决的。1.软件项目管理基础软件项目管理基础n软件项目管理与其它的工程项目管理相比有其自身的独特性:n软件产品是无形的;n软件产品是易变的;n软件开发过程不标准;n很多软件项目都是“一次性”项目。n软件项目不同于其它普通的工程项目,它属于智力密集型活动,其中,人员、抽象的文档和程序代码是管理的主要对象。n因此,在实践中,软件工程管理人员不能照抄照搬,应做到因地制宜,确保管理行为具有针对性。软件项目管理的特点软件项目管理的特点nPressman认为有效的软件项目管理集中在4个P上,即:n人员(人员(People)“人的因素”是成功软件项目中最为重要的因素;n产品(产品(Product)产品的目标与范围,成本与开发约束是划分项目任务,制定项目进度的依据;n过程(过程(Process)软件过程提供了完成特定软件项目所需的框架活动和开发任务的集合;n项目(项目(Project)把软件置于有计划的、可控的项目之中,是保证其成功的唯一途径。软件项目管理中的软件项目管理中的4 Psn项目策划与估算;n项目进度安排;n项目监督与控制;n人员管理;n质量管理;n配置管理;n风险管理;n过程改进。主要管理活动主要管理活动2 项目策划与估算项目策划与估算n 软件项目管理从一组统称为项目策划项目策划(project planning)的活动开始。n 项目策划的目标是建立一个能够对复杂的技术项目进行控制、跟踪和监测的有效策略,这个策略是在对资源、成本和进度做出合理估算的基础上做出的。n 有效的项目管理取决于全面的项目策划。在项目之初拟定的计划,应该成为整个项目的驱动器。2.1 项目策划项目策划项目策划任务集1.确定项目范围;2.确定可行性;3.分析风险;4.确定所需的资源:a.确定需要的人力资源;b.确定可复用的软件资源;c.标识环境资源。项目策划任务集5.估算成本和工作量:a.分解问题;b.使用规模、功能点、过程任务或用例等方法进行两种以上的估算;c.调和不同的估算。6.制定项目进度计划:a.建立一组有意义的任务集合;b.定义任务网络;c.使用进度计划工具指定时间表;d.定义进度跟踪机制。Write it Down!SoftwareSoftwareProjectProjectPlanPlanProject ScopeProject ScopeEstimatesEstimatesRisksRisksScheduleScheduleControl strategyControl strategy什么是“范围”?n“软件范围软件范围”描述了:n交付给最终用户的软件功能与特征;n输入和输出的数据;n使用软件时要呈现给用户的“内容”;n用于界定系统的性能、约束条件、接口和可靠性。n范围可以使用以下两种方法定义:n在于共同利益者交流之后得到对软件范围的叙述性描述;n由最终用户开发一组用例。资源2.2 项目估算项目估算n合理科学的项目估算对于项目管理是至关重要的,要得到理想的估算结果必须注意:n必须理解项目的范围;n进行项目分解是必要的;n历史信息是十分有用的;n至少采用两种不同的技术进行估算;n不确定性是软件估算的天然属性。软件项目的成本构成n硬件和软件成本硬件和软件成本n差旅费和培训费用差旅费和培训费用n工作成本工作成本 (the dominant factor in most projects)n项目开发人员的薪水;n社会保障和员工福利。n经常性的管理费用经常性的管理费用n办公场所、供暖和照明费用;n网络和通信费用;n图书馆、员工餐厅等方便设施的费用。估算技术n根据已完成的类似项目进行估算(类比估算);n传统估算技术:n 任务分解与成果估算;n 规模(如F.P)估算。n经验模型(参数估算);n自动化估算工具。估算精确度n估算精确度取决于:n计划者对产品规模估计的准确程度;n把产品规模转换成人的工作量/人力成本的准确度;n对软件团队能力的正确估计;n软件产品需求与环境的稳定性。任务分解任务分解结构(任务分解结构(任务分解结构(任务分解结构(WBSWBS)软件范围软件范围软件范围软件范围描述描述描述描述进行进行进行进行“文法解析文法解析文法解析文法解析”传统估算方法:LOC/FP方法n在得到软件的任务分解结构(WBS)后,可以分别估计每个功能的LOC或FP,从而估计出软件的整体规模。n在估算过程中可以采用历史数据进行类比估算。n估算人员通常要为每个功能分别估算一个乐观值(Sopt)、可能值(Sm)和悲观值(Spess),然后加权计算规模估计值S:S=(Sopt+4 Sm+Spess)/6例:LOC 方法该类系统的平均生产率=620 LOC/pm;平均工资=$8000/月;每行代码的成本约$13;根据LOC估算与历史生产数据得到总成本约431000美元,工作量约54人.月。例:FP 方法FP 的估计值:FPestimated=321 X 0.65+0.01 X (Fi)FPestimated=375组织平均生产率=6.5 FP/pm.劳力价格=$8000 per month,每个 FP 成本约为$1230.根据FP估算与历史生产数据得到总成本约461000美元,工作量约58人.月。基于过程的估算从“过程框架”中获得框架活动(沟通、策划、风险分析、工程和构造发布)软件功能软件功能软件功能软件功能框架活动框架活动框架活动框架活动针对每个软件功能,估针对每个软件功能,估算完成各个过程活动所算完成各个过程活动所需的工作量(人需的工作量(人.月)月)基于过程估算的实例如果平均一个劳力的价格是8000美元/月,则项目的总成本约为368000美元,总工作量约为46人.月。经验估算模型General form:General form:effort=tuning coefficient*sizeeffort=tuning coefficient*sizeexponentexponentusually derivedusually derivedas person-monthsas person-monthsof effort requiredof effort requiredeither a constant oreither a constant ora number derived based a number derived based on complexity of projecton complexity of projectusually LOC butusually LOC butmay also bemay also befunction pointfunction pointempiricallyempiricallyderivedderivedCOCOMO-IInCOCOMO(构造成本模型)是由Barry Beohm提出的一种层次结构估算模型,是业内最广泛使用和讨论的经验估算模型。nCOCOMO II 也是一种层次结构估算模型,主要应用于以下领域:n应用组装模型应用组装模型。在软件工程早期使用,这时,用户界面的原型开发、对软件和系统交互的考虑、性能的评估以及技术成熟度的评价是最重要的;n早期设计阶段模型早期设计阶段模型。在需求已经稳定并且基本的软件体系结构已经建立时使用;n体系结构后阶段模型体系结构后阶段模型。在软件构造过程中使用。软件方程式软件方程式是一种多变量模型,它假定在软件开发项目的整个生命周期中有特定的工作量分布。E=LOC x B0.333/P3 x(1/t4)其中:E=工作量,人.月或人.年t =项目持续时间,以月或年为单位B=“特殊技能因子”P=“生产率参数”3 项目进度安排(调度)项目进度安排(调度)n这个管理活动中,管理者需要把项目分解成若干个任务,并估算每个任务完成所需要的时间与资源,然后按照一定的顺序把这些任务组织起来。n应协调并行的任务,充分利用人力资源。n要减少任务间的依赖,明确关键任务,保证按进度交付。项目调度过程项目调度过程活动网络图与甘特图活动网络图与甘特图n图形化的工具对说明项目进度是十分有用的。n活动网络图方法PERT(Program Evaluation and Review Technique),是美国海军和洛克希德公司60年代初发展起来的一种先进的管理技术。在国民经济中已经广为应用,并且受到用户的好评。n活动网络图表示构成一个项目的不同活动之间的依赖关系以及由开始到结束的关键活动路径关键活动路径。例:活动网络图的画法例:活动网络图的画法活动网络图活动网络图n甘特图是以水平线段表示每一项任务,线段的起始点表示任务的开始,结束点表示任务的结束,线段的长度表示任务的完成时间。n甘特图的优点是简单明了,清楚地从图上看出任务时间上的对比关系,非常直观方便。它的缺点是各个任务之间的逻辑关系无法表示清楚。甘特图甘特图甘特图甘特图4 4 软件质量管理软件质量管理 近些年来,软件人员正不懈的追求软件质量,虽然付出了巨大的努力,但是收效甚微。于是,大部分软件企业试图通过壮大软件测试队伍,希望通过加大测试力度来提高软件质量,然而,软件测试不能从根本上提高软件质量。究其原因,人们似乎对于软件质量的概念和内涵并不是很清楚,就更谈不上采取有效的方法提高软件的质量。我们认为,实施软件质量管理是软件开发过程不可缺少的一个重要环节。传统上,人们对软件质量的评价参数包括软件功能是否齐全、结构是否合理和层次是否分明等方面。不难发现,这些评价的描述是含糊不清的,不能对软件的质量做定性的分析。不精确的软件评价给用户和软件开发人员均带来消极作用,对用户而言,没有明确的软件评价,用户就没有选购软件的依据;同时,软件开发人员没有软件质量的评价标准,在软件的开发过程中就无“法”可依。因此,软件质量评价标准的制定有其必要性,也有重要意义。软件质量及其评价美国的B.W.oehm和R.Brown提出了三个层次的评价度量模型,三个层次分别是软件质量要素、准则和度量。在此,仅对第一层次软件质量要素作简单介绍。软件质量及其评价把软件质量分解成六个要素,通过如下的六个要素来评判软件质量:1.1.功能性功能性:软件功能来源于软件的用户需求,用户需求分为显性需求和隐性需求,隐性需求泛指用户潜在的却不能陈述的软件需求;功能性是软件满足用户需求的程度描述。软件质量要素2.2.可靠性可靠性:软件可靠性包含两个方面的内容,一是软件在规定的运行环境下正常工作的程度;二是软件在非法操作或故障发生时继续运行的程度。软件可靠性在软件工程中具有较大的实际意义,可靠性差的软件在故障发生时不能正常运行,这将使得软件功能丧失。在必要时,可以建立软件保障系统,从根本上提高软件可靠性。软件质量要素3.3.易使用性易使用性:易使用性的内容包括软件用户界面的友好性和软件交互性,交互性和友好性是衡量软件使用是否方便的两个重要参数。4.4.效率效率:软件效率指软件运行时对所需的计算机资源利用的有效程度,软件效率的衡量通常从时间和存储需求两方面入手。软件质量要素5.5.可维护性可维护性:软件的可维护性是指用户需求改变或软件环境发生变更时,软件系统能进行相应修改的容易程度,可维护性一般与软件的可读性、可理解性和可修改性相关。软件质量要素6.6.可移植性可移植性:可移植性指软件整体或部分对运行的系统和环境的依赖程度,依赖程度越高,软件可移植性越差。软件质量要素虽然软件企业没有停止对软件质量的追求,但是事实表明他们并没有在提高软件质量方面取得突破性进展。软件质量问题的根源总的来说,较多质量不高的软件在软件开发中存在以下几点共性:缺乏软件产品检验标准,开发人员在提高软件质量上还具有一定盲目性;软件开发人员缺乏质量意识;软件项目时间短、计划紧;软件项目资金不足,开发方降低开发成本;没有有效的软件项目管理体制。软件质量问题的根源(一)CMM概念CMM(Capability Maturity Model for Software),英文缩写名是SM-CMM,它指“软件能力成熟度模型”,CMM是美国卡内基梅隆大学软件工程研究所(简称SEI)的研究成果;SEI是美国国防部出资于1984年设立。软件质量与CMM从1986年开始,SEI针对软件组织改善其软件过程,特别是美国国防部对软件承包商的能力评价问题,研究“过程成熟度框架”。1987年9月,SEI发表了关于过程成熟度框架的简要说明和成熟度调查问卷。以这一过程成熟度框架为蓝本,在美国联邦政府促进下,从1987年到1991年在美国一些大公司的软件组织进行了软件过程能力成熟度模型的评估实践。(一)CMM概念根据这4年的实践经验,特别是从美国政府和工业界反馈的关于软件过程评估的信息,SEI在原过程成熟度框架的基础上开发出了“软件能力成熟度模型(CMM)1.0版”。SEI给CMM下的定义是:对于软件组织在定义,实现,度量,控制和改善其软件过程的进程中各个发展阶段的描述。(一)CMM概念这个模型便于确定软件组织的现有过程能力和查找出软件质量及过程改进方面的最关键问题,从而为选择过程改进战略提供指南。SW-CMM为软件企业的过程能力提供了一个阶梯式的进化框架,它基于过去所有软件工程成果的过程改善的框架,吸取了以往软件工程的经验教训。它指明了一个成熟的软件组织在软件开发方面需要管理的那些主要工作、这些工作之间的关系、以及以怎样的先后次序,一步一步的做好这些工作使软件组织走向成熟,是目前国际上最流行也是最实用的软件生产过程标准。(一)CMM概念SW-CMM为软件企业的过程能力提供了台阶式结构,共分五级,分别是初始级、可重级、定义级、管理级和优化级。初始级实际上是一个起点,任何准备按CMM结构进化的企业一般都处于这个起点上,并通过这个起点向可重级迈进。除初始级外,每一级都设定了一组目标,如果达到了这组目标,则表明达到了这个成熟级别,可以向下一个级别迈进。CMM从可重级起,每一个低的级别实现均是高的级别实现的基础,所以它不主张级别跨越。(二)CMM结构SW-CMM提供阶梯式的进化框架1.初始级初始级初始级实际上是一个较为原始的阶段,初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。它的执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。(二)CMM结构2.可重复级可重复级可重复级的管理过程包括了需求管理、项目管理、质量管理、配置管理和子合同管理五个方面,可重复级的焦点集中在软件管理过程上。一个可管理的过程则是一个可重复级的过程,一个可重级的过程则能逐渐进化和成熟。(二)CMM结构3.定义级定义级定义级给出了定义执行的步骤标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程,剪裁出该项目的过程,并执行这些过程。过程的剪裁不是随意的,在使用前需经过企业有关人员的批准。(二)CMM结构4.管理级管理级管理级的管理是量化的管理。所有过程需建立相应的度量方式,产品的质量需有明确的度量指标。这些度量应是详尽的,且可用于理解和控制软件过程和产品,量化控制将使软件开发真正变成工业生产活动。(二)CMM结构5.优化级优化级优化级的目标是达到一个持续改善的境界。所谓持续改善是指可根据过程执行的反馈信息来改善下一步的执行过程,即优化执行步骤。如果一个企业达到了这一级,那么表明该企业能够根据实际的项目性质、技术等因素,不断调整软件生产过程以求达到最佳。(二)CMM结构从效果而言,在上述不同阶段,软件开发生产的成熟程度给软件企业带来了完全不同的效果。从第一阶段到第五个阶段,软件开发生产的计划精度越来越高,每单位工程的生产周期越来越短,每单位工程的成本越来越低。CMM五级模型为软件质量的控制和质量的提高奠定了坚实的基础,它是当前软件质量控制领域研究的一个热点。(二)CMM结构n软件系统总是出现变更,这就带来新版本软件的产生,引起版本变化的原因通常包括:n变更建议和错误的修正;n对不同的硬件与操作系统做出的适应性调整;n提供不同的功能;n按用户特定需求进行的修正。n配置管理规程规定了如何记录和处理所提议的变更,如何使系统变更与系统组件相关联,以及如何识别系统不同版本的方法。nCM 的目的在于控制由变更带来的成本和人力消耗目的在于控制由变更带来的成本和人力消耗。4.配置管理配置管理配置管理配置管理n配置管理涉及开发和应用规程与标准去管理一个进化中的软件产品。nCM 有时被认为是更广泛的软件质量管理的一部分。n当一个软件系统被置于配置管理之下,我们把它叫做“基线”(base lines),因为它们是受控进化的一个起点。配置管理的主要活动n配置管理的规划n变更管理n版本与发布管理n系统构建n配置管理规划描述配置管理应该使用的标准描述配置管理应该使用的标准和规程和规程。n所有的软件产品都应该置于CM控制之下:nSpecifications;nDesigns;nPrograms;nTest data;nUser manuals.4.1 配置管理规划配置管理规划n配置管理规划包括以下内容:n定义配置项以及使用什么模式来识别配置项;n确定谁负责CM规程并把配置项提交给CM团队;n定义变更控制和版本管理的策略;n定义必须被维护的CM记录;n描述CM使用的工具和使用这些工具的过程;n描述配置数据库的结构既要维护的数据信息;n对外协提供的软件的管理和CM规划对CM过程的审核过程。配置管理规划配置管理规划n配置管理规划过程中,要严格确定对哪些项或哪类项进行控制。n配置控制之下的文档成为配置项。nCM中需要有一个关于所有配置项的一致性标识列表。n分层命名模式是一种有效的命名方法:nPCL-TOOLS/EDIT/FORMS/DISPLAY/AST-INTERFACE/CODE配置项识别配置项识别配置层次配置层次n所有的CM信息都保存在一个配置数据库中。n配置数据库必须能够对各种系统配置查询作出相应:nWho has a particular system version?nWhat platform is required for a particular version?nWhat versions are affected by a change to component X?nHow many reported faults in version T?nHow many reported change requests in version T?n配置数据库应该和版本管理系统集成到一起以便与被配置管理控制的软件直接相连。配置数据库配置数据库n软件在生命周期内会接受来自各方面的变更请求:nFrom users;nFrom developers;nFrom market forces.n变更管理的主要目的使通过对变更的跟踪和控制是变更实现的代价最小,效果最好。4.2 变更管理变更管理变更管理过程变更管理过程n对变更申请表的定义应该是CM规划过程的一部分。n变更申请表除了记录需要的变更之外,还要记录变更的建议者,变更的原因和变更的紧密程度。nCRF还要记录变更的成本估算,冲突的分析,变更的请求、核准、实现和验证日期等内容。变更申请表(变更申请表(CRF)的格式的格式变更申请表(变更申请表(CRF)的格式的格式n变更控制委员会(CCB)是做出变更决策的极为重要的一个部门。nCCB应独立于软件开发组织之外,由资深的客户和承包商职员组成。nCCB应从战略的角度,而不是从技术的角度去考虑变更带来的影响。变更控制委员会(变更控制委员会(CCB)n组件变更时,每个组件的变更记录都应该得到维护,有时把这成为组件的导出历史。n维护这种记录最佳的方式是在组件开始部分的标准注释部分说明它。n导出历史应该建立变更请求到软件变更的链接。导出历史导出历史例:组件题头信息例:组件题头信息5 人员管理人员管理 n软件项目开发的资源主要是人员、开发时间、软件工具、运行所需要的软/硬件等。n软件开发过程是人智力密集型的劳动。开发组织为提高软件生产率,必须最大限度地发挥每一个人的技术和能力。软件项目由项目负责人(项目经理)总负责。n人员管理涉及到招募、选择、培训、业绩、报酬、专业发展,以及培养团队精神和企业文化等一系列“以人为本”的组织工作,通过吸引、培养、激励留住有创造力、技术水平高的人才,增强软件组织软件开发能力。人员资源计划人员资源计划 对开发人员资源的需求(计划),是随时间变化的一个指数函数曲线Rayleigh-Norden曲线模式。td 图图9.1 开发人员资源需求随时间变化的曲线开发人员资源需求随时间变化的曲线时间时间人员资源需求人员资源需求人员协调和通信人员协调和通信 n建立有效的人员通信交流机制,组织开发人员和协调他们的关系,并跟踪和协调开发进程。n软件项目人员协调和通信方式可分成:正式的(采用文字、视频会议等非直接交互的通信渠道)、非个人的方式;正式的、个人的方式;非正式的、个人的方式;电子通信方式;个人网络方式。人员组织范型人员组织范型 n大型软件产品的开发可采取分层次的组织结构,即软件经理项目经理开发小组,以保证组织和管理的有效性。n一个项目科学而合理建立的组织结构取决于组织的管理风格、凝聚力、组内成员的人数和他们的技术水平,以及任务的难易程度。民主分权制民主分权制 民主分权式开发组民主分权式开发组是一个没有领导者的,提倡无私精神的团体组织,民主氛围浓郁,组员们工作积极性高,这使得整个团队能多出、快出更高质量的产品。民主分权组织方式比较强调个人的作用,所以希望小组成员都是经验丰富、技术和技能熟练的人员。民主分权式开发组织方式特别适用于较小规模或研究型产品的开发。控制集权制控制集权制 控制集权式控制集权式组织的特点:一是专业化专业化,每个成员分工明确,执行各自的专业任务;二是层次性层次性,每个成员在组织中处于一定的领导或被领导地位。控制集权式组由一名高级工程师(主程序员)、一名后备工程师、资料管理员,以及25个技术人员组成。小组负责人由高级工程师(主程序员)担任,他既是管理者,又是高级专业人员,负责计划、协调和复审小组的所有技术活动;后备工程师是协助负责人工作的专业人员;资料管理员是专职的,职责是控制和维护所有的软件配置,协助小组进行研究、评估和文档准备。控制分权制控制分权制 软件的开发通常采用一种更合理的、责任范围更清楚的人员组织方式控制分权式开发组。控制分权小组负责人由一个小组领导人(负责小组的技术活动),一个小组管理员(负责所有非技术的管理决策)两个人承担。小组领导人小组领导人小组管理员小组管理员技术人员技术人员技术人员技术人员技术人员技术人员图图9.3 控制分权式小组的结构示意控制分权式小组的结构示意Chief ProgrammerAssistant CPProgram ManagerProgram ManagerAdminis-trationLibrarianTestTeamSeniorProgrammerJuniorProgrammer 全面负责设计、全面负责设计、编码、测试和安装编码、测试和安装主要负责主要负责测试,必要时测试,必要时替代替代 CP.负责和负责和项目有关项目有关的全部的全部事务性事务性工作工作行政、后勤行政、后勤管理管理文档、工具文档、工具管理管理 提出具体测试方案,提出具体测试方案,编写编写Driver 和和 Stub,进行测试进行测试.后备编程后备编程力量力量主程序员组主程序员组(Chief Programmer TeamChief Programmer Team):Baker IBM,1972Baker IBM,1972大型项目技术管理的组织结构示意图大型项目技术管理的组织结构示意图项目领导人项目领导人小组领导人小组领导人技术员技术员技术员技术员技术员技术员小组领导人小组领导人技术员技术员技术员技术员技术员技术员小组领导人小组领导人技术员技术员技术员技术员控制分权制控制分权制 l控制分权式的开发过程是在一名项目经理的领导下,分级管理多个开发小组而进行的。这种方式最大特点是在合适之处可以采用民主、分散决策机制,提高生产和管理效率。l小组(子组)和个人之间通信是平行的,但也会发生沿着控制层的上、下级通信。控制分权制控制分权制 要点要点n软件项目管理的工作是保证软件能够按时、按计划并满足用户需求规格的交付,即用科学的管理手段保障软件项目的成功。n软件项目管理与其他的工程管理有明显的区别,因为软件产品是无形的。n软件管理者要承担多种不同任务,其中最重要的是项目规划、估算和调度。n项目里程碑是一个项目活动可以预期的成果。n项目规划可能是项目管理活动中最为耗时的。有效的管理取决于全面的规划。n合理科学的估算对于项目管理者是至关重要的。n对开发软件系统工作量的精确估算,没有一种简单的方法。需要按照不同的情况选择适当的估算方法。n项目调度就是把项目计划的某些部分用适当的图表表示出来。甘特图和活动网络图是常用的工具。要点要点n软件质量有三个评价层次,分别是软件质量要素、准则和度量。n软件有六个质量要素,分别是功能性、可靠性、易用性、效率、可维护性和可移植性。nCMM是对于软件组织在定义,实现,度量,控制和改善其软件过程的进程中各个发展阶段的描述。要点要点n配置管理规程规定了如何记录和处理所提议的变更,如何使系统变更与系统组件相关联,以及如何识别系统不同版本的方法。目的在于控制由变更带来的成本和人力消耗。n配置管理规划描述配置管理应该使用的标准和规程。n变更管理的主要目的使通过对变更的跟踪和控制是变更实现的代价最小,效果最好。要点要点n人员管理涉及到招募、选择、培训、业绩、报酬、专业发展,以及培养团队精神和企业文化等一系列组织工作。n一个项目科学而合理建立的组织结构取决于组织的管理风格、凝聚力、组内成员的人数和他们的技术水平,以及任务的难易程度。n常见的人员组织方法包括民主分权制、控制集权制和控制分权制。要点要点Exercise:n按表中所示活动间关系画活动网络图和条形图: