公务员期刊网 论文中心 正文

软件工程技术发展趋势

软件工程技术发展趋势

一、软件工程方法和技术

随着互联网的不断发展,软件工程也在不断完善,虽然软件工程思想并不能很好地解决软件危机,但其对软件的开发及其附属产业起到了很好的促进作用。软件开发过程出现了越来越多的新技术,如结构化程序设计技术、计算机辅助软件工程(CASE)、面向对象语言和方法等其它新技术和方法。一般常用的有技术类和管理类。

1.1技术角度

一般来说,技术方面主要包括软件开发范型、软件设计方法。其中软件开发范型注重的是工程思想,尽可能让开发出的软件满足用户要求,这是软件开发范型的重点;而软件设计方法注重的是软件开发过程及设计思想,注重的是概念。目前,在软件开发的实际应用中,主要强调的是软件代码重复使用。具体过程是在开发一套软件之前,首先查阅资料看有没有与之相似的产品,然后直接调用,这样不仅可以避免软件开发过程中的无用功,而且开发软件是以成熟产品为依据,因此在开发时可以将精力集中在软件的创新上。显然,用此技术开发软件和应用系统时可以充分利用已有的开发成果,消除软件生命周期中的重复劳动,在一定程度上提高软件的开发效率,同时还能提高所开发软件的质量,避免不必要的错误。软件复用主要包括软件构件技术、领域工程、软件体系结构等。其中,软件构件是指在软件开发中的已知条件,可复用构件是指在软件开发中的独立部分可以重复使用。上文提到的构件主要有源代码,同时也包括一些特定需求、软件系统的结构等,这些都可以称为可复用软件构件。软件复用的关键在于软件构件,而软件构件技术主要包括:如何根据需求构造出新的构件、如何从现有的软件系统中提炼出有用的构件,同时还要弄清楚各构件之间的内在联系,以及如何对构件进行准确的描述,并对构件进行准确的分类管理。在实际应用中发现,软件复用在某些领域能够起到很好的效果,原因在于一些特定领域对软件的要求基本相似。此种情况下,领域工程应运而生,领域工程的出现就是为了服务于特定领域的软件开发。同时也应该注意到,如果在软件开发中不能充分利用软件复用技术而仅仅停留在代码阶段,对开发人员来说软件复用技术就显得不那么重要了。

1.2工程管理角度

在软件开发过程中,不仅要注重技术层面,还要注重开发过程中对开发人员和开发进度的管理,并借鉴其它工程领域中的成功管理方法,引入管理学理论。软件开发过程引入工程项目管理的思想可以使软件开发不再以个人为中心,而是更加注重团体协作。在软件开发过程中用管理学的思想来管理开发人员和软件开发进度,能够让软件开发的进度控制在预料之中,保证软件开发按照预期的成本、质量以及用户的要求进行。同时,引进项目管理方法利于开发人员和企业的长远发展,降低开发风险。目前,评价一个软件开发企业是否具有长远发展的潜力,主要看其公司软件项目管理思想的具体落实情况。虽然软件项目管理与其它工程中的管理思想有诸多相似之处,但是由于软件自身的特殊性,具体实施起来却存在着巨大差别。这些差别具体表现在,软件项目中需要平衡需求、资源、工期、质量这4个要素之间的关系。对于较复杂的软件开发,一般分成几个比较小的项目分别进行开发,这样不仅降低了软件开发的风险,还使得开发过程中的管理更加容易,项目负责人更容易发现软件开发中的问题,以便根据所开发软件项目的特点,制定有针对性的管理方案和开发策略。国际组织对软件开发制定了行业标准,并且软件开发方面的权威组织也提出了较为科学完善、切实可行的软件项目管理方法。

二、软件工程发展趋势

2.1全球化趋势

伴随着全球化进程的不断加快,软件开发行业所面临的环境也发生了极大变化,以传统的思维来管理软件开发已经显得有些吃力。未来的软件开发将越来越强调全球化的合作交流,因为随着信息化的不断普及,越来越多的软件开发不仅仅在国内开发完成,还有一部分在国外完成。同时,软件的全球化协作也使得软件外包发展得越来越快,很多从事软件外包行业的公司得到了快速发展,这些软件外包公司把软件开发的设计理念、编程部分,以及测试、软件,甚至后期维护都分别交给不同的国家去完成,这个过程就是软件开发全球化协作过程,并且该过程已经成为软件开发公司的主流做法。

2.2开放性计算的广泛应用

软件工程领域中的开放性计算是软件开发行业的一种新趋势。软件工程本身具有极强的开放性,加上全球化协作的不断加深,这种趋势必然成为未来软件工程的重点发展方向。同时,开放性计算使得不同地域的软件开发者共同开发软件更加方便,更利于开发者之间的交流,也让软件的后期维护更加容易、更加专业,对客户和开发者是双赢的结果。

2.3模块化的设计思想

软件全球化协作在给软件开发带来机遇的同时,也给软件工程的发展带来了各种各样的挑战。各软件公司之间的竞争也越来越激烈,正是这种激烈竞争,促使软件开发不断向模块化方向发展。模块化设计思想是为了解决传统技术在实际应用中缺少灵活性的问题,其基本思想是在软件开发时以科学的方法把已知的软件构件和相似的软件构件分别归类,并通过的一定技术手段使之模块化。这提高了软件开发的效率,提高了企业的竞争力,对软件工程的长远快速发展具有意义。

三、结语

当前,软件工程的研究内容是软件开发模型、设计方法、工程中的支持技术和工程管理技术。这几部分已经发展得相当成熟,使得软件工程不仅仅是单一的体系,而是复杂的综合性学科。同时软件工程发展中也存在一些问题,应根据软件工程的特点、发展历史以及实际开发中的各个环节,努力寻找解决这些问题的方法,在实际应用中专注重点。同时,由于软件开发过程中的全球化协作越来越紧密,资源的分配和共享方式也发生了巨大变化,利用资源更高效地为用户服务已经变得越来越重要。这对软件工程的发展提出了新的要求,必须摒弃传统思维方式,引进新的理论、方法、技术和平台来应对这个问题。同时也应该看到计算机软件所面临的环境变化,从之前静态封闭的状态渐渐走向开放、动态的状态,从而促进软件工程的长远发展。

作者:张淑娟 单位:云南经济管理职业学院