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

软件工程系统论探究

前言:想要写出一篇引人入胜的文章?我们特意为您整理了软件工程系统论探究范文,希望能给你带来灵感和参考,敬请阅读。

软件工程系统论探究

摘要:创建软件工程体系论证的想法是确立于一般系统论、工程系统论和软件工程的基础点上面,同时展开了软件工程系统论的研讨影响、学科本质与系统、研讨内容和研讨方式的第一步。工程系统论因其特性可以运用于软件工程,保证软件工程基本使用研讨体系化、精密化和科学化的进一步发展,同时提升该研究的研讨出发点,帮助实行系统科学和工程系统的思想统一。具体可以将软件工程系统划分成为六个子系统,分别是对象、技术、过程、支持、组织和管理这些部分。建立起一个和软件工程系统有关的理论框架十分重要,并且还要贯彻有关的科学思想,让软件工程在研究上有着强大的依靠,推动软件工程研究向着更加科学严谨的方向发展。本文分析研究软件工程系统论的重要性,介绍软件工程系统论研究的内容以及可行性。

关键词:一般系统论;工程系统论;软件

0引言

将应对软件危机作为机会,以此得到的软件工程理论创立于上世纪六七十年代,到现在也有了三十多年历史并已成为了一门独立学科。在发展中必然会遇到一些问题,其中最为突出的两个问题是:第一,已有的理论成果还是不能够跟上实践需求;第二,软件工程要得到发展,必须建立在现有理论基础上,同时还需要对软件工程基础的框架和体系进行深入的研究。要鼓励创新,让理论基础能够变得更加扎实,且多用一些新的看问题的角度来对问题进行研究。如果想要让难题很快地得到解决,就需要将一般系统论以及工程系统论中联立到实际的软件工程研究上来,建立好完善的科学体系和基本理论。

1工程系统论介绍

在上个世纪末期,国内学者在一般系统论基础上,利用自己的努力创造了工程系统论。他们建立的理论中有着和工程系统有关的规律,该理论是将一般系统论和实践结合在一起得到的理论,它能够对所有的领域中的工程起到作用。关于工程的具体定义,指的就是依据某组设想目标,并且通过科学知识以及相关的技术来让人以组织的形式开展活动,能够让现有的实体转变成为一个有着价值的产品涉及到的整个过程。在实际的工程活动中包含有九个基本要素,主要就是资源、用户、行动者、方法、目标、时间、过程、活动以及环境。将环境排除在外,剩余的八个要素在一个框架之内,同时还有着紧密的联系,是一个完全的整体。我们将这个整体叫做工程系统。在研究工程系统论的过程中,研究的目标就是不同的工程系统,研究的目的就是为了找到工程系统里面存在的所有共有规律。工程系统论在整个学科体系里面处于最中间的层次。相较于一般系统论,工程系统论、社会系统论以及生物系统论这三者能够组合形成派生科学。也就是说工程系统论的概念、原理方法都会被一般系统论限制。和具体工程系统论相比,它属于工程元科学,也就是说它是综合性更强的一门学科,能够对所有的工程学科进行讨论。由于工程系统论具备特殊的处于中间层次的特点,能够使得它作为一般系统论的知识来源,同时它还能够给具体工程系统论提供更加广阔的发展空间。具体工程系统论主要的内容中必须含有软件工程系统论这一内容。工程系统论有着十分科学合理的思想,再加上辩证的理论,能够帮助指导复杂系统中的操作以及方法论。原本系统工程技术存在很多的局限,不过工程系统论在这方面有着很大的突破,它有了更大的范围,能够跨越很大的时空来对人工系统的发展进行操控。同时工程系统论没有对以前的内容进行抛弃,里面还是涵盖了系统工程等方面有效的技术以及措施,在这个基础上,添加了顶层指导,因此它有着宏观性以及普适性,可以被广泛地运用在复杂的人工系统中,有着很光明的未来。

2研究软件工程系统论的重要性

因为网络技术得到了很大的发展,进行网络开发的工具也越来越先进,使得软件开发的整体环境出现了很大的提升和变化,和软件开发有关的概念也有了很不一样的定义。现在在进行对象程序设计的过程中,有了新的方法,一些传统的面向过程以及结构方法都已经被摒弃,如今更加注重的是面向角色程序设计的方法。在设计角色的技术上,每个不同的部分都会有所侧重,但是整体必须要做到协调。现在的技术强调的一点就是对即将被开发出来的系统进行分析时,需要做到更加规范化以及自然。这种更为系统化的分析模式和工程系统论基本的思维模式十分契合,因此也能够用到复杂系统的开发过程中。现在软件开发十分重要,而且在发展的过程中,是一定需要有着理论依据来支持的。与此同时,还需要有在软件出现问题时,对这些问题进行解决的理论工具,平时不仅要研究新的开发方法和工具,同时更加重要的就是找到新方法来对软件工程进行指导。这样的情况之下,建立起一个基本的框架和体系就显得很必要。

3软件工程系统论的研究内容以及可行性

3.1软件工程系统论相关研究内容

3.1.1软件工程系统的一般结构软件工程系统有着一定的发展规律,也兼具复杂性,它发展是有着基础部分,并且能够对复杂的情况进行处理;系统基本组成部分有着自己的特性,并且其功能与空间和时间都有着分不开的联系;环境因素也是影响软件结构、功能、状态等的原因。

3.1.2软件工程系统的层次结构软件工程系统层次结构主要有系统化的层次以及不同层次之间的联系等部分。还包括系统基层性质、特别性质;层次结构上有着无限性、协调平衡性以及相对性。

3.1.3软件工程系统的协调性和复杂性此块内容有着系统复合过程的分类、状态等;处于复合状态时具备的协调性以及协同性;能够对系统目标、方法以及特征进行适应的内容。

3.1.4软件工程系统的突现性该部分主要突出了软件工程系统有着突现性的特点;同时还有环境对于系统突现性的影响;刻画了突现性的具体内容,并且突现性在整体与部分两者间的关系。

3.1.5软件工程系统的无序性以及有序性该部分涉及了无序性、有序性分别发生的原因、表现以及特点;使得无序性变成有序性需要的条件等。

3.2软件工程系统论研究的可行性

首先,软件工程与系统科学之间有着分不开的联系,软件工程中,理论方面最主要的基础就是系统开发设计系统以及数学模型,在软件工程的方法和技术上,都突出了系统并且科学的基本思想。在软件工程系统中,比较重要的方法有结构化方法以及面向对象方法等,这些其实都对系统科学思想方法进行了延续。软件工程中,进行支配的核心思想就是用不一样产品的方式来处理软件产品,这就是指在进行软件生产的过程中需要将监督、审核以及研究可行性等内容纳入其中,这样才能够确保质量、经费达到具体的标准,让最终的目标得到实现。因此引进工程系统论原理以及相关的方法实行的可行性很大。第二,系统相对复杂,在开发软件工程的过程里面会有很多的任务,同时指标十分庞大,涉及了很多方面的知识以及学科类型,需要很长的研究周期,再有人员素质、运行机制以及环境等多种因素对其的影响,因此软件工程里面一定要多利用工程系统论里面的科学思想,找到内在隐含着的规律,提升整个系统开发时的总体设计的水平。第三,自从系统论有关的思想推行很久之后,能够促进软件工程向前发展,使得人们对软件工程上需要用到的原理以及方法有着更多的了解。除此之外,我国现在从事相关软件开发的人员变得越来越多,这些人员基本都能够具备很多的理论知识以及科研开发背景,他们能够提供好的工程例子来让工程相关人员进行专门的理论研究。因此研究以及建立这两个层面上,软件工程系统论都能够将原本的障碍给攻破。

4开展软件工程系统论的研究势在必行

软件工程的定义就是能够对计算机软件的开发以及维护起到指导作用的学科。开发软件工程的整个过程有着很鲜明的特点,也就是项目生命周期存在的阶段性、复杂性以及系统性。早在上世纪六七十年代,国外的很多学者就开始研究起了软件工程,他们主要集中在对基本原理、方法等方面进行研究,具体可分为过程模型、方法技术、工具环境以及标准规范等内容,并且他们在研究中得到了一些很好的开发方法,对后世有着很大的影响。比方说结构化方法、面向对象方法、净室方法等,都是很有影响力的。虽然这些方法也并不是很完善,有着很多的缺点和不足,不过这些方法都是能够推动整个软件工程进行发展的有利因素。图灵机模型以及冯-诺依曼体系是现代计算机发展的理论支撑。图灵机中涉及的想法主要就是将问题细化,让其成为机械求解,有着很多步骤的过程,计算机语言则是作为辅助思想进行表现的一个形式。对软件进行开发其实就是通过程序员的操作,将求解问题域变得更加形式化的一个阶段。对于求解的问题,程序员需要先进行分析,知道它的主要特征,然后建立起相关的模型,找到合适的算法,用设计语言来描述这一程序,最后能够顺利的得到想要的结果。按照人们的一贯理解表达方法来看,冯-诺依曼的程序具体执行的过程是与其相悖的,存在着很大的差别,而且程序员一般都会关注怎么实现目标、怎么进行编程这些方面,对问题的认识还不够深入,同时思维上也有一定的惯性。在软件管理以及设计上面,人们一般都会用非系统的思维来应对,这就使得设计结果不具备系统性以及整体性。比方说,程序员关注点一般在工程流程以及步骤上,但是整个系统特点也是需要进行注意的部分,这方面不注意,就会带来问题;程序员只关注局部而没有这种协调整体;过分关注程序模块以及设计上的优化,并没有关注全局优化以及结构分析的部分;进行工程开发的时候没有进行合理的沟通和协调,使得系统设计架构不够完整,软件设计上存在着很多的矛盾和不足;软件自身也存在一定的特点,这会使得工程开发时很容易缺少沟通,只是各自忙自己的。特别是一些大软件的开发过程中,包含了很多的小项目,分工很细,并且包括了很多的层次,时间上要求很高,很容易出现将大系统分成不相干的一些小系统的情况,这样很难对系统性和完整性进行把控。在系统工程方法的具体应用方面,也是国外学者的脚步更快。Win2stonW.Royce博士最初提出了“软件系统工程”这个词语[5]。他们的观点为,一个项目若是没有系统工程方法,那么就会使得软件不能够适配于硬件,导致软件不能够一直使用下去。开发产品时,没有注意系统方面的相关工作,就会让软件危机加剧。美国的RichardH.Thayer等学者对完善了软件系统工程的具体定义。他们的观点为,软件系统工程其实和系统工程十分相似,需要技术以及管理这两个方面。软件系统工程并不是指一项任务,它其实是一个理念或者可以说是一个过程。最高层需要在软件工程的实施里面用到这个理念。在对软件系统工程以及软件工程之间的关系进行研究时,他们还提到,在初期开发软件的时候,软件系统工程主要就是对软件需求进行具体的分析,并且设计具体的结构。软件系统最终进行测试和系统功能的部分也是包括在软件系统工程中的。很明显,总体来说他们的观点认为软件系统工程是软件工程的一个部分。因为每个学者研究时的目标以及角度都是不同的,所以本文的软件工程系统与这些学者提出的团建系统工程并不是同一个概念,但是这两者都能够体现出和系统论有关的思想。全球另外还有许多学者研究了软件工程开发这一方面的内容。比方说,Wooldridget等学者提出了GAIA方法,它能够对主题进行分析以及设计,他们认为工程中应该多用到MASE和MAS-Commonkads;高翔等学者对应用角色模型中用到的设计方法进行了研究;张志军等学者在软系统方法这个基础之上,提出了具体的开发技术;冯栅等学者提出了建立在智能体系之上的方法。这之前提到的所有方法都是能够结合实际工程方法,来反映出现在软件工程方面到底遇到了什么问题。美国有关的学者提出的软件工程系统理论并不能够运用到系统论的整体过程里,它只能够符合某些特定阶段的要求。而且这里面不具备工程系统论内容,同时还没有运用工程系统论有关思想来对软件工程科学体系进行研究和考察。基于现在的文献搜索情况以及互联网使用情况,能够知道现在全球所有报道中提到工程系统论在软件工程上运用的方法理论。网络技术得到了很大的发展,同时开发的工具也变得越来越先进,这些原因就是推动软件开发环境变化的主要因素,同时也对人们在时空观念、生命周期以及软件方式等方面产生了影响。角色技术在程序设计上出现了更为侧重的现象,并且能够做到各部分之间都有着很好的协调,用更加规范化以及自然的方法来对即将要开发的系统进行描述,能够让开发的效率变得更高,并且和一些专家之间建立很好的联系。在现代软件工程的发展过程中,就必须要所有的科学都具有理论上的基础,软件危机一直存在使得我们必须研究出很好的理论武器来进行治理,在研究一些新型的开发工具和整个开发过程里面,最为重要的就是需要将研究的领域和新技术结合到一起,并且对软件工程发展的指导用到新的方法论。所以,对一般系统论和工程系统论对软件工程系统规律进行研究,以此来建立起一个更为科学化的软件工程系统体系,并且得到软件工程系统论的基本方法。就是因为这些研究是建立在一个新角度上的,所以能够对贯彻系统科学思想有利,将研究软件工程的起点提升,让对软件工程的基础研究变得更加系统、全面和科学,同时也能够为另外的信息工程学发展提供一定的借鉴。

5软件工程系统论的学科地位、研究内容及可行性

其实从大方向来说,也就是从整个科学范围内来讲,软件工程系统理论应该是在一般工程理论下一个层次的,也在一般系统理论之下,这就是说,软件系统理论的应用应该是在两者应用的前提下,对软件系统的应用起到一定的约束作用。当然这种关系也在随着应用领域的不同而不断发生变化,比如说在机电领域,细化还可以说在航天领域、汽车领域等,他们的关系是平等的,但是其应用却是交叉的。对于软件工程的研究,可以参照一般工程研究的方法,也就是可以把软件工程的研究分成几大部分,比如软件工程管理、软件工程技术系统、软件工程过程系统、软件工程对象系统、软件工程支持系统、软件工程组织系统等六大子系统,在这些原理的实现过程中,又包含着在相关工程中的应用,例如性能工程、质量工程、架构工程、测试工程等,这些相关工程包括很多,其中会涉及到很多软件工程领域的应用,在对软件工程做研究的时候也会结合这些相关工程做出不同分析,这里简要举例说明,关于软件工程系统理论研究,应该从以下几方面出发:(1)结构角度:结构角度的出发点就是软件的一般结构,从软件工程应用的环境、状态、结构及一些规律;在系统组成角度来说,这些要素在功能匹配、空间利用等方面都有一些规律,都需要结合一些性状;我们平常所说的系统的复杂性就是在这些领域面对这种复杂问题、复杂规律时所用的处理办法及途径等问题,当然考虑这些因素也是为了在最大程度上保证软件工程的严谨性。(2)系统层次角度:软件系统在建立过程中是分层次建立的,其中每个层次又都有着千丝万缕的联系,其中就包括层次之间的协调及平衡性,软件系统的的无限性及相对性不能一概而论,要视应用领域而定。(3)协调性及复合型:首先说复合性,需要从复合内涵、分析过程、分类方式及过程方式等角度考虑;然后协调性就是要从系统的特征方法、目标种类等方面来看;协调性还包括对协调度的把握及衡量。(4)突显性:软件工程在这方面的的表现很突出,同时也是因为具备了一些突出性的条件;在系统的内各部分只见的关联部分也有其对整体的作用;同时还必须考虑的一点就是该工程对软件应用环境整体有无影响。(5)无序性及有序性:这个角度需要从有序无序的根源出发,也就是其发生原因、因素等一些初始方面考虑;还有两者的相互转化条件等。(6)范式:软件系统一般都会有一般范式,但是这种范式的角度,需要从范式的标准、组成构成、分类等方面考虑。(7)信息角度:信息与软件工程有很多联系,在软件工程中有一定地位;软件工程的基本特征及相关衡量问题;模糊性信息、信息反馈及其对系统稳定性的影响、随机性信息、未确知性信息的分析与处理。(8)全局化:顾名思义,就是对整个工程的把握,包括对整体的优化,对其中某一部分、某一环节的优化;还包括全局中的分类、特点、方式等。全局工作如果能够做好,那么应该可以在我国软件工程领域开启新的篇章了,因为目前我国的软件工程在全局掌控方面很差,空白之处还有很多,这项工作做好,就会在理论和实践上都有很大提高,也会还会发展很多分支出来。首要说的就是软件工程与各方科学工程有着很多联系。软件工程从底层来说就是数学模型的建立,一些数学算法的解决,数学模型的建立等。其实在系统科学的建立过程中,软件工程的思维技术都是贯穿始末的,这也使得面向对象式的软件工程在不断发展,也因此使得这些进步都是围绕着系统科学思想的。这个过程需要工程审核、工程需求、工程计划联系在一起来考虑,这么做的原因也是为了能够保证工程进展的有序性和保质保量,这个过程在综合进程、经费、质量等多方面因素后才能保证工程最后的结果,这些不确定性也导致了系统科学工程的思想能够应用在软件工程上的结果。另一方面,软件工程的开发过程和人力及人的思想是分不开的,也可以这样说,整个软件工程就是一个大型人工智能系统,这个开发过程经历思索、设计、开发等较长周期后,使得整个工程在经济投入、运行时间都有很大的变动,而且在这期间很多因素都会影响软件工程的进展。在客观上来讲,这个过程需要实时的进行评价、评估,而且是对各个方面,比如说管理方面,解决问题原则方面,把握发展思路方法方面,借此来提高软件系统工程的整体水平。再者,软件工程的发展已经有些年份了,而且已经经历了软件的推广,这个过程也有二三十年了,这个发展的结果就是,逐渐大众化,越来越多的人对这个工程及相关软件的应用都有了很多认识,更有一部分人通过学习逐渐变成相关专业人员,这个队伍在逐渐扩大,而且这些人的理论知识都是相当扎实丰富的,这个软件工程在建立过长中基本上是不用担心知识瓶颈或者技术难题的。

6结语

通过上述总结可以达到对软件工程及其开发研究过程概括的结果,再者期间会有很多实际问题涌现出来,更重要的是很多学术问题会被发现,当然这个过程会随着应用领域的不同而不同,随之而来的就是一些技术难题。但是软件系统的建立也有它的短处,就是软件系统是离散的,这种结构使得如果其中的某一个环节出现了轻微偏差,那么就会造成结果发生较大的偏差。还有就是软件工程的建立属于高等知识类型的,这中类型的定位也是它不容易管理的原因之一,也是不容易实现规范化的原因。这方面的管理必须有相应的专业管理人员进行相关工作,要求了工作人员应具备很高的协调管理能力、人才规划管理能力,其实这也可以成为一门艺术,这条艺术之路走对了就是使得整个工程井井有条,但是从当前软件工程的发展来看,这条艺术之路还很长,我们仍须努力。

参考文献:

[1]李刚,董火民,杨子江,韩红强.软件工程标准化现状与分析[A].第四届中国软件工程大会论文集[C],2013.

[2]介艺橙.成都置信房地产成本管理系统的设计与实现[D].电子科技大学,2013.

[3]王连成,工程系统论与工程科学体系[J].中国工程科学,2011(6).

[4]张炯.核动力工程研究开发、设计系统的信息化研究[J].核动力工程,2014(1).

作者:马双 单位:曲阜师范大学信息科学与工程学院