蔡苏亚
(陕西工业职业技术学院信息工程学院,陕西咸阳,712000)
软件技术是信息技术产业的核心之一,也是软件产业、信息化应用的重要基础。当前,信息技术将有力地推动信息产业、软件产业的发展,同时会对软件技术提出新的需求,也必将引发软件技术的重大变革。文中基于这一背景,从当前软件技术的发展角度,分析了软件系统的发展趋势,这一研究对于进一步了解软件系统的变革方向性具有一定的意义。
软件反映的是一种客观事物,随着社会的发展与变化,软件技术也在不断发展,软件工程的产生与发展也是基于事物的发展规律,单单通过软硬件和多种软件之间的异构性的解决方式就能找到软件技术发展的一个方向。比如操作系统的发展,屏蔽了计算机硬件的异构性,支持软件的出现屏蔽了操作系统与编程语言之间的异构性,而Web Services 相关技术的发展屏蔽了各种中间件间的异构性;对解决问题逐步深入,对使用与适应性方面的要求也在不断提高,加上日益发展的软件技术,更加复杂的新的异构问题还会出现,而这一问题的解决对于软件技术的发展有促进作用。我们要根据学科对需要解决的问题的概念进行提炼,寻找有效的解决办法,使得以上问题的概念模型以及相应的关联问题得到解决,下图是软件职业职业能力,软件工程主要是对软件开发范型、工程支持技术、软件设计方法及工程管理技术进行研究。软件工程的方向问题主要涵盖在软件开发范型中,对求解软件的计算逻辑进行研究;而软件工程的途径问题主要涵盖在软件设计方法中,对低层、高层概念模型以及处理逻辑相关的问题进行研究;工程质量与产品质量的问题则涵盖在工程支持技术和过程管理技术中,主要是对软件过程中管理学理论知识的应用进行研究,软件开发其映射的是从高层概念模型/高层处理逻辑到低层概念模型/低层处理逻辑,另外成本、技术以及进度等基本要素也在映射中得到体现,因此对映射模式(软件生产模式)问题进行相关研究是必要的。对的发展进行分析研究表明,传统产业发展的基本模式是零部件生产符合相关标准,并且是在标准零部件的产品生产前提下进行的,零部件是生产的关键部分,复用是重要方法,通过过往经验可以知道,软件开发工程化以及其生产工业化必须要经历这种模式。所以,标准构件的生产和构件的复用是促进软件产业发展的两个关键因素。
分析传统软件工程产业的发展,其基本模式均是符合标准的零部件(构件)生产以及基于标准构件的产品生产(组装),构件是核心和基础,复用是必须的手段。实践表明,这种模式是软件开发工程化、软件生产工业化的必由之路。因此,软件产业的发展并形成规模经济,标准构件的生产和构件的复用是关键因素.
传统软件的开发平台是封闭静态的,由上往下进行分解的所以在开发传统软件时几乎都是将系统的范围先确定下来,再对各个部分进行突破,这样就能很好的控制整个开发过程。然而软件系统的开发平台是开放动态的,且基础软件资源非常丰富,它的系统开发是将众多基础软件资源进行整合,再通过无序和有序循环,目标由动态变为稳定。新的软件基本模型与之前所有传统的计算模型相比显得更加复杂,因为它的开发平台和应用的需求不同,由于无序有序的循环,新的软件使用周期也与传统软件使用周期概念有所不同,多种多样的目标让其程序的正确性涵盖了多种传统正确性的描述,传统的软件体系结构是基于软件实体的结构分解,而新的软件体系结构则是基于协同的软件实体整合,软件开发过程和环境的改变促使了虚拟工厂的生成,它是基于互联网面向广大用户的。
图2 为大部分企业管理的运行软件系统结构其核心就是软件系统,而软件系统基于开发平台正在由集中封闭的计算平台向转变为开放的互联网平台,因此软件系统也伴随着运行环境的转变而发生一些变化。如今,软件系统的计算环境也正由原来的Client/Server 演变为Client/Cluster,且正慢慢向着Client/Network 与Client/Virtual Environment 发展。那基于互联网平台开发的新软件系统在未来又会是怎样的一个形态呢?
图2 企业管理运行软件系统结构
从技术角度出发,部分技术支持的软件实体在互联网的每个节点上会体现其开放自主的特点,在开放多变的环境下,所有软件实体的发布都能够以某种形式进行,同时通过多种协同方式与不同网络的软件实体之间进行相互连通和协作,也就形成了Software Web,它与现在的信息web 差不多,但它并非只是单纯的给用户提供信息,而是提供各种网络服务。在开放、动态多变的网络环境下,为了满足用户的个性化使用要求,Software Web 也就应运而生了,它需要对外部网络环境的变化具有感知能力,同时能在感知这种变化后根据各种性能和功能等指标而发生调整和动态转变,提高用户对系统的信赖感,这中新形态的软件即是下文所介绍的网构软件。
网构软件是在Internet 动态开放环境下软件系统一种抽象的基本形态,它不仅仅是传统软件结构的进一步发展,不同于那些在静态封闭环境下的传统软件,网构软件还具有以下几个独有的基本特征:自主性、协同性、反应性、演化性、多态性。自主性顾名思义独立主动,即网构软件系统中的软件具有对应的特性,而且这个特性让它完全不同于传统软件系统中的软件,传统软件依赖性和被动性较强。在开放的网络环境下,网构软件系统中不同软件通过各种静态和动态连接的方式进行相互连通和协作,这就是网构软件的协同性,这与传统软件系统的静态简单的连接模式完全不同,图3 为网购组件依赖示例。网构软件对外部运行和应用环境的感知且将相应的信息反馈给系统的功能即是它的反应性,此特性使其能感知互联网开放多变的外部环境。演化性指的是网构软件结构能够根据网络需求和环境产生动态演化,其软件元素数量、结构关系、结构形态的动态调节性充分体现了这一点,它赋予了网构软件系统的适应性,使其对多变的网络环境有良好的应变能力。网构软件的多态性指的是其系统具有相互兼容的多目标性的效果,它能够在动态多变的网络环境下遵循部分协同原则,符合各种相互兼容的目标形态,该特性赋予了网构软件系统具有相应的柔性以及符合个性化要求。
图3 网购组件依赖示例
总的来说,随着Internet 的快速发展和广泛应用,计算机软件逐步由静态封闭过渡到动态开放的环境。为了顺应这种发展趋势,软件系统将会慢慢呈现出弹性、目标多等软件形态。新型软件形态的出现,会给传统的软件理论、技术和方法带来相应的挑战。从某种意义上来说,这种挑战也是一个难得的机遇,有助于对软件理论、技术和方法的研究,促进一个优化Internet发展环境的新型软件理论、技术和方法体系的生成。
[1]严隽薇.软件产业中的技术发展趋势[J].微型电脑应用,2009,12:1-3+9+76.
[2]朱仲英,虞慧群,王景寅,尤晋元,高毓乾.软件技术发展趋势研究[J].微型电脑应用,2010,09:1-4+65.
[3]柴继贵,王蓉.软件技术发展趋势的探析[J].成都电子机械高等专科学校学报,2011,04:33-35.
[4]杨芙清,梅宏,吕建,金芝.浅论软件技术发展[J].电子学报,2002,S1:1901-1906.
[5]陈佳闻.新一代软件技术的发展趋势[J].科技信息(科学教研),2008,17:394-395.