計(jì)算機(jī)軟件開發(fā)與軟件工程方法

時(shí)間:2022-07-02 11:17:30

導(dǎo)語:計(jì)算機(jī)軟件開發(fā)與軟件工程方法一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

計(jì)算機(jī)軟件開發(fā)與軟件工程方法

摘要:計(jì)算機(jī)科學(xué)由很多模塊組成,其中軟件開發(fā)就是很重要的一部分。一直以來,軟件開發(fā)受著很多因素的影響,如軟件工作量或采用的方法等。在軟件開發(fā)的方法中,軟件工程方法具有極其重要的地位。因此在系統(tǒng)性闡述了計(jì)算軟件開發(fā)工程方法中的結(jié)構(gòu)化分析法、面向?qū)ο蠓ǖ染唧w方法的基礎(chǔ)上,對(duì)計(jì)算機(jī)軟件工程開發(fā)應(yīng)用現(xiàn)狀和問題,以及其運(yùn)用的科學(xué)性等基本原則進(jìn)行了分析和討論,整合了計(jì)算機(jī)軟件工程開發(fā)方法的具體運(yùn)用措施,為以這種軟件開發(fā)方式作為方向的研究者和從業(yè)者的工作打下一定的理論和知識(shí)基礎(chǔ)。

關(guān)鍵詞:計(jì)算機(jī)軟件開發(fā);軟件工程;方法分析

1軟件工程開發(fā)方式的分類

軟件工程開發(fā)方式內(nèi)包含多種方式,是一個(gè)整體的系統(tǒng)的軟件開發(fā)方法,目前,其主要包含以下幾種分類:(1)形式轉(zhuǎn)化法該種方式是將要求和規(guī)則轉(zhuǎn)化為軟件的執(zhí)行程序的方法。具體來說就是通過枚舉和重寫的方式將需求概念和問題的形式結(jié)構(gòu)關(guān)系加以推演和枚舉,然后分類轉(zhuǎn)換這些問題的一種過程性軟件開發(fā)方式,這種方式能夠?qū)⒏拍钚詥栴}轉(zhuǎn)化成程序,將未知問題轉(zhuǎn)化成已知邏輯,將大問題采用類比的形式轉(zhuǎn)化為小的問題,是計(jì)算機(jī)軟件開發(fā)中常用的一種語言開發(fā)思路,如圖1所示。(2)OO方法也叫面向?qū)ο蠓ǎ擒浖こ讨幸环N面向過程和數(shù)據(jù)的開發(fā)方式。面向?qū)ο蠓ㄓ绕湓谌缃翊髷?shù)據(jù)時(shí)代較為實(shí)用,需求和數(shù)據(jù)的多變和復(fù)雜使得軟件需要不斷地更新迭代,面向?qū)ο蠓ň褪遣捎脭?shù)據(jù)操作更新軟件的系統(tǒng)和工程,將數(shù)據(jù)庫更新的數(shù)據(jù)用以支撐軟件運(yùn)行,使得軟件能夠不斷與用戶需求貼合,完成軟件系統(tǒng)的更新?lián)Q代。(3)多維法多維法將面向?qū)ο蠛托问睫D(zhuǎn)換方法結(jié)合起來,將用戶需求作為起點(diǎn),通過兩種開發(fā)方式的結(jié)合,將計(jì)算機(jī)軟件開發(fā)的設(shè)計(jì)和編碼階段、測試和評(píng)估階段作為主線,不再將程序過程和預(yù)算等作為其限制,軟件開發(fā)的預(yù)算將隨著用戶需求柔性變化,其軟件開發(fā)過程中可以將某個(gè)方面不斷深挖,維度不斷增加,最終呈現(xiàn)出與標(biāo)準(zhǔn)化方式具有差異和不同的開發(fā)結(jié)果。(4)生命周期法當(dāng)前此方法應(yīng)用最為廣泛,其流程開發(fā)如圖2所示。具體是指以軟件的“生命周期”為標(biāo)準(zhǔn),每個(gè)階段配以最適合的開發(fā)方法,由于目前其每個(gè)階段匹配的方式和流程較為固定,被稱為結(jié)構(gòu)化方法。結(jié)構(gòu)化方式的基本流程是:將用戶需求作為頂層目的,嚴(yán)格以頂層需求起始,逐步對(duì)軟件的模型,軟件的程序和功能進(jìn)行構(gòu)建和設(shè)計(jì),最后仍以用戶需求為主導(dǎo)進(jìn)行軟件的測試和評(píng)價(jià)。結(jié)構(gòu)化設(shè)計(jì)方式較為流程化,自上而下地進(jìn)行環(huán)節(jié)遞進(jìn)式開發(fā),其程序開發(fā)主要是面向?qū)ο蟮模嫦蜻^程的環(huán)節(jié)較薄弱,且二者之間結(jié)合并不緊密,是一種傳統(tǒng)的軟件工程工開發(fā)方式。因此,其開發(fā)的軟件存在許多問題,修改測試過程較長,整個(gè)開發(fā)周期漫長,軟件針對(duì)性強(qiáng)但更新速度緩慢等都導(dǎo)致這種方程逐步成為過去。

2軟件工程開發(fā)方式的現(xiàn)狀和面臨的問題

2.1形式轉(zhuǎn)換法的運(yùn)用

這種方法廣泛應(yīng)用與計(jì)算機(jī)技術(shù)之中,計(jì)算機(jī)行業(yè)與其他行業(yè)的行業(yè)鴻溝較大,許多其他行業(yè)用戶或者普通消費(fèi)者用戶關(guān)于計(jì)算機(jī)軟件的需求和功能都無法通過計(jì)算機(jī)語言直接實(shí)現(xiàn),需要將其符號(hào)化、命題化和程序化,形式轉(zhuǎn)換方法是一種偏向?qū)嵺`的方式,并不關(guān)心用戶或使用者真實(shí)的需求什么,只以現(xiàn)有轉(zhuǎn)換形式,偏向于將這些需求和概念轉(zhuǎn)化為計(jì)算機(jī)能夠識(shí)別的語言,因此,該種方法雖然能貫穿適用于計(jì)算機(jī)開發(fā)的整個(gè)過程,但存在著一定問題。

2.2OO方法的運(yùn)用

該種方法是目前軟件開發(fā)中常用的工程方法,其主要應(yīng)用于AI、互聯(lián)網(wǎng)、Web前端和面向過程的后端數(shù)據(jù)庫等的開發(fā)應(yīng)用上,由于其開發(fā)方式較為靈活,開發(fā)成果能不斷更新迭代,因此廣受各類軟件開發(fā)工程師的喜愛。同時(shí),雖然面向數(shù)據(jù)法的應(yīng)用普及率較廣,但其開發(fā)成本、對(duì)軟件開發(fā)人員的開發(fā)技術(shù)要求也較高,行業(yè)壁壘較大,且開發(fā)思路是以常用通用的軟件功能來適應(yīng)多樣的用戶需求,從自身現(xiàn)有基礎(chǔ)和技術(shù)出發(fā)來吸引普適用戶,這較易導(dǎo)致行業(yè)從業(yè)人員的斷層和與用戶真正需求的隔離。

2.3多維法的運(yùn)用

多維法是綜合評(píng)估了以上3種方法的優(yōu)缺點(diǎn)結(jié)合形成的方式,其主要結(jié)合了面向數(shù)據(jù)法和形式轉(zhuǎn)換法這兩種技術(shù)。在實(shí)際軟件開發(fā)過程中,多維法較為注重過程,是一種定性的軟件開發(fā)方式,代表了一種較高的軟件工程開發(fā)技術(shù),但同時(shí)由于其定性的特征,科學(xué)性和實(shí)踐性仍遭受質(zhì)疑,多維法以成本預(yù)算和開發(fā)實(shí)踐為最終節(jié)點(diǎn),將3個(gè)主要模塊進(jìn)行綜合衡量,但二者的同步性不一定能夠完全滿足,實(shí)際開發(fā)過程中也遇到了諸多問題。

2.4生命周期法的運(yùn)用

目前來說,以結(jié)構(gòu)法將用戶需求作為主導(dǎo)開發(fā)目的的特點(diǎn),其主要應(yīng)用于傳統(tǒng)的、針對(duì)性較強(qiáng)的軟件開發(fā)過程中。結(jié)構(gòu)化的方法在開發(fā)過程中,首先必須有一個(gè)明確的、確定的用戶需求,然后根據(jù)這個(gè)需求做出一套整體的,各模塊與總需求吻合的固定的程序語言。這種開發(fā)思路雖然以用戶需求為主導(dǎo),能夠?yàn)橛脩籼峁┹^高的體驗(yàn),但由于整個(gè)模塊都是根據(jù)這個(gè)需求制定的,一旦用戶需求發(fā)生變化,整個(gè)設(shè)計(jì)將推到重來,其開發(fā)過程的固定化、模式化導(dǎo)致軟件開發(fā)工作難以適應(yīng)目前用戶需求的多樣化和軟件功能開發(fā)的復(fù)雜性,無法適應(yīng)用戶需求不斷變化的現(xiàn)狀,因此,其開發(fā)的軟件迭代和更新性是較差的,軟件的功能和兼容將會(huì)落后,最后被用戶給拋棄。

3基本原則

(1)層次性原則。計(jì)算機(jī)軟件開發(fā)的方法應(yīng)用應(yīng)具備層次性,以上這些軟件開發(fā)技術(shù)都有著其獨(dú)特的優(yōu)點(diǎn)和缺點(diǎn),而應(yīng)用時(shí)注重層次性將軟件開發(fā)階段進(jìn)行分層次管理,單獨(dú)適配開發(fā)方式,相關(guān)人員在計(jì)算機(jī)軟件開發(fā)階段分工明確。(2)靈活性原則。靈活地運(yùn)用各類方式處理系統(tǒng)內(nèi)部各類問題,主要保障各個(gè)模塊不與系統(tǒng)整體發(fā)生兼容性問題,其采用的解決問題技術(shù)和開發(fā)方式都將使得軟件開發(fā)工作更有效率。(3)循環(huán)性原則。計(jì)算機(jī)軟件開發(fā)時(shí)往往需要反復(fù)調(diào)試程序,反復(fù)試錯(cuò),若整個(gè)開發(fā)工作處于混在一起的狀態(tài),是非常令人頭疼的。循環(huán)性地運(yùn)用軟件工程方法較為明顯的優(yōu)點(diǎn)就是可以對(duì)軟件內(nèi)部結(jié)構(gòu)“抽絲剝繭”,反復(fù)循環(huán)使用各類技術(shù),直到找到最優(yōu)解,并且對(duì)于后期軟件出現(xiàn)問題時(shí),相關(guān)人員也可利用之前使用過的相關(guān)方式進(jìn)行糾錯(cuò),循環(huán)使用使得計(jì)算機(jī)軟件內(nèi)部各個(gè)配置達(dá)到最優(yōu)。

4具體措施

(1)結(jié)合實(shí)際情況具體分析。上述計(jì)算機(jī)軟件開發(fā)技術(shù)各有優(yōu)點(diǎn)和缺點(diǎn),往后隨著開發(fā)技術(shù)的不斷豐富,會(huì)有更多的開發(fā)方式出現(xiàn),在計(jì)算機(jī)軟件開發(fā)過程中,其開發(fā)方式的應(yīng)用應(yīng)是多元的、包容的、具體問題具體分析的。計(jì)算機(jī)軟件是一個(gè)整體的系統(tǒng),每個(gè)階段都有其適用的方式,就如應(yīng)用這些方式時(shí)應(yīng)遵循的靈活性原則一樣,即使結(jié)構(gòu)法已成為一種較為傳統(tǒng)的方式,但遇到更為適應(yīng)的開發(fā)問題,仍應(yīng)采用這種方式。方法的應(yīng)用是多元包容的,計(jì)算機(jī)軟件開發(fā)中遇到數(shù)據(jù)、程序、存儲(chǔ)還有用戶交互等過程都不是獨(dú)立的,方法的結(jié)合使用都能提高軟件開發(fā)的效率和開發(fā)成果的質(zhì)量。(2)建立軟件開發(fā)方式輔助模型。由于軟件工程方法中具體方式的特點(diǎn)是不一樣的,同時(shí)開發(fā)一個(gè)計(jì)算機(jī)軟件需要用到多種開發(fā)方式,這個(gè)過程是復(fù)雜而漫長的。為了在開發(fā)過程中更好地溯源和開發(fā)工作的簡潔清晰,這些開發(fā)方式本身來說應(yīng)需要建立一個(gè)輔助模型,輔助模型的建立能夠幫助軟件開發(fā)管理人員更好地掌握軟件開發(fā)使用的情況,總結(jié)出更好的軟件開發(fā)方式,對(duì)軟件開發(fā)的進(jìn)度和可能存在的風(fēng)險(xiǎn)更好地把握。

5結(jié)語

結(jié)合所有開發(fā)資源對(duì)開發(fā)需求進(jìn)行了分析,合理采用軟件工程方法,不過于拘泥各方法的應(yīng)用條件,才能不斷適應(yīng)當(dāng)今逐漸復(fù)雜的軟件開發(fā)需求。各種方法不是獨(dú)立的,需要結(jié)合實(shí)際靈活運(yùn)用,并在此基礎(chǔ)上不斷創(chuàng)新,以適應(yīng)時(shí)代軟件需求的發(fā)展,保證保障軟件開發(fā)過程更為有效、成果更有質(zhì)量。

參考文獻(xiàn)

[1]覃雷.計(jì)算機(jī)軟件開發(fā)中軟件工程方法的運(yùn)用[J].電子世界,2020,(18):62-63.

[2]馬麟.軟件工程方法在計(jì)算機(jī)軟件開發(fā)中應(yīng)用研究[J].電子測試,2020,(06):78-79+73.

[3]彭凱.軟件工程方法在計(jì)算機(jī)軟件開發(fā)中的運(yùn)用[J].電子技術(shù)與軟件工程,2018,(08):50.

[4]孫宇.軟件工程方法在計(jì)算機(jī)軟件開發(fā)中的應(yīng)用[J].無線互聯(lián)科技,2019,16(21):41-42.

作者:牛曉麗 單位:山東理工職業(yè)學(xué)院