[计算机软件及应用]软件工程的发展

[计算机软件及应用]软件工程的发展

ID:40005353

大小:5.42 MB

页数:51页

时间:2019-07-17

[计算机软件及应用]软件工程的发展_第1页
[计算机软件及应用]软件工程的发展_第2页
[计算机软件及应用]软件工程的发展_第3页
[计算机软件及应用]软件工程的发展_第4页
[计算机软件及应用]软件工程的发展_第5页
资源描述:

《[计算机软件及应用]软件工程的发展》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程学教程第二版周苏教授Zs@mail.hz.zj.cnQQ:81505050第16章软件工程的发展软件工程的四个发展阶段原型化方法面向对象的分析与设计统一的建模语言(UML)软件复用和构件技术第16章软件工程的发展软件作为IT技术应用的核心,其重要性日渐突出新的经济环境使软件开发面临着新的挑战如何快速且高质量地开发出满足不同需求的软件?建立更好的软件开发环境,开发和采用可复用的软件组件成为解决这一问题的最佳方法16.1软件工程的四个发展阶段自1968年以来,为了解决软件危机,人们希望通过其他工程的技术方法和管理手段,将软件的开发纳入工程化的轨道在70年代取得大

2、量的研究成果的基础上,基本形成了软件工程的概念、框架、方法和手段,成为软件工程的第一代,称之为传统软件工程16.1软件工程的四个发展阶段20世纪80年代以来,面向对象的方法与技术已受到广泛的重视,80年代出现的Smalltalk-80标志着面向对象程序设计进入了实用阶段80年代中到90年代,研究重点转移到面向对象的分析与设计,从而演化成一种完整的软件开发方法和系统的技术体系,成为软件工程的第二代,称之为对象工程16.1软件工程的四个发展阶段80年代中期,人们在研究和实践中发现,为了提高软件生产率,并使软件质量得到保证,其关键在于软件开发和维护中的管理和支持能力,并认

3、识到最关键的是“软件过程”1984年开始“软件过程运动”,从而逐步形成软件过程工程,成为软件工程的第三代16.1软件工程的四个发展阶段进入90年代之后,软件工程的一个重要进展就是基于构件的开发方法,为了提高软件生产力,要尽可能地利用可复用的构件,随着Internet技术的飞速发展,大量的分布式处理系统需要开发,这种方法的重要性也日益显露出来,从而成为软件工程的第四代,也有不少人称之为构件工程16.1软件工程的四个发展阶段软件工程还在不断发展构件工程、过程工程以及对象工程都有不少新的进展传统软件工程中的一些基本概念、框架,随着技术的进步也在发生不少演变软件工程代与代之

4、间并没有鸿沟,它们不仅有交叉重叠,也有携手并进软件工程是一门处于前沿地位的重要学科,需要认真地研究和细心地学习,也需要在技术实践中不断创新和发展实践表明,传统方法不能完全消除软件危机生产率提高的幅度远不能满足需要软件重用程度很低按照SA-SD-SP技术开发软件时,思维成果的可重用性很差软件仍然很难维护软件往往不能真正满足用户需要开发人员不能完全获得或不能彻底理解用户需求,与用户预期不符系统不能适应用户需求经常变化的情况传统软件工程方法存在的问题问题所在瀑布模型的局限某些类型系统需求的模糊项目参与者之间存在通信障碍预先定义的需求可能是过时的结构化技术的缺点基于过程的分

5、解与基于功能的理解和功能的变化结构化分析对边界的清楚定义限制了系统的扩充系统结构依不同开发人员而不同传统软件工程方法存在的问题事实上,生命周期方法学至今仍然是应用最广泛和最有效的软件开发方法之一系统的需求比较稳定而且能够预先指定(预先指定的系统)另一类系统的需求是模糊的或随时间变化的,通常在安装运行之后,还会由用户驱动对需求进行动态修改(用户驱动系统)传统软件工程方法存在的问题16.2原型化方法快速原型法用交互的、快速建立起来的原型取代形式的,不容修改的规格说明,用户通过在计算机上实际运行和试用原型系统而向开发者提供真实的反馈意见(简称原型法)试用——反馈——修改1

6、6.2原型化方法原型法有三个层次第一层是联机屏幕活动,确定屏幕及报表的版式和内容、屏幕活动的顺序及屏幕排版的方法第二层是第一层的扩展,引用了数据库的交互作用及数据操作,主要论证系统关键区域的操作,用户可以输入成组的事务数据,执行这些数据的模拟过程,包括出错处理第三层是系统工作模型,它是系统的一个子集,其中应用的逻辑事务及数据库的交互作用可以用实际数据来操作,这一层的目的是开发一个模型,使其发展成为最终的系统规模16.2原型化方法原型法的主要优点在于是一种支持用户的方法,使得用户在系统生存周期的设计阶段起到积极的作用能减少系统开发的风险原型法的概念适用于新系统开发,也

7、适用于对系统修改原型法要取得成功,要求有良好的开发环境/工具的支持原型法可以与传统的生命周期方法相结合使用,这样会扩大用户参与需求分析、初步设计及详细设计等阶段的活动,加深对系统的理解用原型法开发软件的过程抛弃原型法演化原型法是高度迭代的动态方法,在每次迭代过程中,都要再次分析和确定需求,再次进行设计,再次实现系统,以及再次进行测试和评价取决于开发者和用户双方是否都愿意在很长一段时间内对信息交流和修改系统采取开放的态度16.2原型化方法面向对象方法尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程也就是使描述问题的问题

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。