软件工程-过程模型课件

上传人:无*** 文档编号:242022258 上传时间:2024-08-10 格式:PPT 页数:68 大小:1.51MB
返回 下载 相关 举报
软件工程-过程模型课件_第1页
第1页 / 共68页
软件工程-过程模型课件_第2页
第2页 / 共68页
软件工程-过程模型课件_第3页
第3页 / 共68页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级软件工程,*,*,软 件 工 程,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级软件工程,*,*,第二章 过程模型,第二章 过程模型,提出问题,在开发产品或构造系统时,由谁指导我们及时交付高质量的产品?,所遵循的线路图就称为:,软件过程,提出问题在开发产品或构造系统时,由谁指导我们及时交付高质,主要内容,过程框架,CMMI,过程模式,惯用过程模型,专用过程模型,主要内容过程框架,2.1,过程框架,将整个软件过程再进一步细分为各个相对独立的功能块,即,过程框架,。(以工作开展的时间为线索),2.1 过程框架将整个软件过程再进一步细分为各个相对独立的功,图,2-1,软件过程框架,定义了若干个框架活动,过程框架,图2-1软件过程框架定义了若干个框架活动过程框架,图,2-1,软件过程框架,适用于任何一个框架活动,普适性活动,图2-1 软件过程框架适用于任何一个框架活动普适性活动,图,2-1,软件过程框架,五个最基本的框架活动:沟通、策划、建模、构建和部署,框架活动,框架活动,图2-1 软件过程框架五个最基本的框架活动:沟通、策划、建模,五个最基本的框架活动,沟通:与客户之间的交流与写作,策划:为后续的软件工程工作制定计划,建模:包括分析和设计,构建:编码和测试,部署:软件交付用户,用户对其进行评估并反馈意见,五个最基本的框架活动沟通:与客户之间的交流与写作,图,2-1,软件过程框架,每个动作包括一系列相互关联的,任务,,并产生一个关键的,工作产品,比如“沟通”包含若干个软件工程动作,比如“获取需求”,软件工程动作,软件工程动作,图2-1 软件过程框架每个动作包括一系列相互关联的任务,并产,图,2-1,软件过程框架,定义了为达到一个软件工程动作的目标所需要完成的,工作,。,项目不同,任务集或不同,任务集,任务集,图2-1 软件过程框架定义了为达到一个软件工程动作的目标所需,低于小型、相对简单的项目而言,获取需求的任务集可能包括:,制定一个项目的共利益者列表,邀请所有的共利益者成员参加一个非正式会议,咨询每一个共利益者对于软件特征和功能的需求,讨论需求。并确定最终的需求列表,划定需求优先级,把不确定的地方标记出来,低于小型、相对简单的项目而言,获取需求的任务集可能包括:制定,低于大型、复杂的软件工程项目而言,可能有不同的任务集,例如:,制定一个项目的共利益者列表,和共利益者的每一个成员分别单独讨论,获取所有的需求。,基于步骤,2,的调查,建立初步的功能和特征列表,安排一系列促进需求获取的会议,举行一系列会议,在每次会议上建立非正式的用户场景,根据共利益者的反馈,进一步细化用户场景,建立一个修正的需求列表,使用质量功能部署技术将需求划分优先级别,将需求打包以便软件可以分批交付,注意系统的约束和限制,讨论系统的验证方法。,低于大型、复杂的软件工程项目而言,可能有不同的任务集,例如:,图,2-1,软件过程框架,每个工作任务都完成一部分动作所定义的工作,工作任务,工作任务,图2-1 软件过程框架每个工作任务都完成一部分动作所定义的工,过程流,1.,线形过程流,从沟通到部署线性执行,2.,迭代过程流,在执行下一个活动前重复执行之前的一个或多个活动,3.,演化过程流,采用循环的方式执行各个活动,每次循环都能产生更为完善的软件版本,4.,并行过程流,将一个或是多个其它活动并行执行(如,软件一个方面的建模可以同软件另一个方面的建模活动并行执行),过程流1.线形过程流,2.1,过程框架(续),不同学者依据自己的理解将通用过程框架应用到,侧重点不同,的各个领域,提出了,各自,的用以描述过程的模型。,2.1 过程框架(续)不同学者依据自己的理解将通用过程框架应,2.1,过程框架(续),过程模型的,适用性,(如软件需解决的问题、项目特点、开发队伍和组织文化等)是成功的,关键,!,2.1 过程框架(续)过程模型的适用性(如软件需解决的问题、,2.2,能力成熟度模型集成,美国卡内基,-,梅隆大学软件工程研究所(,SEI,)在美国国防部资助下,20,世纪,80,年代末建立的能力成熟度模型集成(,CMMI,),用于,预测软件开发组织所开发的系统和软件工程能力,2.2 能力成熟度模型集成美国卡内基-梅隆大学软件工程研究所,CMM,的,5,个能力成熟度等级,CMM的5个能力成熟度等级,CMMI,CMMI,定义了每一个过程域的“特定目标”,以及达到该目标所需的“特定实践”,任务:,查相关资料,了解,CMMI,每级的目标和实践,CMMICMMI定义了每一个过程域的“特定目标”,以及达到该,图,2-4,达到成熟度模型等级需要的过程域,图2-4 达到成熟度模型等级需要的过程域,2.3,过程模式,所谓,过程模式,,比通用过程框架中定义的活动相对要具体些,包含这些通用的方面,但依据不同的领域,侧重点不一样,表述方法也不一样。(注意:模式的定义更宽泛,它可能适用于任何阶段,任何方面),2.3 过程模式所谓过程模式,比通用过程框架中定义的活动相对,一个描述过程模式的模版:,模式名称,目的,类型(任务模式、步骤模式、阶段模式),启动条件,问题,解决办法,结束条件,相关模式,已知应用实例,一个描述过程模式的模版:模式名称,软件工程-过程模型课件,2.4,惯用过程模型,不同过程模型的共同特点:,都支持通用过程结构,即都包含其,五个要素:,沟通、策划、建模、构建和部署,规定了一整套的元素以及他们之间的相互关联的方式:,框架活动、软件工程动作、任务、工作产品、质量保证以及每个项目的变更控制机制,2.4 惯用过程模型不同过程模型的共同特点:,2.4,惯用过程模型(续),惯例过程模型包括:,瀑布模型、增量过程模型(增量模型、,RAD,模型)、演化过程模型(原型开发、螺旋模型、协同开发模型),2.4惯用过程模型(续)惯例过程模型包括:,2.4.1,瀑布模型,也称为,线性模型,或,传统生存周期,,V,模型,2.4.1 瀑布模型也称为线性模型或传统生存周期,V模型,瀑布模型(续),适用范围,?,通常发生在对一个已有系统进行,明确,定义的适应性调整和增强的时候,对于一个新的项目,,需求必须是准确定义和相对稳定的,瀑布模型(续)适用范围?,线性顺序模型特点,:,阶段间的顺序性和依赖性;,文档驱动性;,严格阶段评估;,开发初期需要清楚全部需求;,开发周期长、风险大。,瀑布模型(续),线性顺序模型特点:瀑布模型(续),瀑布模型(续),瀑布模型的缺点:,顺序太严格。实际工作经常是在多个环节之间来回反馈调整,而不是将一个环节完成后再继续前进。,产品在最后阶段才与客户见面,从心里学的角度讲有些考验客户。另外,如果此时才发现问题,需要改正,工作量将会很大。,效率可能不高。,瀑布模型(续)瀑布模型的缺点:,瀑布模型(续),优点:,它提供了一个摸板,这个摸板使得分析、设计、编码、测试和支持的方法可以在该摸板下有一个共同的指导。,虽然有不少缺陷但比在软件开发中随意的状态要好得多。,瀑布模型(续)优点:,图 实际的带反馈环的瀑布模型,图 实际的带反馈环的瀑布模型,增量过程模型,增量过程模型包括:,增量模型,RAD,模型,增量过程模型增量过程模型包括:,增量模型,以迭代方式运用瀑布模型。,增量模型以迭代方式运用瀑布模型。,增量模型(续),特点:,一般来讲,最重要的增量放在前面。,每次交付的增量产品都是可用的。,适合于功能可以划分,而且时间不紧迫的情况。,可以规避一定的风险。如有些技术还不稳定,将这部分放到后边。,增量模型(续)特点:,增量模型(续),例如:,采用增量模型开发的字处理软件:,在第,1,个增量中提供基本的文件管理、编辑和文档成文功能,第,2,个增量中提供复杂的编辑和文档生成功能,第,3,个增量中提供拼写和语法检查功能,第,4,个增量中提供高级页面排版功能,增量模型(续)例如:,RAD,模型,快速应用程序开发(,Rapid Application Development,,,RAD),是一种侧重于,短暂的开发周期,的增量软件模型。,RAD模型快速应用程序开发(Rapid Applicatio,3.3.2 RAD,模型(续),3.3.2 RAD模型(续),RAD,模型(续),瀑布模型的高速变体,通过基于,构件,的方法快速实现。,适于工期紧张,又可细分功能,还要有合适的构件。,RAD模型(续)瀑布模型的高速变体,通过基于构件的方法快速实,RAD,模型(续),缺点:,需要投入更多的人力。,各团队要紧密协作。,只适应于特殊的系统,必须可以合理模块化。,不适于高性能需求(若需调构件接口),系统需求灵活,现有构件不容易轻易满足。,技术风险很高的情况下,不宜采用该模型,。,RAD模型(续)缺点:,演化过程模型,软件,类似于其他复杂的系统,会随着时间的推移而演化,软件有技术能力的限制,时间的限制,认识理解的限制,其它客观因素的限制。,演化模型也是一种迭代模型。,演化过程模型软件,类似于其他复杂的系统,会随着时间的推移而演,演化过程模型,演化模型包括:,原型模型,螺旋模型,协同开发模型,演化过程模型演化模型包括:,原型开发,如果出现下面的情况,怎么办?,客户也不能给出确切的要求,开发人员对算法的效率、操作系统的兼容性和人机交互的形式不确定,原型,是一个循环的过程,所以也是迭代的过程。,原型开发如果出现下面的情况,怎么办?原型是一个循环的过程,所,原型开发(续),原型开发(续),图:原型法的处理过程,图:原型法的处理过程,原型开发(续),对原型的基本要求:,体现主要的功能,提供基本的界面风格,展示比较模糊的部分,以便于确定或进一步明确,防患于未然,原型最好是可以运行的,最少要在各主要功能模块之间能够建立相互连接,原型开发(续)对原型的基本要求:,原型开发(续),原型的处理方法:,抛弃型,在获取的明确需求的基础上,重新设计与开发,成本相对高,小公司一般慎用,演化型,在原型的基础上继续开发,原型开发(续)原型的处理方法:,原型开发(续),优点:,能让人(开发者或客户)很快见到产品,有成就感。,能渐进地启发客户提出新的要求或任务。,原型开发(续)优点:,原型开发(续),缺点:,容易蒙骗客户,也可能由此给自己带来麻烦。,往往只为结果,而不考虑技术手段,为今后埋下隐患。,系统可能考虑不周全。,原型开发(续)缺点:,原型开发(续),它与增量模型相比:,增量模型在开发以前基本能确定系统的,需求,,虽然在以后的过程中也可能不断完善;原型开发适应于预先不太清楚系统的需求。,增量模型的,反馈,可能较少,而原型开发需要不断的大量反馈信息。,原型开发(续)它与增量模型相比:,螺旋模型,结合了原形的迭代性质和瀑布模型的系统性和可控性特点,风险驱动,引入非常严格的风险识别、风险分析和风险控制,早期迭代中可能是一个理论模型或原形,螺旋模型结合了原形的迭代性质和瀑布模型的系统性和可控性特点,螺旋模型(续),螺旋模型(续),螺旋模型(续),螺旋模型与原型相比:,螺旋模型虽不像增量模型中对功能有明确界定,但有比原型要清晰一些。,螺旋模型的反馈要求持续于产品的整个生命期。,适合于大型软件的开发。,螺旋模型(续)螺旋模型与原型相比:,协同开发模型(续),又叫协同工程。,定义了一个活动的网络,网络上每个活动、动作和任务同时存在。,过程网络中某一点产生的事件可以触发状态的转换。,可适用于所有类型的软件开发,协同开发模型(续)又叫协同工程。,演化过程评述,演化模型的初衷是采用,迭代或者增量,的方式开发高质量软件,用演化模型可以强调灵活性、可扩展性和开发速度,软件开发团队需要在严格的项目和产品参数与客户满意度之间找到一个平衡点,演化过程评述演化模型的初衷是采用迭代或者增量的方式开发高质量,2.4.2,专用过程模型,具有通用过程模型的特点,只适应于一些特定的领域。,包括:,基于构件的开发,形式化方法模型,面向方面的软件开发等,2.4.2专用过程模型具有通用过程模型的特点,只适应于一些,基于构件的开发,利用预先打包的软件构件开发程序,什么是构件?,没有统一的定义,Gartner Group,定义:运行时软件构件是一个可动态绑定的、含一个或多个程序的,软件包,,它作为一个,独立单位,,通过运行时可辨别的文档化接口加以管理和存取,类似于螺旋模型,本质上是演化模型,基于构件的开发利用预先打包的软件构件开发程序,基于构件的开发(续),构件开发的步骤:,对所需构件进行评估。,考虑构件的集成。,设计系统的软件框架。,将构件放入框架。,进行测试。,基于构件的开发(续)构件开发的步骤:,形式化方法模型,形式化方法模型的主要活动是生成计算机软件形式化的,数学规格说明,。,特点:精密、准确。,缺点:难度大,成本高,可用人力资源少,用户不易理解,有时甚至无法完成。,方法:有穷状态机、,Petri,网、,Z,语言等。,形式化方法模型形式化方法模型的主要活动是生成计算机软件形式化,面向方面的软件开发,将系统分成若干相对较独立的组成部分,这些部分称为,方面,。面向方面技术包括面向对象技术,比它大。,系统的方面包括用户接口、协调工作、发布、持续性、存储器管理、事务处理、安全、完整性等。,还不成熟。具有螺旋型和协同型的共同特点。,面向方面的软件开发将系统分成若干相对较独立的组成部分,这些部,统一过程,试图将传统软件模型(惯例软件模型)和敏捷过程模型的优点结合起来,即统一起来。,一些术语:面向对象(,Object-Oriented,OO),面向对象分析(,Object-Oriented Analysis,OOA),面向对象分析(,Object-Oriented Design,OOD).,统一过程试图将传统软件模型(惯例软件模型)和敏捷过程模型的优,统一过程包括:起始,细化,构建,转换,生产等步骤。,统一过程包括:起始,细化,构建,转换,生产等步骤。,统一过程(续),起始:,包括客户沟通和策划活动,此时的构架只是主要子系统及其功能、特性的试探性概括。,统一过程(续)起始:,统一过程(续),细化:,包括用户沟通和通过过程模型的建模活动,扩展体系结构以包括软件的五种视图:用例模型、分析模型、设计模型、实现模型和部署模型。,统一过程(续)细化:,统一过程(续),构建:,与通过软件过程的构建活动相同。,采用体系结构模型作为输入,开发或获取软件构件,使得最终用户能够操作用例。,统一过程(续)构建:,统一过程(续),转换:,软件被提交给最终用户进行,Beta,测试,用户反馈报告缺陷及必要的变更。,另外,发布必须的支持信息:用户手册,用户指南及安装步骤等。,结束时,软件增量成为可用的发布版本。,统一过程(续)转换:,统一过程(续),生产:,与通过软件工程的部署一致,提供运行环境支持,提交并评估缺陷报告和变更请求。,统一过程(续)生产:,统一过程(续),统一过程(续),作业,P15 1.8,P37-38,2.5,详细描述三个适于采用瀑布模型的软件项目,2.6,详细描述三个适于采用原型模型的软件项目,2.8,详细描述三个适于采用增量模型的软件项目,2.13,详细描述三个适于采用构件模型的软件项目,作业P15 1.8,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!