软件工程中的几个热点问题初探

时间:2022-07-06 19:35:03  阅读:

【摘 要】当前,人类已经进入了信息社会的阶段,软件工程在计算机科学中竞争激烈,是处于前沿的学科。本文首先概述了软件工程的发展历程,并进一步分析了软件工程的研究热点及现状,最后,指出了软件工程的若干发展趋势。

【关键字】软件工程;热点问题;探索

目前,人类已经进入了信息社会的阶段,软件工程在计算机科学中竞争激烈,是处于前沿的学科。文章主要在目前的软件工程中,分析其热点技术及难题,并阐述其发展方向与研究现状。

一、软件工程的发展历程

计算机硬件技术在二十世纪末得到了广泛的应用发展,为微电子计算机的推广打下了坚实的基础,而计算机软件技术也应运而生。那时生产的软件有着作坊式、个体化的特征,单一的开发平台,落后的开发工具,具备较差的程序设计语言功能。特别是在软件维护工作方面,损耗巨额的物力、人力与计算机资源,不少程序具有编写者的个性化特征,使其难以得到维护与修改。有的甚至放弃原来的计算机系统,对新软件重新编写。此外,各类软件的结构及规模差异性大,很难对软件进行全面的维护,提高了软件开发的成本。这种滞后的软件开发工具、开发技术与生产方式落后的条件和飞速普及的电脑应用及对软件与日俱增的需求导致了不可调和的矛盾,导致形成了“软件危机”。

当前,软件工程已经发展了五十多年,逐步深入到社会生活的各个方面,应当说,当代生活社会,基本上在每一个方面都关系到软件工程。

二、软件工程的研究热点及现状

软件工程的热点问题伴着软件技术的发展而随之变化的。即使在软件工程的内部领域,研究的热点区域也处在变动之中。软件工程的建设队伍将由两部分构成,部分人是做软件评估,另而另一部分人做的是软件集成,主要是对软构件进行集成。

近年来软构件的应用也慢慢兴起。在一些公共的应用方面,比如说软件的初始化界面,通用软构件的应用较为广泛。但是,在各行各业的专业领域应用方面,软构件的研发及推广在我国仍属于空白。这一工作的推行,首先是表明了各行各业对该专业领域中的知识形态予以分析归类,并通过最新软件的形式进行描述。假如这个全面展开这个工作,将会是一个浩大规模的系统工程,亟需各行各业的软件专家与领域专家全力协作方可完成。

在开发软件的过程中研发者开始应用与研发软件工具,以便对软件项目管理与技术生产进行辅助,研发者还把软件各阶段的生命周期使用的软件工具机动性地整合为一个团体,构成可以持续性地支持软件维护和研发整个过程的集成化软件环境支援,以便从技术与管理两个维度解决软件危机的问题。

三、软件工程的发展趋势

(一)需求工程渐成热点

需求工程将成为软件工程发展的热点,当前业务创新日益复杂,同时分工更加专业化,区域组织的全球化以及互联网级的交付速度,这些均对获取需求的准确性及有效性提出了进一步的要求,其中Use Case技术(用例分析,也就是尝试通过分析类来在理想状态下完成用例)将会被大大的推广应用,而有关工具的研究也会变成热点(如IBM Rational Requirements Composer,,Ravenflow等)。

用例的优点在于它本身是未知的,它使用的是自然语言对用户与目标系统的交互进行抽象,防止了混入设计、分析与完成细节,来确保用例能够被不明白具体技术的测试人员和业务人员所真正掌握。此外,需求分析员又能够便捷地经由用例分析,把需求体系精简为分析的模型。在这一进程中,需求分析员能够更进一步地建立起基于用例的需求体系,而不用担心分析模型会对需求造成干扰,进而达成分析和需求的隔离及高效互动。

(二)基于领域的构架(DSSA)与模型驱动的开发(MDD)

伴着软件应用的发展和成熟,软件已经不再是以往的把手动流程自动化的要求,而渐渐变成业务创新的重要促进力量。所以,导入捕获指定领域内最先进需求及其实现架构的DSSA变成行业客户的关注重点之一。此外,DSSA的导入将大大降低模型驱动的开发(MDD)的门槛,也使得基于DSSA的MDD支撑工具变为了可能,进而能够大大地促进开发效率并确保软件的质量,譬如,Telelogic的Rhapsody就为一个成功的基于实时嵌入式系统构架的MDD工具。

(三)迭代/敏捷渐成标准

伴着越来越快的软件交付的周期,迭代化开发渐渐变成大多数软件开发团队的关注热点。同时,迭代对整个团队的架构、需求、测试能力及协同均带来了较高的要求,目前不少开发团队均在尝试在软件开发中导入迭代化开发的过程,敏捷目前被当作是迭代化开发的一种导入方案,而敏捷的使用范围其实比迭代化开发更加广大。敏捷的三个要素为坦诚合作、迭代开发与自适应性。而敏捷的核心即为坦诚合作,如不少软件工程师所言,敏捷实质上是与Social Engineering相关的。敏捷的重大作用在于它更多地考虑到了怎样去激起开发人员工作的热情,这是在软件工程过去几十年发展过程中没有被重视和开发的领域。

(四)持续集成蓄势待发

确保迭代化开发质量的主要条件之一为持续集成,经由持续集成能够利用自动化的形式来尽可能自主地、尽快地确保代码的质量。伴着敏捷与迭代的发展,相关的持续集成工具变成目前市场上新的发展趋势(如持续集成框架IBM Rational BuildForge, 开源软件CruiseControl,代码静态分析工具Klocwork Insight,IBM Rational Software Analyzer等)。

持续集成为一项复杂的系统工程,组织首先亟需把目前的配置管理/变更管理工具与Build环境紧密集成,并达到自动化Build过程,再依照企业/项目/产品的状况,定义怎样自动化地对软件质量进行检测(单元测试、代码静态分析或冒烟测试),并确定所需的自动化生成的管理报表。

(五)基于实践的过程框架方兴未艾

开发角色的专业化的与分布的全球化均需要软件开发过程愈加规范,而敏捷又指出过程一定紧密符合项目的实际需求,而以为传统的大一统的过程难以满足这个需求。新一代的过程将是以实践为重点的,项目可以经由组装所需的不同实践来得到贴近项目所需的过程。当前,逐步求精式的过程改进已经成为了可能,对于一个软件组织来说,倘若已经成立一个较为成熟的软件开发过程,但认为这一过程并不符合所有项目的实际需求,那么当前能够考虑的是用实践的方法去重新组织现有的流程,以便项目组能够通过实践为单位来达成符合项目实际的流程。此外,该组织也能够把适用于本组织的业界流行的实践引入到现有的流程当中。

参考文献:

[1]尹峰. 软件工程的若干热点技术发展现状与展望[J].长沙大学学报,2006(09).

[2]杨芙清. 软件工程技术发展思索[J].软件学报,2011(01).

[3]仲萃豪. 软件开发的三大突破性成果[J].中国信息导报,2012(09).

推荐访问:几个 软件工程 初探 热点问题

版权所有:汇朗范文网 2010-2024 未经授权禁止复制或建立镜像[汇朗范文网]所有资源完全免费共享

Powered by 汇朗范文网 © All Rights Reserved.。鲁ICP备12023014号