论文部分内容阅读
【摘 要】随着经济全球化的发展和计算机技术的普及,我国在计算机方面取得了巨大的发展和进步。自从“软件工程”这一概念提出后的,我国在软件工程方面不断的努力,并取得了一些阶段性的成果。但随着科学技术的发展,如何利用新的软件工程开发方法成为了软件行业关注的热门话题。
【关键词】软件工程 开发方法 现状分析 发展方向 科学技术
软件工程在这几十年的发展中得到了广泛的应用,其中软件工程开发的方法是软件工程开发中最重要的一部分。目前软件工程开发的方法多种多样,随着科学技术的发展,软件工程开发方法将更加先进、更加人性化。我们通过下面的几点,主要阐述软件工程开发方法的现状和未来发展的趋势。
一、软件工程开发方法发展历程
软件工程的概念是在一九六八年在北大西洋公约组织中的科学委员提出来的。软件工程概念中主要就是提出将各个领域中有效的概念、原理、方法和技术以及人类在计算机硬件研究开发中的经验应用到软件开发中[1]。这个理论的提出,彻底将软件开发工作推向了高潮。软件开发的这几十年中,软件工程的开发方法不断的改善和进步,主要进展的阶段为:二十世纪六七十年代时,在该机语言的基础上,结构化方法首次出现;二十世纪七八十年代,软件工程开发中的辅助软件工程成为了软件行业研究的重点;二十世纪八九十年代,面向对象软件开发方法出现,它是目前软件工程开发方法史中最实用的一种方法。
随着互联网的普及和计算机技术的发展,对于软件工程开发方法是一种挑战,也是一种机遇。软件工程开发方法必须不断提高,以满足时代发展的需求,并不断向前发展和进步。
二、 软件工程开发方法及其现状
(一)结构化程序设计方法
软件工程开发的早期开发活动的个体化现象非常的明显,开发人员在编程过程中没有统一的开发标准,程序员可以凭自己的主观意识进行程序设计,为软件维护人员带来了不少的麻烦。这些问题的出现主要是因为那时的软件行业的规模还比较小,开发的程序过于简单,导致编程人员在编程中忽视了程序之外的软件开发。在是否取消“goto”语句的讨论中,软件行业意识到不仅仅要取消“goto”语句,还要从根本上改变开发思想。根据使用顺序、选择、循环这三种基本程序结构,形成了具有良好可读性、清晰性、易理解性的程序结构标准。随着这种程序的发展,就形成了结构化程序设计方法。结构化程序设计方法的应用主要是建立在软件工程生命周期的开发管理基础上的,可以根据开发过程的进展速度和阶段,将软件工程中出现的问题分阶段的去解决。结构化开发方法包括Jackson方法、IDEFO方法和数据流图方法等[2]。结构化程序设计方法被认为是软件工程开发方法中的一次重大突破。目前,结构化方法虽然得到普遍应用,但其不能解决对软件重复使用的问题,并且在软件维护方面比较复杂。
(二)面向对象方法
面向对象方法的基本原则和出发点主要是对人类思维方法的模拟。面向对象软件开发方法主要包括:面向对象分析方法、面向对象设计方法。软件是由程序和文档组成的,在面向对象程序设计方法中,形成类和对象的含义,利用对对象的分解代替原始的功能分解方法。这一方法对软件开发方法的发展起到了很重要的作用,不仅可以使软件多次利用,还能降低人们对代码理解的难度,它被成为软件工程开发方法史上的第二次突破。但是这种方法同样存在着一些弊端,如对开发阶段的划分不够清晰,一般情况下需要花费很多的时间才能完成对程序的分析和设计。
(三)形式化方法
随着科学技术的发展和进步,计算机软件被应用到越来愈多的领域内,并不断应用到危险的领域内,如核反应堆监控、发射宇宙飞船、交通设施监测等。计算机软件在这些领域内的应用大大提高了软件开发方法的难度,只有不断对软件开发方法进行改善和提高,软件才能准确、安全地对其进行计算、监控和应用。为了适应发展的需求,形式化方法就应运而生了。软件工程形式化方法主要是依靠数学模型和计算来描述和验证软件的运行和设计的,必须建立在严格的数学规范上。形式化方法的缺点也不容小视,首先是所使用的数学工具和模型不能保证完全的准确性和安全性;其次,数学规范在一个环境中并不一定只有一种解释方法,因此,如何根据具体环境对其进行分析也是非常重要的。
三、软件工程开发方法的发展趋势
(一)敏捷软件开发方法
敏捷软件开发方法是在二十世纪九十年代以后出现的软件开发方法,它是一种以人为核心、迭代、循序渐进的开发方法。敏捷软件开发方法主要包括ASD、FDD、DSDM、XP等系统方法[3]。在这种方法的应用中将软件的项目的构建分成多个小项目,在小的项目经过测试合格后,达到能使软件到达可持续运行的阶段。敏捷软件开发方法可以适应临时的变化,并快速反应,提倡合理利用,重视软件生产率。目前,敏捷软件开发方法还处于发展阶段,随着开发力度的增大,这种方法将不断走向成熟。
(二)面向Agent的软件开发方法
Agent的概念来源于资源分布式人工智能领域,自主性、驻留性和灵活性是它的重要特征。自主性主要是指Agent能根据外部环境的变化来控制自身的状态,不需要外部的干涉和控制;驻留性是指Agent可以感受到外部环境的变化;灵活性是指Agent能与其他复杂的行为进行连接。根据以上Agent的优势来看,它可以被广泛应用到各个领域。虽然目前面向Agent的软件开发方法还不够成熟,但随着人们对它的不断重视,这种方法一定可以取得更大的进步,为软件开发行业带来“第三次突破”。
四、结束语
随着人们对软件开发方法的重视程度的增加,软件开发方法取得了很大的进展,想要适应时代发展的需求,就必须在研究新的开发方法中,利用先进的科学技术,不断促进软件行业的进步,带动国民经济的发展。
参考文献:
[1]程双桥.现代软件工程[M].清华大学出版社,2006,10(01):97-157.
[2]任胜兵,邢琳.软件工程 [M].北京邮电大学出版社,2004,10(01):97-159.
[3]杨福庆.软件工程技术发展思索[J].软件学报,2005,06(09):14-15.
【关键词】软件工程 开发方法 现状分析 发展方向 科学技术
软件工程在这几十年的发展中得到了广泛的应用,其中软件工程开发的方法是软件工程开发中最重要的一部分。目前软件工程开发的方法多种多样,随着科学技术的发展,软件工程开发方法将更加先进、更加人性化。我们通过下面的几点,主要阐述软件工程开发方法的现状和未来发展的趋势。
一、软件工程开发方法发展历程
软件工程的概念是在一九六八年在北大西洋公约组织中的科学委员提出来的。软件工程概念中主要就是提出将各个领域中有效的概念、原理、方法和技术以及人类在计算机硬件研究开发中的经验应用到软件开发中[1]。这个理论的提出,彻底将软件开发工作推向了高潮。软件开发的这几十年中,软件工程的开发方法不断的改善和进步,主要进展的阶段为:二十世纪六七十年代时,在该机语言的基础上,结构化方法首次出现;二十世纪七八十年代,软件工程开发中的辅助软件工程成为了软件行业研究的重点;二十世纪八九十年代,面向对象软件开发方法出现,它是目前软件工程开发方法史中最实用的一种方法。
随着互联网的普及和计算机技术的发展,对于软件工程开发方法是一种挑战,也是一种机遇。软件工程开发方法必须不断提高,以满足时代发展的需求,并不断向前发展和进步。
二、 软件工程开发方法及其现状
(一)结构化程序设计方法
软件工程开发的早期开发活动的个体化现象非常的明显,开发人员在编程过程中没有统一的开发标准,程序员可以凭自己的主观意识进行程序设计,为软件维护人员带来了不少的麻烦。这些问题的出现主要是因为那时的软件行业的规模还比较小,开发的程序过于简单,导致编程人员在编程中忽视了程序之外的软件开发。在是否取消“goto”语句的讨论中,软件行业意识到不仅仅要取消“goto”语句,还要从根本上改变开发思想。根据使用顺序、选择、循环这三种基本程序结构,形成了具有良好可读性、清晰性、易理解性的程序结构标准。随着这种程序的发展,就形成了结构化程序设计方法。结构化程序设计方法的应用主要是建立在软件工程生命周期的开发管理基础上的,可以根据开发过程的进展速度和阶段,将软件工程中出现的问题分阶段的去解决。结构化开发方法包括Jackson方法、IDEFO方法和数据流图方法等[2]。结构化程序设计方法被认为是软件工程开发方法中的一次重大突破。目前,结构化方法虽然得到普遍应用,但其不能解决对软件重复使用的问题,并且在软件维护方面比较复杂。
(二)面向对象方法
面向对象方法的基本原则和出发点主要是对人类思维方法的模拟。面向对象软件开发方法主要包括:面向对象分析方法、面向对象设计方法。软件是由程序和文档组成的,在面向对象程序设计方法中,形成类和对象的含义,利用对对象的分解代替原始的功能分解方法。这一方法对软件开发方法的发展起到了很重要的作用,不仅可以使软件多次利用,还能降低人们对代码理解的难度,它被成为软件工程开发方法史上的第二次突破。但是这种方法同样存在着一些弊端,如对开发阶段的划分不够清晰,一般情况下需要花费很多的时间才能完成对程序的分析和设计。
(三)形式化方法
随着科学技术的发展和进步,计算机软件被应用到越来愈多的领域内,并不断应用到危险的领域内,如核反应堆监控、发射宇宙飞船、交通设施监测等。计算机软件在这些领域内的应用大大提高了软件开发方法的难度,只有不断对软件开发方法进行改善和提高,软件才能准确、安全地对其进行计算、监控和应用。为了适应发展的需求,形式化方法就应运而生了。软件工程形式化方法主要是依靠数学模型和计算来描述和验证软件的运行和设计的,必须建立在严格的数学规范上。形式化方法的缺点也不容小视,首先是所使用的数学工具和模型不能保证完全的准确性和安全性;其次,数学规范在一个环境中并不一定只有一种解释方法,因此,如何根据具体环境对其进行分析也是非常重要的。
三、软件工程开发方法的发展趋势
(一)敏捷软件开发方法
敏捷软件开发方法是在二十世纪九十年代以后出现的软件开发方法,它是一种以人为核心、迭代、循序渐进的开发方法。敏捷软件开发方法主要包括ASD、FDD、DSDM、XP等系统方法[3]。在这种方法的应用中将软件的项目的构建分成多个小项目,在小的项目经过测试合格后,达到能使软件到达可持续运行的阶段。敏捷软件开发方法可以适应临时的变化,并快速反应,提倡合理利用,重视软件生产率。目前,敏捷软件开发方法还处于发展阶段,随着开发力度的增大,这种方法将不断走向成熟。
(二)面向Agent的软件开发方法
Agent的概念来源于资源分布式人工智能领域,自主性、驻留性和灵活性是它的重要特征。自主性主要是指Agent能根据外部环境的变化来控制自身的状态,不需要外部的干涉和控制;驻留性是指Agent可以感受到外部环境的变化;灵活性是指Agent能与其他复杂的行为进行连接。根据以上Agent的优势来看,它可以被广泛应用到各个领域。虽然目前面向Agent的软件开发方法还不够成熟,但随着人们对它的不断重视,这种方法一定可以取得更大的进步,为软件开发行业带来“第三次突破”。
四、结束语
随着人们对软件开发方法的重视程度的增加,软件开发方法取得了很大的进展,想要适应时代发展的需求,就必须在研究新的开发方法中,利用先进的科学技术,不断促进软件行业的进步,带动国民经济的发展。
参考文献:
[1]程双桥.现代软件工程[M].清华大学出版社,2006,10(01):97-157.
[2]任胜兵,邢琳.软件工程 [M].北京邮电大学出版社,2004,10(01):97-159.
[3]杨福庆.软件工程技术发展思索[J].软件学报,2005,06(09):14-15.