论文部分内容阅读
【摘要】随着计算机技术的飞速发展,软件开发经历了从研发到创新和不断完善的历程。本文就软件开发方法的现状进行分析,探讨软件开发方法的创新发展过程,以便为今后软件开发方法的创新提供依据,促进软件的全面发展。
【关键词】软件开发 创新 方法 发展过程
一、引言
在软件工程中,软件开发方法是其重要的内容,在软件开发方法中,需要明确开发软件的目的和方法及用途。人们在不同时期,对软件开发方法具有不同的看法,每种软件开发方法具有灵活多样的表现形式。根据软件工程进行分析,可以看出软件开发方法在不断的创新发展,根据时代的不同,开发出不同的软件方法。在将来,软件开发方法还会不停的进行创新发展。
二、软件开发方法的现状
(一)结构化软件开发方法
结构化方法的使用主要是建立在软件工程生命周期开发管理的基础上,需要根据软件工程的开发过程中的不同发展阶段,将软件工程中复杂的问题进行分阶段解决,是一种自下而上的分解过程。由于通过阶段分解,在每个阶段中所进行的工作和所面对的问题都在人们的理解和便于处理的范围内。这种开发方法的典型代表有IDEFO方法、Jackson方法、数据流图方法等。其中结构化程序设计方法中的思维创新在程序开发方法发展中是至关重要的创新发展过程。并在一定程度上促进了结构化设计方法和结构化分析方法的发展。目前结构化方法仍占据着重要的作用,其具有比较成熟的技术,使用比较简单,因此,其应用领域较广,但在一些复杂或大规模的软件工程中,结构化软件开发方法对软件的重复使用问题的解决不够理想,无法适应软件工程需求的变化,并在软件维护方面具有较强的复杂性。
(二)面向对象的软件开发方法
面向对象的方法基本原则和出发点主要是对人类的思维方式进行模拟,从而使得软件开发的整个过程最大化的接近人类对世界的认识。从方法论的角度分析,面向对象的软件开发方法主要是将系统作为一个由多种对象相互作用、相互关联而形成的整体。在软件工程中,软件由文档和程序两部分组成,程序是由算法和数据机构共同构成的,在传统的软件开发过程中,操作和数据被分离是独立的内容,但在实际上,数据是静态的属性,操作是动态的属性,两者的联系比较密切。在传统的程序开发中,将两者进行分离,从而增加了软件开发的难度。在面向对象的方法中,软件开发过程中的划分比较模糊,从而使得软件分析和设计出现多次迭代的现象。
三、软件开发方法的创新发展过程分析
(一)面向Agent的软件开发方法
在互联网飞速发展的前提下,软件开发的趋势主要是向大规模和高复杂性方向发展,人们越来越关注软件技术的智能化发展。Agent的概念主要是来源资源分布式的人工智能领域,其主要特点是自主性、灵活性、驻留性。面向Agent软件开发方法主要是基于Agent的概念,给软件开发带来了新的思维观念,认为任何一个系统不管是应用系统还是软件系统,其是由一个或多个Agent构成,每个Agent都是自主的实体。Agent之间存在着复杂的结构关系,通过高层的交流、合作、协商等,对Agent之间进行相互作用,并从实际系统中实现整体的设计目标。目前Agent软件开发方法还不够成熟,还不能够进行大规模的实际运用,无法和面向对象方法那样受到人们广泛的使用。在总体上而言,面向Agent软件开发方法还处于探索的阶段[2]。面向Agent软件开发方法在创新发展的过程中,主要找到了问题的所在,需要开发出具有更高的智能特征、灵活性较高并能够友好的和人类进行交互的计算机系统。提出的新观念能够在某一环境下持续发挥作用以便实现设计的目标。目前面向Agent软件开发还没有形成统一方法,还有很长的一段发展路程。
(二)敏捷软件开发方法
敏捷软件开发是在上世纪九十年代逐渐发展起来的,敏捷软件开发方法的出现,有效的解决了传统软件开发过程中的复杂繁琐、开发过程中出现的各种变化反应、对大量文档的维护和产生等问题,其强调的是适应变化、以人为中心、强调简化和快速反馈,追求快节奏的软件开发。敏捷软件开发中具有四条价值观和十二条实践原则[3]。其中价值观是:(1)与理解文档相比,更加重视当前软件。(2)与软件过程和软件工具相比,更加重视个人的创造力和相互沟通能力。(3)对变动的响应更加重视,而不是一味的遵循计划。(4)重视用户合作而不是依赖合同。十二条实践原则是:重点需要通过尽早的、持续的交付有价值的软件,以便使得客户满意;经常性的交付可以工作的软件,交付时间间隔要短;即使在开发后期,也应该根据需求改变方案;业务人员和开发人员需要进行合作开发;为工作人员提供有利的环境和支持;传递信息方法需要有效;工作软件需要进度度量标准;提倡可持续的开发进度;对优秀技能和设计需要重点关注;开发设计要简化;构架和需求忠于自己的团队;对工作进行定期反省并进行调整。敏捷软件根据当前的现状提出改进的措施,并用新的思维概念来进行开发,在创新开发的过程中,具有自身独特的开发思维和方式,但还不够成熟,还需要进一步的发展和完善。
四、总结
通过对目前软件开发的现状进行分析,从当前比较典型的结构化方法和面向对象方法进行研究,在软件开发的创新发展的过程中,主要是向敏捷软件开发方法和面向Agent软件开发方法两个方向发展,在创新的过程中,主要是针对传统的软件开发方法,并根据当今的时代需求提出新的思维概念,并在这一方面进行深入的研究分析,满足客户的需求,提供更加便捷的软件工程,为客户提供更加优质的软件服务。
参考文献:
[1]高禹,冯相忠.软件开发方法演变的几个主要因素[J].自然辩证法通讯,2011,29(05): 188-193.
[2]闫琪,王怀民.面向Agent的软件开发方法及其评估[J].计算机工程与科学,2012,27(01):167-169.
[3]沈备军,陈诚.敏捷软件过程的研究[J].计算机研究与发展,2012,39(11):156-157.
【关键词】软件开发 创新 方法 发展过程
一、引言
在软件工程中,软件开发方法是其重要的内容,在软件开发方法中,需要明确开发软件的目的和方法及用途。人们在不同时期,对软件开发方法具有不同的看法,每种软件开发方法具有灵活多样的表现形式。根据软件工程进行分析,可以看出软件开发方法在不断的创新发展,根据时代的不同,开发出不同的软件方法。在将来,软件开发方法还会不停的进行创新发展。
二、软件开发方法的现状
(一)结构化软件开发方法
结构化方法的使用主要是建立在软件工程生命周期开发管理的基础上,需要根据软件工程的开发过程中的不同发展阶段,将软件工程中复杂的问题进行分阶段解决,是一种自下而上的分解过程。由于通过阶段分解,在每个阶段中所进行的工作和所面对的问题都在人们的理解和便于处理的范围内。这种开发方法的典型代表有IDEFO方法、Jackson方法、数据流图方法等。其中结构化程序设计方法中的思维创新在程序开发方法发展中是至关重要的创新发展过程。并在一定程度上促进了结构化设计方法和结构化分析方法的发展。目前结构化方法仍占据着重要的作用,其具有比较成熟的技术,使用比较简单,因此,其应用领域较广,但在一些复杂或大规模的软件工程中,结构化软件开发方法对软件的重复使用问题的解决不够理想,无法适应软件工程需求的变化,并在软件维护方面具有较强的复杂性。
(二)面向对象的软件开发方法
面向对象的方法基本原则和出发点主要是对人类的思维方式进行模拟,从而使得软件开发的整个过程最大化的接近人类对世界的认识。从方法论的角度分析,面向对象的软件开发方法主要是将系统作为一个由多种对象相互作用、相互关联而形成的整体。在软件工程中,软件由文档和程序两部分组成,程序是由算法和数据机构共同构成的,在传统的软件开发过程中,操作和数据被分离是独立的内容,但在实际上,数据是静态的属性,操作是动态的属性,两者的联系比较密切。在传统的程序开发中,将两者进行分离,从而增加了软件开发的难度。在面向对象的方法中,软件开发过程中的划分比较模糊,从而使得软件分析和设计出现多次迭代的现象。
三、软件开发方法的创新发展过程分析
(一)面向Agent的软件开发方法
在互联网飞速发展的前提下,软件开发的趋势主要是向大规模和高复杂性方向发展,人们越来越关注软件技术的智能化发展。Agent的概念主要是来源资源分布式的人工智能领域,其主要特点是自主性、灵活性、驻留性。面向Agent软件开发方法主要是基于Agent的概念,给软件开发带来了新的思维观念,认为任何一个系统不管是应用系统还是软件系统,其是由一个或多个Agent构成,每个Agent都是自主的实体。Agent之间存在着复杂的结构关系,通过高层的交流、合作、协商等,对Agent之间进行相互作用,并从实际系统中实现整体的设计目标。目前Agent软件开发方法还不够成熟,还不能够进行大规模的实际运用,无法和面向对象方法那样受到人们广泛的使用。在总体上而言,面向Agent软件开发方法还处于探索的阶段[2]。面向Agent软件开发方法在创新发展的过程中,主要找到了问题的所在,需要开发出具有更高的智能特征、灵活性较高并能够友好的和人类进行交互的计算机系统。提出的新观念能够在某一环境下持续发挥作用以便实现设计的目标。目前面向Agent软件开发还没有形成统一方法,还有很长的一段发展路程。
(二)敏捷软件开发方法
敏捷软件开发是在上世纪九十年代逐渐发展起来的,敏捷软件开发方法的出现,有效的解决了传统软件开发过程中的复杂繁琐、开发过程中出现的各种变化反应、对大量文档的维护和产生等问题,其强调的是适应变化、以人为中心、强调简化和快速反馈,追求快节奏的软件开发。敏捷软件开发中具有四条价值观和十二条实践原则[3]。其中价值观是:(1)与理解文档相比,更加重视当前软件。(2)与软件过程和软件工具相比,更加重视个人的创造力和相互沟通能力。(3)对变动的响应更加重视,而不是一味的遵循计划。(4)重视用户合作而不是依赖合同。十二条实践原则是:重点需要通过尽早的、持续的交付有价值的软件,以便使得客户满意;经常性的交付可以工作的软件,交付时间间隔要短;即使在开发后期,也应该根据需求改变方案;业务人员和开发人员需要进行合作开发;为工作人员提供有利的环境和支持;传递信息方法需要有效;工作软件需要进度度量标准;提倡可持续的开发进度;对优秀技能和设计需要重点关注;开发设计要简化;构架和需求忠于自己的团队;对工作进行定期反省并进行调整。敏捷软件根据当前的现状提出改进的措施,并用新的思维概念来进行开发,在创新开发的过程中,具有自身独特的开发思维和方式,但还不够成熟,还需要进一步的发展和完善。
四、总结
通过对目前软件开发的现状进行分析,从当前比较典型的结构化方法和面向对象方法进行研究,在软件开发的创新发展的过程中,主要是向敏捷软件开发方法和面向Agent软件开发方法两个方向发展,在创新的过程中,主要是针对传统的软件开发方法,并根据当今的时代需求提出新的思维概念,并在这一方面进行深入的研究分析,满足客户的需求,提供更加便捷的软件工程,为客户提供更加优质的软件服务。
参考文献:
[1]高禹,冯相忠.软件开发方法演变的几个主要因素[J].自然辩证法通讯,2011,29(05): 188-193.
[2]闫琪,王怀民.面向Agent的软件开发方法及其评估[J].计算机工程与科学,2012,27(01):167-169.
[3]沈备军,陈诚.敏捷软件过程的研究[J].计算机研究与发展,2012,39(11):156-157.