




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、专业前沿技术应用发展动态软件项目管理软件软件 项项 目目 管管 理理IT Project Management.4软件工程概念的提出软件工程概念的提出软件工程是针对软件工程是针对2020世纪世纪6060年代年代“软件危机软件危机”提出提出来的,许多专家尝试把其他工程领域中性质有效的工来的,许多专家尝试把其他工程领域中性质有效的工程学知识运用到软件开发工作中,经过实践和总结得程学知识运用到软件开发工作中,经过实践和总结得出结论:按工程化的原则和方法组织软件开发工作是出结论:按工程化的原则和方法组织软件开发工作是有效的,是摆脱软件危机的主要出路。有效的,是摆脱软件危机的主要出路。19681968年
2、,年,NATONATO在德国组织的国际学术会议上,在德国组织的国际学术会议上,BauerBauer首先提出了首先提出了“软件工程软件工程”的概念,标志着软件的概念,标志着软件开发进入了软件工程阶段。开发进入了软件工程阶段。5应用计算机科学、数学及管理科学等原理开发应用计算机科学、数学及管理科学等原理开发软件的工程。它借鉴传统工程的原则、方法,以提软件的工程。它借鉴传统工程的原则、方法,以提高质量、降低成本为目的。高质量、降低成本为目的。软件工程包括三个要素:软件工程包括三个要素:方法:为软件开发提供了方法:为软件开发提供了如何做如何做”工具:为软件工程方法提供了自动化或半自动工具:为软件工程方
3、法提供了自动化或半自动化的软件支撑环境,即化的软件支撑环境,即CASECASE过程:将软件工程的方法和工具综合起来以达过程:将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。到合理、及时地进行计算机软件开发的目的。6质量等问题焦点质量等问题焦点过程过程方法方法工具工具7软件工程过程通常包括四个基本的过程活动。描述这个过程软件工程过程通常包括四个基本的过程活动。描述这个过程活动的模型是由活动的模型是由ShewhartShewhart提出并由提出并由DemingDeming引入日本并得到普及引入日本并得到普及的的PDCAPDCA模型。该模型。该模型把整个模型把整个软件工程过
4、程分为四个依次循环部软件工程过程分为四个依次循环部分:分:计划(计划(PlanPlan):软件规格说明):软件规格说明,规定软件的功能及其运行的规定软件的功能及其运行的限制;限制;实施(实施(DoDo):软件开发,产生满足规格说明的软件):软件开发,产生满足规格说明的软件;检查(检查(CheckCheck):软件确认,确认软件能够完成客户提出的):软件确认,确认软件能够完成客户提出的要求要求。行动(行动(ActAct):软件演进,为满足客户的变更要求,软件必):软件演进,为满足客户的变更要求,软件必须在使用的过程中演进须在使用的过程中演进。8 PDCA循环方法是有效进行任何一种工作的逻辑工作循
5、环方法是有效进行任何一种工作的逻辑工作程序。它由计划、执行、检查和行动程序。它由计划、执行、检查和行动4个基本阶段构个基本阶段构成一个循环,并且根据需要可以周而复始地多次螺成一个循环,并且根据需要可以周而复始地多次螺旋循环。它被称为过程旋循环。它被称为过程管理的基本方法。管理的基本方法。 PDCA循环方法有以下特点:循环方法有以下特点:大环套小环,互相促进大环套小环,互相促进不断螺旋循环上升,不断螺旋循环上升,4个阶段要周而复始地依次个阶段要周而复始地依次进行,而每一次循环都有新的内容和目标,质量水进行,而每一次循环都有新的内容和目标,质量水平上升一层。平上升一层。科学管理方法的综合应用科学管
6、理方法的综合应用9阶段阶段步骤步骤主要方法主要方法P1. 分析现状,找出问题分析现状,找出问题排列图,直方图,控制图排列图,直方图,控制图2. 分析各种影响因素分析各种影响因素因果图因果图3. 找出主要影响因素找出主要影响因素排列图,相关图排列图,相关图4. 针对主要原因,指定措施、计划针对主要原因,指定措施、计划回答回答“5W1H”D5. 执行计划执行计划C6. 检查计划执行结果检查计划执行结果排列图,直方图,控制图排列图,直方图,控制图A7. 总结成功经验,制定相应标准总结成功经验,制定相应标准制定或修改工作规程,检制定或修改工作规程,检查规程及其他有关规章制查规程及其他有关规章制度度8.
7、 把未解决的问题装入下一个循环把未解决的问题装入下一个循环10PlanDoCheckActPDCAPDCA过程循环模型过程循环模型一个一个PDCAPDCA循环的过程循环的过程11实际上,软件工程过程是一个软件开发机实际上,软件工程过程是一个软件开发机构针对某一类软件产品(或某一个项目)为自构针对某一类软件产品(或某一个项目)为自己规定的工作步骤。围绕这个问题,人们开展己规定的工作步骤。围绕这个问题,人们开展了有关研究,了有关研究,2020世纪世纪8080年代以前主要是研究系年代以前主要是研究系统实现技术,以后开始着重开发管理和软件质统实现技术,以后开始着重开发管理和软件质量,近几年又偏向研究软
8、件复用和软件构件量,近几年又偏向研究软件复用和软件构件技术,形成了比较完善的软件工程框架。技术,形成了比较完善的软件工程框架。12原则原则目标目标活动活动13根据软件工程框架,可以看到软件工程根据软件工程框架,可以看到软件工程涉及到软件工程的目标、软件工程的原则和涉及到软件工程的目标、软件工程的原则和软件工程活动三个方面。软件工程活动三个方面。软件工程活动是软件工程活动是“生产一个最终满足需生产一个最终满足需求且达到工程目标的软件产品所需要的步骤求且达到工程目标的软件产品所需要的步骤”。伴随这些活动,工程活动还包括管理过程、伴随这些活动,工程活动还包括管理过程、支持过程、培训过程等。支持过程、
9、培训过程等。14 从软件工程的角度讲,软件开发分为六个阶从软件工程的角度讲,软件开发分为六个阶段,即:段,即: 需求分析阶段需求分析阶段 概要设计阶段概要设计阶段 详细设计阶段详细设计阶段 编码阶段编码阶段 测试阶段测试阶段 安装和维护阶段安装和维护阶段15典型的软件开发模型有典型的软件开发模型有: 瀑布模型(瀑布模型(Waterfall Model) 渐增模型渐增模型/演化演化/迭代(迭代(Incremental Model) 原型模型(原型模型(Prototype Model) 螺旋模型(螺旋模型(Spiral Model) 喷泉模型(喷泉模型(Fountain Model) 智能模型(智
10、能模型(Intelligent Model) 混合模型(混合模型(Hybird Model)16瀑布模型也称线性模型,它规定了软件工程的各项活动,瀑布模型也称线性模型,它规定了软件工程的各项活动,并且规定它们必须自上而下、相互衔接的固定顺序,如同瀑布并且规定它们必须自上而下、相互衔接的固定顺序,如同瀑布流水,逐级落下。流水,逐级落下。计划计划系统分析系统分析系统设计系统设计程序编码程序编码软件测试软件测试运行、维护运行、维护定义阶段定义阶段开发阶段开发阶段维护阶段维护阶段时间方向时间方向17 阶段间具有顺序性和依赖性阶段间具有顺序性和依赖性 推迟实现的观点推迟实现的观点 每个阶段必须完成规定的
11、文档和成果每个阶段必须完成规定的文档和成果 每个阶段结束前完成文档审查,尽早每个阶段结束前完成文档审查,尽早改正错误改正错误18 瀑布模型是最典型的软件工程开发模式,简洁、瀑布模型是最典型的软件工程开发模式,简洁、精确、实用,便于控制管理,效果显著。精确、实用,便于控制管理,效果显著。采用瀑布模型的三个要点:采用瀑布模型的三个要点: 瀑布模型非常强调产品的定义。开发或者编写代瀑布模型非常强调产品的定义。开发或者编写代码阶段只是其中单独的一块任务。码阶段只是其中单独的一块任务。 瀑布模型各步骤是分立的、没有交叉。瀑布模型各步骤是分立的、没有交叉。 瀑布模型无法回溯。一旦进入某一个步骤,就要瀑布模
12、型无法回溯。一旦进入某一个步骤,就要完成该步骤的任务,然后才能向下继续。完成该步骤的任务,然后才能向下继续。19瀑布模式的特点:瀑布模式的特点:对于有明确清晰的产品定义和训练有素的开发人员的项对于有明确清晰的产品定义和训练有素的开发人员的项目而言,该模式效果良好。可以在编写代码之前解决所目而言,该模式效果良好。可以在编写代码之前解决所有的未知问题并明确所有细节。缺点是反映客户变化需有的未知问题并明确所有细节。缺点是反映客户变化需求慢,开发周期长。求慢,开发周期长。对测试而言,瀑布模式比其他模式更有优势。其每一步对测试而言,瀑布模式比其他模式更有优势。其每一步骤都有完整细致的文档说明记录。测试员
13、根据此制定精骤都有完整细致的文档说明记录。测试员根据此制定精确的计划和进度、测试对象明确。但是缺点也明显,即确的计划和进度、测试对象明确。但是缺点也明显,即测试仅在最后进行。会导致一些根本性问题只能在后期测试仅在最后进行。会导致一些根本性问题只能在后期发现,造成修复缺陷的费用增大许多。发现,造成修复缺陷的费用增大许多。20指导思想:在进行基本需求分析后,快速开发出产品指导思想:在进行基本需求分析后,快速开发出产品的原型,然后基于此原型,和客户沟通、交流,更好地了的原型,然后基于此原型,和客户沟通、交流,更好地了解客户需求,不断修改完善原型,到双方认可后,再详细解客户需求,不断修改完善原型,到双
14、方认可后,再详细地分析、设计和编程,最终开发出客户满意的产品。地分析、设计和编程,最终开发出客户满意的产品。最终软件产品典型的非正规说明书反复编码修改21确定用户基本需求:基本需求、系统范围、成本估计开发初始原型使用、评价原型修改、增强原型将原形作为应用系统将原形作为应用系统开发的基础用户满意否?不满意满意满意本步骤是一个反复迭代的过程,直到用户满意位置。221) 原型分类原型分类: 探索性探索性 ,实验性实验性, 演化性演化性 抛弃原型抛弃原型 附加原型附加原型 (探索性原型主要用于需求分析阶段,检查需求分析的正探索性原型主要用于需求分析阶段,检查需求分析的正确性和完整性;实验性原型主要用于
15、设计阶段,检查设确性和完整性;实验性原型主要用于设计阶段,检查设计的正确性;这两种原型用完就废弃不用,因此叫做抛计的正确性;这两种原型用完就废弃不用,因此叫做抛弃原型。弃原型。)2) 构造原型的技术构造原型的技术: 超高级语言超高级语言(比如比如:超文本语言或超文本语言或UML等等) 虚拟现实建摸语言虚拟现实建摸语言(VRML) 其它其它3D语言等语言等2324 RAD(Rapid Application Development)模式,即快速应用)模式,即快速应用开发模式。由于其模式构图像字母开发模式。由于其模式构图像字母V,故也称为,故也称为V模式。它通过模式。它通过使用基于构件的开发方法来
16、缩短产品开发的周期,提高开发的使用基于构件的开发方法来缩短产品开发的周期,提高开发的速度。速度。RAD模式与原型法相反,它要求作好需求分析,并且项模式与原型法相反,它要求作好需求分析,并且项目的范围明确。它包含以下几个阶段:目的范围明确。它包含以下几个阶段: 业务建模:业务活动中的信息流被模式化,确定谁生成何信息业务建模:业务活动中的信息流被模式化,确定谁生成何信息驱动业务流程等。驱动业务流程等。 数据建模:上一步定义的部分信息流被细化。形成若干支持该数据建模:上一步定义的部分信息流被细化。形成若干支持该业务的数据对象,标出每个对象的属性和对象间的关系。业务的数据对象,标出每个对象的属性和对象
17、间的关系。处理建模:描述增加、修改、删除或获取数据对象的操作。处理建模:描述增加、修改、删除或获取数据对象的操作。应用生成:用应用生成:用4GL技术复用已有的程序构件生成代码。技术复用已有的程序构件生成代码。测试及反复:对编好的程序模拟运行,查找潜在的错误,发现测试及反复:对编好的程序模拟运行,查找潜在的错误,发现后再修改重测。已有构件可免测以节约时间。后再修改重测。已有构件可免测以节约时间。25需求分析需求分析规格说明书规格说明书概要设计概要设计验收测试验收测试集成集成测试测试系统测试系统测试单元测试单元测试编码编码程序设计程序设计26 从上图可见。从上图可见。RAD模式避免了瀑布式模式所带
18、来模式避免了瀑布式模式所带来的误区的误区软件测试是在代码完成后进行。软件测试是在代码完成后进行。RAD模模式说明软件测试的工作很早就应该开始,即从项目一式说明软件测试的工作很早就应该开始,即从项目一启动就开始。图中左侧是设计分析,右侧是验证和测启动就开始。图中左侧是设计分析,右侧是验证和测试,即对左边结果的检验,如:试,即对左边结果的检验,如: 需求分析和功能设计对应验收测试需求分析和功能设计对应验收测试 系统概要设计对应系统测试,建立测试环境系统概要设计对应系统测试,建立测试环境 详细设计对应集成测试,准备测试用例详细设计对应集成测试,准备测试用例 编程设计对应单元测试,及时发现每个模块的问
19、题,编程设计对应单元测试,及时发现每个模块的问题,加快速度,提高质量,减少成本。加快速度,提高质量,减少成本。27需求分析需求分析概要设计概要设计详细设计详细设计编码编码确认需求确认需求客户客户PM技术支持技术支持校验设计校验设计验证代码验证代码验收测试验收测试集成集成测试测试系统测试系统测试单元测试单元测试28 螺旋模型(螺旋模型(Boehm)是对前述各开发模式的改进,)是对前述各开发模式的改进,是一个演化软件过程模式。其总体思想是不把原型是一个演化软件过程模式。其总体思想是不把原型的迭代特征与线性顺序模型中控制和系统化方面结的迭代特征与线性顺序模型中控制和系统化方面结合起来,采用面向对象技
20、术和可视化工具,逐步定合起来,采用面向对象技术和可视化工具,逐步定义功能细节和产品界面,逐步实现,接受客户反馈义功能细节和产品界面,逐步实现,接受客户反馈并改进。然后进入下一阶段,重复上述过程,直至并改进。然后进入下一阶段,重复上述过程,直至得到最终产品。得到最终产品。 螺旋模式被划分为若干框架活动,也称任务区域。螺旋模式被划分为若干框架活动,也称任务区域。一般由一般由36个任务区域构成,以个任务区域构成,以4个居多。个居多。29 螺旋模型是指把软件开发工作划分成若干个循环重复的阶螺旋模型是指把软件开发工作划分成若干个循环重复的阶段(周期),每个周期阶段在笛卡儿坐标的四个象限上分别表段(周期)
21、,每个周期阶段在笛卡儿坐标的四个象限上分别表达了四个方面的活动。即:达了四个方面的活动。即:制定方案:确定软件目标,选定实施方案,弄清项目开发的制定方案:确定软件目标,选定实施方案,弄清项目开发的限制条件限制条件风险分析:分析所选方案,考虑如何识别和消除风险风险分析:分析所选方案,考虑如何识别和消除风险实施工程:实施软件开发实施工程:实施软件开发评估:评价开发工作,提出修正建议和相应计划评估:评价开发工作,提出修正建议和相应计划沿着螺旋线自内向外每旋转一圈便代表开发出更为完善的新沿着螺旋线自内向外每旋转一圈便代表开发出更为完善的新的软件版本。最外圈的是最新的版本,一个软件会有若干个版的软件版本
22、。最外圈的是最新的版本,一个软件会有若干个版本。本。30风险分析风险分析风险分析风险分析风险分析风险分析原型原型1原型原型2原原型型3可运可运行原行原型型需求计划需求计划生存期生存期开发计划开发计划组装与测试组装与测试计计划划软件软件需求需求需求需求确认确认设计确认设计确认与验证与验证软件产软件产品设计品设计详细详细设计设计编编码码单单元元测测试试实实现现验收验收测试测试组装组装与测与测试试确定目标、确定目标、方案和限制方案和限制风险分析风险分析评价方案、评价方案、识别风险、识别风险、消除风险消除风险评估评估实施工程实施工程开发、验证开发、验证下一产品下一产品提交线提交线评审评审累计成本累计成
23、本31 螺旋模式中包含了几种开发模式的优点,比如:螺旋模式中包含了几种开发模式的优点,比如:瀑布模式(分析、设计、开发和测试的步骤);瀑布模式(分析、设计、开发和测试的步骤);边写边改模式(螺旋模式的每一次重复阶段);边写边改模式(螺旋模式的每一次重复阶段);大爆炸模式(从外界观察)。大爆炸模式(从外界观察)。 螺旋模式发现问题早、解决软件缺陷成本低、适螺旋模式发现问题早、解决软件缺陷成本低、适应客户需求变化快,测试员可以尽早介入,提前应客户需求变化快,测试员可以尽早介入,提前到设计阶段发现问题。是目前一种很好的软件开到设计阶段发现问题。是目前一种很好的软件开发模式。发模式。32 与传统的过程
24、模式不同,在螺旋模式中,软件交与传统的过程模式不同,在螺旋模式中,软件交付了并不等于结束,其适用于计算机软件的整个付了并不等于结束,其适用于计算机软件的整个生命周期。一个生命周期。一个“概念开发项目概念开发项目”从螺旋的核心从螺旋的核心(水平轴)开始一直持续到概念开发结束。如果(水平轴)开始一直持续到概念开发结束。如果概念被开发成真正的产品,过程又从水平轴一个概念被开发成真正的产品,过程又从水平轴一个新的起点开始,意味着一个新的开发项目开始了。新的起点开始,意味着一个新的开发项目开始了。 本质上,具有上述特征的螺旋是一直运转的,直本质上,具有上述特征的螺旋是一直运转的,直到软件退役。对于大型软
25、件系统的开发来说,螺到软件退役。对于大型软件系统的开发来说,螺旋模式更是一个很现实的选择。旋模式更是一个很现实的选择。33为了衡量软件开发商承包和开发软件的能力,为了衡量软件开发商承包和开发软件的能力,美国国防部委托卡内基美国国防部委托卡内基.梅隆大学软件工程研究所梅隆大学软件工程研究所(SEI)提出了一个软件开发过程能力成熟度模型)提出了一个软件开发过程能力成熟度模型(Capability Maturity Model, CMM),也就是指),也就是指过程计划水平、过程实施水平、过程管理和控制水过程计划水平、过程实施水平、过程管理和控制水平、过程改善潜力等指标的综合评价。平、过程改善潜力等指
26、标的综合评价。CMM几经修改,最新的正式版本是几经修改,最新的正式版本是1999年修年修订的版,已形成标准,其模型分为订的版,已形成标准,其模型分为5个等级,分别个等级,分别是:初始级、可重复级、已定义级、已管理级和优是:初始级、可重复级、已定义级、已管理级和优化级。化级。34初始级初始级可重复级可重复级已定义级已定义级已管理级已管理级优化级优化级不断改进、优化过程不断改进、优化过程可预测过程可预测过程标准一致过程标准一致过程纪律化过程纪律化过程第一级第一级第二级第二级第三级第三级第四级第四级第五级第五级软件能力成熟度等级软件能力成熟度等级3536等级等级成熟度成熟度可视性可视性过程能力过程能
27、力1初始级初始级有限的可视性有限的可视性一般达不到进度和成本的目标一般达不到进度和成本的目标2可重复级可重复级在各个里程碑上具在各个里程碑上具有可视性有可视性由于基于过去的项目经验,下由于基于过去的项目经验,下面开发计划比较现实可行面开发计划比较现实可行3已定义级已定义级下面定义软件过程下面定义软件过程的活动具有可视性的活动具有可视性基于已定义的软件过程,组织基于已定义的软件过程,组织持续地改善过程能力持续地改善过程能力4已管理级已管理级定量地控制软件过定量地控制软件过程程基于过程和产品的度量,组织基于过程和产品的度量,组织持续地改善过程能力持续地改善过程能力5优化级优化级不断地改善软件过不断
28、地改善软件过程程组织持续地改善过程能力组织持续地改善过程能力37软件项目的开发成功与否,不仅取决于用户和软件项目的开发成功与否,不仅取决于用户和开发单位的努力,更与开发单位内部有关人员的积开发单位的努力,更与开发单位内部有关人员的积极参与和创造性活动密不可分。但是极参与和创造性活动密不可分。但是CMM没有提没有提供这方面的标准。供这方面的标准。为此,专门提出了个体软件过程(为此,专门提出了个体软件过程(Personal Software Process,PSP)用于描述个体和小型群体)用于描述个体和小型群体软件过程的优化,例如,如何制定计划、如何控制软件过程的优化,例如,如何制定计划、如何控制
29、质量、如何与别人配合协作等。质量、如何与别人配合协作等。38 在软件设计阶段,在软件设计阶段,PSP的着眼点在于软件缺陷的预防,其具的着眼点在于软件缺陷的预防,其具体办法是强化设计结束准则,而不是设计方法的选择。体办法是强化设计结束准则,而不是设计方法的选择。 根据对参加根据对参加PSP培训的一大批软件人员的统计数据分析发现,培训的一大批软件人员的统计数据分析发现,在应用了在应用了PSP后:后: 软件中总的缺陷减少软件中总的缺陷减少58% 在测试阶段发现的错误减少在测试阶段发现的错误减少71.9% 生产效率提高生产效率提高20.8% 绝大多数的软件缺陷是对问题的错误理解或简单的失误造成绝大多数
30、的软件缺陷是对问题的错误理解或简单的失误造成的。因此,的。因此,PSP保障软件产品质量的一个重要途径是提高设计保障软件产品质量的一个重要途径是提高设计质量。质量。39 至少满足下列至少满足下列5 5个规则之一才称为发生了一个软个规则之一才称为发生了一个软件缺陷(件缺陷(Software bug):Software bug): 软件未实现产品说明书要求的功能;软件未实现产品说明书要求的功能; 软件出现了产品说明书指明不应该出现的错误;软件出现了产品说明书指明不应该出现的错误; 软件实现了产品说明书未提到的功能;软件实现了产品说明书未提到的功能; 软件未实现产品说明书虽未明确提及但应该实现软件未实
31、现产品说明书虽未明确提及但应该实现的目标;的目标; 软件难以理解、不易使用、运行缓慢或者软件难以理解、不易使用、运行缓慢或者从从测试员的角度看测试员的角度看最终用户会认为不好。最终用户会认为不好。40产业界的大量研究表明,设计活动引起的错误占产业界的大量研究表明,设计活动引起的错误占软件生产过程中出现所有错误的软件生产过程中出现所有错误的5065%,而设计阶段,而设计阶段的成果就是产品说明书。导致软件缺陷最大的原因是的成果就是产品说明书。导致软件缺陷最大的原因是产品说明书,而非源自编码错误。产品说明书,而非源自编码错误。说明书说明书 57%设计设计 22%编码编码14%其他其他7%41职工医疗
32、保险软件开发中对于不同人员因病住院报职工医疗保险软件开发中对于不同人员因病住院报销比例的问题。销比例的问题。 一般规定,在职职工(企业男一般规定,在职职工(企业男55岁,女岁,女50岁,事业岁,事业单位男单位男60岁,女岁,女55岁)住院费报销岁)住院费报销85%,不满,不满70周岁周岁的退休职工报销的退休职工报销90%,70周岁以上的退休职工报销周岁以上的退休职工报销95%,建国前参加革命工作的老职工报销,建国前参加革命工作的老职工报销98%。 但是,提前内退的职工等同于在职职工住院费报销但是,提前内退的职工等同于在职职工住院费报销比例,而经过劳动和社保机构批准提前退休的职工报比例,而经过劳
33、动和社保机构批准提前退休的职工报销比例等同于退休职工的住院费报销比例。销比例等同于退休职工的住院费报销比例。 这使得无法按照报销人的年龄确定报销比例,要增这使得无法按照报销人的年龄确定报销比例,要增加报销人的就职状态等参数信息。加报销人的就职状态等参数信息。42 人们在软件开发中发现,仅有人们在软件开发中发现,仅有CMM和和PSP仍然仍然不够。大型团队与个人之间仍然有很大的缝隙。为此,不够。大型团队与个人之间仍然有很大的缝隙。为此,卡内基卡内基.梅隆大学软件工程研究所又在此基础上提出梅隆大学软件工程研究所又在此基础上提出了群组软件过程(了群组软件过程(Team Software Process
34、,TSP)的方法。的方法。TSP实施集体管理与自己管理相结合的原则,实施集体管理与自己管理相结合的原则,最终目的在于指导一切人员如何在最少的时间内,以最终目的在于指导一切人员如何在最少的时间内,以预定的费用生产出高质量的软件产品,这里所采用的预定的费用生产出高质量的软件产品,这里所采用的方法是对群组软件开发过程的定义、度量和改进。方法是对群组软件开发过程的定义、度量和改进。43 有高层主管和各级经理的大力支持,以取得有高层主管和各级经理的大力支持,以取得必要的资源必要的资源 项目组开发人员需要经过项目组开发人员需要经过TSP的培训并有按的培训并有按TSP工作的愿望和热情工作的愿望和热情 整个单
35、位在总体上应处于整个单位在总体上应处于CMM二级以上二级以上项目开发小组按集体管理的原则进行管理,项目开发小组按集体管理的原则进行管理,全体成员都要参加和关心小组的规划、进展全体成员都要参加和关心小组的规划、进展的追踪和决策的制定等工作。的追踪和决策的制定等工作。注44组织及能力组织及能力高质量的产品高质量的产品个人的技能个人的技能CMMTSPPSP建立原则建立原则技能技能费用费用期限期限生产并生产并交付交付建立建立只有将实施只有将实施CMM与实施与实施PSP和和TSP有机地结合起来,才能发有机地结合起来,才能发挥最大的效力。因此软件过程框架应该是挥最大的效力。因此软件过程框架应该是CMM/P
36、SP/TSP的的有机集成,其相互关系见下图。有机集成,其相互关系见下图。45极限编程(极限编程(Extreme Programming,XP)是一)是一套针对业务和软件开发的规则,其作用是把两者合力套针对业务和软件开发的规则,其作用是把两者合力集中在共同的、可实现的目标上。它是以符合客户需集中在共同的、可实现的目标上。它是以符合客户需求的软件为目标而产生的一种方法论,求的软件为目标而产生的一种方法论,XP使开发者在使开发者在软件开发周期的任何时候都能更有效的响应客户的需软件开发周期的任何时候都能更有效的响应客户的需求变化。它强调软件开发是人与人合作进行的过程,求变化。它强调软件开发是人与人合作
37、进行的过程,所以要利用人的优势,弱化人的缺点,认为文档、架所以要利用人的优势,弱化人的缺点,认为文档、架构不如直接编程来的直接。其诞生大概有构不如直接编程来的直接。其诞生大概有5年,已经被年,已经被成功应用在许多大型公司。成功应用在许多大型公司。注46 Bayeris che LandesbankBayeris che Landesbank Credit Swis LifeCredit Swis Life DaimlerChryslerDaimlerChrysler First Union National BankFirst Union National Bank Ford Motor Co
38、mpanyFord Motor Company UBSUBS47XPXP的成功在于以客户的满意度为第一需要。的成功在于以客户的满意度为第一需要。XPXP是以开发符合客户需要的软件为目标而产生的是以开发符合客户需要的软件为目标而产生的一种方法论,这使得开发者能够更快、更有效地响应一种方法论,这使得开发者能够更快、更有效地响应客户需求的变化,不像瀑布法那样当客户需求变化时,客户需求的变化,不像瀑布法那样当客户需求变化时,不能及时响应,而必须等到当前的开发阶段全部完成不能及时响应,而必须等到当前的开发阶段全部完成后才能再考虑的问题。后才能再考虑的问题。XPXP也强调团队合作,团队内部的成员可以充分讨
39、也强调团队合作,团队内部的成员可以充分讨论,采用最合理的方法保证项目的开发成功。论,采用最合理的方法保证项目的开发成功。4849管理在:管理在:软件开发的技术工作开始之前开始,软件开发的技术工作开始之前开始, 在软件从概念到实现的过程中继续,在软件从概念到实现的过程中继续, 在软件开发结束后才终止。在软件开发结束后才终止。启动启动软件项目软件项目制定制定项目计划项目计划计划的追计划的追踪与控制踪与控制项目结束项目结束项目管理的过程项目管理的过程50 软件项目的启动过程是一个新项目的识别与开始的过程。软件项目的启动过程是一个新项目的识别与开始的过程。这个启动阶段非常重要,它决定是否投资、干什么项
40、目这个启动阶段非常重要,它决定是否投资、干什么项目的关键阶段。的关键阶段。 制定软件项目计划前,先明确项目的目标和范围、考虑制定软件项目计划前,先明确项目的目标和范围、考虑候选的解决方案、标明技术和管理上的要求。这样才能候选的解决方案、标明技术和管理上的要求。这样才能精确估算成本。精确估算成本。 项目的目标不涉及如何实现这些目的。范围标明了软件项目的目标不涉及如何实现这些目的。范围标明了软件要实现的基本功能,尽量以定量的方式界定这些功能。要实现的基本功能,尽量以定量的方式界定这些功能。候选方案不提供细节,只是提供给决策人员选择的余地。候选方案不提供细节,只是提供给决策人员选择的余地。51通过对项目的范围、任务分解、资源分析等制定一个科通过对项目的范围、任务分解、资源分析等制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024海峡人力福建莆田分公司招聘1人笔试参考题库附带答案详解
- 2024浙江望江宁能热电有限公司招聘笔试参考题库附带答案详解
- 中国医疗卫生行业现状调查及前景发展方向分析报告2025-2030年
- 2024广东依顿电子科技股份有限公司招聘第三事业部总经理拟录用人员阅读模式笔试参考题库附带答案详解
- 第18课 社会主义的发展与挫折(教学设计)九年级历史下册同步高效课堂(部编版)
- YesNo or Maybe So绘本阅读(教学设计)-2024-2025学年人教新目标Go For It!英语八年级上册
- 山东省烟台龙口市(五四制)2023-2024学年七年级下学期期末语文试题
- 4.2《炉中煤》《红烛》教案-【中职专用】高二语文同步教学(高教版2024·拓展模块下册)
- 第一章《走进信息社会》第4课时《信息技术促进社会变革与发展》教学设计 2023-2024学年粤教版(2019)高中信息技术必修2
- 11-2《与妻书》教学设计-2024-2025学年高一语文下学期同步教学设计(统编版必修下册)
- 2024年南京旅游职业学院高职单招语文历年参考题库含答案解析
- 《电商直播》 课件 项目一 走入电商直播
- 《中国宫腔镜诊断与手术临床实践指南(2023版)》解读课件
- 中药学电子版教材
- GB/T 9535-1998地面用晶体硅光伏组件设计鉴定和定型
- 卧式设备安装
- 桥梁施工危险源辨识与防控措施
- CFG桩施工记录表范本
- 在生产过程中物料流转交接管理规定(清风出品)
- 第1章操作系统引论
- 复旦校内办事指南
评论
0/150
提交评论