安徽工程科技学院计算机系_第1页
安徽工程科技学院计算机系_第2页
安徽工程科技学院计算机系_第3页
安徽工程科技学院计算机系_第4页
安徽工程科技学院计算机系_第5页
已阅读5页,还剩94页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章软件项目管理 软件项目管理的概念、原则和技术项目管理计划、组织、监管和控制软件开发过程的度量和定量分析2023/1/111安徽工程科技学院计算机系

软件项目管理目的为了使软件项目能够在预定成本、进度、质量的前提下顺利完成,必须对软件工程项目进行计划、组织、监控和管理

第二章软件项目管理2023/1/112安徽工程科技学院计算机系软件项目管理

任务制定软件项目的实施计划和方案;对人员进行组织和分工;按照计划进度,以及成本管理、风险管理、质量管理的要求进行软件开发,完成软件项目的各项要求和任务。第二章软件项目管理2023/1/113安徽工程科技学院计算机系软件项目管理内容软件度量软件项目估算软件质量度量软件复杂性度量软件可靠性度量软件开发过程的管理软件项目管理中的CASE工具第二章软件项目管理2023/1/114安徽工程科技学院计算机系软件项目管理特点管理在软件工程项目中的地位和作用与其它工程项目一样十分重要,必须对成本、人员、进度、质量、风险等进行分析和管理。软件产品是逻辑的,软件项目的施工是开发小组集体的智力劳动,使用的开发工具是建立在计算机系统上的软件。软件很多属性无法直接度量为软件定量分析和项目管理增加困难。第二章软件项目管理2023/1/115安徽工程科技学院计算机系2.1软件度量软件度量的意义软件度量的概念软件规模度量软件功能度量第二章软件项目管理2023/1/116安徽工程科技学院计算机系2.1.1度量、测量和估算(1/3)度量metrics度量具有数字特征,软件工程范围的度量是软件开发过程、软件资源或软件产品简单属性的定量描述。如,程序规模、操作符个数、程序中错误的个数等。2.1软件度量2023/1/117安徽工程科技学院计算机系度量、测量和估算(2/3)测量measure对软件开发过程、产品和资源进行实时和事后的定量描述,涉及测量的要素、方法、过程、工具和数值结果。直接测量和间接测量直接测量用于不依赖于其它属性的简单属性;间接测量用于依赖于若干其它属性的要素、准则和属性。2.1软件度量2023/1/118安徽工程科技学院计算机系度量、测量和估算(3/3)估算estimation对软件产品、过程、资源进行预测估算可以采用经验公式、或参考历史资料估算用于事前签订合同、立项、制定工作计划等2.1软件度量2023/1/119安徽工程科技学院计算机系度量、测量和估算

软件的外部属性和内部属性外部属性软件产品、过程、资源与环境的关系内部属性软件产品、过程、资源、环境自身的属性2.1软件度量2023/1/1110安徽工程科技学院计算机系度量、测量和估算用户和管理者关心外部属性,但在开发过程中无法直接管理和控制。由于外部属性是由内部属性决定的,因此必须建立外部属性与内部属性的关系,并通过内部属性的度量去度量外部属性。2.1软件度量2023/1/1111安徽工程科技学院计算机系度量、测量和估算产品的内部属性程序代码长度程序功能模块化重用性控制流数据流模块耦合度与内聚度产品的外部属性程序的可靠性可用性可维护性软件的可理解性有效性可移植性2.1软件度量2023/1/1112安徽工程科技学院计算机系度量、测量和估算过程的内部属性工作量计划和进度一段时间内某类事件发生的次数过程的外部属性成本可控制性可观察性稳定性2.1软件度量2023/1/1113安徽工程科技学院计算机系度量、测量和估算资源的内部属性人软硬件环境方法经验资源的外部属性成本时间2.1软件度量2023/1/1114安徽工程科技学院计算机系2.1.2规模度量代码行数LOC或KLOC生产率

Pl=L/E

其中L软件项目代码行数

E软件项目工作量(人月PM)Pl软件项目生产率(LOC/PM)2.1软件度量2023/1/1115安徽工程科技学院计算机系规模度量代码出错率

EQRl=Ne/L

其中Ne

软件项目的代码错误数

EQRl

每千行代码的错误数2.1软件度量2023/1/1116安徽工程科技学院计算机系例软件项目记录项目工作量

PM成本万美元代码行kLOC文档页数

Pd错误数

Ne人数

MAaa-012416.812.1365293Ccc-046244.027.21224865Fff-034331.420.210506462.1软件度量2023/1/1117安徽工程科技学院计算机系规模度量每行代码平均成本

Cl=S/L

其中S软件项目总开销(元/美元)

Cl软件项目每行代码的平均成本文档与代码比

Dl=Pd/L

其中Pd软件项目文档页数

Dl每千行代码的平均文档数2.1软件度量2023/1/1118安徽工程科技学院计算机系规模度量用软件代码行数估算软件规模简单易行。缺点代码行数的估算依赖于程序设计语言的功能和表达能力;采用代码行估算方法会对设计精巧的软件项目产生不利的影响;在软件项目开发前或开发初期估算它的代码行数十分困难;代码行估算只适用于过程式程序设计语言,对非过程式的程序设计语言不太适用等等。2.1软件度量2023/1/1119安徽工程科技学院计算机系

FP=CT*[0.65+0.01*∑Fi](2-5)

其中:CT按表2.3计算

Fi

是复杂性调节值

Fi

取值0,1,...,5当Fi=0时,表示Fi

不起作用

Fi=5时,表示Fi

作用最大2.1.3面向功能的度量2.1软件度量2023/1/1120安徽工程科技学院计算机系表2.3功能点度量测量参数值权值用户输入数□*4=□用户输出数□*5=□用户查询数□*4=□文件数□*7=□外部界面数□*7=□CT=

□2.1软件度量2023/1/1121安徽工程科技学院计算机系面向功能的度量表2.3中的五个信息量按下列方式取值用户输入数

用户为软件提供的输入参数个数用户输出数

件系统为用户提供的输出参数个数用户查询数

一个联机输入确定一次查询,软件以联机输出的形式,实时地产生一个响应文件数

统计逻辑的主文件个数外部界面数

2.1软件度量2023/1/1122安徽工程科技学院计算机系面向功能的度量用功能点定义的概念生产率

Pf=FP/E

(2-6)

其中Pf表示每人月完成的功能点数2.1软件度量2023/1/1123安徽工程科技学院计算机系

面向功能的度量优点①与程序设计语言无关,它不仅适用于过程式语言,也适用于非过程式的语言;②软件项目开发初期就能基本上确定系统的输入、输出等参数,功能点度量能用于软件项目的开发初期。2.1软件度量2023/1/1124安徽工程科技学院计算机系面向功能的度量缺点①它涉及到的主观因素比较多,如各种权函数的取值;②信息领域中的某些数据有时不容易采集;③FP的值没有直观的物理意义。

2.1软件度量2023/1/1125安徽工程科技学院计算机系2.2软件项目估算软件开发成本占总成本的比例很大。客户和项目管理人员都十分重视软件项目的成本估算。软件是逻辑产品,成本估算涉及人、技术、环境、政策等多种因素,在项目完成之前,很难精确地估算出项目的开销。

第二章软件项目管理2023/1/1126安徽工程科技学院计算机系软件项目估算常用的估算方法①参照已经完成的类似项目估算待开发项目的成本和工作量。②将大的项目分解成若干子项目,在估算出每个子项目成本和工作量之后,再估算整个项目。③将软件项目按软件生存周期分解,分别估算出软件项目在软件开发各个阶段的工作量和成本,然后再把这些工作量和成本汇总估算整个项目。④根据实验或历史数据给出软件项目工作量或成本的经验估算公式。2.2软件项目估算2023/1/1127安徽工程科技学院计算机系软件项目估算四种方法可以同时、单独或组合使用,以便取长补短,提高项目估算的精度和可靠性。

采用分解技术估算软件项目应考虑系统集成时需要的工作量。为了实现软件项目估算,实践中开发了大量的软件项目自动估算工具,用以支持软件工作量或成本估算。2.2软件项目估算2023/1/1128安徽工程科技学院计算机系2.2.1代码行、功能点和工作量估算软件项目的规模是影响软件项目成本和工作量的重要因素。软件项目代码行和功能点估算是成本和工作量估算的基础。采用上述四种估算方法可以估算出LOC或FP的乐观值a,悲观值b和一般值m,然后根据下列加权公式计算出期望值

e=(a+4m+b)/6(2-10)

希望LOC或FP的值落在区间[a,b]之外的概率极小2.2软件项目估算2023/1/1129安徽工程科技学院计算机系代码行、功能点和工作量估算当LOC或FP的期望值估算出来之后,根据以前软件项目开发的平均生产率LOC/PM或FP/PM就可以计算出工作量。如,软件项目的规模估算为310FP,以前完成的软件项目的生产率为5.5FP/PM,于是工作量估算为E=310/5.5=56PM。2.2软件项目估算2023/1/1130安徽工程科技学院计算机系2.3软件质量度量1)软件质量定义及三层次度量模型2)软件质量要素3)软件质量要素评价准则第二章软件项目管理2023/1/1131安徽工程科技学院计算机系2.3.1软件质量定义及三层次度量模型质量低下的软件不但影响基于计算机系统的工作效率,而且还可能给用户带来灾难性的后果。提高软件产品质量是软件工程的首要任务。软件开发人员、管理人员、维护人员和用户在软件开发、维护、使用过程中所处地位不同,对软件质量的理解和要求也不同。2.3软件质量度量2023/1/1132安徽工程科技学院计算机系软件质量度量管理人员关心软件开发标准,在经费和时间允许的情况下,如何实现软件需求规格说明中定义的功能维护人员重视软件的正确性,可理解性和可修改性用户更关心软件的性能和可靠性等等

2.3软件质量度量2023/1/1133安徽工程科技学院计算机系软件质量度量

软件质量

软件产品满足规定的和隐含的与需求能力有关的全部特征和特性,包括1.软件产品品质满足用户要求的程度;2.软件各种属性的组合程度;3.用户对软件产品的综合反映程度;4.软件在使用过程中满足用户要求的程度。2.3软件质量度量2023/1/1134安徽工程科技学院计算机系软件质量度量软件质量依赖于软件的内部特性及其组合为了对软件质量进行度量,必须对影响软件质量的要素进行度量,并建立实用的软件质量度量体系或模型1968年Rubey和Hartwick提出了软件某些属性的度量方法1976年Boehm提出了定量评价软件质量的概念,给出了60个软件质量度量公式和软件质量度量的层次模型2.3软件质量度量2023/1/1135安徽工程科技学院计算机系软件质量度量1978年Walters和McCall提出了包括质量要素(factor)、准则(criteria)和度量(metric)的三层次软件质量度量模型G.Murine又提出了软件质量度量技术SQM用于定量地评价软件质量1985年国际标准化组织(ISO)提出了软件质量度量(SQM)工作报告2.3软件质量度量2023/1/1136安徽工程科技学院计算机系三层次软件质量度量模型

质量要素(factor)评价准则(criteria)度量(metric)

2.3软件质量度量2023/1/1137安徽工程科技学院计算机系2.3.2软件质量要素软件质量要素直接影响软件开发过程各个阶段的产品质量由于对软件质量理解的不断深化,软件质量要素不是一成不变的McCall等人给出的软件质量要素共11个,分为三类。2.3软件质量度量2023/1/1138安徽工程科技学院计算机系2.4软件复杂性度量软件复杂性及度量原则控制结构的复杂性度量文本复杂性度量第二章软件项目管理2023/1/1139安徽工程科技学院计算机系2.4.1软件复杂性及度量原则软件复杂性度量开发规模相同、复杂性不同的软件,花费的时间和成本会有很大差异。K.Magel从六个方面描述软件复杂性①理解程序的难度;②纠错、维护程序的难度;③向他人解释程序的难度;④按指定方法修改程序的难度;⑤根据设计文件编写程序的工作量;⑥执行程序时需要资源的程度。2.4软件复杂性度量2023/1/1140安徽工程科技学院计算机系软件复杂性度量的原则(1/2)1.软件复杂性与程序大小的关系不是线性的;2.控制结构复杂的程序较复杂;3.数据结构复杂的程序较复杂;4.转向语句使用不当的程序较复杂;5.循环结构比选择结构复杂;选择结构又比顺序结构复杂;6.语句、数据、子程序和模块在程序中的次序对复杂性有影响;2.4软件复杂性度量2023/1/1141安徽工程科技学院计算机系软件复杂性度量的原则(2/2)7.全程变量、非局部变量较多时,程序较复杂;8.参数按地址调用比按值调用复杂;9.函数副作用比显式参数传递难于理解;10.具有不同作用的变量共用一个名字时较难理解;11.模块间、过程间联系密切的程序比较复杂;12.嵌套越深程序越复杂。2.4软件复杂性度量2023/1/1142安徽工程科技学院计算机系2.4.2

控制结构的复杂性度量1976年T.J.McCabe

基于程序控制结构的软件复杂性度量模型。

2.4软件复杂性度量2023/1/1143安徽工程科技学院计算机系控制结构的复杂性度量程序控制结构图

程序结构对应于有一个入口结点和一个出口结点的有向图图中每个结点对应一个语句或一个顺序流程的程序代码块弧对应于程序中的转移由入口结点可以到达图中每个结点,并且从图中每个结点都可以到达出口结点2.4软件复杂性度量2023/1/1144安徽工程科技学院计算机系控制结构的复杂性度量

McCabe用程序控制结构图的巡回秩数V(G)作为程序结构复杂性的度量

V(G)=e-n+2(2—20)

其中:e为结构图的边数

n为结构图的结点数可以证明V(G)等于结构图中有界或无界的封闭区域个数2.4软件复杂性度量2023/1/1145安徽工程科技学院计算机系控制结构的复杂性度量程序中分枝结构数和循环结构数增加时,控制结构图的区域数增加,V(G)的值增大,程序的结构会变得更复杂。结构化程序设计控制流力求从高层指向低层,从低层指向高层的流向,会增加封闭区域的个数,反方向的控制流向越多V(G)越大,程序结构越复杂。2.4软件复杂性度量2023/1/1146安徽工程科技学院计算机系2.5软件可靠性度量软件可靠性是影响软件质量的要素。可靠性分析和可靠性测试是衡量软件质量的重要手段。本节研究软件可靠性、软件修复和有效性、度量、软件可靠性估算模型和方法。第二章软件项目管理2023/1/1147安徽工程科技学院计算机系

2.5.1软件可靠性的概念硬件可靠性可以用平均故障间隔时间(MTBF)来测量:MTBF=MTTF十MTTR其中,MTTF和MTTR分别是平均无故障时间和平均修复时间。2.5软件可靠性度量2023/1/1148安徽工程科技学院计算机系2.5.2

软件可靠性估算

70年代以来,建立了几十种软件可靠性模型,可分为宏观模型和微观模型两类。宏观模型微观模型

2.5软件可靠性度量2023/1/1149安徽工程科技学院计算机系2.6软件开发过程管理风险分析进度安排软件开发标准软件质量保证软件开发人员的组织与分工软件项目的开发过程管理软件过程及软件成熟度模型CMM软件项目管理中的CASE工具第二章软件项目管理2023/1/1150安徽工程科技学院计算机系2.6.1风险分析风险的概念风险与将要发生的事情有关,研究风险就是研究明天将要发生的事情风险涉及思想、观念、行为、地点、时间等多种因素风险随条件的变化而改变,人们通过改变、选择、控制与风险密切相关的条件减少、回避风险改变、选择、控制条件的策略是不确定的2.6软件开发过程的管理2023/1/1151安徽工程科技学院计算机系对待风险的态度被动从不担心发生任何问题,问题发生后再做出反应。软件项目组对存在的风险不闻不问,直到出了问题才赶紧采取措施。主动项目开始时就预测、标识项目存在的各种风险,评估风险发生的概率和影响的大小並按重要性进行排序;项目组建立风险管理计划和意外事件处理计划,以便预防风险,及时处理突发事件。2.6软件开发过程的管理2023/1/1152安徽工程科技学院计算机系风险分析和管理软件工程的风险风险标识风险估算风险规划风险监控2.6软件开发过程的管理2023/1/1153安徽工程科技学院计算机系软件工程的风险2.6软件开发过程的管理2023/1/1154安徽工程科技学院计算机系2.6.1软件工程的风险软件风险和其它风险一样存在不确定性,有些是很难预测的。对风险的不确定性进行量化,估算某一风险可能带来的损失。除关注软件项目的一般性风险外,还要关注软件项目的特殊风险,如项目的背景、特殊要求、关键内容、薄弱环节、技术难点、人员状况、工作环境等。

2.6软件开发过程的管理2023/1/1155安徽工程科技学院计算机系

软件工程的风险

软件工程项目存在各种风险,人们关心的问题是什么风险会导致软件项目的彻底失败?顾客需求、开发环境、目标机、时间、成本的改变对软件项目的风险会产生什么影响?人们必须抓住什么机会、采取什么措施才能有效地减少风险、顺利完成任务?这些问题是软件开发过程中不可避免,需要妥善处理的。

2.6软件开发过程的管理2023/1/1156安徽工程科技学院计算机系1风险标识对侍风险不能采取回避态度项目开始时应对一般性风险和特定产品风险进行系统标识,並随着项目的展开不断更新。一般可预测风险产品规模、商业影响、客户、过程、技术、环境、人员及经验等。识别风险的有效方法风险检测表2.6软件开发过程的管理2023/1/1157安徽工程科技学院计算机系2风险估算

如果某一风险检测表由m项组成,每项选取一个整数值0,1,…,N,在最理想的情况取值为0,反之取值为N对于中间状态依次取值1,2,…,N-1

当N=1时取值0,1对应布尔量真/假(T/F)

设第i种风险检测表第j项取值Xij,对应的加权系数是Wij,于是第i种风险的估算值可以定义为

mσi=∑WijXij/(mN)j=1

其中∑Wij=m,Wij≥0(2—49)2.6软件开发过程的管理2023/1/1158安徽工程科技学院计算机系

风险估算

如果第i种风险对整个软件项目的风险估算σi,加权系数是ρi,i=1,2,…,l.I为风险要素的个数∑ρi=1则软件项目风险估算定义为

R=∑ρiσi

(2—50)

0≤R≤1当R接近于0时表示风险比较小,R接近于1时表示风险比较大。当ρiσi比较大时,表示第i类风险出现并带来不良影响的可能性比较大,必须引起足够重视,设法改善条件,减小σi的值。2.6软件开发过程的管理2023/1/1159安徽工程科技学院计算机系3风险评价和管理

风险评价是风险管理的重要步骤任务进一步审查风险预测的精度;更新风险优先次序;考虑控制和/或避免可能发生风险的办法。2.6软件开发过程的管理2023/1/1160安徽工程科技学院计算机系风险评价

(2/2)定义

风险管理三元组[ri,li,xi]i=1,2,3…

其中:ri

表示风险

li

表示风险发生的概率

xi表示风险产生的影响

2.6软件开发过程的管理2023/1/1161安徽工程科技学院计算机系评价风险的影响风险影响三要素风险的性质风险发生时可能产生的问题。风险的范围风险引发损失的分布及严重性。风险的时间风险发生的时间、持续的时间,应注意这时项目所处的状态。2.6软件开发过程的管理2023/1/1162安徽工程科技学院计算机系确定风险影响的步骤确定每个风险元素发生的平均概率按照A给出每个元素影响的大小填写风险表並分析其结果风险预测和分析技术可以在软件项目进展过程中反复使用。2.6软件开发过程的管理2023/1/1163安徽工程科技学院计算机系

4风险预测(1/2)

风险预测又称风险评估(1)风险发生的概率;(2)风险发生产生的后果。2.6软件开发过程的管理2023/1/1164安徽工程科技学院计算机系风险预测(2/2)风险预测活动风险的度量估算风险产生的后果估算风险对项目及产品的影响标注风险预测的整体精度,避免误解预目管理人员和技术人员共同参加2.6软件开发过程的管理2023/1/1165安徽工程科技学院计算机系风险评估的步骤1定义项目的风险参考水平值;2建立三元组,给出相应的参考水平值;3预测一组临界点,定义项目终止区域;4预测什么样的风险组合会影响参考水平值2.6软件开发过程的管理2023/1/1166安徽工程科技学院计算机系2.6.2进度安排

制定软件项目进度表有两种途径。(1)软件开发小组根据提供软件产品的最后期限从后往前安排时间。(2)软件项目开发组织根据项目和资源情况制定软件项目开发的初步计划和交付软件产品的日期。

2.6软件开发过程的管理2023/1/1167安徽工程科技学院计算机系软件项目的进度安排

1.任务分配、人力资源分配、时间分配要与工程进度相协调。2.任务分解与并行化3.工作量分布4-2-4分布原则4.工程进度安排2.6软件开发过程的管理2023/1/1168安徽工程科技学院计算机系2.6.3软件开发标准传统工业没有标准化就没有现代化的工业。大型软件工程项目也离不开标准化。软件文档、程序和数据的标准化有助于提高软件的一致性、完整性和可理解性,有助于提高软件开发质量和效率。标准化的软件便于存档、交流和重用。2.6软件开发过程的管理2023/1/1169安徽工程科技学院计算机系2.6.4软件质量保证软件工程的目标是生产高质量的软件。高质量的软件应具备下列三个条件:1.满足软件需求定义的功能和性能;2.文档符合事先确定的软件开发标准;3.软件的特点和属性遵循软件工程的目标和原则。为了开发出高质量的软件,必须进行有计划、有系统的软件质量保证(SQA)活动。2.6软件开发过程的管理2023/1/1170安徽工程科技学院计算机系2.6.5软件开发人员的组织与分工

大型软件项目需要很多人通力合作,花费一年或数年的时间才能完成。软件项目开发人员的组织、分工与管理十分重要、复杂,它影响到软件项目的成败。

软件开发人员的个人素质与能力差异很大

1970年Sackman对12个程序员用两个不同的程序进行试验2.6软件开发过程的管理2023/1/1171安徽工程科技学院计算机系试验结论程序排错、调试时间差别为18:1;程序编制时间差别为15:1;程序长度差别为6:1;程序运行时间差别为13:1软件产品不易理解、不易维护,给软件人员的组织带来困难2.6软件开发过程的管理2023/1/1172安徽工程科技学院计算机系软件开发人员的组织与分工原则

降低管理系统的复杂性;按树形结构组织软件开发人员,树的根是软件项目经理和技术负责人。人员的选择、分配、组织是涉及软件开发效率、软件开发进度、软件开发过程管理和软件产品质量,必须引起项目负责人的高度重视。2.6软件开发过程的管理2023/1/1173安徽工程科技学院计算机系软件开发人员的组织与分工树的结点是程序员小组,为了减少系统的复杂性、便于项目管理,树的结点每层不要超过7个,在此基础上尽量降低树的层数。程序员小组的人数应视任务的大小和完成任务的时间而定,一般是2~5人。为降低系统开发过程的复杂性,程序员小组之间,小组内程序员之间的任务界面必须清楚并尽量简化。2.6软件开发过程的管理2023/1/1174安徽工程科技学院计算机系软件开发人员的组织与分工按“主程序员”组织软件开发小组是一条比较成功的经验。“主程序员”是“超级程序员”。小组其他成员,包括程序员、后备工程师等,是主程序员的助手。主程序员负责规划、协调、审查小组全部技术活动。2.6软件开发过程的管理2023/1/1175安徽工程科技学院计算机系软件开发人员的组织与分工软件开发小组还可以根据任务需要配备有关专业人员,如,数据库设计人员、远程通信专家等。组内成员都对主程序员负责,省略了组员之间的通信和协调,提高了工作效率。软件项目或软件开发小组可以配置若干个秘书、软件工具员、测试员、编辑和律师等。2.6软件开发过程的管理2023/1/1176安徽工程科技学院计算机系软件开发人员的组织与分工“无我程序设计”原则建立软件民主开发小组。这种组织形式强调组内成员人人平等,组内问题均由集体讨论决定。这种组织形式有利于集思广益、取长补短,但工作效率比较低。2.6软件开发过程的管理2023/1/1177安徽工程科技学院计算机系2.6.6软件项目的开发过程管理

软件项目开发过程的跟踪、管理与质量和进度控制是软件工程活动的重要组成部分。软件项目中某些子任务的拖延会对整个项目带来致命的影响。项目管理的重要任务是对已经开工的软件项目进行跟踪和控制。软件项目管理人员管理项目资源,处理软件开发过程中出现的问题,领导项目组成员按计划和要求工作。2.6软件开发过程的管理2023/1/1178安徽工程科技学院计算机系软件开发人员的组织与分工项目管理人员经常采用的跟踪方式(1)定期召开项目工作会议让每个小组成员汇报任务进展情况和出现的问题(2)在软件开发过程中,请专家和用户按照里程碑评审阶段性的成果、判定开发进度是否与软件项目定义的里程碑保持一致2.6软件开发过程的管理2023/1/1179安徽工程科技学院计算机系软件开发人员的组织与分工(3)对照任务网络图检查各子任务的开始时间是否与计划时间一致,如果拖后应查明原因,尽快采取措施利用机动时间赶上进度,不要影响后面的计划(4)向项目开发人员及时了解项目进展情况及存在的主要问题。2.6软件开发过程的管理2023/1/1180安徽工程科技学院计算机系2.7软件过程及软件成熟度模型CMM2.7.1引言软件工程支持大型软件项目的开发。软件工程强调系统的、规范的、可度量的软件开发和维护过程。软件工程追求的目标是,在合同规定的预算和期限内,按照客户的需求,高质量的交付软件及其相关产品。第二章软件项目管理2023/1/1181安徽工程科技学院计算机系引言软件开发组织的能力成熟度度量十分重要。软件开发组织希望通过软件能力成熟度度量找到自己的优势和差距,为提高自身的软件开发能力提供科学的依据。软件客户也希望通过软件组织的能力成熟度度量科学的审视软件开发组织,寻求承制软件项目的适宜伙伴。2.7软件过程及软件成熟度模型CMM2023/1/1182安徽工程科技学院计算机系引言1986年11月,美国卡内基.梅隆大学软件工程研究所(SEI/CMU)在Mitre公司的支持下着手开发支持软件开发组织改进软件过程的“软件过程成熟度框架”。美国国防部提出,希望“软件过程成熟度框架”能用于评估软件开发组织承制软件的能力。SEI/CMU的Humphrey领导的小组,经过大量的调查、研究,于1987年开发了“软件过程评估”和“软件成熟度评价”两个模型,並进行了广泛的问卷调查。1991年8月公开发布软件能力成熟度模型(CapabilityMaturityModelforSoftware-CMM)CMMv1.0。2.7软件过程及软件成熟度模型CMM2023/1/1183安徽工程科技学院计算机系引言CMM模型是一个概念模型,模型框架和表示是刚性的不能随意改变,但模型的解释和实现有一定弹性。CMM源于大型软件开发实践,反映了软件过程评估和软件过程改进的需要,是一个有效的大型软件开发、维护过程模型。CMM的应用进一步规范、指导软件开发组织的自身建设,使软件开发组织从混乱的、低效的不成熟状态,向有纪律的、高效的成熟状态转变。2.7软件过程及软件成熟度模型CMM2023/1/1184安徽工程科技学院计算机系引言CMM也为社会评价软件开发组织的能力成熟度提供了标准和依据。CMM涵盖了软件开发和维护过程的全部关键步骤和环节。在广泛征求政府部门、企业界、学术界对CMMv1.0的意见后,SEI对CMMv1.0进行了修订,並于1993年2月正式发布CMMv1.1。在1986年--1993年的八年间,先后有数百名软件专业人员参与了CMM的评审,300多名代表参加CMM当前版本发布前的研讨会,CMM代表了软件工程和管理工程界广泛、一致的意见。2.7软件过程及软件成熟度模型CMM2023/1/1185安徽工程科技学院计算机系引言CMM推广应用后,对于提高软件开发组织的软件产品质量、降低产品成本、履行交付承诺,对于加强软件开发组织的自身建设,对于选择软件承包商都取得了明显的经济和社会效果,得到了社会各界的公认和好评。1999年10月美国国防部规定,承担国防部大型软件项目的承包商必须具备CMM成熟度3级的认证。目前,中国也有一些软件企业进行了CMM评估和认证。2.7软件过程及软件成熟度模型CMM2023/1/1186安徽工程科技学院计算机系2.7.2CMM的基本概念在CMM范围内,有几个常用的词汇,有必要给出它们的定义和说明。

组织(organization)管理软件项目,能对项目进行评估和过程改进的实体。

项目(project)由组织承担的,並需要组织中各部门通力合作完成的指定产品开发和维护任务。任何一个项目都涉及经费、成本和进度计划。这里的产品包括硬件、软件或其他构件。2.7软件过程及软件成熟度模型CMM2023/1/1187安徽工程科技学院计算机系

CMM的基本概念软件过程(softwareprocess)软件开发人员为开发和维护软件及相关产品所实施的一系列步骤,这些步骤涉及方法、工具及人的组织和行为。软件产品的质量取决于软件开发和维护过程的质量,与其它产品的开发过程一样,软件过程也必须进行严格管理,管理出效益、管理出质量。2.7软件过程及软件成熟度模型CMM2023/1/1188安徽工程科技学院计算机系CMM的基本概念(4)组织的标准软件过程(organization’sstandardsoftwareprocess)组织内部使用的软件过程,它描述软件过程要素和要素之间的关系,用它可以建立某一具体项目的软件过程。软件开发组织的软件过程能力是软件开发组织能够承接软件项目的重要依据。2.7软件过程及软件成熟度模型CMM2023/1/1189安徽工程科技学院计算机系

组织的标准软件过程成熟的软件开发组织十分重视提高自身的软件过程能力,组织的领导者注意调动各层次、各类型人员的积极性和创造性,注意提高员工素质和技能,注意培育和发扬企业文化。在软件开发过程中,大家能够团结协作,能够将人、软件开发策略和方法、软件工具和环境有机的结合起来,使得软件开发和维护的整个过程是系统的、完整的、一致的和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论