软件工程发展现状及应对措施

软件工程发展现状及应对措施

摘要:随着科学技术的发展,我国经济发展速度加快,Agent技术的出现使我国计算机技术发展进入新的阶段。软件工程技术的发展以计算机技术为依托,并且随着计算机技术发展不断进步,在我国诸多领域起到重要作用。基于此,主要分析基于Agent技术的软件工程发展现状,并提出相应的应对措施。

关键词:软件工程;Agent技术;软件质量

据我国相关部门调查得知,在2014年我国软件以及信息服务行业一年内创造了近4万亿的利润,同去年相比增长了20%,但是在软件出口方面却呈现出增长速度降低的趋势。这些数据能够说明,我国软件工程的核心竞争力明显不足,所以我国应加大软件工程研究力度,不断发展、创新技术,才能够在竞争激烈的国内外市场中站稳脚跟。

1软件工程

软件工程这个词汇首先在1960年被提出,那时研究人员只是将软件工程理解为构建计算机程序的技术,能够使计算机在一定条件下快速完成工作。早期的计算机发展速度较为缓慢,人们对软件工程缺乏重视,所以导致软件工程发展速度较为缓慢,但是随着计算机技术的高速发展,软件行业发展潜力巨大,并且其管理技术成为一个专门的学科。软件工程的重要组成部分是技术和管理,所以不断研究管理工程和技术工程才能够延长软件的生命周期,使软件工程更具活力,创造更多的价值,更好服务于社会和人民群众,满足各阶层人们的需求。

2Agent技术概述及面临的问题和挑战

2.1Agent技术概述

Agent技术是在传统计算机技术发展停滞的情况下产生的。在1980年之后,我国社会各领域进入高速发展阶段,人们的生活质量不断提升,各种信息分布存在,Agent技术应运而生。1990年之后,Agent技术已取得一定的成就,理论不断完善,应用范围越发广泛。较多软件公司纷纷引入Agent技术。Agent技术能够在特定的环境下自主工作,能够控制计算机软件程序,也就是所谓的智能化。Agent技术能够在遇到问题时,第一时间分析问题,让工作人员能够明白问题产生的原因,然后顺利解决问题。Agent技术采取一种动态分析的方式分析问题,能够分析清楚复杂的问题,减少企业在工作过程中遇到的麻烦。随着Agent技术的发展,逐渐实现发现问题并解决问题的功能,并朝着更加实用化的方向发展,涉及的领域也越发广泛。

2.2面临的问题和挑战

基于Agent技术的软件工程发展一直受到关注,并取得了较多的研究成果,但是这种新型软件开发技术依然存在较多的问题。这些问题给业界人员带来了巨大挑战,主流软件工程领域并没有全面接受Agent技术,也没有在工业领域大规模应用,所以只有解决这些问题才能够使Agent技术得到广泛应用。

2.2.1忽略软件工程关注点

软件工程开发较为关注成本、质量、效率,这些因素是决定软件能否开发成功的关键。比如,在进行软件工程系统分析、设计时,应应用继承、封装等技术,才能够提升软件的开发质量和效率。现阶段人们对基于Agent的软件工程认识不深入,所取得的技术成果也只是在某些特殊环节,忽视了Agent软件技术应注意的较多因素[1]。在这种情况下,Agent技术实用性较差,使工程研究人员对Agent技术的认可度下降。

2.2.2没有统一的软件

Agent模型Agent软件工程中的Agent模型应具有多样化特点。较为典型的软件中应包括反应式和BDI。但是这种多样化Agent软件一般会存在三方面问题,第一是不能够明确理解Agent软件模型;第二是当设计特定软件时,不知道该使用什么样的模型;第三是不同的Agent软件模型相互操作较为困难。所以没有简洁、统一、有效的软件Agent模型阻碍Agent技术在工业领域中的广泛应用。

2.3高、低层之间存在问题

在软件开发时一般需经分析、设计、实现以及测试环节才能够完整开发出软件[2]。在软件开发过程中,需要通过分析、设计、实现、测试后采用统一的概念和抽象来保障各个环节正常衔接。现阶段,在基于Agent进行软件开发时,在设计阶段和分析阶段各个环节往往不能够通过统一抽象的方式实现,各层方法与底层实现模型出现一定的脱节情况,最终还需要工作人员转换才能完成。大多数软件设计方法在分析和设计阶段都是基于社会学思想进行设计和分析的,并以此建立高层模型。没有深入研究通过哪种方式能够将高层模型转换为底层BDI模型,导致根据这些方案基于Agent进行软件开发时出现较多困难。

3Agent软件工程问题应对措施

通过上述分析可以发现,基于Agent的软件工程依旧存在较多问题,只有逐步解决这些问题才能够使Agent技术得到更多人的认可,才能够被应用到更多领域。要想让基于Agent的软件工程在支持和研发复杂系统开发方面发挥更大的作用,就必须研究其中的关键环节。

3.1完善程序设计的各个环节

程序设计一般包括理论、方法、语言、工具四个部分[3]。Agent程序设计使基于Agent的软件工程发展陷入瓶颈,只有解决程序问题,基于Agent的软件工程才能进入全新的发展阶段。在Agent程序设计方法方面,需要对特定的Agent程序设计进行研究,从而能够为Agent程序程序构造提供高质量的技术指导。比如,通过哪种组织模块能够实现重用,并能够提升软件系统的维护性。在Agent程序设计语言方面,应研究Agent程序设计语言设施。在进行Agent程序设计时不能只是单纯设计语法、语义,还要研究语言应用和分析以及设计方法,使语言表达具简捷和实用。所以,要关注组织程序设计和目标程序设计。在程序设计的支撑工具和环境方面,需要开发和提供E-clipse这种集集成性、开放性、可靠性、有效性为一体的设计支撑工具和环境。

3.2验证和确认

质量是衡量一个软件是否合格的重要标准,而质量也一直是基于Agent的软件工程较为薄弱之处[4]。所以应加大软件质量研究力度,完善验证和确认技术,保障软件的最终质量。在测试Agent软件时,应针对Agent规约、设计和软件测试技术方面,解决环境开放性、Agent自主性以及适应性问题,问题解决之后再进行测试,为Agent技术工程化提供技术支持。在Agent模型检测方面,首先应分析Agent技术特点,然后有针对性地研发每种检验技术。

3.3解决系统复杂问题

一项技术能否长久存在取决于能否解决技术出现的各种问题。多年以来,Agent技术一直被研究人员定义为潜力巨大的技术,但是经过多年的发展却始终没有发挥出理想的作用。比如,许多Agent软件方法或者建模语言都无法支持任何环境下的动态活动。所以,在未来研究过程中基于Agent的软件工程应着重研究以下几个方面。环境方面,环境是构建系统中较为重要的元素。对于一些较为复杂的系统来说尤为重要。所以,应针对开放环境的特征,深入研究环境建模、表示、分析、感知、系统和环境环境交互,使这几个环节能够与Agent技术相结合。适应性方面,由于环境具有动态性特点,并且具有不可控的特性,所以根据系统的复杂性原则应建立能够适应环境的系统。自主软件Agent在适应性系统开发方面具有较大优势,自主性也就是能够自主调节的特征,所以,要分析系统复杂的特点,提高Agent软件工程技术适应性,使开发出的软件能够在各种复杂的条件下正常运行。

3.4集成与借鉴

软件工程已在我国发展四十余年,通过大量的实践研究总结出了较多的普适性原则、策略以及经验。比如,在模块化、高内聚、低耦合、重用、模型方面都取得了较大的成果。但是,如果想让基于Agent的软件工程在工业领域中发挥更大的作用,就需要借鉴其他软件工程取得的成果,研究其方法和技术,才能够不断完善Agent软件工程技术。所以,未来在研究基于Agent的软件工程时应加大Agent软件重用、面向Agent软件设计模式、多Agent系统软件结构模式以及Agent模型转换模式等方面的研究力度,促使基于Agent的软件工程发展越来越好。

4结语

基于Agent的软件工程应用研究已有十几年,在这期间基于Agent的软件工程取得了不错的成绩,在方法学、建模语言、支撑工具方面都获得了不错的进展,但是系统功能依旧没有发挥出理想的作用,使基于Agent的软件工程发展陷入瓶颈,具有较大的局限性,所以在未来的发展中应反思开发过程中存在的问题,然后一一解决这些问题,以发挥出基于Agent的软件工程的作用。

参考文献

[1]王文新,吴敏.浅析基于Agent的复杂系统的船舶货运软件工程的发展[J].电子测试,2014(5):130-131.

[2]李丽.基于AUML的面向Agent网络考试系统的建模方案研究[J].信息与电脑(理论版),2013(9):77-78.

[3]薛立功.基于多智能体的数字制造软件平台关键技术研究与实现[D].武汉:武汉理工大学,2014.

[4]毛新军,屈婷婷,王戟.自适应多Agent系统的面向Agent软件开发方法学ODAM[J].计算机研究与发展,2014(11):1892-1901.

作者:李力 单位:四川城市职业学院