当前位置:文档之家› 计算机软件技术研究现状与发展

计算机软件技术研究现状与发展

计算机软件技术研究现状与发展项目代码: CG0332完成单位: 北京软件产业促进中心、北京航空航天大学等研究人员: 肖澜高伟刘旭东陈向群梅宏虎嵩林黄涛丁蔚任永杰朱明远获奖情况:计算机软件作为一门学科,从其诞生到现在不过短短的半世纪,已取得了令人瞩目的发展,同时也随着技术的进步而在酝酿着不断的创新。

本文在简单介绍软件技术的研究内容基础之上,按照可运行软件的功能分类,从系统软件、支撑软件、和应用软件三个方面对其现状和发展趋势予以综述。

一、软件技术研究开发现状(一)、软件及其分类软件技术是指支持软件系统的开发、运行和维护的技术。

其核心内容是:高效的运行模型及其支撑机制,有效的开发方法学及其支撑机制。

作为可运行的系统,软件已经形成共识的分层模型,即:软件可以分为系统软件(操作系统、数据库等)、支撑软件(高级语言编译器、程序库、CASE工具等)和应用软件。

(二)、世界各国的重大软件计划各国政府相继启动国家级的重大软件技术计划,基础软件和软件开发方法研究都成为这些国家级计划中优先推荐或重点发展的内容。

中国信息产业部在2001年5月发布了《信息产业“十五”计划纲要》,其中软件业的发展被纳入重点。

(三)、系统软件研究开发现状作为计算机系统中最靠近硬件层次的软件,系统软件包括操作系统,数据库管理系统,以及诸如应用服务器等的中间件,下面将分别对各类系统软件的研究发展现状予以阐述。

1、操作系统研究开发现状操作系统是管理硬件资源(处理器、存储器、显示器、打印机等)、控制应用软件运行、改善人机界面并为应用软件提供支持的软件。

操作系统向高层应用软件提供编程接口,为用户方便地开发应用系统提供了基础。

随着计算机网络等技术的发展,近年来操作系统在网络化、并行化、智能化等方面将会取得更加显著的发展。

2、商业嵌入式操作系统研究开发现状嵌入技术是信息技术发展过程中形成的一种新技术。

所谓嵌入就是将计算机的硬件和软件嵌入其他机电设备中去,构成了一种新的系统,即嵌入式系统。

可以说嵌入式技术和设备在我国国防、国民经济建设中有着广泛地应用,有着巨大的市场。

目前嵌入式操作系统的品种较多,仅用于信息家电的嵌入式操作系统就有40种左右。

近年来市场急速扩张,吸引着越来越多的厂商进入。

3、数据库研究开发现状(1)、网络化的大型通用数据库管理系统支持Internet数据库应用已经成为数据库系统的重要方面。

数据库研究学术界以及各主流数据库公司都将其作为自己重要的发展方向。

例如,Oracle公司从8版起全面支持互联网应用,微软公司更是将SQL Server作为其整个.NET计划中的一个重要的成分。

(2)、数据库安全系统及技术由于数据库系统在现代计算机系统中的地位越来越趋于核心的地位,数据库系统的安全问题自然受到越来越多的关注在目前各国所引用或制定的一系列安全标准中,最重要的两个是由美国国防部制定的:《可信计算机系统的评估标准》(简称TCSEC)和《可信计算机系统的评估标准关于可信数据库系统的解释》(简称TDI)。

(3)、XML及Web数据管理技术Web上的数据(包括大量的XML数据)与传统的数据库中的数据不同,具有如下的一些特征:面向显示,半结构化和无结构,不同形式的数据源,动态变化,以及数据海量等。

(4)、嵌入式移动数据库技术随着移动通信技术的迅速发展和投入使用,加上移动计算机的大量普及,国内外许多研究机构都展开了对移动数据库的研究,并取得了许多有价值的成果。

移动数据库技术涉及数据库技术,分布式计算技术,以及移动通讯技术等多个学科领域,具有较高的学术起点。

4、中间件研究与开发现状随着网络应用的逐步增多,为了解决平台异构性和互操作问题,中间件作为一种新的软件类型(或层次)开始出现。

从其提出的初始动因来看,中间件是指网络环境下处于操作系统等系统软件和应用软件之间的一种起连接作用的分布式软件,主要解决异构网络环境下分布式应用软件的互连与互操作问题,它可屏蔽实现细节,提高应用系统的易移植性。

(1)、中间件及其分类由于所属领域的不同,面临的问题差异很大,因此,不同开发组织分离、开发出的中间件也不尽相同。

一般,传统的中间件分为以下几个主要种类:远程过程调用中间件面向消息的中间件对象中间件事务中间件数据访问中间件(2)、消息中间件技术消息中间件基于队列与消息传递技术,支持应用的松散耦合集成,是最早的中间件分类之一。

几年来,尽管新的中间件门类不断出现,支持应用集成的中间件有好几种,如事务管理中间件、Web应用服务器、门户服务器、EAI服务器等等,消息中间件作为基本的应用集成平台的首选地位一直没有改变。

(3)、基于CORBA的对象中间件目前对象中间件领域发展迅速,主导的标准规范除了Sun公司的J2EE, Microsoft的DCOM/COM+ 以至.Net之外,最为重要的标准便是OMG的CORBA。

(4)、基于J2EE的应用服务器应用服务器是运行在网络环境下的基础软件,因此,其功能与网络环境的特点密切相关。

网络环境具有分布性、异构性、开放性、演化性等特点。

(5)、微软的.NetCOM(Component Object Model)是构件对象模型的缩写,是Microsoft公司开发的对象中间件,它主要由两部分组成:一个是COM规范,描述了COM构件的二进制标准。

另一个是COM的运行支持库,嵌入在windows操作系统中,负责COM构件的注册、查找、创建等功能。

(6)、Web Service随着构件技术的成熟以及Internet的飞速发展,Web技术和XML逐渐成为实现企业解决方案的重要手段。

几乎在所有的Web应用中,HTTP都作为Web客户和Web服务器的连接桥梁,而构件诸如COM+、EJB等都作为实现业务流程和状态持久化的后端系统。

尽管计算驱动的后端系统这几年改变很多,但是前端却几乎没有什么变化,依然是HTML驱动的传输和显示格式。

(7)、行业应用中间件中间件技术向具体行业领域的延伸引出中间件发展的另一个方向,即所谓的行业应用中间件。

一些具体的应用领域如电信、金融、保险等行业由于专业性强、对某些需求高,如果应用系统从底层开发,则开发周期长,开发困难大,因此迫切需要专门适合该领域的中间件产品。

(四)、支撑软件研究开发现状自从上世纪六十年代出现“软件危机”和“软件工程”以来,围绕如何开发高效的高质量软件的技术、方法和体系研究始终是软件技术的另一个重要研究内容。

软件生产平台研制和质量认证体系研究是提高软件生产工业化水平的两个关键问题。

1、CASE工具研究开发现状CASE工具是软件开发技术、方法、过程等的辅助性支持手段。

随着软件开发复杂性的增加和人们对软件开发方法研究的深入,CASE工具已成为软件开发中必不可少的基础设施。

常见的CASE工具主要有需求管理工具、项目/计划/过程管理工具、建模/编译/部署工具、配置/版本管理工具和测试/度量工具几类。

2、软件构件技术及其支撑工具研究开发现状软件开发方法的研究一直是软件开发技术研究的核心和基础,为人们的软件开发提供了全面的指南和支持。

主流的方法从最早的结构化开发方法,发展到二十世纪九十年代成熟起来的面向对象开发方法,九十年代中期后,基于构件的软件开发方法在支持软件复用方面提供了更好的支持,并逐步与现时的工业化技术(如CORBA、COM+、EJB、Web Service 等)相结合,成为了倍受关注和快速发展的新型软件开发方法。

软件构件技术是基于构件的软件开发方法的核心技术之一,涉及构件模型(Component model)、软件体系结构(SA)、分布式构件(对象)、构件管理、构件组装、开发过程等技术。

3、面向代理(Agent-Oriented)技术的研究开发Agent是一种计算机系统,它能够在动态的、不可预知的环境下灵活自主地采取行动。

很多人相信Agent代表着自面向对象的技术以来,软件开发领域内最重要的新的开发范型。

(1)、Agent的体系结构Agent的体系结构是自主Agent在开放性的动态环境里采取有效行为的基础引擎。

在早期的研究中,Agent研究领域主要集中于开发智能Agent的体系结构。

(2)、Agent技术●Agent通信语言●本体论●Agent协同●Agent协调●Agent协商(3)、Agent的应用随着Agent技术及多Agent系统技术的研究的逐步深入和成熟,越来越多的技术被用来解决现实生活中的实际问题,并且开发了各种各样的基于Agent技术的应用系统。

到目前为止,Agent技术已用于众多应用领域,如制造业、过程控制、电信系统、航空交通管理、交通和运输管理、信息过滤与收集、电子商务、商业过程管理、娱乐、医疗保健等。

(4)、面向Agent技术面临的挑战与机遇尽管Agent技术对计算机软件系统的研究和开发已产生或正在产生着深远的影响,但Agent系统在实际应用领域的普及和推广还远不令人满意,Agent技术还面临着诸多挑战,也存在很多机遇。

(5)、面向Agent技术的应用前景●周围环境智能●生物信息学和计算生物学●网格计算●电子商务(五)、领域工程技术研究开发现状领域工程对领域中的系统进行分析,识别这些应用的共同特征和可变特征,对刻划这些特征的对象和操作进行选择和抽象,形成领域模型,依据领域模型产生出领域中应用共同具有的体系结构(即特定领域的软件构架,缩写为DSSA)或生成过程,并以此为基础识别、开发和组织可复用构件。

(六)、软件工程环境的研究开发现状软件工程环境的概念在1970年代中期出现,主要着眼于技术、方法和工具的和谐搭配。

软件工程环境是一组软件构件,它们可以在一起工作,为软件工程活动提供自动化的支持。

早期的软件工程环境多是作为一个整体进行研发的,希望能够提供一致、全面的支持,采用紧耦合的方式集成,但是由于研发难度和工作量的因素,特别用户需求的多样性和复杂性,使得整体工程环境的应用出现较大困难。

进入二十世纪90年代中期后,随着CASE工具的广泛应用,软件工程环境开始转变为通过已有的CASE工具集成,采用松耦合的方式,结合相应方法论形成整体环境的趋势。

(七)、软件质量保证技术的研究开发现状软件质量保证技术主要从软件产品质量评测、度量和软件生存周期过程及其管理和改进两方面进行研究。

1、软件质量评测、度量技术主要包括以下几方面:(1)软件质量定义;(2)软件测试技术总述;(3)面向对象软件测试与软件构件测试技术研究现状;(4)软件度量技术研究现状2、软件过程改进与质量保证技术软件具有生命周期,对其生命周期全过程的控制有利于提高软件质量。

现有的软件过程及其改进技术的研究可通过若干国际标准进行归纳。

(1)软件生存周期过程(2)ISO 9000质量管理体系(3)CMM能力成熟度模型与TSP/PSP(小组/个体软件过程)(4)ISO 15504信息技术-软件过程评估(SPICE)二、应用软件研究开发现状计算机技术和信息技术高速发展的今天,计算机和计算机技术大量地应用在我们的日常生活中,随之应用软件也有了长足的发展。

相关主题