【摘 要】隨著我國綜合國力的不斷提高和科技水平的不斷進(jìn)步,計(jì)算機(jī)技術(shù)已經(jīng)得到了越來越廣泛的應(yīng)用,計(jì)算機(jī)為我們提供服務(wù)的根本就是軟件技術(shù)。軟件工程開發(fā)已經(jīng)成為了一項(xiàng)根本工作內(nèi)容。在軟件工程的開發(fā)過程中必須要有正確的開發(fā)方法作為基礎(chǔ),才能使軟件工程的開發(fā)順利進(jìn)行。目前軟件工程的開發(fā)方法有很多種,而且人們?cè)陂_發(fā)的過程中仍在在不斷研究和發(fā)現(xiàn)新的、更高效的開發(fā)方法。
【關(guān)鍵詞】軟件工程 開發(fā)方法 現(xiàn)狀 發(fā)展趨勢(shì)
前言:隨著社會(huì)的不斷進(jìn)步和發(fā)展,人們的工作任務(wù)和工作類型也逐漸的增多,這就導(dǎo)致了對(duì)計(jì)算機(jī)軟件的要求變得更高,計(jì)算機(jī)軟件必須在滿足多種類型的工作需要和工作任務(wù)的同時(shí),具有較高的工作效率,這樣的軟件才會(huì)為人們?nèi)粘I畹墓ぷ魈峁┓奖恪6浖绻荒軡M足這些需求,則將被人們所淘汰。所以如何開發(fā)出符合社會(huì)和大眾的需求的軟件,是目前軟件工程開發(fā)的根本目標(biāo),只有采用正確的、適當(dāng)?shù)拈_發(fā)方法,才能使這一目標(biāo)得以實(shí)現(xiàn)。
一、軟件工程開發(fā)方法的發(fā)展歷程
在1968年,北約組織的科學(xué)委員第一次提出了軟件工程的概念,這一概念要求將人類發(fā)展過程中的有效的原理、準(zhǔn)確的概念和正確的方法以及人類在進(jìn)行計(jì)算機(jī)硬件的開發(fā)和探索過程中總結(jié)出的經(jīng)驗(yàn)和知識(shí)全都應(yīng)用到軟件的開發(fā)當(dāng)中。這一概念的提出,直接使軟件的開發(fā)從原本的一項(xiàng)技巧性工作轉(zhuǎn)變成為了一個(gè)工程,使軟件的開發(fā)突破了原本的個(gè)人單獨(dú)工作的傳統(tǒng)模式,進(jìn)入到了團(tuán)隊(duì)合作的開發(fā)模式。在軟件工程的發(fā)展歷程中,軟件工程的開發(fā)方法時(shí)刻都在進(jìn)步,從最開始高級(jí)語言應(yīng)用的基礎(chǔ)上,所發(fā)明出的結(jié)構(gòu)化方法,到以計(jì)算機(jī)輔助軟件工程為重點(diǎn)的開發(fā)方法,以及一直到現(xiàn)在都在使用的面向?qū)ο蟮能浖_發(fā)方法。隨著計(jì)算機(jī)技術(shù)水平好的不斷發(fā)展和互聯(lián)網(wǎng)技術(shù)的不斷提高,以及用戶對(duì)軟件需求的不斷改變,軟件工程的開發(fā)方法必將會(huì)再次得到發(fā)展,以滿足時(shí)代的需求[1]。
二、目前軟件工程開發(fā)過程中主要應(yīng)用到的開發(fā)方法
(一)結(jié)構(gòu)化開發(fā)方法。結(jié)構(gòu)化方法是一種建立在軟件工程生命周期開發(fā)管理基礎(chǔ)之上的開發(fā)方法,就是根據(jù)軟件開發(fā)過程中各個(gè)階段工作的不同,將其中的一些較為復(fù)雜的問題分段進(jìn)行開展,以一種從上到下的順序進(jìn)行階段分解。通過這種階段分解可以使開發(fā)過程中每一個(gè)階段中產(chǎn)生的難題,都在開發(fā)人員的理解范圍內(nèi),并且可以對(duì)其進(jìn)行解決。結(jié)構(gòu)化方法主要由程序設(shè)計(jì)方法、分析方法和設(shè)計(jì)方法這三種基本方法所構(gòu)成。程序化設(shè)計(jì)方法中的思維創(chuàng)新理論被人們稱為程序化開發(fā)發(fā)展過程中的重大突破和質(zhì)的飛躍,并且由其衍生了結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化分析方法的誕生以及進(jìn)一步發(fā)展。即時(shí)在今天,結(jié)構(gòu)化方法仍然穩(wěn)定的發(fā)揮著這種作用,由于其技術(shù)已經(jīng)相對(duì)成熟并且應(yīng)用范圍也較為廣泛,但是在一些大規(guī)模的、復(fù)雜性較強(qiáng)的軟件工程開發(fā)中,對(duì)于軟件重復(fù)使用這一問題,結(jié)構(gòu)化方法并不能很好解決,對(duì)工程的需求變化也較難適應(yīng)[2]。
(二)面向?qū)ο蟮拈_發(fā)方法。這種軟件開發(fā)方法,是以對(duì)人類思維方式和思維結(jié)構(gòu)的模擬為根本出發(fā)點(diǎn),是軟件開發(fā)的整個(gè)過程與人類對(duì)世界和外界的認(rèn)識(shí)過程更為相似,這一種開發(fā)方法是有多個(gè)對(duì)象互相聯(lián)系并且相互影響產(chǎn)生作用所形成的一個(gè)整體。對(duì)于軟件工程而言,同樣有這種情況,操作屬于軟件工程的動(dòng)態(tài)屬相,而軟件工程的靜態(tài)屬相則是數(shù)據(jù),二者是緊緊聯(lián)系在一起的。面向?qū)ο蠓椒▌t強(qiáng)調(diào)了不同元素的對(duì)軟件工程的系統(tǒng)組成,將數(shù)據(jù)和操作從根本上看成了一個(gè)整體,使軟件具有重復(fù)使用的優(yōu)勢(shì)[3]。
(三)形式化開發(fā)方法。隨著科技水平的不斷發(fā)展,人們已經(jīng)將軟件工程應(yīng)用到了眾多領(lǐng)域之中,例如對(duì)核反應(yīng)堆的監(jiān)控和航天工程衛(wèi)星的管理和飛船的發(fā)射以及交通道路安全的實(shí)時(shí)監(jiān)控等等,在這些領(lǐng)域中如果計(jì)算機(jī)軟件出現(xiàn)錯(cuò)誤,將會(huì)導(dǎo)致非常嚴(yán)重的后果,甚至對(duì)人的生命財(cái)產(chǎn)安全造成威脅。這些領(lǐng)域中的軟件都具有極強(qiáng)的復(fù)雜性,只有在其具有復(fù)雜性的基礎(chǔ)上使其執(zhí)行任務(wù)時(shí)的準(zhǔn)確程度得到保證,才能使其不會(huì)發(fā)生錯(cuò)誤釀成嚴(yán)重后果。針對(duì)這種需求,形式化開發(fā)方法應(yīng)運(yùn)而生,形式化開發(fā)方法是通過計(jì)算與數(shù)學(xué)模型進(jìn)行研究從而作出對(duì)軟件特點(diǎn)和運(yùn)行的的描述和驗(yàn)證,其中包括設(shè)計(jì)需要、需求規(guī)格和實(shí)現(xiàn)條件。形式化解開發(fā)方法最突出的特征就是其自身較強(qiáng)的數(shù)學(xué)性。
三、軟件開發(fā)方法的發(fā)展趨勢(shì)
(一)敏捷軟件開發(fā)方向。敏捷軟件開發(fā)方法是一種以人為核心、循序漸進(jìn)、層次分明的開發(fā)方法,它把軟件工程項(xiàng)目分為多個(gè)子項(xiàng)目,這些子項(xiàng)目在通過檢測和驗(yàn)證之后,其本身也具有可運(yùn)行和集成的特征。這種方法主要強(qiáng)調(diào)了在軟件開發(fā)過程中人的作用,以及應(yīng)對(duì)情況的變化的使用。在軟件開發(fā)過程中,多個(gè)子項(xiàng)目可以分別進(jìn)行開發(fā)和完成,軟件則要始終保持在能夠隨時(shí)進(jìn)行使用的狀態(tài)。目前,敏捷軟件開發(fā)方法還處于一個(gè)不斷完善和改進(jìn)的階段,并沒有完全成熟,所以面向?qū)ο蠓椒ㄈ允侵饕椒╗4]。
(二)面向Agent的軟件開發(fā)方法。當(dāng)今,互聯(lián)網(wǎng)技術(shù)處于一個(gè)不斷發(fā)展的階段,大規(guī)模和高復(fù)雜性的軟件項(xiàng)目開發(fā)已經(jīng)成為了主流的軟件開發(fā)項(xiàng)目,人們對(duì)計(jì)算機(jī)的智能化要求程度越來越高,而我們?cè)舅莆盏能浖_發(fā)方法并不能很好地滿足這一點(diǎn)智能化的要求。Agent最主要的三個(gè)特征就是駐留性、自主性和靈活性。由于Agent的開發(fā)方法具有智能化的特點(diǎn),所以以后這種方法必然會(huì)被廣泛的應(yīng)用到交通管理、游戲娛樂、電子通訊等眾多領(lǐng)域之中。
結(jié)論:通過本文的分析,我們可以得知,計(jì)算機(jī)軟件工程的開發(fā)方法是隨著時(shí)代不停在進(jìn)步的,只有根據(jù)時(shí)代特點(diǎn),不斷改進(jìn)和完善各種開發(fā)方法,才能使開發(fā)出的軟件符合時(shí)代需求,對(duì)社會(huì)進(jìn)步起到更好地促進(jìn)作用。
參考文獻(xiàn):
[1]馮在文.網(wǎng)絡(luò)式軟件系統(tǒng)需求演化建模方法及關(guān)鍵技術(shù)研究[D].武漢大學(xué),2009.
[2]肖漢.基于可重用構(gòu)件的軟件開發(fā)模式研究[J].微電子學(xué)與計(jì)算機(jī),2007,01(15):176-179.
[3]曹江,毛新軍,王懷民,盧錫城.復(fù)雜自適應(yīng)多Agent系統(tǒng)的模型驅(qū)動(dòng)開發(fā)方法[J].計(jì)算機(jī)科學(xué),2012,02(6):126-131.
[4]韓強(qiáng).基于行為的軟件可信性度量理論與關(guān)鍵技術(shù)研究[D].北京郵電大學(xué),2013.