收藏 分享(赏)

软件工程发展趋势.doc

上传人:精品资料 文档编号:10639757 上传时间:2019-12-10 格式:DOC 页数:17 大小:158KB
下载 相关 举报
软件工程发展趋势.doc_第1页
第1页 / 共17页
软件工程发展趋势.doc_第2页
第2页 / 共17页
软件工程发展趋势.doc_第3页
第3页 / 共17页
软件工程发展趋势.doc_第4页
第4页 / 共17页
软件工程发展趋势.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、软件工程发展趋势- 1 -软件工程发展趋势姓名: 班级: 2011 年 12 月 4 日软件工程发展趋势- 2 -目录1. 内容摘要32. 论文关键词33. 引言34. 软件工程发展趋势一、软件工程发展趋势1) 软件工程的来源42) 软件工程的定义53) 软件工程的发展趋势54) 软件工程技术的发展7二、软件构件技术1) 构件的定义及相关情况112) 构件技术历史发展趋势123) 构件技术的优势134) 我国对其研究情况145. 结束语156. 参考文献16软件工程发展趋势- 3 - 内容摘要:软件是一种特殊的产品,随着其规模和复杂性的提高、使用范围的扩大,需要从技术和管理两方面对软件的开发过

2、程进行控制。本文主要从软件工程这门学科和技术出现的背景出发,回顾了软件工程在近 40 年来理论、方法和实践中的成果。管中窥豹得出软件工程技术发展的必要性。阐述了软件重用和软件构件技术、中间件、分布式计算、标准化、智能化以及软件可靠性工程等当前与软件工程发展密切相关的几个热点技术问题, 并对软件构件技术发展趋势进行了探讨. Internet、网格技术和分布式人工智能技术的发展, 将对软件工程和软件产业的发展带来深远影响.标准化、智能化和产业化. 关键词: 软件危机;构件技术;体系结构;软件开发;系统设计;软件工程技术 引言:软件工程自二十世纪六十年代末诞生以来, 经历 30 余年的坎坷, 它已经

3、成为计算机科学领域一门综合性和工程性的独立学科. 现在以及未来若干年内, 软件工程的研究热点将主要集中在软件重用和软件构件技术、中间件、分布式计算和网格计算、标准化、智能化以及软件可靠性工程等方面. 了解和掌握这些热点技术问题的研究现状, 对我们进一步学习和研究软件工程无疑具有一定的参考意义。软件工程发展趋势- 4 - 正文:一 、 软 件 工 程 发 展 趋 势( 一 ) 软 件 工 程 的 来 源20 世 纪 中 期 , 计 算 机 刚 被 从 军 用 领 域 转 向 民 用 领 域 使 用 , 软件设计往往只是为了一个特定的应用而在指定的计算机上设计和编制,当 时 的 计 算 机 硬 件

4、 非 常 昂 贵 , 编 程 人 员 追 求 的 是 如 何 在 有 限 的处 理 器 能 力 和 存 储 器 空 间 约 束 下 , 编 写 出 执 行 速 度 快 、 体 积 小 的 程序 。 设计软件往往等同于编制程序,基本上是个人设计、个人使用、个人操作、自给自足的私人化的软件生产方式。 到 了 20 世 纪 60 年 代 , 大容量、高速度计算机的出现,使计算机的应用范围迅速扩大,软件开发急剧增长,高级语言开始出现;操作系统的发展引起了计算机应用方式的变化;大量数据处理导致第一代数据库管理系统的诞生。软件系统的规模越来越大,复杂程度越来越高,软件可靠性问题也越来越突出,对 软 件 系

5、 统 的 需 求 和软 件 自 身 的 复 杂 度 急 剧 上 升 。 传 统 的 开 发 方 法 无 法 适 应 用 户 在 质量 、 效 率 等 方 面 对 软 件 的 需 求 , 迫切需要改变软件生产方式,提高软件生产率。 软件危机开始爆发,这 就 是 所 谓 的 “软 件 危 机 ”。 为 解 决 这 个 问 题 , 1968 年 NATO 会 议 上 首 次 提 出 “软 件 工 程 ”(Software Engineering)的 概 念 , 提 出 把 软 件 开 发 从 “艺 术 ”和“个 体 行 为 ”向 “工 程 ”和 “群 体 协 同 工 作 ”转 化 。 其 基 本 思

6、 想是 应 用 计 算 机 科 学 理 论 和 技 术 以 及 工 程 管 理 原 则 和 方 法 , 按 照 预 算和 进 度 , 实 现 满 足 用 户 要 求 的 软 件 产 品 的 定 义 、 开 发 、 发 布 和维护的工程。从此也诞生了一门新的学科软件工程。但是必须承认的是软件危机不可能完全解决,但是经过几十年的不断努力,软件工程的理论已经得到极大的丰富和完善,各种软件设计方法层出软件工程发展趋势- 5 -不穷,软件行业一片繁荣,从而促进了计算机科学的不断向前发展。( 二 ) 软 件 工 程 的 定 义软件工程(Software Engineering,简称为 SE)是一门研究用工

7、程化方法构建和维护有效的、实用的和高质量的软件的学科。“工程”是科学和数学的某种应用,通过这一应用,使自然界的物质和能源的特性能够通过各种结构、机器、产品、系统和过程,成为对人类有用的东西。因而, “软件工程”就是科学和数学的某种应用,通过这一应用,使计算机设备的能力借助于计算机程序、过程和有关文档成为对人类有用的东西。软件工程的成果是为软件设计和开发人员提供思想方法和工具,而软件开发是一项需要良好组织,严密管理且各方面人员配合协作的复杂工作。软件工程正是指导这项工程的一门科学。软件工程在过去一段时间内已经取得了长足的进展,可以说在软件的开发和应用中起到了其应有的作用。软件工程涉及到程序设计语

8、言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。( 三 ) 软 件 工 程 的 发 展 趋 势30 多年来,随着软件工程的研究和实践取得了长足的进步,获得了一些具有里程碑意义的进展,尽管目前离彻底解决“软件危机”软件工程发展趋势- 6 -还有相当的差距(对是否能彻底解决目前也存在争议),但软件工程的方法对软

9、件产业的发展还是起到了很大的推动作用。 20 世纪 60 年代末至 70 年代中期,在一系列高级语言的应用的基础上,出现了结构化程序设计技术,并开发出了一些支持软件开发的工具。 20 世纪 70 年代中期至 80 年代,计算机辅助软件工程(CASE)成为研究热点,并开发了一些对软件技术发展具有深远影响的软件工程开发的软件开发环境。 20 世纪 80 年代中期至 90 年代,出现了面向对象语言和方法,并成为主流的软件开发技术;开展软件过程及软件过程改善的研究;注重软件复用和软件构件技术的研究与实践。软件工程的未来走向:20 世纪末开始流行的 Internet 给人们提供了一种全球范围的信息基础设

10、施,形成了一个资源丰富的计算平台,未来如何在 Internet 平台上进一步整合资源,形成巨型的、高效的、可信的虚拟环境,使所有资源能够高效、可信地为所有用户服务,成为软件技术的研究热点。 Internet 平台具有一些传统软件平台不具备的特征:分布性、节点的高度自治性、开放性、异构性、不可预测性、连接环境的多样性等。这对软件工程的发展提出了新的问题。软件工程需要新的理论、方法和技术和平台来应对这个问题。目前投入很大精力研究的中间件技术就是这方面的典型代表。 Internet 及其上应用的快速发展与普及,使计算机软件所面临的环境开始从静态封闭逐步走向开放、动态和多变。软件系统为了适应这样一种发

11、展趋势,将会逐步呈现出柔性、多目标、连续反应式的网构软件系统的形态。面对这种新型的软件形态,传统的软件理论、方法、技术和平台面临了一系列挑战。从宏观上看,这种挑战为我们研究软件理论、方法和技术提供了难得的机遇,使我们有可能建立一套适合于 Internet 开放、动态和多变环境的新型软件理软件工程发展趋势- 7 -论、方法和技术体系。从微观的角度来看,Internet 的发展将使系统软件和支撑平台的研究重点开始从操作系统等转向新型中间件平台,而网构软件的理论、方法和技术的突破必将导致在建立新型中间件平台创新技术方面的突破。( 四 ) 软 件 工 程 技 术 的 发 展从 20 世纪 60 年代以

12、来,软件工程技术历经三十年的发展,目前已进入成熟期。软件过程改善的热潮使软件企业对软件工程技术及 case 工具的认识有了质的飞跃,正在被越来越广泛地接收。过程改善和技术提升的结合是软件产业发展的趋势。陆续出现了结构化程序设计技术、计算机辅助软件工程(CASE)、面向对象语言和方法、软件过程及软件过程改善研究等一系列成果,并应用到实践中。软件复用和软件构件技术、再工程技术及领域工程技术正逐步成为主流软件技术,是软件工程化、工业化生产技术的核心技术。软件工程发展趋势- 8 -当前,软件工程领域的主要研究热点是软件复用和软件构件技术,它们被视为是解决“软件危机”的一条现实可行的途径,是软件工业化生

13、产的必由之路。分析传统产业的发展,其基本模式均是符合标准的零部件(构件)生产以及基于标准构件的产品生产(组装),其中,构件是核心和基础,“复用”是必需的手段。实践表明,这种模式是产业工程化、工业化的必由之路。标准零部件生产业的独立存在和发展是产业形成规模经济的前提。机械、建筑等传统行业以及年轻的计算机硬件产业的成功发展均是基于这种模式并充分证明了这种模式。软件产业的发展也不可能例外,标准构件的生产和构件的复用是关键因素。软件复用和软件构件技术的成熟和流行将导致软件产业的合理分工,构件生产业作为 独立产业而存在。目前软件工程中主要使用的方法和技术可以分成技术和管理两类。 技术的角度 主要包括:软

14、件开发范型、软件设计方法。软件开发范型关注软件工程的方向,即如何才是正确的编写满足需求的软件;软件设计方法关注软件工程的“途径” ,即研究怎样完成从高层概念模型到低层概念模型的映射。 软件工程理论在实践中应用时重点放在软件复用上。参考目前成熟的工业产品的开发模式,软件复用可以在软件开发中避免重复劳动,它以已有的成果为基础,充分利用过去开发应用系统中积累的知识和经验,将开发的重点集中于新应用的特有构成成分上。通过使用软件复用技术,开发应用系统时可以充分利用已有的开发成果,消除软件生命周期中的许多重复劳动,提高软件开发的效率。同时,复用高质量的已有成果,可以避免重新开发时引入的错误,从而提高软件质

15、量。 实现软件复用的关键技术包括软件构件技术(software 软件工程发展趋势- 9 -component technology)、领域工程(domain engineering)、软件体系结构(software architecture)等。 软件构件是指应用系统中可以明确辨识的构成成分,可复用构件是指具有相对独立功能和可复用价值的构件。目前,构件的概念即包括源代码,也包括需求、需求规约、系统和软件的体系结构、文档、测试计划、测试用例和数据以及其他对开发活动有用的信息,这些信息都可以称为可复用软件构件。软件构件技术是支持软件复用的核心技术,其主要研究内容包括:如何有目的的进行构件生产和从已

16、有系统中挖掘提取构件;构件的本质特征及构件间的关系是什么样的;如何描述构件;如何对构件进行分类、组织及检索等。研究实践表明,由于某个特定领域需要的软件具有相似的需求,因此软件复用在特定领域内更容易获得成功,由此出现了领域工程。领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它涵盖了建立可复用软件构件的所有活动。包括美国卡内基梅隆大学软件工程研究所(CMUSEI)在内的许多研究机构已经提出了一些领域分析方法。 如果软件复用仅停留在代码阶段,开发人员得到的好处是有限的。软件体系结构技术使软件复用从代码复用发展到设计复用和过程复用。在建筑工程领域人们用体系结构表达建筑的整体结构

17、,软件工程研究中引人体系结构这个术语,其核心内容是软件系统的结构,它包括如下一些实体:构件、构件之间的交互关系、限制、构件和连接件构成的拓扑结构、设计原则与指导方针。 工程管理的角度 参考其他成熟工程领域中的做法,软件工程也研究管理学理论在软件工程中的应用。软件项目管理方法抛弃了以前个人的作坊式开发方式,根据管理科学的理论,结合软件产品开发的实际,保证工程化系统开发方法的顺利实施。为了使软件项目能软件工程发展趋势- 10 -够按照预定的成本、进度、质量顺利完成,软件管理方法对成本、人员、进度、质量、风险、文档等进行分析管理和控制。进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能

18、力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,其开发风险也越小。软件项目管理已经是公认的软件开发企业的核心竞争力之一。 根据在前面提到的软件与其他产品的区别,软件项目管理具有一些与其他项目管理不同的特性软件项目管理中遵循着一些原则,例如:软件项目中需要平衡需求、资源、工期、质量这四个要素之间的关系;大规模的项目要拆分成几个小项目,从而减小项目的管理风险,并且使目标具体明确;依靠一套规范的过程来实时控制项目进度,并确保项目经理能够及时发现问题、解决问题,保证项目具有很高的可见度;针对不同项目的特点,制订不同的项目管理的方针政策;合理控制项目组的规模控制原则;有效的积累知识,做到

19、人员的专业化培养。 目前在软件项目管理方面有国际标准化组织专门为软件行业定制的 ISO9003 标准,它给出了衡量软件质量的准则;美国卡内基梅隆大学软件工程研究所提出的 CMM(Capability Maturity Model,能力成熟度模型)则提供了一整套较为完善的软件研发项目管理的方法。 二 、 软 件 构 件 技 术综述:软件工程的研究热点是随着软件技术的发展而不断变化的。即便在软件工程的领域内,研究热点也在不断转移。以往软件工程一软件工程发展趋势- 11 -直不能像其他产品一样,做到标准化,但是,随着技术条件的不断成熟,相应标准的出台,软件人员已经开始重视这方面的工作。实际上可以将许

20、多软件工作分成许多部件去构造。软构件的开发与运用刚刚开始,在一些公共领域,例如软件的用户界面,通用软构件的使用已经屡见不鲜。然而,对于各行各业的专业领域来说,领域构件的开发和使用还是基本处于空白状态。这一工作的进行,一方面意味着各行各业对本专业领域内的知识形态加以归纳整理,然后以最新的软件形式表达出来。如果全面铺开,就是一件规模浩大的社会工程,需要各行各业的领域专家和软件专家通力合作才能完成。如果软件生产的“构件-集成”格局的趋势成为现实,各种应用领域里的构件的设计与生产将开辟出一个十分广阔的新天地,产生出巨大的市场需求,而且软构件的使用可以渗透到符合软构件标准规范的所有系统中。( 一 ) 构

21、 件 的 定 义 及 相 关 情 况构件技术是指通过组装一系列可复用的软件构件来构造软件系统的软件技术.通过运用构件技术,开发人员可以有效的进行软件复用,减少重复开发,缩短软件的开发时间,降低软件的开发成本。基于构件复用的软件开发涉及三个主要子过程:构件开发、构件管理、基于构件复用的应用组装。下面将列出这三方面主要研究内容: 构件的开发构件模型及构件制作:构件模型是对构件本质及其关系的抽象描述,当前的成果包括指导性的 3c 模型,reboot 模型,resolve 模型及青鸟模型等。构件制作解决如何实现构件的问题,当前已出现若干以考虑开放及互操作为出发点的构件实现标准,如,cobra/com、

22、ole/com、java bean 等。软件工程发展趋势- 12 -构件获取:通过再工程或领域工程是获取构件的主要手段。构件测试:研究构件的独立测试及组装测试。 构件的管理构件库数据模型:主要工作有 rig(reuse library interoperability group)提出的 udm(uniform data model) 、bidm(basic interoperability data model) 。青鸟构件库系统也提出了与之相容的构件库数据模型。构件分类检索策略:主要有基于刻面、关键词、枚举、类型和关系等分类方法,这些方法各有优缺点,通常构件库系统均采用这些分类策略的组合。

23、构件 broker:如何在构件库管理中引入管理运行态构件的broker,对外提供构件服务是构件互操作技术的发展所带来的新课题。 基于构件组装的应用开发软件体系结构;源代码级的组装技术;运行级的组装技术,支持即插即用;面向 corba、ole、javabean 的辅助开发工具;应用系统演化构件的灵活替换和升级。典型工作大量 active、vex 构件开发;美国军方的构件库系统;sei 的 cbse(componentbased software engineering);sei 的产品线方法;青鸟软件生产线系统支持基于构件/构架模式的应用系统集成。( 二 ) 构 件 技 术 历 史 发 展 趋

24、势1968 年 NATO 软件工程会议,Mcllroy 在提交会议的论文大量生产的软件构件中,提出了“软件组装生产线”的思想。从那以后,采用构件技术实现软件复用,采用“搭积木”的方式生产软件,软件工程发展趋势- 13 -成为软件开发人员长期的梦想。软件复用是指重复使用“为了复用目的而设计的软件”的过程。就软件开发而言,软件复用包括:早期的函数复用、面向对象言语中的类的复用,以及互联网时代的完整软件体系的构件复用。 有效的软件复用是可以提高软件开发的效率和质量。建立在构件复用基础上的软件复用将会带来极大的价值, Software Reuse指出很多公司通过复用取得的成就使们坚信,管理层可以期待获

25、得如下优势。互联网应用时代的到来,不仅仅增加了应用需求和软件的复杂性。构件技术在互联网时代突飞猛进,已经为实现软件复用的理想,解决软件危机带来了曙光! 面向构件技术对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。整个构件隐藏了具体的实现,只用接口提供服务。这样,在不同层次上,构件均可以将底层的多个逻辑组合成高层次上的粒度更大的新构件,甚至直接封装到一个系统,使模块的重用从代码级、对象级、架构级到系统级都可能实现,从而使软件像硬件一样,能任人装配定制而成的梦想得以实现。 目前主流的软件构件技术标准有:微软提出的 COM/COM+、SUN公司提出的 Java B

26、ean/EJB、OMG 提出的 Corba。它们为应用软件的开发提供了可移植性、异构性的实现环境和健壮平台,结束了面向对象中的开发语言混乱的局面,解决软件复用在通信、互操作等环境异构的瓶颈问题。 (三 ) 构件技术的优势1)投放市场时间:减少为原来的 1/2 到 1/5; 2)缺陷密度:降低为原来的 1/5 到 1/10; 3)维护成本:降低为原来的 1/5 到 1/10; 软件工程发展趋势- 14 -4)整体软件开发成本:降低大约 15%,长期项目可降低高达75%。 因此构件技术一直被视为解决软件危机现实可行的途径。在过去几十年尽管软件开发的主流思想几经沿革,软件业一直没有放弃构件技术的尝试

27、。 60 年代末到 80 年代初,结构化的软件开发思想占主导地位,当时的复用是函数复用和模块复用。函数通过参数来适应不同应用需求的变化,package 模块也是通过接口规范说明进行连接和组装实现复用。但是,由于结构化的存在极大隐患,函数层面的复用能力有限,其结果是系统结构混乱、效率低,软件成份复用性差。函数复用和模块复用没有解决软件工程的危机。 80 年代起,面向对象的软件开发思想迅速发展起来,通过类的封装、继承和应用,面向对象的软件开发成功的实现代码级的复用。类和封装性,实现数据抽象和信息隐蔽,继承性,提高了代码复用性。面向对象技术被公认为当前的主流的技术。但是,面向对象的复用脱离不了代码级

28、复用的本质,由于复用的颗粒较低,软件开发中的复用的潜力远远没有发挥出来。类复用也没有解决软件工程的危机。 (四)我国对其研究情况 北京大学软件工程研究所 北京大学软件工程研究所是一个专注于软件工程及其相关领域的研究和实践的学术机构,其前身是建立于 1983 年的软件工程教研室,1999 年正式挂牌成为北京大学的一个专业研究所。 近年来,研究所在所长杨芙清院士的领导下,对软件复用与软件构件技术进行了深入的研究。成果代表为青鸟工程是,历经“七五” 、 “八五” “九五” 。青鸟工程在软件复用和构件技术领域成绩斐然。 软件工程发展趋势- 15 - 中国科学院软件研究所 中科院软件所软件工程技术研究中

29、心,在首席研究员冯玉琳博士带领下,对构件技术深入研究,硕果累累。其中作为知识创新工程的成果的信息化基础软件核心平台是其代表。 上海普元 普元是国内最早推进面向构件技术的厂商之一,也是目前国内唯一一家提供真正意义上的面向构件的互联网应用基础平台的专业化厂商。普元把崭新的互联网相关技术与先进的构件复用技术以及可视化开发技术完美地结合起来,创造了一套具有国际领先水平的面向构件的互联网的应用基础平台-EOS。 互联网实验室 互联网实验室是我国著名的 IT 研究机构,长期从事构件技术及软件产业的研究,并 2004 年 1 月 16 日发布了面向构件的互联网应用基础平台研究报告 ,是目前国内较为详尽的关于

30、构件技术研究的专业报告。结束语:综上所述, 诸如构件化、中间件、标准化、分布式计算、智能化、可靠性工程等技术的进步给软件产业及软件工程的发展带来了深刻的影响。除此之外, 软件工程在过程控制、项目管理、软件经济、风险管理、领域工程等方面也在不断发展。软件工程在未来若干年的努力方向主要是:继续利用各种先进的知识和工具, 加强软件工程自身的科学理论基础的研究;剖析软件工程过程中需求和设计之间的断层现象,建立应用需求和系统设计两软件工程发展趋势- 16 -者之间的有效连接机制;提出稳定可靠的提高软件生产率的自动化和标准化措施,解决系统设计到系统开发的平滑过渡问题;研究降低软件开发成本、缩短开发周期、大

31、量实现软件重用、提高系统可靠性的途径和方法。尤需指出的 Internet、网格技术和分布式人工智能技术的发展, 将对软件工程和软件产业的发展带来深远影响. 软件工程必然要从封闭式开发走向开放式协同开发, 软件工程基于实体驱动和确定目标、有序控制的开发模式必然让位于网络环境下的基于协同驱动和动态目标、实体聚合的开发模式。地理上广泛分布、系统平台各异的多种计算资源用高速网络连接起来,将形成虚拟的超级计算平台,获得前所未有的处理能力。基于这种环境开发的软件系统具有更复杂的特征,如动态扩展性、系统平台的各异性、结构的不可预测性、多级管理域等. 网格技术可以粘合不同网络空间、不同系统平台的中间件, 对整个系统实行统一的用户管理、资源管理、作业管理和安全管理, 保障软件系统的可靠运行. 有学者把在这样一个开放、动态和多变环境下开发的软件系统称为 网构软件, 并预言网构软件的理论、方法和技术将成为 21 世纪的先进的软件工程方法学体系。参考文献:软件工程导论:南开大学出版社,2006 年 8 月大规模基于构件的软件开发:机械工业出版社,2003 年 7 月构件化软件超越面向对象编程:电子工业出版社,2004 年 9 月软件构件技术:清华大学出版社,北京交通大学出版社百度百科: 构件_百度百科 - 搜搜百科 17 -

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报