情景软件项目管理

上传人:re****.1 文档编号:567651759 上传时间:2024-07-21 格式:PPT 页数:89 大小:862KB
返回 下载 相关 举报
情景软件项目管理_第1页
第1页 / 共89页
情景软件项目管理_第2页
第2页 / 共89页
情景软件项目管理_第3页
第3页 / 共89页
情景软件项目管理_第4页
第4页 / 共89页
情景软件项目管理_第5页
第5页 / 共89页
点击查看更多>>
资源描述

《情景软件项目管理》由会员分享,可在线阅读,更多相关《情景软件项目管理(89页珍藏版)》请在金锄头文库上搜索。

1、情景软件项目管理 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life, there is hope。有生命必有希望。有生命必有希望大型软件工程项目的失败 - 才使人们逐渐认识到软件项目管理的重要性和特殊性。失败的原因 - 不是软发工程师无能,而主要是管理不善。所谓管理 - 就是通过计划、组织和控制等一系列活动,合理地配置和使用各种资源,以达到既定目标的过程。软件项目管理 - 先于任何技术活动之前开始,并且贯穿于软件的整个生命周期之中。软件项目管理 - 从一组项目计划活动开始,其基础是工作量估算和完成期限估算。213.1 13.

2、1 估算软件规模估算软件规模13.1.1 代码行技术 代码行技术是比较简单的定量估算软件规模的方法。 为了使得对程序规模的估计值更接近实际值,可以由多名有经验的软件工程师分别做出估计。每个人都估计程序的最小规模(a)、最大规模(b)和最可能的规模(m),分别算出这3种规模的平均值,再用下式计算程序规模的估计值 L = 单位是代码行数(LOC),或是千行代码数(KLOC)3代码行技术的主要优点:代码是所有软件开发项目都有的“产品”,而且很容易计算代码行数。代码行技术的缺点: 源程序仅是软件配置的一个成分,用它的规模代表整个软件的规模似乎不太合理;用不同语言实现同一个软件所需要的代码行数并不相同;

3、这种方法不适用于非过程语言。为了克服代码行技术的缺点,人们又提出了功能点技术。413.1.2 功能点技术 功能点技术依据对软件信息域特性和软件复杂性的评估结果,估算软件规模。这种方法用功能点(FP)为单位度量软件规模。1. 信息域特性 功能点技术定义了信息域的5个特性:(1) 输入项数(Inp) : 用户向软件输入的项数,这些输入给软件提供面向应用的数据。输入不同于查询,后者单独计数,不计入输入项数中。(2) 输出项数(Out) : 软件向用户输出的项数,它们向用户提供面向应用的信息,例如,报表和出错信息等。报表内的数据项不单独计数。(3) 查询数(Inq) : 查询即是一次联机输入,它导致软

4、件以联机输出方式产生某种即时响应。(4) 主文件数(Maf) : 逻辑主文件(即数据的一个逻辑组合,它可能是大型数据库的一部分或是一个独立的文件)的数目。(5) 外部接口数(Inf) : 机器可读的全部接口(例如,磁盘或磁带上的数据文件)的数量,用这些接口把信息传送给另一个系统。52. 估算功能点的步骤(1) 计算未调整的功能点数UFP 首先,把产品信息域的每个特性(即Inp、Out、Inq、Maf和Inf)都分类为简单级、平均级或复杂级,并根据其等级为每个特性分配一个功能点数(例如,一个简单级的输入项分配3个功能点,一个平均级的输入项分配4个功能点,而一个复杂级的输入项分配6个功能点)。 然

5、后,用下式计算未调整的功能点数UFP: UFP=a1Inp+a2Out+a3Inq+a4Maf+a5Inf其中,ai(1i5)是信息域特性系数,其值由相应特性的复杂级别决定,如表13.1(见书297页)所示。 6(2) 计算技术复杂性因子TCF 这一步骤度量14种技术因素对软件规模的影响程度。这些因素包括高处理率、性能标准(例如,响应时间)、联机更新等,在表13.2(见书297页)中列出了全部技术因素,并用Fi(1i14)代表这些因素。根据软件的特点,为每个因素分配一个从0(不存在或对软件规模无影响)到5(有很大影响)的值。然后,用下式计算技术因素对软件规模的综合影响程度DI: DI= 技术复

6、杂性因子TCF由下式计算: TCF=0.65+0.01DI 因为DI的值在070之间,所以TCF的值在0.651.35之间。7(3) 计算功能点数FP 用下式计算功能点数FP: FP=UFPTCF 功能点数与所用的编程语言无关,看起来功能点技术比代码行技术更合理一些。但是,在判断信息域特性复杂级别和技术因素的影响程度时,存在着相当大的主观因素。813.2 工作量估算 软件估算模型使用由经验导出的公式来预测软件开发工作量,工作量是软件规模(KLOC或FP)的函数,工作量的单位通常是人月(pm)。 支持大多数估算模型的经验数据,都是从有限个项目的样本集中总结出来的,因此,没有一个估算模型可以适用于

7、所有类型的软件和开发环境。913.2.1 13.2.1 静态单变量模型静态单变量模型这类模型的总体结构形式如下: E=A+B(ev)C其中,A、B和C是由经验数据导出的常数,E是以人月为单位的工作量,ev是估算变量(KLOC或FP)。下面给出几个典型的静态单变量模型。1. 面向KLOC的估算模型(1) Walston_Felix模型: E=5.2(KLOC)0.91(2) Bailey_Basili模型: E=5.5+0.73(KLOC)1.16(3) Boehm简单模型: E=3.2(KLOC)1.05(4) Doty模型(在KLOC9时适用): E=5.288(KLOC)1.047102.

8、 面向FP的估算模型 (1) Albrecht & Gaffney模型 E=-13.39+0.0545FP (2) Maston,Barnett和Mellichamp模型 E=585.7+15.12FP 从上面列出的模型可以看出,对于相同的KLOC或FP值,用不同模型估算将得出不同的结果。主要原因是,这些模型多数都是仅根据若干应用领域中有限个项目的经验数据推导出来的,适用范围有限。因此,必须根据当前项目的特点选择适用的估算模型,并且根据需要适当地调整(例如,修改模型常数)估算模型。1113.2.2 13.2.2 动态多变量模型动态多变量模型 动态多变量模型也称为软件方程式,它是根据从4000多

9、个当代软件项目中收集的生产率数据推导出来的。该模型把工作量看作是软件规模和开发时间这两个变量的函数。动态多变量估算模型的形式如下: E=(LOCB0.333/P)3(1/t)4 (13.2)其中,E是以人月或人年为单位的工作量;t是以月或年为单位的项目持续时间;B是特殊技术因子,它随着对测试、质量保证、文档及管理技术的需求的增加而缓慢增加,对于较小的程序(KLOC=515),B=0.16,对于超过70 KLOC的程序,B=0.39;P是生产率参数,它反映了下述因素对工作量的影响: 总体过程成熟度及管理水平; 使用良好的软件工程实践的程度; 使用的程序设计语言的级别; 软件环境的状态; 软件项目

10、组的技术及经验; 应用系统的复杂程度。开发实时嵌入式软件时,P的典型值为2000;开发电信系统和系统软件时,P=10000;对于商业应用系统来说,P=28000。可以从历史数据导出适用于当前项目的生产率参数值。 从(13.2)式可以看出,开发同一个软件(即LOC固定)的时候,如果把项目持续时间延长一些,则可降低完成项目所需的工作量。1213.2.3 COCOMO2模型模型COCOMO是构造性成本模型(constructive cost model)的英文缩写。1981年Boehm在软件工程经济学中首次提出了COCOMO模型。1997年Boehm等人提出的COCOMO2模型,是原始的COCOMO

11、模型的修订版,它反映了十多年来在成本估计方面所积累的经验。COCOMO2给出了3个层次的软件开发工作量估算模型,这3个层次的模型在估算工作量时,对软件细节考虑的详尽程度逐级增加。这些模型既可以用于不同类型的项目,也可以用于同一个项目的不同开发阶段。这3个层次的估算模型分别是 (1) 应用系统组成模型。这个模型主要用于估算构建原型的工作量,模型名字暗示在构建原型时大量使用已有的构件。 (2) 早期设计模型。这个模型适用于体系结构设计阶段。 (3) 后体系结构模型。这个模型适用于完成体系结构设计之后的软件开发阶段。13下面以后体系结构模型为例,介绍COCOMO2模型。该模型把软件开发工作量表示成代

12、码行数(KLOC)的非线性函数: E=(13.3)其中: E 是开发工作量(以人月为单位), A 是模型系数, KLOC 是估计的源代码行数(以千行为单位), B 是模型指数, fi(i=117) 是成本因素。 每个成本因素都根据它的重要程度和对工作量影响大小被赋予一定数值(称为工作量系数)。这些成本因素对任何一个项目的开发工作量都有影响,即使不使用COCOMO2模型估算工作量,也应该重视这些因素。Boehm把成本因素划分成产品因素、平台因素、人员因素和项目因素等4类。 表13.3(见书300页)列出了COCOMO2模型使用的成本因素及与之相联系的工作量系数。1413.3 13.3 进度计划进

13、度计划 项目管理者的目标是定义全部项目任务,识别出关键任务,跟踪关键任务的进展状况,以保证能及时发现拖延进度的情况。为达到上述目标,管理者必须制定一个足够详细的进度表,以便监督项目进度并控制整个项目。 软件项目的进度安排是通过把工作量分配给特定的软件工程任务并规定完成各项任务的起止日期,从而将估算出的项目工作量分布于计划好的项目持续期内。 进度计划将随着时间的流逝而不断演化。在项目计划的早期,首先制定一个宏观的进度安排表,标识出主要的软件工程活动和这些活动影响到的产品功能。随着项目的进展,把宏观进度表中的每个条目都精化成一个详细进度表,从而标识出完成一个活动所必须实现的一组特定任务,并安排好了

14、实现这些任务的进度。15软件开发小组人数与软件生产率的软件开发小组人数与软件生产率的关系关系n当几个人共同承担软件开发项目中的当几个人共同承担软件开发项目中的某一任务时,某一任务时,人与人之间必须通过交人与人之间必须通过交流来解决各自承担任务之间的接口问流来解决各自承担任务之间的接口问题题,即所谓,即所谓通信问题通信问题。通信需花费时。通信需花费时间和代价,会引起软件错误增加,降间和代价,会引起软件错误增加,降低软件生产率。低软件生产率。16n若两个人之间需要通信,则称在这两若两个人之间需要通信,则称在这两个人之间存在一条通信路径。如果一个人之间存在一条通信路径。如果一个软件开发小组有个软件开

15、发小组有 n 个人,每两人之个人,每两人之间都需要通信,则总的通信路径有间都需要通信,则总的通信路径有 n(n- -1)/2 (条条)。17n设一个人单独开发软件,生产率是设一个人单独开发软件,生产率是5000行人年行人年。若。若 4 个人个人组成一个小组成一个小组共同开发这个软件,则需要组共同开发这个软件,则需要 6条通条通信路径信路径。若在每条通信路径上耗费的。若在每条通信路径上耗费的工作量是工作量是 250 行人年行人年。则小组中每。则小组中每个人的软件生产率降低为个人的软件生产率降低为 500062504 = 5000375 = 4625 行人年。行人年。18n从上述分析可知,从上述分

16、析可知,一个软件任务由一一个软件任务由一个人单独开发,生产率最高个人单独开发,生产率最高;而对于;而对于一个稍大型的软件项目,一个人单独一个稍大型的软件项目,一个人单独开发,时间太长。因此开发,时间太长。因此软件开发小组软件开发小组是必要的是必要的。n但是,开发小组不宜太大,成员之间但是,开发小组不宜太大,成员之间避免太多的通信路径。避免太多的通信路径。n在开发进程中,切忌中途加人,避免在开发进程中,切忌中途加人,避免太多的生产率损失。太多的生产率损失。19任务的确定与并行性任务的确定与并行性n当参加同一软件工程项目的人数不止当参加同一软件工程项目的人数不止一人的时候,开发工作就会出现并行一人

17、的时候,开发工作就会出现并行情形。情形。n软件开发进程中设置许多里程碑。里软件开发进程中设置许多里程碑。里程碑为管理人员提供了指示项目进度程碑为管理人员提供了指示项目进度的可靠依据。的可靠依据。n软件工程项目的并行性提出了一系列软件工程项目的并行性提出了一系列的进度要求。的进度要求。2021n因为并行任务是同时发生的,所以进因为并行任务是同时发生的,所以进度计划表必须决定任务之间的从属关度计划表必须决定任务之间的从属关系,确定各个任务的先后次序和衔接,系,确定各个任务的先后次序和衔接,确定各个任务完成的持续时间。确定各个任务完成的持续时间。n项目负责人应注意构成关键路径的任项目负责人应注意构成

18、关键路径的任务,即若要保证整个项目能按进度要务,即若要保证整个项目能按进度要求完成,就必须保证这些任务要按进求完成,就必须保证这些任务要按进度要求完成。度要求完成。22制定开发进度计划制定开发进度计划n402040规则规则u在整个软件开发过程中,编码工作在整个软件开发过程中,编码工作量仅占量仅占 20,编码前工作量占,编码前工作量占40,编码后工作量占编码后工作量占 40。u 402040 规则只应用来做为规则只应用来做为 一一个指南。实际的工作量分配比例必个指南。实际的工作量分配比例必须按照各项目的特点来决定。须按照各项目的特点来决定。23估算开发时间估算开发时间T T的方程的方程: : (

19、1) Walston_Felix (1) Walston_Felix模型模型 T=2.5ET=2.5E0.350.35 (2) (2) 原始的原始的COCOMOCOCOMO模型模型 T=2.5ET=2.5E0.380.38 (3) COCOMO2 (3) COCOMO2模型模型 T=3.0ET=3.0E0.33+0.20.33+0.2(b-1.01)(b-1.01) (4) Putnam (4) Putnam模型模型 T=2.4ET=2.4E1/31/3 其中,其中, E E是开发工作量(以人月为单位),是开发工作量(以人月为单位), T T是开发时间(以月为单位)。是开发时间(以月为单位)。

20、24进度安排的方法进度安排的方法n可以把用于一般开发项目的进度安排可以把用于一般开发项目的进度安排的技术和工具应用于软件项目。的技术和工具应用于软件项目。n为监控为监控软件项目的进度计划和工作的软件项目的进度计划和工作的实际进展情况实际进展情况,为表现,为表现各项任务之间各项任务之间进度的相互依赖关系进度的相互依赖关系,需要采用图示,需要采用图示的方法。的方法。n在图示方法中,必须明确标明:在图示方法中,必须明确标明:25u 各个任务的各个任务的计划开始时间计划开始时间,完成时间完成时间;u 各个任务各个任务完成标志完成标志(即(即文档编写和文档编写和评审);评审);u 各个任务与参与工作的人

21、数,各个各个任务与参与工作的人数,各个任务任务与工作量之间的衔接情况与工作量之间的衔接情况;u 完成各个任务所需的物理资源和数据资完成各个任务所需的物理资源和数据资源。源。26(1) 甘特图(甘特图(Gantt Chart)n在甘特图中,每一任务完成的标准,在甘特图中,每一任务完成的标准,不是以能否继续下一阶段任务为标准,不是以能否继续下一阶段任务为标准,而是而是以必须交付应交付的文档与通过以必须交付应交付的文档与通过评审为标准评审为标准。因此在甘特图中,文档。因此在甘特图中,文档编制与评审是软件开发进度的里程碑。编制与评审是软件开发进度的里程碑。2728(2) PERT技术和技术和CPM方法

22、方法nPERT技术叫做技术叫做计划评审技术计划评审技术,CPM方法叫做方法叫做关键路径法关键路径法,它们都是安排,它们都是安排开发进度,制定软件开发计划的最常开发进度,制定软件开发计划的最常用的方法。用的方法。n它们都采用网络图来描述一个项目的它们都采用网络图来描述一个项目的任务网络,也就是从一个项目的开始任务网络,也就是从一个项目的开始到结束,把应当完成的任务用图或表到结束,把应当完成的任务用图或表的形式表示出来。的形式表示出来。29三个模块开发的网络图三个模块开发的网络图30n通常用两张表来定义网络图。通常用两张表来定义网络图。n一张表给出一张表给出与一特定软件项目有关的与一特定软件项目有

23、关的所有任务所有任务(也称为任务分解结构(也称为任务分解结构WorkBreakdown Structure);n另一张表给出另一张表给出应当按照什么样的次序应当按照什么样的次序来完成这些任务来完成这些任务(有时称为限制表(有时称为限制表RestrictionList)。)。PERT技术和技术和CPM方法都为项目计划人方法都为项目计划人员提供了一些定量的工具。员提供了一些定量的工具。31 确定关键路径确定关键路径,即决定项目开发时间,即决定项目开发时间的任务链。在关键路径上的各个任务的任务链。在关键路径上的各个任务都是时间余量为零的关键任务,不能都是时间余量为零的关键任务,不能有任何时间延误。有

24、任何时间延误。 应用统计模型应用统计模型,对每一个单独的任务,对每一个单独的任务确定最可能的开发持续时间的估算值。确定最可能的开发持续时间的估算值。 计算边界时间计算边界时间,以便为具体的任务定,以便为具体的任务定义时间窗口。义时间窗口。32项目的追踪和控制项目的追踪和控制软件项目管理一项重要工作就是软件项目管理一项重要工作就是在在项目实施过程中项目实施过程中进行进行追踪追踪和和控制控制:n定期举行项目状态会议。由每位项目定期举行项目状态会议。由每位项目成员报告其进展和遇到的问题。成员报告其进展和遇到的问题。n评价在软件工程过程中所产生的所有评价在软件工程过程中所产生的所有评审的结果。评审的结

25、果。n确定由项目的计划进度所安排的可能确定由项目的计划进度所安排的可能选择的正式的里程碑。选择的正式的里程碑。33n比较在项目资源表中所列出的每一个比较在项目资源表中所列出的每一个项目任务的实际开始时间和计划开始项目任务的实际开始时间和计划开始时间。时间。n非正式地与开发人员交谈,以得到他非正式地与开发人员交谈,以得到他们对开发进展和刚冒头的问题的客观们对开发进展和刚冒头的问题的客观评价。评价。n当问题出现的时候,当问题出现的时候, 项目管理人员必项目管理人员必须须实行控制以尽快地排解实行控制以尽快地排解问题。问题。3413.413.4 软件项目的组织与计划软件项目的组织与计划n制定计划制定计

26、划n软件项目组织的建立软件项目组织的建立n人员配备人员配备35 制定计划制定计划n软件开发项目的计划涉及到实施项目软件开发项目的计划涉及到实施项目的各个环节,带有全局性质。的各个环节,带有全局性质。n计划的计划的合理性合理性和和准确性准确性往往关系着项往往关系着项目的成败。目的成败。n计划应力求完备。要计划应力求完备。要考虑到一些未知考虑到一些未知因素和不确定因素因素和不确定因素,考虑到可能的修考虑到可能的修改改。计划应力求准确。计划应力求准确。尽可能提高所尽可能提高所依据数据的可靠程度依据数据的可靠程度。361. 制定计划目标和进行风险分析制定计划目标和进行风险分析n制定计划的目的就是要回答

27、:这个软制定计划的目的就是要回答:这个软件项目的范围是什么?需要哪些资源件项目的范围是什么?需要哪些资源?花费多少工作量?要用的成本有多?花费多少工作量?要用的成本有多少?以及进度如何安排等等一系列问少?以及进度如何安排等等一系列问题。题。n这步工作应当以系统计划为基础,以这步工作应当以系统计划为基础,以系统规格说明为依据。系统规格说明为依据。37n在开发工作尚未开始之前,准确回答在开发工作尚未开始之前,准确回答这些问题是十分困难的。需要通过以这些问题是十分困难的。需要通过以往的开发经验做出估算,往的开发经验做出估算,很难达到准很难达到准确确。n从估算出发,项目必然带有一定的风从估算出发,项目

28、必然带有一定的风险险。估算的准确性越差,风险也就越。估算的准确性越差,风险也就越大。研制的软件项目越复杂,规模越大。研制的软件项目越复杂,规模越大,结构化程度越低,资源、成本、大,结构化程度越低,资源、成本、进度等因素的不确定性越大,承担这进度等因素的不确定性越大,承担这一项目所冒的风险也越大。一项目所冒的风险也越大。38n组织软件项目必须事先认清可能构成组织软件项目必须事先认清可能构成风险的因素,并研究战胜风险的对策,风险的因素,并研究战胜风险的对策,只有这样才能避免出现灾难性的后果,只有这样才能避免出现灾难性的后果,取得项目预期的成果。取得项目预期的成果。392. 软件计划的类型软件计划的

29、类型n针对不同工作目标,软件计划有:针对不同工作目标,软件计划有: 项目实施计划项目实施计划(软件开发计划软件开发计划) 这这是软件开发的综合性计划,通常应包是软件开发的综合性计划,通常应包括任务、进度、人力、环境、资源、括任务、进度、人力、环境、资源、组织等多个方面。组织等多个方面。 质量保证计划质量保证计划 把软件开发的质量要把软件开发的质量要求具体规定为每个开发阶段可以检查求具体规定为每个开发阶段可以检查的质量保证活动。的质量保证活动。40 软件测试计划软件测试计划 规定测试活动的任务、规定测试活动的任务、测试方法、进度、资源、人员职责等。测试方法、进度、资源、人员职责等。 文档编制计划

30、文档编制计划 规定所开发项目应编规定所开发项目应编制的文档种类、内容、进度、人员职制的文档种类、内容、进度、人员职责等。责等。 用户培训计划用户培训计划 规定对用户进行培训规定对用户进行培训的目标、要求、进度、人员职责等。的目标、要求、进度、人员职责等。41 综合支持计划综合支持计划 规定软件开发过程中规定软件开发过程中所需要的支持,以及如何获取和利用所需要的支持,以及如何获取和利用这些支持。这些支持。 软件分发计划软件分发计划 软件开发项目完成后,软件开发项目完成后,如何提供给用户。如何提供给用户。423. 项目实施计划中任务的划分项目实施计划中任务的划分n如何进行工作划分是实施计划首先应如

31、何进行工作划分是实施计划首先应解决的问题。常用的计划结构有:解决的问题。常用的计划结构有: 阶段项目计划阶段项目计划 按软件生存期,把开发工作划分为若按软件生存期,把开发工作划分为若干阶段,对每一阶段工作做出计划。干阶段,对每一阶段工作做出计划。再把每一阶段工作分解为若干任务,再把每一阶段工作分解为若干任务,做出任务计划。还要把任务细分为若做出任务计划。还要把任务细分为若干步骤,做出步骤计划。干步骤,做出步骤计划。43 任务分解结构任务分解结构 按项目的实际情况进行自顶向下的结按项目的实际情况进行自顶向下的结构化分解,形成树形任务结构。进一构化分解,形成树形任务结构。进一步把工作内容、所需工作

32、量、预计完步把工作内容、所需工作量、预计完成的期限也规定下来。成的期限也规定下来。 任务责任矩阵任务责任矩阵 在任务分解的基础上,把工作分配给在任务分解的基础上,把工作分配给相关的人员,用一个矩阵形表格表示相关的人员,用一个矩阵形表格表示任务的分工和责任。任务的分工和责任。44任务分解结构任务分解结构45任务责任矩阵任务责任矩阵46 软件项目组织的建立软件项目组织的建立n开发组织采用什么形式,要针对开发组织采用什么形式,要针对软件软件项目的特点项目的特点来决定,同时也来决定,同时也与参与人与参与人员的素质有关员的素质有关。1、组织原则、组织原则 (1) 尽早落实责任:尽早落实责任: 在软件项目

33、工作在软件项目工作开始时,要尽早开始时,要尽早指定专人负责指定专人负责。使他。使他有权进行管理有权进行管理,并,并对任务的完成负全对任务的完成负全责责。47 (2)减少接口:)减少接口: 一个组织的一个组织的生产率生产率随完成任务中存在的通信路径数目增随完成任务中存在的通信路径数目增加而降低加而降低。要有合理的人员分工、好。要有合理的人员分工、好的组织结构、有效的通信,减少不必的组织结构、有效的通信,减少不必要的生产率的损失。要的生产率的损失。 (3)责权均衡:)责权均衡: 软件经理人员所负软件经理人员所负的责任不应比委任给他的权力还大。的责任不应比委任给他的权力还大。482. 组织结构的模式

34、组织结构的模式 (1)按课题划分的模式)按课题划分的模式 把软件开发人员按课题组成小组,小把软件开发人员按课题组成小组,小组成员自始至终参加所承担课题的各组成员自始至终参加所承担课题的各项任务。他们应负责完成软件产品的项任务。他们应负责完成软件产品的定义、设计、实现、测试、复查、文定义、设计、实现、测试、复查、文档编制、甚至包括维护在内的全过程。档编制、甚至包括维护在内的全过程。49 (2)按职能划分的模式)按职能划分的模式 把参加开发项目的软件人员按任务的把参加开发项目的软件人员按任务的工作阶段划分成若干个专业小组。要工作阶段划分成若干个专业小组。要开发的软件产品在每个专业小组完成开发的软件

35、产品在每个专业小组完成阶段加工(即工序)以后,沿工序流阶段加工(即工序)以后,沿工序流水线向下传递。例如,分别建立计划水线向下传递。例如,分别建立计划组、需求分析组、设计组、实现组、组、需求分析组、设计组、实现组、系统测试组、质量保证组、维护组等。系统测试组、质量保证组、维护组等。各种文档资料按工序在各组之间传递。各种文档资料按工序在各组之间传递。50 (3)矩阵形模式)矩阵形模式 这种模式实际上是以上两种模式的复这种模式实际上是以上两种模式的复合。一方面,按工作性质,成立一些合。一方面,按工作性质,成立一些专门组,如开发组、业务组、测试组专门组,如开发组、业务组、测试组等;另一方面,每一个项

36、目又有它的等;另一方面,每一个项目又有它的经理人员负责管理。每个软件人员属经理人员负责管理。每个软件人员属于某一个于某一个 专门组,又参加某一项目的专门组,又参加某一项目的工作。工作。51523.程序设计小组的组织形式程序设计小组的组织形式n小组内部人员的组织形式对生产率也小组内部人员的组织形式对生产率也有影响。现有的组织形式有三种。有影响。现有的组织形式有三种。 (1)主程序员制小组)主程序员制小组 小组的核心由一位小组的核心由一位主程序员主程序员(高级工程高级工程师师)、二至五位、二至五位技术员技术员、一位、一位后援工程后援工程师师组成。主程序员负责小组全部技术组成。主程序员负责小组全部技

37、术活动的计划、协调与审查,设计和实活动的计划、协调与审查,设计和实现项目中的关键部分。现项目中的关键部分。53 技术员负责项目的具体分析与开发,技术员负责项目的具体分析与开发,文档资料的编写工作。后援工程师支文档资料的编写工作。后援工程师支持主程序员的工作,为主程序员提供持主程序员的工作,为主程序员提供咨询,也做部分分析、设计和实现的咨询,也做部分分析、设计和实现的工作。并在必要时能代替主程序员工工作。并在必要时能代替主程序员工作。作。 主程序员制小组还可以由一些主程序员制小组还可以由一些专家专家(如通信专家或数据库设计专家如通信专家或数据库设计专家)、辅辅助人员助人员(如打字员和秘书如打字员

38、和秘书)、软件资料软件资料员员协助工作。协助工作。54 (2)民主制小组)民主制小组 在民主制小组中,遇到问题,组内成在民主制小组中,遇到问题,组内成员之间可以平等地交换意见。员之间可以平等地交换意见。工作目工作目标的制定及做出决定都由全体成员参标的制定及做出决定都由全体成员参加。加。虽然也有一位成员当组长,但工虽然也有一位成员当组长,但工作的讨论、成果的检验都公开进行。作的讨论、成果的检验都公开进行。这种组织形式强调发挥小组每个成员这种组织形式强调发挥小组每个成员的积极性。的积极性。有人认为这种组织形式适有人认为这种组织形式适合于研制时间长、开发难度大的项目。合于研制时间长、开发难度大的项目

39、。55 (3)层次式小组)层次式小组 在层次式小组中,组内人员分为在层次式小组中,组内人员分为 三级:三级:组长(项目负责人)组长(项目负责人)一人负责全组工一人负责全组工作,包括任务分配、技术评审和走查、作,包括任务分配、技术评审和走查、掌握工作量和参加技术活动。掌握工作量和参加技术活动。 他直接他直接领导二至三名领导二至三名高级程序员高级程序员,每位高级,每位高级程序员通过基层小组,管理若干位程序员通过基层小组,管理若干位程程序员序员。56n这种组织结构这种组织结构只允许必要的人际通信只允许必要的人际通信。比较比较适用于项目本身就是层次结构的适用于项目本身就是层次结构的课题课题。因为这样可

40、以把项目按功能划。因为这样可以把项目按功能划分成若干个子项目,把子项目分配给分成若干个子项目,把子项目分配给基层小组,由基层小组完成。基层小组,由基层小组完成。n这种组织方式比较适合于大型软件项这种组织方式比较适合于大型软件项目的开发。目的开发。5758 人员配备人员配备n如何合理地配备人员,也是成功地完如何合理地配备人员,也是成功地完成软件项目的切实保证。所谓合理地成软件项目的切实保证。所谓合理地配备人员应包括:配备人员应包括:u 按不同阶段适时任用人员按不同阶段适时任用人员u 恰当掌握用人标准恰当掌握用人标准。591. 项目开发各阶段所需人员项目开发各阶段所需人员n一个软件项目完成的快慢,

41、取决于参一个软件项目完成的快慢,取决于参与开发人员的多少。与开发人员的多少。n在开发的整个过程中,多数软件项目在开发的整个过程中,多数软件项目是以恒定人力配备的。是以恒定人力配备的。n实际人力需求与开发进度的关系如下实际人力需求与开发进度的关系如下图中的曲线所示图中的曲线所示。6061n按此曲线,需要的人力随开发进展逐渐按此曲线,需要的人力随开发进展逐渐增加,在编码与单元测试阶段达到高峰,增加,在编码与单元测试阶段达到高峰,以后又逐渐减少。以后又逐渐减少。n如果恒定地配备人力,在开发初期将会如果恒定地配备人力,在开发初期将会有部分人力资源用不上而浪费掉。在开有部分人力资源用不上而浪费掉。在开发

42、中期,需要人力不够,造成进度的延发中期,需要人力不够,造成进度的延误。在开发后期就需要增加人力以赶进误。在开发后期就需要增加人力以赶进度。度。n恒定地配备人力将浪费人力资源。恒定地配备人力将浪费人力资源。622. 配备人员的原则配备人员的原则n重质量重质量 软件项目是技术性很强的工作,软件项目是技术性很强的工作,要任用少量有实践经验、有能力的人员要任用少量有实践经验、有能力的人员去完成关键性的任务。去完成关键性的任务。n重培训重培训 培养所需技术人员和管理人员培养所需技术人员和管理人员是有效解决人员问题的好方法。是有效解决人员问题的好方法。n双阶梯提升双阶梯提升 人员提升应分别按技术职人员提升

43、应分别按技术职务和管理职务进行,不能混在一起。务和管理职务进行,不能混在一起。633. 对项目经理人员的要求对项目经理人员的要求n软件经理人员是工作的组织者,软件经理人员是工作的组织者,他的他的管理能力的强弱是项目成败的关键管理能力的强弱是项目成败的关键。他应具有以下能力:他应具有以下能力: 把用户提出的非技术性要求加以整理把用户提出的非技术性要求加以整理提炼提炼, 以技术说明书的形式转告给分析以技术说明书的形式转告给分析员和测试员。员和测试员。 能说服用户放弃一些不切实际的要求能说服用户放弃一些不切实际的要求, 以保证合理的要求得以满足。以保证合理的要求得以满足。64 能够把表面上似乎无关的

44、要求集中在能够把表面上似乎无关的要求集中在一起一起, 归结为归结为 “需要什么需要什么”, “要解决要解决什么问题什么问题”。这是一种综合问题的能。这是一种综合问题的能力。力。 要懂得心理学要懂得心理学, 能说服上级领导和用能说服上级领导和用户,让他们理解什么是不合理的要求。户,让他们理解什么是不合理的要求。但又要使他们毫不勉强但又要使他们毫不勉强, 乐乐 于接受,于接受,并受到启发。并受到启发。654. 评价人员的条件评价人员的条件n软件项目中人的因素越来越受重视。软件项目中人的因素越来越受重视。在评价和任用软件人员时,必须掌握在评价和任用软件人员时,必须掌握一定的标准。一定的标准。人员素质

45、的优劣常常影人员素质的优劣常常影响到项目的成败响到项目的成败。 牢固掌握计算机软件的基本知识和技牢固掌握计算机软件的基本知识和技能。能。 善于分析和综合问题,具有严密的逻善于分析和综合问题,具有严密的逻辑思维能力。辑思维能力。66 工作踏实、细致工作踏实、细致, 不靠碰运气,遵循不靠碰运气,遵循标准和规范,具有严格的科学作风。标准和规范,具有严格的科学作风。 工作中表现出有耐心、有毅力、有责工作中表现出有耐心、有毅力、有责任心。任心。 善于听取别人的意见,善于与周围人善于听取别人的意见,善于与周围人员团结协作,建立良好的人际关系。员团结协作,建立良好的人际关系。 具有良好的书面和口头表达能力。

46、具有良好的书面和口头表达能力。6713.5 质量保量保证1 1软件质量软件质量2 2 软件质量就是软件质量就是“软件与明确地和隐软件与明确地和隐含地定义的需求相一致的程度含地定义的需求相一致的程度”。更具体更具体地说,软件质量是软件与明确地叙述的功地说,软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。有的隐含特征相一致的程度。68软件质量因素与产品活动的关系软件质量因素与产品活动的关系692 2软件质量保证措施软件质量保证措施 软件质量保证(s

47、oftware quality assurance SQA)的措施主要有: 基于非执行的测试(也称为复审或评审),主要用来保证在编码之前各阶段产生的文档的质量;基于执行的测试(即以前讲过的软件测试),需要在程序编写出来之后进行,它是保证软件质量的最后一道防线;程序正确性证明,使用数学方法严格验证程序是否与对它的说明完全一致。70参加软件质量保证工作的人员,可以划分成下述两类: 软件工程师通过采用先进的技术方法和度量,进行正式的技术复审以及完成计划周密的软件测试来保证软件质量。 SQA小组的职责,是辅助软件工程师以获得高质量的软件产品。其从事的软件质量保证活动主要是: 计划,监督,记录,分析和报

48、告。简而言之,SQA小组的作用是,通过确保软件过程的质量来保证软件产品的质量。71软件质量保证具体措施软件质量保证具体措施1. 走走 查2. 审审 查查3. 测测 试试4. 证证 明明 7213.6 软件配置管理件配置管理 (SCM ) Software Configuration Management 在开发软件的过程中,变化(或称为变动)既是必要的,又是不可避免的。但是,变化也很容易失去控制,如果不能适当地控制和管理变化,势必造成混乱并产生许多严重的错误。 软件配置管理是在软件的整个生命期内管理变化的一组活动 标识变化; 控制变化; 确保适当地实现了变化; 向需要知道这类信息的人报告变化。

49、 配置管理是在软件项目启动时就开始,并且一直持续到软件退役后才终止的一组跟踪和控制活动。 软件配置管理的目标是,使变化更正确且更容易被适应,在必须变化时减少所需花费的工作量。7313.6.1 软件配置件配置1. 软件配置件配置项 计算机程序(源代算机程序(源代码和可和可执行程序);行程序); 描述描述计算机程序的文档(供技算机程序的文档(供技术人人员或用或用户使用);使用); 数据(程序内包含的或在程序外的)。数据(程序内包含的或在程序外的)。 为了开发出高质量的软件产品,软件开发人员为了开发出高质量的软件产品,软件开发人员不仅要努力保证每个软件配置项正确,而且必须保不仅要努力保证每个软件配置

50、项正确,而且必须保证一个软件的所有配置项是完全一致的。证一个软件的所有配置项是完全一致的。742. 2. 基线基线 IEEE把基线定义为: 已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变它。基线(Baseline)由一组配置项组成,这些配置项构成了一个相对稳定的逻辑实体。基线中的配置项被“冻结”了,不能再被任何人随意修改(见变更控制规程)。基线通常对应于开发过程中的里程碑(Milestone),一个产品可以有多个基线,也可以只有一个基线。基线的主要属性有:名称、标识符、版本、日期等。通常将交付给客户的基线称为一个“Release”,为

51、内部开发用的基线则称为一个“Build”。 7513.6.2 软件配置管理过程软件配置管理过程 1 1、 标识配置项标识配置项 2 2、 进行配置控制进行配置控制 3 3、 执行配置审计执行配置审计 4 4、 记录配置状态记录配置状态 配置控制是核心:配置控制是核心: 存取控制(开发库、基线库、产品库)存取控制(开发库、基线库、产品库) 版本控制版本控制 变更控制变更控制 产品发布控制产品发布控制7613.6.3 13.6.3 常用配置管理工具常用配置管理工具1、 SourceSafe SourceSafeSourceSafe是是MicrosoftMicrosoft公公司司推推出出的的配配置置

52、管管理理工工具具,是是Visual Visual StudioStudio的的套套件件之之一一。SourceSafeSourceSafe是是国国内内最最流流行行的的配配置置管管理理工工具具,用用户户量量绝绝对对是是第第一位。一位。 SourceSafeSourceSafe长长得得很很象象早早先先土土气气的的文文件件管管理理器器,的的确确难难看看。但但是是难难看看不不碍碍事事,SourceSafeSourceSafe的的优优点点可可以以用用8 8个个字字来来概概括括“简简单单易易用用,一一学学就就会会”,这个优点是它老妈这个优点是它老妈MicrosoftMicrosoft遗传下来的,是天生的。遗

53、传下来的,是天生的。 虽虽然然SourceSafeSourceSafe并并不不是是免免费费的的,但但是是在在国国内内人人们们以以接接近近于于零零的的成成本本得得到到它它,网网上上到到处处可可以以下下载载啊啊。当当然然MicrosoftMicrosoft也也不不在在乎乎这这个个小小不不点点的的软软件件,它它属属于于“买买大大件件送送小小件件”的的角角色色。如如果果你你合合法法地地得得到到Visual Visual StudioStudio,你就得到了免费的你就得到了免费的SourceSafeSourceSafe。 SourceSafeSourceSafe的主要局限性:的主要局限性:只只能能在在W

54、indowsWindows下下运运行行,不不能能在在Unix, Unix, LinuxLinux下下运运行行。SourceSafeSourceSafe不不支支持持异异构构环环境境下下的的配配置置管管理理,对对用用户户而而言言是是个个麻麻烦烦事事。这这不不是是技技术术问题,是微软公司产品战略决定的。问题,是微软公司产品战略决定的。适适合合于于局局域域网网内内的的用用户户群群,不不适适合合于于通通过过InternetInternet连连接接的的用用户户群群,因为因为SourceSafeSourceSafe是通过是通过“共享目录共享目录”方式存储文件的。方式存储文件的。772 、CVS CVS CV

55、S 是是 Concurrent Concurrent Version Version SystemSystem(并并行行版版本本系系统统)的的缩缩写写,它它是是著著名名的开放源代码的配置管理工具。的开放源代码的配置管理工具。 CVSCVS的的官官方方网网站站是是http:/www.cvshome.org/http:/www.cvshome.org/ 。官官方方提提供供的的是是CVSCVS服服务务器器和和命命令令行行程程序序,但但是是官官方方并并不不提提供供交交互互式式的的客客户户端端软软件件。许许多多软软件件机机构构根根据据CVSCVS官官方方提提供供的的编编程程接接口口开开发发了了各各色色各

56、各样样的的CVSCVS客客户户端端软软件件,最最有有名名的的当当推推WindowsWindows环环境境的的CVSCVS客客户户端端软软件件WinCVSWinCVS。WinCVSWinCVS是是免免费费的的,但但是是并并不不开开放源代码。放源代码。与与SourceSafeSourceSafe相比,相比,CVSCVS的主要优点是:的主要优点是:SourceSafeSourceSafe有有 的的 功功 能能 CVSCVS全全 都都 有有 , CVSCVS支支 持持 并并 发发 的的 版版 本本 管管 理理 ,SourceSafeSourceSafe没没有有并并发发功功能能。CVSCVS服服务务器器

57、的的功功能能和和性性能能都都比比SourceSafeSourceSafe高出一筹。高出一筹。CVSCVS服服务务器器是是用用JavaJava编编写写的的,可可以以在在任任何何操操作作系系统统和和网网络络环环境境下下运运行行。CVSCVS深深受受UnixUnix和和Linux Linux 的的用用户户喜喜爱爱。BorlandBorland公公司司的的JBuilderJBuilder提提供供了了CVSCVS的的插插件件,JavaJava程程序序员员可可以以在在JBuilderJBuilder集集成成环环境境中中使使用用CVSCVS进进行行版版本本控制。控制。CVSCVS服服务务器器有有自自己己专专

58、用用的的数数据据库库,文文件件存存储储并并不不采采用用SourceSafeSourceSafe的的“共享目录共享目录”方式,所以不受限于局域网,信息安全性很好。方式,所以不受限于局域网,信息安全性很好。CVSCVS的的主主要要缺缺点点在在于于客客户户端端软软件件,真真可可谓谓五五花花八八门门、良良莠莠不不齐齐。UnixUnix和和Linux Linux 的的软软件件高高手手可可以以直直接接使使用用CVSCVS命命令令行行程程序序,而而WindowsWindows用用户户通通常常使使用用WinCVSWinCVS。安安装装和和使使用用WinCVSWinCVS显显然然比比SourceSafeSour

59、ceSafe麻麻烦烦不不少少,这这是是令令人人比比较较遗遗憾的。憾的。783、 ClearCaseIBMIBM(RationalRational公司)的公司)的ClearCaseClearCase是软件行业公认的功能最强大、价格是软件行业公认的功能最强大、价格最昂贵的配置管理软件。最昂贵的配置管理软件。 ClearCaseClearCase主主要要应应用用于于复复杂杂产产品品的的并并行行开开发发、发发布布和和维维护护,其其功功能能划划分分为为四四个个范范畴畴:版版本本控控制制、工工作作空空间间管管理理(Workspace Workspace ManagementManagement)、构构造造

60、管管理理(Build Build ManagementManagement)、过过程程控控制制(Process Process ControlControl)。ClearCaseClearCase通通过过TCP/IPTCP/IP来来连连接接客客户户端端和和服服务务器器。另另外外,ClearCaseClearCase拥拥有有的的浮动浮动LicenseLicense可以跨越可以跨越UNIXUNIX和和Windows NTWindows NT平台被共享。平台被共享。 ClearCaseClearCase的的功功能能比比CVSCVS、SourceSafeSourceSafe强强大大得得多多,但但是是其

61、其用用户户量量却却远远不不如如CVSCVS、SourceSafeSourceSafe的多。主要原因是:的多。主要原因是: ClearCaseClearCase价价格格昂昂贵贵,如如果果没没有有批批量量折折扣扣的的话话,每每个个LicenseLicense大大约约50005000美元。对于中国用户而言,这无疑是天价。美元。对于中国用户而言,这无疑是天价。 用用户户只只有有经经过过几几天天的的培培训训后后(费费用用同同样样很很昂昂贵贵),才才能能正正常常使使用用ClearCaseClearCase。如果不参加培训的话,用户基本上不可能无师自通。如果不参加培训的话,用户基本上不可能无师自通。7913

62、.7 13.7 能力成熟度模型能力成熟度模型1、概述、概述1) CMM是什么是什么 CMM(Capability Maturity Model)是用于衡量软件过程能力的事实上的标准,同时也是目前软件过程改进最好的参考标准。美国卡内基-梅隆大学软件工程研究所(SEI)研制2) 发展简史发展简史 CMM 1.0于1991年制定。 CMM 1.1于1993发布,该版本应用最广泛。 CMM 2.0草案于1997年制定(未广泛应用)。 到2000年,CMM演化成为CMMI(Capability Maturity Model Integration),CMM 2.0成为CMMI 1.0的主要组成部分。 C

63、MMI-SE/SW 1.1(CMMI for System Engineering and Software Engineering)于2002年1月正式推出。 3) CMM重要概念重要概念5个成熟度等级:Initial, Repeatable, Defined, Managed, Optimizing18个关键过程域。关键过程域指出为了达到某个成熟度等级必须要解决的一族问题。 804 4)能力成熟度模型的基本思想)能力成熟度模型的基本思想 - - 帮助软件开发机构建立一个有规律的、成熟的软件过程。帮助软件开发机构建立一个有规律的、成熟的软件过程。改进后的软件过程将开发出质量更好的软件,使更多

64、的软件项改进后的软件过程将开发出质量更好的软件,使更多的软件项目免受时间和费用超支之苦。目免受时间和费用超支之苦。5 5)CMMCMM的策略的策略 - - 力图改进对软件过程的管理,而在技术方面的改进是其力图改进对软件过程的管理,而在技术方面的改进是其必然的结果。必然的结果。6 6)CMMCMM在改进软件过程中所起的作用在改进软件过程中所起的作用 - - 指导软件机构通过确定当前的过程成熟度并识别出对过指导软件机构通过确定当前的过程成熟度并识别出对过程改进起关键作用的问题,从而明确过程改进的方向和策略。程改进起关键作用的问题,从而明确过程改进的方向和策略。通过集中开展与过程改进的方向和策略相一

65、致的一组过程改进通过集中开展与过程改进的方向和策略相一致的一组过程改进活动,软件机构便能稳步而有效地改进其软件过程,使其软件活动,软件机构便能稳步而有效地改进其软件过程,使其软件过程能力得到循序渐进的提高。过程能力得到循序渐进的提高。812、 CMMCMM的五个级别的五个级别CMM提供了将这些演化步骤组织为提供了将这些演化步骤组织为5个成熟度级别的框架,这个成熟度级别的框架,这为持续的过程改进提供了基础。为持续的过程改进提供了基础。成熟度级别定义了在使成熟度级别定义了在使 软件过程成熟的过程软件过程成熟的过程 中的演化状态。中的演化状态。初始级(1)可重复级(2)已定义级(3)已管理级(4)严

66、格的严格的过程过程标准的一致的标准的一致的过程过程可预言的可预言的过程过程持续改善的持续改善的过程过程持续优化级(5)82初始级初始级组织:组织通常没有提供开发和维护软件的稳组织:组织通常没有提供开发和维护软件的稳定的环境。定的环境。项目:当发生危机时,项目通常放弃计划的过项目:当发生危机时,项目通常放弃计划的过程,回复到编码和测试。程,回复到编码和测试。过程能力:不可预测。过程能力:不可预测。(unpredictable)可重复级可重复级组织:将软件项目的有效管理过程制度化,这组织:将软件项目的有效管理过程制度化,这使得组织能够重复以前项目中的成功实践。使得组织能够重复以前项目中的成功实践。

67、项目:配备了基本的软件管理控制。项目:配备了基本的软件管理控制。过程能力:严格的。过程能力:严格的。(disciplined)83已定义级已定义级组织:在组织范围内开发和维护软件的标准过程被组织:在组织范围内开发和维护软件的标准过程被文档化,其中包括软件工程过程和管理过程,它们文档化,其中包括软件工程过程和管理过程,它们集成为一个一致的整体。集成为一个一致的整体。项目:对组织的标准软件过程进行裁剪,来开发它项目:对组织的标准软件过程进行裁剪,来开发它们自己的定义软件过程。们自己的定义软件过程。过程能力:标准的和一致的。过程能力:标准的和一致的。(standard and consistent)

68、已管理级已管理级组织:为软件产品和过程都设定了量化的质量目标。组织:为软件产品和过程都设定了量化的质量目标。项目:项目减小过程性能的变化性,使其进入可接项目:项目减小过程性能的变化性,使其进入可接收的量化边界,从而达到对产品和过程的控制。收的量化边界,从而达到对产品和过程的控制。过程能力:可预言的。过程能力:可预言的。(predictable)84持续优化级持续优化级组织:关注于持续的过程改进。组织:关注于持续的过程改进。项目:软件过程被评价,以防止过失重复项目:软件过程被评价,以防止过失重复发生,从中获得的教训散布给其它项目。发生,从中获得的教训散布给其它项目。过程能力:持续的改善。过程能力

69、:持续的改善。(continuously improving)853 3、关于五个级别的说明、关于五个级别的说明从第从第1级提升到第级提升到第2级可能需要几年的时间,在其它级别间提升通级可能需要几年的时间,在其它级别间提升通常依次需要常依次需要2年的时间。年的时间。由于每个级别形成了达到下一个级别的必须的基础,所以跳过级由于每个级别形成了达到下一个级别的必须的基础,所以跳过级别是达不到预期的目标的。别是达不到预期的目标的。用途用途 - 评定评定(Assessment)组使用组使用CMM,识别组织的长处和弱点;,识别组织的长处和弱点; - 评价评价(Evaluation)组使用组使用CMM,识别

70、在不同的订约人之间进,识别在不同的订约人之间进行风险的选择,并监控合同;行风险的选择,并监控合同; - 管理者和技术人员使用管理者和技术人员使用CMM,理解为他们的组织所制定的规,理解为他们的组织所制定的规划以及实现软件过程改善计划所需的活动;划以及实现软件过程改善计划所需的活动; - 过程改善组使用过程改善组使用CMM,作为在他们的组织中定义和改善软件,作为在他们的组织中定义和改善软件过程的指南。过程的指南。864 4、成熟度级别的内部结构、成熟度级别的内部结构成熟度级别成熟度级别关键过程区域关键过程区域(KPA)共同特征共同特征关键实践关键实践过程能力过程能力目标目标实现或实现或制度化制度

71、化基础设施基础设施或活动或活动包含包含指示指示组织组织达到达到包含包含解决解决描述描述87初始级初始级(1) 软件配置管理软件配置管理 软件质量保证软件质量保证 软件子合同管理软件子合同管理 软件项目跟踪和监督软件项目跟踪和监督 软件项目规划软件项目规划需求管理需求管理可重复级可重复级(2) 对等复审对等复审 组间协作组间协作 软件产品工程软件产品工程 集成的软件管理集成的软件管理 培训计划培训计划 组织过程定义组织过程定义组织过程关注组织过程关注定义级定义级(3) 软件质量管理软件质量管理量化的过程管理量化的过程管理管理级管理级(4) 过程变化管理过程变化管理 技术变化管理技术变化管理错误预防错误预防优化级优化级(5) 软件质量管理软件质量管理量化的过程管理量化的过程管理88告一段落!告一段落!89

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号