我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 运行剖面 >

软件工程的若干热点技术发展现状与展望

归档日期:07-23       文本归类:运行剖面      文章编辑:爱尚语录

  软件工程的若干热点技术发展现状与展望第20 长沙大学JOURNALOFCHANGSHAUNIV 日RSIr VoI.20No.5 Sep.2006 软件工程的若干热点技术发展现状与展望 (长沙大学图书馆,湖南长沙410003)摘要:阐述了软件重用和软件构件技术,中间件,分布式计算,标准化,智能化以及软 件可靠性工程等当前与软件工 程发展密切相关的几个热点技术问题,并对其发展趋势进行了探讨emet,网格 技术和分布式人工智能技术的发展.将对 软件工程和软件产业的发展带来深远影响.软件工程的发展目标是从根本上克服 软件危机,逐步实现软件开发的构件化, 标准化,智能化和产业化. 关键词:软件工程;技术;发展;展望 中图分类号:TP3l1.5 文献标识码:A 文章编号:1008—4681(2006)09—0045 一cI5 TheDevelopmentSituationandProspectofHotTechniqueProblemsofSoftwareF_agineeri ng YINFeng. (TheLibnuyQlarmuniversity,Hunan410003,China) Abstract:Thepaperexpoundesseveralhottechniqueproblemsthathavecloserelationwithth esoftwareengi— neeringdevelopment.suchassoftwarereuseandsoftwarecomponent,Middleware,dis~but edc~cuhtion,standalr]iT~a— tion,intelligentizeandsoftwarereliabilityengineeringetc.Moreover,developmenttendenc yofthemhasbeendiscussed inthepaper.ThedevelopmentofIntemet,Griddingtechnologyanddistributingartificialintel ligencewillbringgreat influenceonsoftwareengineeringandindustry.Inaddition,thedevelopmentg0.ofsoftwar~e ngineeringwillovercome softwarecrisisradicallyandrealizecomponentization,standardization,intelligentizationa ndindustrializationonsoftware exploitationstepbystep. Keywords:softwareengineering;technology;development;prospect 引言软件工程自二十世纪六十年代末诞生以来,经 历30 余年的坎坷,它已经成为计算机科学领域一 门综合性和工程性的独立学科.现在以及未来若干 年内,软件工程的研究热点将主要集中在软件重用 和软件构件技术,中间件,分布式计算和网格计算, 标准化,智能化以及软件可靠性工程等方面.了解 和掌握这些热点技术问题的研究现状,对我们进一 步学习和研究软件工程无疑具有一定的参考意义. 若干热点技术发展状况2.1 软件重用和软件构件技术 软件重用和软件构件技术是软件工程领域长 期研究的一个主要热点问题.其中,构件是核心和 基础,重用是方法和手段.构件的重用,能使软件 开发人员减少甚至摆脱写代码的低效工作,致力 于更高层次的搭构件,把更多精力放在问题定义 过程,促使问题空间与求解空间尽可能一致.早在 1968 年,软件构件与软件组装生产线的思想就 在国际NATO 软件工程会议上被提出来.从那以 后,采用构件技术实现软件重用,采用搭积木的 方式生产软件,成为软件业长期的梦想. 构件化应用开发必须要有开发工具的支撑,包 括集成开发环境,应用运行环境,应用管理及构件 库管理等.不同行业领域应用的公共业务逻辑,体 现在构件库中不同的业务构件或构件组.领域构件 体现了个性化需求,包含有特定领域业务构件的应 用基础平台就是该领域的应用平台. 基于构件的软件工程最需要解决的问题是如 收稿日期.2006—02—23;修回日期:2006—06—21 作者简介:尹锋(1954 一),男,湖南常宁人,长沙大学图书馆研究员.研究方向:人工智 能,软件工程,信息管理和信 息系统. 长沙大学2006 何建造构件模型和确立软件体系结构即构架.构件模型决定了软件系统构架的思维逻辑.在构件和构 架模型中,有必要把构件与构件间的交互作用相分 离,以提高构件的独立性和可重用性.业界目前关 注的问题主要集中在构件和构架的清晰准确地描 述,构件库的管理,可重用构件和构架的获取等方 面.目前流行的NET 和J2EE 采用两种不同的构件 模型和技术,NET 采用COM/COM+模型,J2EE 用EJB模型. 据美国专家研究预测,2005 年以后至少70% 的新应用将主要建立在软件构件和应用框架的基 础上.也有专家进一步指出,软件重用与净室模型, 自动开发技术一起被认为是今后高效开发高质量 软件产品过程的发展方向,而基础是重用技术.无 论怎么说,以软件重用为代表,基于构件的技术将 使软件工程及其软件开发方式发生巨大的改变. 2.2 中间件技术 软件重用及构件化应用开发和运行需要有不 同层次的中间件平台的支撑.中间件兴起以后,构 件技术才逐渐走向现实.构件必须在中间件平台上 才能发挥作用,只有在适当的中间件平台上,软件 才有可能被抽象和隔离,最终成为构件.因此中间 件技术近年来成为软件工程关注的焦点和软件业 发展的关键. 中间件按功能大致可分为5 类:数据库访问, 远程过程调用,通信,事务处理和分布对象中间件. 中间件技术将对软件重用和软件构件技术的发展 带来深刻的影响. 首先,中间件本质上是对分布式应用的抽象, 它抛开了与应用相关的业务逻辑的细节,保留了典 型的分布交互模式的关键特征.应用在中间件提供 的环境中可以更好地集中于业务逻辑上,并以构件 化的形式存在,最终自然而然地在异构环境中实现 良好的协同工作. 第二,基于构架的构件化软件开发应当是面向 需求的,即设计者集中精力于业务逻辑本身,而不 必为分布式应用中的通信,效率,互操作,可靠性, 容错性,完整性等大量与业务无直接关系但又非常 重要的问题去耗费大量的精力,理想的构架在这些 方面应当为构件软件提供良好的运行环境.事实 上,这些正是中间件所要解决的问题.在大型软件 工程系统中有70%的错误来自于需求分析和系统 设计,中间件的发展为人们解决这一问题提供了有 力的支撑. 第三,中间件最大的特点就是屏蔽多样的系统 资源.它是位于底层基础平台(硬件和操作系统)和 高层应用之间的通用服务.这些服务具有标准的程 序接口和协议.针对不同的操作系统和硬件平台, 它们可以有符合接口和协议规范的多种实现,以提 供开发和实现分布式系统及与环境隔离的构件开 发模式.应用构件开发者只需要按照中间件规定的 模式进行设计开发,不必考虑下层的系统平台,这 就为构件可重用甚至即插即用提供了保障. 总之,中间件作为应用软件系统集成的关键技 术,保证了构件化思想实施,并为构件提供了真正 的运行空间.中间件领域工业化标准的制定,统一 及实现,使基于构件的应用开发成为可能.反过来, 构件对新一代中间件产品也起到促进作用.中间件 平台化和应用构件化的结果将导致软件工程方法 的继续演变,也将导致软件产业链的组成发生变 革.中间件的研究开发需要引入现代软件工程方 法,而软件工程的发展又需要借助中间件等一类新 兴软件技术的牵引和推动. 2.3 标准化技术 标准化既是软件重用和软件构件技术发展的 需要,也是其必然结果,同时还是软件产业健康发 展的强力支撑.软件工程标准包括软件标准和软件 过程标准.而软件过程标准的建立是软件工程成熟 的重要标志. 最近几年,国际软件工程标准化活动异常活 跃,产生了从企业到国际一级的各种各样的标准, 对世界软件产业产生了巨大的规范化引导作用.目 前,国际流行两大软件工程标准框架.一个是国际 标准化组织(ISO/IEC)的软件工程和系统工程标 准分技术委员会(J,I1/SC7)提出的软件工程标 准框架.这个框架从支持软件工程各个基本要素的 角度出发,表述了软件工程对标准的需求.另一个 是美国国防部提出的软件工程标准指南.这个框架 性指南围绕软件工程环境,软件生存周期过程,软 件工程安全性,程序设计语言和语言联编等提出了 强制要求和建议采用的支持软件系统工程化的标 准.虽然这两个框架在覆盖范围和详细程度上有所 不同,但其共同之处都是以ISO/IEC12207 为主线 标准,并且针对支持软件工程中的离散活动和 连续活动,考虑了其他一些必要的标准.国际标 准ISO/IEC12207((软件生存周期过程》归纳了整个 总第73 期尹锋:软件工程的若干热点技术发展现状与展望47 软件生存周期中的普遍被认为行之有效的各个过 程(即关于活动的描述),以及它们之间和它们与 供,需方之间的关系.围绕这个标准的是一批支持 各个过程实施的过程规范标准.在现行的5o 多个 /IEC 有关软件工程的标准中,与上述离散活 动对应的标准约占1/3,与连续活动对应的标准 约占2/3. 我国软件工程标准制定工作相对于软件产业 而言,起步较早.上个世纪8O 年代初,我国就开始 了软件工程标准的制定工作.在软件质量标准方 面,首先是针对中文信息处理产品制定了大量标 准,其次,密切跟踪国外软件质量标准化的进程,着 手分析研究工作.就专业领域而言,我国的国家标 准和行业标准基本上覆盖软件工程的过程一类,在 其他类别上覆盖率还比较低. 下一阶段,软件工程标准化工作的重点仍然是 软件过程的标准化,其发展方向主要是基于软件生 存周期的整个软件开发流程的标准化和具体系统 的标准化,包括针对各种用途的软件开发流程标准 和开发环境及专用工具系统标准.而且,软件过程 标准化和软件标准化将进一步紧密结合并协调发 展,在此基础上逐步产生软构件标准,中间件标准 和自动化生产标准. 2.4 分布式计算技术 计算模式的发展经历了中央主机模式,客户机 /服务器模式以及分布式计算模式.每一种计算模 式都对计算科学的进步作出了贡献. 分布式计算是近年提出的一种新的计算方式. 所谓分布式计算就是由两个或多个软件互相共享 信息,这些软件既可以在同一台计算机上运行,也 可以在通过网络连接起来的多台计算机上运行.分 布式计算比起其它算法具有的优点主要有:稀有 资源可以共享;通过分布式计算可以在多台计算 机上平衡计算负载;可以把程序放在最适合运行 它的计算机上;构件可以在网络内的不同平台上 运行,用户可以不知道构件的物理位置.其中,共享 稀有资源和平衡负载是计算机分布式计算的核心 思想. 从理论上讲,分布式组合具有高性能,可扩展, 支持软件重用和资源共享的特点,但由于服务的物 理分布并发控制局部失效,构件软件市场和技术尚 不成熟,异质互操作及规格多样性大大地增加了应 用软件的功能性规模和复杂性,因此,网络互操作 性分布对象技术,对象之间的通讯以及分布式系统 的开放性(如系统的动态裁剪迁移和进化)等问题 已经成为软件工程的研究热点. 近年来业界推出了一些分布式计算技术的应 用和工具.如Sun 公司在其Java 技术的基础上推出 了应用于B/S 架构的J2EE 的开发和应用平台;Mi. erosoft 也在其DCOM技术的基础上推出了主要面 应用的发和应用平台.它们都是基 于对象构件模型的开放式系统,但设计目标和实现 方式差别很大.随着异构分布应用的发展,对互操 作性的要求将不断增加,人们在继续探讨如何为开 放的不断演化的系统提出一类交互模型作为分布 式计算的基础. 2004 月,IBM提出了SoA(面向服务的体系结构)解决方案,它能将异构平台上应用程序不 同的功能部件(称为服务),通过定义好的接口和规 范,以松耦合的方式整合在一起,由于其方案简单, 实现方便,一出现就受到广泛关注.目前所有国际 着名的计算机公司,都在应用SOA 技术开发相应 的平台和工具.SOA 已成为软件工程领域的研究热 分布式计算技术今天已经成为计算技术的主导,显然,它的深入研究和应用将对软件工程技术 和软件产业的发展带来深刻影响. 2.5 智能化技术 人工智能(AI)在软件工程中的应用研究是近 年来兴起的热门话题之一.欧洲信息技术研究计划 (ES—PRrr)就提出把AI 技术与软件工程技术结合 起来构成一个支持软件系统分析和设计的工具.有 迹象表明,人工智能与软件工程的相互作用终将导 致新一代软件开发方法与管理的规范形成,它能使 软件易于开发,修改和维护.软件工程的智能化是 个必然趋势.目前,已经展现的软件工程智能化的成果主要 有:运用专家系统和人工神经网络系统设计软件工 程项目;把智能化模块组装到大型软件系统,使得 软件适应快速改变需求;应用推理技术提高用户界 面的友好性;在图形用户接口,面向对象的程序设 计,基于约束或基于规则的程序设计中应用智能技 术;在大型分布式复杂软件中引入Agent 技术实现 软件的高抽象层次的构件和连接件,在不同层次上 清晰描述和实现构件化的软件体系结构等等. 软件工程智能化在未来几年间需要化解的难 长沙大学2OO6 题还有很多,诸如:基于的支持环境和软件开发中的机制的建立;M技术实用化,如用启发式 搜索范例作为模型来刻划设计和实现活动,用 的知识表示技术描述软件工程的全过程;基于分布 式计算的软件项目如何应用分布式人工智能技术 (D)等等. DM的研究重点是协调那些在物理上或逻辑 上分散的智能体的智能行为,使它们能够协同工 作.DM的研究方向将从目前的分布式问题求解 (DPs),多Agent 系统(MAS),并行人工智能(PAj) 等发展出更多的方向,以适应分布式计算和软件工 程技术飞速发展的需要.有专家预测,对面向Agent 语言及其程序设计的标准和风范的研究可能成为 软件工程智能化取得突破性进展的重要因素. 2.6 软件可靠性工程 软件可靠性是软件质量的最主要的特性之一. 软件可靠性表明软件的正确,完整和一致的程度. 用数学的方法严格证明软件绝对正确,完整和一致 是困难的,甚至是几乎不可能的.而通过测试和其 他分析方法,建立在统计理论上的计算,估算软件 的可靠性具有可行性. 软件可靠性工程目前已发展成软件工程的一 个重要分支.其主要目标是保证和提高软件可靠 性.软件可靠性工程对软件产品的可靠性进行预 测,建模,估计,度量和管理,它贯穿软件产品的设 计,开发,销售,使用,维护的全过程.70 年代末至 8O 年代早期,最初的软件可靠性研究局限在软件 可靠性模型的比较和选择.90 年代以来,软件可靠 性研究工作进展较快,研究重点包括软件可靠性设 计,可靠性测试与管理,可靠性数据的收集和可靠 性预测等方面.90 年代中期,软件可靠性工程的理 论和实践基本形成.研究的方法逐步改进,范围逐 渐扩展.一些可靠性分析,设计技术广泛应用于软 件可靠性工程之中.人们在诸如基于软件可靠性模 型的软件可靠性预计与评价;软件系统结构,开发 过程,使用环境,运行剖面等要素之间的相互关系 及其对软件可靠性影响;利用规范化的软件产品保 证技术和方法指导系统软件的分析,设计,编码,测 试,使用和维护等方面也取得了明显进展. 可靠性建模一直是软件可靠性工程的热点.学 者们提出了各种类型的可靠性模型,公开报道的软 件可靠性统计分析模型越来越多,有的模型还被制 造成标准的工具软件出售,如Musa—Qkumoto 型,Jelimki—Moranda模型,模型,S 一~hapcd 模型,Du8/le 模型,Little—Verral 模型等,还将有大 量新的模型涌现.由于软件的特殊性,这类模型都 难免存在不同的缺陷和局限性. 国内软件可靠性研究始于80 年代初,一批专 家学者在软件可靠性建模,软件可靠性分配及软件 可靠性管理等方面进行了有益的探索.在软件避错 容错技术,可靠性评估工具,可靠性测试和可靠性 度量体系等方面取得了重要进展. 软件可靠性工程的研究虽然已取得了很大的 成就,但存在的问题仍很多,例如,过来一段的研究 基本上是以概率论和数理统计为基础,这并不完全 恰当.还需要从系统科学的其他分支中吸取营养, 特别是从高层次的系统科学中寻求指导思想.已经 建立的数百种软件可靠性模型,均存在不同程度的 局限性,对于模型的分类还没有一个公认的体系, 也没有一种通用分析模型供人们使用.还有支撑软 件测试的软件失效数据库建设及其失效数据的自 动收集是工程实践迫切需要解决的一个问题.各种 软件测试工具中测试用例的自动生成工具还有待 于进一步开发和完善等等. 近几年来,软件可靠性工程研究仍在深入发 展.为了使软件可靠性分析,预计更加精确,除应用 标准软件可靠性模型外,人们还试图采用校正,纠 偏,加权组合,引入软件复杂性和测试类型,开发方 法类型影响因子等多种方法,对传统模型进行改 进,以增强其可靠性评价的准确性.同时,应用人工 智能技术和仿真技术等方法分析软件可靠性也是 结语综上所述,诸如构件化,中间件,标准化,分布 式计算,智能化,可靠性工程等技术的进步给软件 产业及软件工程的发展带来了深刻的影响.除此之 外,软件工程在过程控制,项目管理,软件经济,风 险管理,领域工程等方面也在不断发展. 软件工程在未来若干年的努力方向主要是:继 续利用各种先进的知识和工具,加强软{:钍程自身 的科学理论基础的研究;剖析软件工程过程中需求 和设计之间的断层现象,建立应用需求和系统设计 两者之间的有效连接机制;提出稳定可靠的提高软 件生产率的自动化和标准化措施,解决系统设计到 系统开发的平滑过渡问题;研究降低软件开发成 总第73 期尹锋:软件工程的若干热点技术发展现状与展望49 本,缩短开发周期,大量实现软件重用,提高系统可 靠性的途径和方法. 尤需指出的是Intemet,网格技术和分布式人 工智能技术的发展,将对软件工程和软件产业的发 展带来深远影响.软件工程必然要从封闭式开发走 向开放式协同开发,软件工程基于实体驱动和确定 目标,有序控制的开发模式必然让位于网络环境下 的基于协同驱动和动态目标,实体聚合的开发模 式.地理上广泛分布,系统平台各异的多种计算资 源用高速网络连接起来,将形成虚拟的超级计算平 台,获得前所未有的处理能力.基于这种环境开发 的软件系统具有更复杂的特征,如动态扩展性,系 统平台的各异性,结构的不可预测性,多级管理域 等.网格技术可以粘合不同网络空间,不同系统 平台的中间件,对整个系统实行统一的用户管理, 资源管理,作业管理和安全管理,保障软件系统的 可靠运行.有学者把在这样一个开放,动态和多变 环境下开发的软件系统称为网构软件,并预言网 构软件的理论,方法和技术将成为2l 世纪的先进 的软件工程方法学体系u... 总之,软件工程的总体发展目标是从根本上克 服软件危机,逐步实现软件开发的构件化,标准化, 智能化和产业化. 参考文献: [1]汪成为.未来l0 年内计算机技术的变革[N].计算机世 界,2OOO—O1—03. [2]黄全舟.人工智能与软件工程的交叉研究[J].微机发 展,1997,(1):21—23. [3]李晓桦.软件工程标准化研究.上海标准化[J].1999, (5):30—33. [4]赵芳,韦群.基于构件的软件工程研究[J].装备指 挥技术学院,2OO2,13(4):56—58. [5]冯惠.软件产业需要规范引导[J].计算机世界报, 2O04,(15):B12,B13. [6]李安渝.中问件一技术的发展和机会[N].中国计算机 报,2OO2—11—04. [7]Broy.M.Softwaretechnology—modelsmethodsandscientific foundatiom[J】.InfmmationandSoftwareTechnology,1999, 41(14):947—950. [8]MicrosoftCorporation.DistributedApplicationwithMicrosoft VisualC++6.0.[M].MicrosoftCorporation.北京:北京 大学出版社影印版,2OOO. [9]仲萃豪.软件开发的三大突破性成果[J].中国信息导 报,2OO5,(1):60—61. [10]杨芙清.软件工程技术发展思索[J].软件,2OO5, l6(1):l [11]尹锋.软件工程的发展与启示[J].中国信息导报,2OO5,(9):59—61. (责任编校:化石)

  软件工程的若干热点技术发展现状与展望和,技术,发展,软 件,技 术,工 程,软件工程,若干,软件工程的,热点技术

本文链接:http://myclayclub.com/yunxingpoumian/267.html