本站小編為你精心準(zhǔn)備了論軟件工程中軟件開(kāi)發(fā)方法的趨勢(shì)參考范文,愿這些范文能點(diǎn)燃您思維的火花,激發(fā)您的寫(xiě)作靈感。歡迎深入閱讀并收藏。
一、軟件工程中軟件開(kāi)發(fā)方法的現(xiàn)狀
(一)結(jié)構(gòu)化方法
結(jié)構(gòu)化程序設(shè)計(jì)方法中的思維創(chuàng)新被認(rèn)為是程序開(kāi)發(fā)方法發(fā)展中的重要飛躍,并且其成功也在很大程度上推動(dòng)了結(jié)構(gòu)化設(shè)計(jì)方法以及結(jié)構(gòu)化分析方法的發(fā)展,在20世紀(jì)七八十年代,結(jié)構(gòu)化方法在軟件開(kāi)發(fā)方法中占據(jù)了主導(dǎo)的地位并有效的對(duì)軟件危機(jī)蔓延起到了遏制的效果,既是在今天,結(jié)構(gòu)化方法的這種作用仍舊在發(fā)揮著。從當(dāng)前來(lái)看,結(jié)構(gòu)化方法具有成熟的技術(shù)并且使用簡(jiǎn)單,所以其應(yīng)用也十分的廣泛,但是在一些復(fù)雜的或者大規(guī)模的軟件工程項(xiàng)目中,結(jié)構(gòu)化方法卻不能很好的對(duì)軟件重復(fù)使用問(wèn)題進(jìn)行解決而難以對(duì)軟件工程需求的變化進(jìn)行適應(yīng),并且結(jié)構(gòu)化軟件開(kāi)發(fā)方法在軟件維護(hù)方面具有著較強(qiáng)的復(fù)雜性。
(二)面向?qū)ο蠓椒?/p>
面向?qū)ο蠓椒ǖ幕驹瓌t以及出發(fā)點(diǎn)是對(duì)人類(lèi)思維方式的模擬,從而讓軟件開(kāi)發(fā)的整個(gè)過(guò)程最大化的接近于人類(lèi)對(duì)世界認(rèn)識(shí)的過(guò)程,從方法論方面看,面向?qū)ο蟮能浖_(kāi)發(fā)方法將系統(tǒng)看做是一個(gè)由很多對(duì)象互相作用、互相聯(lián)系而形成的整體。面向?qū)ο蟮能浖_(kāi)發(fā)方法包括分析方法、設(shè)計(jì)方法以及程序設(shè)計(jì),其中面向?qū)ο蟪绦蛟O(shè)計(jì)方法是面向?qū)ο蠓椒ǖ闹匾诵膬?nèi)容。在軟件工程中,軟件由文檔和程序兩部分組成,程序是由算法和數(shù)據(jù)機(jī)構(gòu)共同構(gòu)成,在傳統(tǒng)程序開(kāi)發(fā)的過(guò)程中,操作以及數(shù)據(jù)被分離為獨(dú)立的內(nèi)容,但是事實(shí)上,客觀世界中的實(shí)體都具有靜態(tài)和動(dòng)態(tài)兩種屬相,對(duì)于軟件工程而言,數(shù)據(jù)則是靜態(tài)的屬性,而操作則是動(dòng)態(tài)的屬性,二者具有密切的關(guān)系,而傳統(tǒng)程序開(kāi)發(fā)中將二者的分離在一定程度上是軟件開(kāi)發(fā)所面臨的難度進(jìn)一步的增加。而面向?qū)ο蠓椒▌t強(qiáng)調(diào)了不同元素的共同組成,數(shù)據(jù)以及操作被看為是一個(gè)整體,而這種理念優(yōu)勢(shì)在于對(duì)軟件的重復(fù)使用,同時(shí)也是代碼更容易理解,但是在面向?qū)ο蟮姆椒ㄖ校浖_(kāi)發(fā)過(guò)程中的劃分相對(duì)模糊,所以在軟件分析、軟件設(shè)計(jì)以及軟件設(shè)計(jì)的過(guò)程中會(huì)產(chǎn)生多次迭代。
(三)形式化方法
隨著科技的發(fā)展以及人類(lèi)對(duì)軟件工程需求的不斷提高,計(jì)算機(jī)軟件開(kāi)始執(zhí)行會(huì)引發(fā)嚴(yán)重后果甚至威脅人類(lèi)生命的重要任務(wù),如對(duì)核反應(yīng)堆進(jìn)行監(jiān)控、飛船的發(fā)射以及對(duì)一些交通設(shè)施進(jìn)行安全監(jiān)控等,而這些需求下的軟件一般都具有較強(qiáng)的復(fù)雜性,在此背景下,在軟件本身復(fù)雜性不斷增加的基礎(chǔ)上保證軟件在執(zhí)行任務(wù)時(shí)的精確、安全和可靠是十分重要的內(nèi)容,而形式化方法就是為了滿(mǎn)足這樣的需求而產(chǎn)生。形式化軟件開(kāi)發(fā)方法所依據(jù)的是計(jì)算與數(shù)學(xué)模型來(lái)對(duì)軟件系統(tǒng)的特性以及行為作出驗(yàn)證和描述,其中這些特性與行為包括設(shè)計(jì)、需求規(guī)格以及實(shí)現(xiàn)等,由此可見(jiàn),嚴(yán)格的數(shù)學(xué)是形式化軟件開(kāi)發(fā)方法的重要基礎(chǔ)特征。但是形式化軟件開(kāi)發(fā)方法也有其自身的缺陷,如在過(guò)程中所使用的數(shù)學(xué)模型或者數(shù)學(xué)工具并不能保證完全的安全與正確,并且是對(duì)同樣的數(shù)學(xué)規(guī)范,在不同的軟件工程背景下也會(huì)產(chǎn)生不同的后果,這種情況是由于不同領(lǐng)域在解釋和相容規(guī)范過(guò)程中的不同而產(chǎn)生的。
二、軟件工程中軟件開(kāi)發(fā)方法的趨勢(shì)
在軟件工程發(fā)展的過(guò)程中,繁瑣復(fù)雜的開(kāi)發(fā)過(guò)程、文檔維護(hù)難度的加大以及軟件開(kāi)發(fā)過(guò)程中的反饋問(wèn)題等逐漸的暴露出來(lái),并且人們對(duì)軟件提出了智能化的需求,而面對(duì)這些問(wèn)題和需求的出現(xiàn)與改變,軟件方法的研究與更新也引起了很大的重視與關(guān)注,許多新的方法出現(xiàn)并體現(xiàn)出了很大的發(fā)展?jié)摿Α?/p>
(一)敏捷軟件開(kāi)發(fā)方法
敏捷軟件開(kāi)發(fā)方法包括ASD、FDD、DSDM、XP等,敏捷軟件開(kāi)發(fā)作為一種以人為核心、循序漸進(jìn)、迭代的開(kāi)發(fā)方法,它把軟件項(xiàng)目的整體構(gòu)建劃分為許多個(gè)子項(xiàng)目,而這些子項(xiàng)目本身在測(cè)試后也驗(yàn)證具有可運(yùn)行以及集成的特征。敏捷軟件開(kāi)發(fā)方法強(qiáng)調(diào)了人的作用以及對(duì)變化情況的使用,同時(shí)強(qiáng)調(diào)反饋有效性和簡(jiǎn)單化,同時(shí)重視生產(chǎn)效率的提高,在軟件開(kāi)發(fā)過(guò)程中,小項(xiàng)目可以分別完成并可以獨(dú)立運(yùn)行,軟件可以始終處于能夠進(jìn)行使用的狀態(tài)。它的12條實(shí)踐原則能夠在一定程度上體現(xiàn)出它自身的特性:一是獲得客戶(hù)的滿(mǎn)意最為優(yōu)先,需要持續(xù)的、盡早的交付有使用價(jià)值的軟件;二是在軟件開(kāi)發(fā)過(guò)程中的后期也可以改變對(duì)軟件的需求;三是交付可使用的軟件要具有經(jīng)常性,交付的時(shí)間需要控制在最短的時(shí)間范圍之內(nèi);四是開(kāi)發(fā)人員以及業(yè)務(wù)人員在項(xiàng)目開(kāi)發(fā)中需要始終共同工作;五是需要為被激勵(lì)的個(gè)人提供必要的支持與環(huán)境,并信任他們能夠完成軟件開(kāi)發(fā)工作;六是在團(tuán)隊(duì)工作中,面對(duì)面交談是左右效率的信息傳遞方法;七是首要的進(jìn)度標(biāo)準(zhǔn)是可以工作的軟件;八是可持續(xù)的提高開(kāi)發(fā)速度;九是強(qiáng)調(diào)優(yōu)秀設(shè)計(jì)與技能在提高敏捷能力方面的作用;十是簡(jiǎn)單;十一是最好的需求、構(gòu)架與設(shè)計(jì)來(lái)源于自組織的工作團(tuán)隊(duì);十二是在一定時(shí)間內(nèi),工作人員要針對(duì)如何提高工作有效性進(jìn)行反省并對(duì)工作行為作出調(diào)整。當(dāng)前敏捷軟件開(kāi)發(fā)方法尚處于發(fā)展階段,所以并不如面向?qū)ο蠓椒ǔ墒臁?/p>
(二)面向Agent的軟件開(kāi)發(fā)方法
在互聯(lián)網(wǎng)不斷發(fā)展的背景下,規(guī)模大以及復(fù)雜性高成為了軟件開(kāi)發(fā)中最明顯的趨勢(shì),人們對(duì)計(jì)算機(jī)軟件的需求要開(kāi)始重視其智能化,但是原來(lái)的軟件開(kāi)發(fā)方法并不能勝任開(kāi)發(fā)具有智能特性軟件的工作。Agent的概念來(lái)源于資源分布式人工智能領(lǐng)域,自主性、駐留性以及靈活性是其最重要的三個(gè)特征。自主性是指Agent能夠以外部環(huán)境以及內(nèi)部狀態(tài)為根據(jù)來(lái)對(duì)自身的狀態(tài)進(jìn)行決定,在此過(guò)程中并不需要外部進(jìn)行控制和干涉。駐留性是指Agent能夠感知到外部環(huán)境產(chǎn)生的變化。靈活性是指Agent能夠與其他的Agent進(jìn)行比較復(fù)雜的協(xié)同交互行為。憑借Agent自身的優(yōu)勢(shì),它在以后的發(fā)展中可以應(yīng)用于交通管理、醫(yī)療護(hù)理、游戲娛樂(lè)、電力電訊甚至國(guó)防軍事等眾多領(lǐng)域,雖然Agent仍舊處于探索階段并且并不成熟,但是已經(jīng)得到了廣泛的重視與關(guān)注,并且也會(huì)成為軟件工程在軟件開(kāi)發(fā)方法方面的重要趨勢(shì)之一。(本文作者:樊莉麗單位:九江學(xué)院)