总结:软件工程与软件过程基本概念..ppt
《总结:软件工程与软件过程基本概念..ppt》由会员分享,可在线阅读,更多相关《总结:软件工程与软件过程基本概念..ppt(71页珍藏版)》请在课桌文档上搜索。
1、总结:传统软件工程与软件过程的基本概念,任何工程方法(包括软件工程)必须以有组织的质量保证为基础.全面的质量管理和类似的理念刺激了不断的过程改进,正是这种改进导致了更加成熟的软件工程方法的不断出现.支持软件工程的根基就在于对质量的关注.建造计算机软件是一个迭代学习的过程。,软件工程与软件过程的关系,软件过程是为开发高质量软件所需要完成的任务的框架.软件工程是有创造力,有知识的人在定义好的,成熟的软件过程框架中进行的.该过程适合于他们建造的产品和他们的市场需要。一个软件过程定义了软件开发中采用的方法,而软件工程还包含该过程中应用的技术-技术方法和自动工具。,工具,方法,过程,质量焦点,Softw
2、are engineering layers,1。过程、方法和工具,软件工程是一种层次化的技术(图2.1)。支持软件工程的根基就在于对质量的关注。软件工程的基础是过程层。软件工程过程是将技术层结合在一起的凝聚力,使得计算机软件能够合理和及时地开发。过程定义了一组关键过程区域的框架。,软件工程方法为软件开发提供了“如何做”的技术软件工具为软件工程方法提供了自动的或半自动的软件支撑环境,2 软件的一般视图,工程是对技术(或社会)实体的分析、设计、建造、验证和管理。与软件工程相关的工作可分为三个一般的阶段:(1)定义阶段:集中于“做什么”;三个主要任务:系统工程、项目计划、需求分析(2)开发阶段:集
3、中于“如何做”;三个特定任务:设计、编码、测试(3)支持阶段:关注于“变化”四类可能遇到的变化:纠错、适应、增强、预防,3。软件过程可分为三大类,基本过程类:是构成软件生存周期主要部分的那些过程,包括获取,供应,开发,操作,维护等过程.支持过程类:可穿插到基本过程中提供支持的一系列过程,包括文档开发,配置管理,质量保证,验证,确认,联合评审,审计,问题解决等过程.组织过程类:一个组织用来建立,实施一种基础结构,并不断改进该基础结构的过程,包括管理,基础,改进,培训等过程.,4。软件工程过程,软件工程过程(Software Engineering Process)是为获得软件产品,在软件工具支持
4、下由软件工程师完成的一系列软件工程活动。软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。过程定义了方法使用的顺序、要求交付的文档资料、为保证质量和协调变化所需要的管理、及软件开发各个阶段完成的里程碑。,软件工程过程通常包含四种基本的过程活动 P(Plan)软件规格说明:规定软件的功能及其运行的 限制;D(Do)软件开发:产生满足规格说明的软件 C(Check)软件确认:确认软件能够完成客户提出的要求 A(Action)软件演进:为满足客户的变更要求,软件必须在使用的过程中演进,5。软件过程模型,所有软件开发都可被刻画为一个问题解决环,其中包括四个不同
5、的阶段:状态描述、问题定义、技术开发和解决集成。软件有一个孕育、诞生、成长、成熟、衰亡的生存过程。这个过程即为计算机软件的生存期。软件生存期的六个步骤,即制定计划、需求分析、设计、程序编码、测试及运行维护。,制定计划,确定要开发软件系统的总目标给出功能、性能、可靠性以及接口等方面的要求完成该软件任务的可行性研究估计可利用的资源(计算机硬件,软件,人力等)、成本、效益、开发进度制定出完成开发任务的实施计划,连同可行性研究报告,提交管理部门审查,需求分析和定义,对待开发软件提出的需求进行分析并给出详细的定义编写软件需求说明书或系统功能说明书及初步的系统用户手册提交管理机构评审,软件设计,概要设计
6、把各项需求转换成软件的体系结构。结构中每一组成部分都是意义明确的模块,每个模块都和某些需求相对应详细设计 对每个模块要完成的工作进行具体的描述,为源程序编写打下基础编写设计说明书,提交评审。,程序编写,把软件设计转换成计算机可以接受的程序代码,即写成以某一种特定程序设计语言表示的“源程序清单”写出的程序应当是结构良好、清晰易读的,且与设计相一致的,软件测试,单元测试,查找各模块在功能和结构上存在的问题并加以纠正组装测试,将已测试过的模块按一定顺序组装起来按规定的各项需求,逐项进行有效性测试,决定已开发的软件是否合格,能否交付用户使用,运行维护,改正性维护 运行中发现了软件中的错误需要修正适应性
7、维护 为了适应变化了的软件工作环境,需做适当变更完善性维护 为了增强软件的功能需做变更,软件生存期模型(也称软件开发模型、软件过程模型、软件工程范型)是跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。简单地说,是软件产品或软件系统从设计、投入使用到被淘汰的全过程。所谓模型就是一种开发策略,这种策略针对软件工程的各个阶段提供了一套范型,使工程的进展达到预期的目的。,6。软件生存周期模型,7。编码修复模型,编码修复模型是所有模型中最古老也是最简单的模型。,编码修复模型的特点,它几乎不执行任何预先的计划,该模型的使用者很快就进入了所开发产品的编码阶段。典型的情况是,完成大
8、量的编码,然后测试产品并且纠正所发现的错误。编码和测试工作一直持续到产品开发工作全部完成并将产品交付给客户。,缺点:缺乏预先的计划和不正规的开发;软件产品的质量低于用其他模型实现的产 品质量;产品的设计没有认真计划及文档化,代码很难维护。优点:简单快捷,适合于很小且很简单的项目。,8。线性顺序模型,线性模型也称为传统生存周期或瀑布模型。传统生存模型是软件工程中应用最广泛的过程模型,在软件工程中占有肯定和重要的位置。它提供了一个模板,使得分析、设计、编码、测试和支持的方法可以在该模板的指导下应用。,阶段间的顺序性和依赖性;文档驱动性;严格阶段评估;开发初期需要清楚全部需求;开发周期长、风险大。,
9、线性顺序模型特点,优点:1、它提供了一个摸板,这个摸板使得分析、设计、编码、测试和支持的方法可以在该摸板下有一个共同的指导。2、虽然有不少缺陷但比在软件开发中随意的状态要好得多。,9。原型实现模型,由于在项目开发的初始阶段人们对软件的需求认识常常不够清晰,因而使得开发项目难于做到一次开发成功,出现返工再开发在所难免。做两次:第一次只是试验开发,其目标只是在于探索可行性,弄清软件需求。第二次则在此基础上获得较为满意的软件产品。,从需求收集开始,开发者和客户在一起定义软件的总体目标,标识已知的需求并且规划出需要进一步定义的区域。然后是“快速设计”,它集中于软件中那些对客户可见的部分的表示,这将导致
10、原型的创建。由客户评估并进一步精化待开发软件的需求。逐步调整原型使其满足客户的需求,这个过程是迭代的。,原型模型图,原型可以作为标识软件需求的一种机制;原型作为第一个系统,常常是抛弃的;开发过程的交互性和迭代性;充分发挥用户在软件开发初期的作用;开发周期较短、成本较低、风险较小。,原型实现模型的特点,缺点:1、没有考虑软件的整体质量和长期的可维护性。2、大部分情况是不合适的操作算法被采用目的为了演示功能,不合适的开发工具被采用仅仅为了它的方便,还有不合适的操作系统被选择等等。3、由于达不到质量要求产品可能被抛弃,而采用新的模型重新设计。优点:1、如果客户和开发者达成一致协议:原型被建造仅为了定
11、义需求,之后就被抛弃或者部分抛弃,那么这种模型很合适了。2、迷惑客户抢占市场,这是一个首选的模型。,10。快速应用开发RAD模型,快速应用开发(RAD)是一个增量型的软件开发过程模型,强调极短的开发周期。RAD模型是线性顺序模型的一个“高速”变种,通过使用构件的建造方法赢得了快速开发。RAD过程强调的是复用,复用已有的或开发可复用的构件。实际上RAD采用第四代技术。,软件生存周期模型,一.业务建模 业务功能信息流建模二.数据建模 形成一组支持该业务所需的数据对象,标识出每个对象的特征,并定义对象间的关系三.过程建模 创建过程描述以增加、修改、删除或检索一个数据对象。四.应用生成 使用自动化工具
12、辅助软件建造五.测试及反复 强调复用,对新的构件及其接口进行测试,RAD模型的阶段,RAD(快速应用开发)模型图,缺点:1、只能用于信息系统。2、对于较大的项目需要足够的人力资源去建造足够的RAD组。3、开发者和客户必须在很短的时间完成一系列的需求分析,任何一方配合不当都会导致RAD项目失败。4、这种模型对模块化要求比较高,如果有哪一功能不能被模块化,那么建造RAD所需要的构件就会有问题。5、技术风险很高的情况下不适合这种模型。优点:1、开发速度快,质量有保证。2、对信息系统特别有效。,11。增量模型,增量模型融合了线性顺序模型的基本成分(重复地应用)和原型实现的迭代特征。增量模型采用随着日程
13、时间的进展而交错的线性序列。每一个线性序列产生软件的一个可发布的“增量”。第一个增量往往是核心的产品。客户对每一个增量的使用和评估,都做为下一个增量发布的新特征和功能。,增量模型,过程渐进性:每次提交一个满足用户需求子集的增量构件;增量模型强调每一个增量均发布一个可操作的产品。能在短时间内向用户提交可使用的软件;软件系统的体系结构必须具有高度的开放性和可扩充性;在逐步增加产品功能的过程中有充裕的时间学习和适应新的功能。,增量模型的特点,12。螺旋模型,螺旋模型是一个演化软件过程模型。它将原型实现的迭代特征与线性顺序模型中控制的和系统化的方面结合起来。在螺旋模型中,软件开发是一系列的增量发布。在
14、每一个迭代中,被开发系统的更加完善的版本逐步产生。螺旋模型被划分为若干框架活动,也称为任务区域。,螺旋模型沿着螺线旋转,在四个象限上分别表达了四个方面的活动,即:制定计划确定软件目标,选定实施方案,弄清项目开发的限制条件。风险分析分析所选方案,考虑如何识别和消除风险。实施工程实施软件开发。客户评估评价开发工作,提出修正建议。,产品维护项目,产品增强项目,新产品开发项目,概念开发项目,风险分析,工程实施,用户通信,用户评估,计划,建造及发布,螺旋模型的特点,螺旋模型的每一个周期都应用了原型模型排除风险,在确定了原型之后,又启动生命周期模型继续过程的演化;软件开发的每个阶段都是一次迭代,每旋转一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 总结 软件工程 软件 过程 基本概念

链接地址:https://www.desk33.com/p-250502.html