欢迎来到天天文库
浏览记录
ID:52170896
大小:583.00 KB
页数:43页
时间:2020-04-01
《《现代软件工程》.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、《现代软件工程》第一章现代软件工程概述从软件到软件工程:进入一个新的境界-1生命周期:软件工程的基本思路-2技术与方法:软件工程的基本过程-3软件企业的现代软件工程实践-4第一章现代软件工程概述第一章现代软件工程概述1.2生命周期:软件工程的基本思路软件生存周期-2.1瀑布模型-2.2原型模型-2.3喷泉模型-2.4增量模型-2.5螺旋模型-2.6构件组装模型-2.7统一软件过程RUP模型-2.82.1软件工程的生存周期1.“生存周期”的起源人类解决复杂问题时普遍采用的一个策略是“各个击破”,也就是对问题进行分解,然后再分别解决各个子问题的策略。软件工程采用的“生存周期法”,就
2、是从时间角度对软件开发和维护的复杂问题进行分解,把软件生存的漫长周期依次划分为若干个阶段,每个阶段有相对独立的任务,然后再逐步完成每个阶段的任务。定义软件生存周期的另一个目的,是提供一个公共的框架,以便软件人员可以用相同的语言,在各自的环境中,开展工作。这是传统软件工程的基本想法。2.生存周期划分的原则各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不同阶段之间的联系,有利于软件开发过程的组织管理。3.“生存周期法”的特点阶段具有顺序性和依赖性推迟实现的观点不到最后阶段,不知道真正的结果质量保证的观点每个阶段都必须完成规定
3、的文档每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。4.生存周期的划分传统软件生存周期一般分为:软件定义(问题定义、可行性研究、需求分析)、软件开发(总体设计、详细设计、编码和单元测试、综合测试)、软件维护等三个时期。2.1软件工程的生存周期生存周期各阶段的工作生存周期各阶段的工作2.2软件开发过程模型—瀑布模型一、瀑布模型(waterfallModel)传统的生命周期模型70年由Royce提出典型瀑布模型具有顺序性和依赖性问题定义软件需求总体设计详细设计编程调试运行维护定义阶段开发阶段维护阶段瀑布模型的特征从上一项活动中接受该项活动的工作成果(工作产品
4、),作为输入。利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,作为输出传给下一项活动对该项活动实施的工作进行评审。若其工作得到确认,则继续下一项活动。瀑布模型的优点:1.强调开发的阶段性;2.强调早期计划及需求调查;3.强调产品测试。2.2软件开发过程模型—瀑布模型瀑布模型与全生命周期——另一种看法产品的观点产品的全生命周期要长于(开发)项目的生命周期瀑布模型的缺点:从认识论角度看,人的认识是一个多次反复循环的过程,不可能一次完成。但瀑布模型中划分的几个阶段,没有反映出这种认识过程的反复性。特别是瀑布模型过于依赖早期进行的唯一一次需求调查,不能适应需求的变化;软件开
5、发是一个知识密集型的开发活动,需要相互合作完成,但瀑布模型没有体现这一点。特别是由于瀑布模型是单一流程,开发中的经验教训不能反馈应用于本产品的过程。思考题:1、我们的日常生活中,有哪些活动是符合瀑布模型的?2、为什么我们的小型开发团队连瀑布模型都不能坚持做到?客观因素是什么?3、瀑布模型的现实实用价值在哪里?2.2软件开发过程模型—瀑布模型瀑布模型造成软件错误的积累和放大效应分析正确的规格说明原始要求错误的规格说明设计编码测试正确编码正确功能正确设计对错误说明的设计错误编码可纠正错误错误设计错误设计的编码错误说明编码不可纠正和潜伏的错误交付的软件产品软件的变更、维护往往经历软件
6、生存期的各个阶段,因此,瀑布模型也有反馈,构成生存期循环。下图:上下阶段间循环:2.2软件开发过程模型—瀑布模型具有维护阶段循环的软件生存期的瀑布模型2.2软件开发过程模型—瀑布模型二、原型(迭代)模型1.基本思想在获取一组基本的需求定义后,利用高级软件工具的可开发环境,快速地建立一个目标系统的最初版本-原型,并把它交给用户试用、补充和修改,再进行新的版本开发。反复进行这个过程,直到得出系统的“精确解”,即用户满意为止。经过这样一个反复补充和修改的过程,应用系统的“最初版本”就逐步演变为系统的“最终版本”。原型:一个真实的可执行模型,它实现了系统的若干基本功能。原型法:不断地运
7、行系统“原型”来进行启发、揭示和判断的系统开发方法。2.3软件开发过程模型——原型模型2.原型(迭代)模型的来源:利用相应原型开发工具快速开发已经完成核心产品开发和试点,进行本地化、客户化的过程,称为二次开发(迭代和演化)2.3软件开发过程模型——原型模型3.快速建立原型的目的,是获取需求2.3软件开发过程模型——原型模型开发要求分析评价软件环境用户开发团队构造原型原型开发的例子在“需求分析”阶段,开发团队和用户一起为想象中的系统的某些主要部分,定义需求和规格说明,并由开发团队在规格说明级用
此文档下载收益归作者所有