软件工程发展趋势_第1页
软件工程发展趋势_第2页
软件工程发展趋势_第3页
软件工程发展趋势_第4页
软件工程发展趋势_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程发展趋势姓名:班级:2023年12月4日目录内容摘要﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍3论文关键词﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍3引言﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍3软件工程发展趋势软件工程发展趋势软件工程的来源﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍4软件工程的定义﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍5软件工程的发展趋势﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍5软件工程技术的发展﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍7软件构件技术构件的定义及相关情况﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍11构件技术历史发展趋势﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍12构件技术的优势﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍13我国对其研究情况﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍14结束语﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍15参考文献﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍16内容摘要:软件是一种特殊的产品,随着其规模和复杂性的提高、使用范围的扩大,需要从技术和管理两方面对软件的开发过程进行控制。本文重要从软件工程这门学科和技术出现的背景出发,回顾了软件工程在近40年来理论、方法和实践中的成果。管中窥豹得出软件工程技术发展的必要性。阐述了软件重用和软件构件技术、中间件、分布式计算、标准化、智能化以及软件可靠性工程等当前与软件工程发展密切相关的几个热点技术问题,并对软件构件技术发展趋势进行了探讨.Internet、网格技术和分布式人工智能技术的发展,将对软件工程和软件产业的发展带来深远影响.标准化、智能化和产业化.关键词:软件危机;构件技术;体系结构;软件开发;系统设计;软件工程技术引言:软件工程自二十世纪六十年代末诞生以来,经历30余年的坎坷,它已经成为计算机科学领域一门综合性和工程性的独立学科.现在以及未来若干年内,软件工程的研究热点将重要集中在软件重用和软件构件技术、中间件、分布式计算和网格计算、标准化、智能化以及软件可靠性工程等方面.了解和掌握这些热点技术问题的研究现状,对我们进一步学习和研究软件工程无疑具有一定的参考意义。正文:软件工程发展趋势(一)软件工程的来源20世纪中期,计算机刚被从军用领域转向民用领域使用,软件设计往往只是为了一个特定的应用而在指定的计算机上设计和编制,当时的计算机硬件非常昂贵,编程人员追求的是如何在有限的解决器能力和存储器空间约束下,编写出执行速度快、体积小的程序。设计软件往往等同于编制程序,基本上是个人设计、个人使用、个人操作、自给自足的私人化的软件生产方式。到了20世纪60年代,大容量、高速度计算机的出现,使计算机的应用范围迅速扩大,软件开发急剧增长,高级语言开始出现;操作系统的发展引起了计算机应用方式的变化;大量数据解决导致第一代数据库管理系统的诞生。软件系统的规模越来越大,复杂限度越来越高,软件可靠性问题也越来越突出,对软件系统的需求和软件自身的复杂度急剧上升。传统的开发方法无法适应用户在质量、效率等方面对软件的需求,迫切需要改变软件生产方式,提高软件生产率。软件危机开始爆发,这就是所谓的“软件危机”。为解决这个问题,1968年NATO会议上初次提出“软件工程”(SoftwareEngineering)的概念,提出把软件开发从“艺术”和“个体行为”向“工程”和“群体协同工作”转化。其基本思想是应用计算机科学理论和技术以及工程管理原则和方法,按照预算和进度,实现满足用户规定的软件产品的定义、开发、发布和维护的工程。从此也诞生了一门新的学科——软件工程。但是必须认可的是软件危机不也许完全解决,但是通过几十年的不断努力,软件工程的理论已经得到极大的丰富和完善,各种软件设计方法层出不穷,软件行业一片繁荣,从而促进了计算机科学的不断向前发展。(二)软件工程的定义软件工程(SoftwareEngineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。“工程”是科学和数学的某种应用,通过这一应用,使自然界的物质和能源的特性可以通过各种结构、机器、产品、系统和过程,成为对人类有用的东西。因而,“软件工程”就是科学和数学的某种应用,通过这一应用,使计算机设备的能力借助于计算机程序、过程和有关文档成为对人类有用的东西。软件工程的成果是为软件设计和开发人员提供思想方法和工具,而软件开发是一项需要良好组织,严密管理且各方面人员配合协作的复杂工作。软件工程正是指导这项工程的一门科学。软件工程在过去一段时间内已经取得了长足的进展,可以说在软件的开发和应用中起到了其应有的作用。软件工程涉及到程序设计语言,数据库,软件开发工具,系统平台,标准,设计模式等方面。在现代社会中,软件应用于多个方面。典型的软件比如有电子邮件,嵌入式系统,人机界面,办公套件,操作系统,编译器,数据库,游戏等。同时,各个行业几乎都有计算机软件的应用,比如工业,农业,银行,航空,政府部门等。这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。(三)软件工程的发展趋势30数年来,随着软件工程的研究和实践取得了长足的进步,获得了一些具有里程碑意义的进展,尽管目前离彻底解决“软件危机”尚有相称的差距(对是否能彻底解决目前也存在争议),但软件工程的方法对软件产业的发展还是起到了很大的推动作用。20世纪60年代末至70年代中期,在一系列高级语言的应用的基础上,出现了结构化程序设计技术,并开发出了一些支持软件开发的工具。20世纪70年代中期至80年代,计算机辅助软件工程(CASE)成为研究热点,并开发了一些对软件技术发展具有深远影响的软件工程开发的软件开发环境。20世纪80年代中期至90年代,出现了面向对象语言和方法,并成为主流的软件开发技术;开展软件过程及软件过程改善的研究;注重软件复用和软件构件技术的研究与实践。软件工程的未来走向:20世纪末开始流行的Internet给人们提供了一种全球范围的信息基础设施,形成了一个资源丰富的计算平台,未来如何在Internet平台上进一步整合资源,形成巨型的、高效的、可信的虚拟环境,使所有资源可以高效、可信地为所有用户服务,成为软件技术的研究热点。

Internet平台具有一些传统软件平台不具有的特性:分布性、节点的高度自治性、开放性、异构性、不可预测性、连接环境的多样性等。这对软件工程的发展提出了新的问题。软件工程需要新的理论、方法和技术和平台来应对这个问题。目前投入很大精力研究的中间件技术就是这方面的典型代表。

Internet及其上应用的快速发展与普及,使计算机软件所面临的环境开始从静态封闭逐步走向开放、动态和多变。软件系统为了适应这样一种发展趋势,将会逐步呈现出柔性、多目的、连续反映式的网构软件系统的形态。面对这种新型的软件形态,传统的软件理论、方法、技术和平台面临了一系列挑战。从宏观上看,这种挑战为我们研究软件理论、方法和技术提供了难得的机遇,使我们有也许建立一套适合于Internet开放、动态和多变环境的新型软件理论、方法和技术体系。从微观的角度来看,Internet的发展将使系统软件和支撑平台的研究重点开始从操作系统等转向新型中间件平台,而网构软件的理论、方法和技术的突破必将导致在建立新型中间件平台创新技术方面的突破。(四)软件工程技术的发展从20世纪60年代以来,软件工程技术历经三十年的发展,目前已进入成熟期。软件过程改善的热潮使软件公司对软件工程技术及case工具的结识有了质的奔腾,正在被越来越广泛地接受。过程改善和技术提高的结合是软件产业发展的趋势。陆续出现了结构化程序设计技术、计算机辅助软件工程(CASE)、面向对象语言和方法、软件过程及软件过程改善研究等一系列成果,并应用到实践中。软件复用和软件构件技术、再工程技术及领域工程技术正逐步成为主流软件技术,是软件工程化、工业化生产技术的核心技术。当前,软件工程领域的重要研究热点是软件复用和软件构件技术,它们被视为是解决“软件危机”的一条现实可行的途径,是软件工业化生产的必由之路。分析传统产业的发展,其基本模式均是符合标准的零部件(构件)生产以及基于标准构件的产品生产(组装),其中,构件是核心和基础,“复用”是必需的手段。实践表白,这种模式是产业工程化、工业化的必由之路。标准零部件生产业的独立存在和发展是产业形成规模经济的前提。机械、建筑等传统行业以及年轻的计算机硬件产业的成功发展均是基于这种模式并充足证明了这种模式。软件产业的发展也不也许例外,标准构件的生产和构件的复用是关键因素。软件复用和软件构件技术的成熟和流行将导致软件产业的合理分工,构件生产业作为独立产业而存在。目前软件工程中重要使用的方法和技术可以提成技术和管理两类。技术的角度重要涉及:软件开发范型、软件设计方法。软件开发范型关注软件工程的方向,即如何才是对的的编写满足需求的软件;软件设计方法关注软件工程的“途径”,即研究如何完毕从高层概念模型到低层概念模型的映射。

软件工程理论在实践中应用时重点放在软件复用上。参考目前成熟的工业产品的开发模式,软件复用可以在软件开发中避免反复劳动,它以已有的成果为基础,充足运用过去开发应用系统中积累的知识和经验,将开发的重点集中于新应用的特有构成成分上。通过使用软件复用技术,开发应用系统时可以充足运用已有的开发成果,消除软件生命周期中的许多反复劳动,提高软件开发的效率。同时,复用高质量的已有成果,可以避免重新开发时引入的错误,从而提高软件质量。

实现软件复用的关键技术涉及软件构件技术(softwarecomponenttechnology)、领域工程(domainengineering)、软件体系结构(softwarearchitecture)等。

软件构件是指应用系统中可以明确辨识的构成成分,可复用构件是指具有相对独立功能和可复用价值的构件。目前,构件的概念即涉及源代码,也涉及需求、需求规约、系统和软件的体系结构、文档、测试计划、测试用例和数据以及其他对开发活动有用的信息,这些信息都可以称为可复用软件构件。软件构件技术是支持软件复用的核心技术,其重要研究内容涉及:如何有目的的进行构件生产和从已有系统中挖掘提取构件;构件的本质特性及构件间的关系是什么样的;如何描述构件;如何对构件进行分类、组织及检索等。研究实践表白,由于某个特定领域需要的软件具有相似的需求,因此软件复用在特定领域内更容易获得成功,由此出现了领域工程。领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它涵盖了建立可复用软件构件的所有活动。涉及美国卡内基·梅隆大学软件工程研究所(CMU/SEI)在内的许多研究机构已经提出了一些领域分析方法。

假如软件复用仅停留在代码阶段,开发人员得到的好处是有限的。软件体系结构技术使软件复用从代码复用发展到设计复用和过程复用。在建筑工程领域人们用体系结构表达建筑的整体结构,软件工程研究中引人体系结构这个术语,其核心内容是软件系统的结构,它涉及如下一些实体:构件、构件之间的交互关系、限制、构件和连接件构成的拓扑结构、设计原则与指导方针。

工程管理的角度

参考其他成熟工程领域中的做法,软件工程也研究管理学理论在软件工程中的应用。软件项目管理方法抛弃了以前个人的作坊式开发方式,根据管理科学的理论,结合软件产品开发的实际,保证工程化系统开发方法的顺利实行。为了使软件项目可以按照预定的成本、进度、质量顺利完毕,软件管理方法对成本、人员、进度、质量、风险、文档等进行分析管理和控制。进行软件项目管理有助于将开发人员的个人开发能力转化成公司的开发能力,公司的软件开发能力越高,表白这个公司的软件生产越趋向于成熟,其开发风险也越小。软件项目管理已经是公认的软件开发公司的核心竞争力之一。

根据在前面提到的软件与其他产品的区别,软件项目管理具有一些与其他项目管理不同的特性软件项目管理中遵循着一些原则,例如:软件项目中需要平衡需求、资源、工期、质量这四个要素之间的关系;大规模的项目要拆提成几个小项目,从而减小项目的管理风险,并且使目的具体明确;依靠一套规范的过程来实时控制项目进度,并保证项目经理可以及时发现问题、解决问题,保证项目具有很高的可见度;针对不同项目的特点,制订不同的项目管理的方针政策;合理控制项目组的规模控制原则;有效的积累知识,做到人员的专业化培养。

目前在软件项目管理方面有国际标准化组织专门为软件行业定制的ISO9003标准,它给出了衡量软件质量的准则;美国卡内基·梅隆大学软件工程研究所提出的CMM(CapabilityMaturityModel,能力成熟度模型)则提供了一整套较为完善的软件研发项目管理的方法。

二、软件构件技术综述:软件工程的研究热点是随着软件技术的发展而不断变化的。即便在软件工程的领域内,研究热点也在不断转移。以往软件工程一直不能像其他产品同样,做到标准化,但是,随着技术条件的不断成熟,相应标准的出台,软件人员已经开始重视这方面的工作。事实上可以将许多软件工作提成许多部件去构造。软构件的开发与运用刚刚开始,在一些公共领域,例如软件的用户界面,通用软构件的使用已经屡见不鲜。然而,对于各行各业的专业领域来说,领域构件的开发和使用还是基本处在空白状态。这一工作的进行,一方面意味着各行各业对本专业领域内的知识形态加以归纳整理,然后以最新的软件形式表达出来。假如全面铺开,就是一件规模浩大的社会工程,需要各行各业的领域专家和软件专家通力合作才干完毕。假如软件生产的“构件-集成”格局的趋势成为现实,各种应用领域里的构件的设计与生产将开辟出一个十分广阔的新天地,产生出巨大的市场需求,并且软构件的使用可以渗透到符合软构件标准规范的所有系统中。(一)构件的定义及相关情况构件技术是指通过组装一系列可复用的软件构件来构造软件系统的软件技术.通过运用构件技术,开发人员可以有效的进行软件复用,减少反复开发,缩短软件的开发时间,减少软件的开发成本。基于构件复用的软件开发涉及三个重要子过程:构件开发、构件管理、基于构件复用的应用组装。下面将列出这三方面重要研究内容:构件的开发

构件模型及构件制作:构件模型是对构件本质及其关系的抽象描述,当前的成果涉及指导性的3c模型,reboot模型,resolve模型及青鸟模型等。构件制作解决如何实现构件的问题,当前已出现若干以考虑开放及互操作为出发点的构件实现标准,如,cobra/com、ole/com、javabean等。

构件获取:通过再工程或领域工程是获取构件的重要手段。

构件测试:研究构件的独立测试及组装测试。构件的管理

构件库数据模型:重要工作有rig(reuselibraryinteroperabilitygroup)提出的udm(uniformdatamodel)、bidm(basicinteroperabilitydatamodel)。青鸟构件库系统也提出了与之相容的构件库数据模型。

构件分类检索策略:重要有基于刻面、关键词、枚举、类型和关系等分类方法,这些方法各有优缺陷,通常构件库系统均采用这些分类策略的组合。

构件broker:如何在构件库管理中引入管理运营态构件的broker,对外提供构件服务是构件互操作技术的发展所带来的新课题。基于构件组装的应用开发

软件体系结构;源代码级的组装技术;运营级的组装技术,支持即插即用;面向corba、ole、javabean的辅助开发工具;应用系统演化——构件的灵活替换和升级。典型工作

大量active、vex构件开发;美国军方的构件库系统;sei的cbse(component——basedsoftwareengineering);sei的产品线方法;青鸟软件生产线系统——支持基于构件/构架模式的应用系统集成。

(二)构件技术历史发展趋势1968年NATO软件工程会议,Mcllroy在提交会议的论文《大量生产的软件构件》中,提出了“软件组装生产线”的思想。从那以后,采用构件技术实现软件复用,采用“搭积木”的方式生产软件,成为软件开发人员长期的梦想。软件复用是指反复使用“为了复用目的而设计的软件”的过程。就软件开发而言,软件复用涉及:初期的函数复用、面向对象言语中的类的复用,以及互联网时代的完整软件体系的构件复用。有效的软件复用是可以提高软件开发的效率和质量。建立在构件复用基础上的软件复用将会带来极大的价值,《SoftwareReuse》指出很多公司通过复用取得的成就使们坚信,管理层可以期待获得如下优势。互联网应用时代的到来,不仅仅增长了应用需求和软件的复杂性。构件技术在互联网时代突飞猛进,已经为实现软件复用的抱负,解决软件危机带来了曙光!面向构件技术对一组类的组合进行封装,并代表完毕一个或多个功能的特定服务,也为用户提供了多个接口。整个构件隐藏了具体的实现,只用接口提供服务。这样,在不同层次上,构件均可以将底层的多个逻辑组合成高层次上的粒度更大的新构件,甚至直接封装到一个系统,使模块的重用从代码级、对象级、架构级到系统级都也许实现,从而使软件像硬件同样,能任人装配定制而成的梦想得以实现。目前主流的软件构件技术标准有:微软提出的COM/COM+、SUN公司提出的JavaBean/EJB、OMG提出的Corba。它们为应用软件的开发提供了可移植性、异构性的实现环境和健壮平台,结束了面向对象中的开发语言混乱的局面,解决软件复用在通信、互操作等环境异构的瓶颈问题。(三)构件技术的优势1)投放市场时间:减少为本来的1/2到1/5;2)缺陷密度:减少为本来的1/5到1/10;3)维护成本:减少为本来的1/5到1/10;4)整体软件开发成本:减少大约15%,长期项目可减少高达75%。因此构件技术一直被视为解决软件危机现实可行的途径。在过去几十年尽管软件开发的主流思想几经沿革,软件业一直没有放弃构件技术的尝试。60年代末到80年代初,结构化的软件开发思想占主导地位,当时的复用是函数复用和模块复用。函数通过参数来适应不同应用需求的变化,package模块也是通过接口规范说明进行连接和组装实现复用。但是,由于结构化的存在极大隐患,函数层面的复用能力有限,其结果是系统结构混乱、效率低,软件成份复用性差。函数复用和模块复用没有解决软件工程的危机。80年代起,面向对象的软件开发思想迅速发展起来,通过类的封装、继承和应用,面向对象的软件开发成功的实现代码级的复用。类和封装性,实现数据抽象和信息隐蔽,继承性,提高了代码复用性。面向对象技术被公认为当前的主流的技术。但是,面向对象的复用脱离不了代码级复用的本质,由于复用的颗粒较低,软件开发中的复用的潜力远远没有发挥出来。类复用也没有解决软件工程的危机。(四)我国对其研究情况北京大学软件工程研究所北京大学软件工程研究所是一个专注于软件工程及其相关领域的研究和实践的学术机构,其前身是建立于1983年的软件工程教研室,1999年正式挂牌成为北京大学的一个专业研究所。近年来,研究所在所长杨芙清院士的领导下,对软件复用与软件构件技术进行了进一步的研究。成果代表为青鸟工程是,历经“七五”、“八五”“九五”。青鸟工程在软件复用和构件技术领域成绩斐然。中国科学院软件研究所中科院软件所软件工程技术研究中心,在首席研究员冯玉琳博士带领下,对构件技术进一步研究,硕果累累。其中作为知识创新工程的成果的信息化基础软件核心平台是其代表。上海普元普元是国内最早推动面向构件技术的厂商之一,也是目前国内唯一一家提供真正意义上的面向构件的互联网应用基础平台的专业化厂商。普元把崭新的互联网相关技术与先进的构件复用技术以及可视化开发技术完美地结合起来,发明了一套具有国际领先水平的面向构件的互联网的应用基础平台----EOS。互联网实验室互联网实验室是我国著名的IT研究机构,长

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论