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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3基本原則

(1)層次性原則。計(jì)算機(jī)軟件開(kāi)發(fā)的方法應(yīng)用應(yīng)具備層次性,以上這些軟件開(kāi)發(fā)技術(shù)都有著其獨(dú)特的優(yōu)點(diǎn)和缺點(diǎn),而應(yīng)用時(shí)注重層次性將軟件開(kāi)發(fā)階段進(jìn)行分層次管理,單獨(dú)適配開(kāi)發(fā)方式,相關(guān)人員在計(jì)算機(jī)軟件開(kāi)發(fā)階段分工明確。(2)靈活性原則。靈活地運(yùn)用各類方式處理系統(tǒng)內(nèi)部各類問(wèn)題,主要保障各個(gè)模塊不與系統(tǒng)整體發(fā)生兼容性問(wèn)題,其采用的解決問(wèn)題技術(shù)和開(kāi)發(fā)方式都將使得軟件開(kāi)發(fā)工作更有效率。(3)循環(huán)性原則。計(jì)算機(jī)軟件開(kāi)發(fā)時(shí)往往需要反復(fù)調(diào)試程序,反復(fù)試錯(cuò),若整個(gè)開(kāi)發(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)問(wèn)題時(shí),相關(guān)人員也可利用之前使用過(guò)的相關(guān)方式進(jìn)行糾錯(cuò),循環(huán)使用使得計(jì)算機(jī)軟件內(nèi)部各個(gè)配置達(dá)到最優(yōu)。

4具體措施

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

5結(jié)語(yǔ)

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

參考文獻(xiàn)

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

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

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

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

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