摘 要:隨著計(jì)算機(jī)技術(shù)的廣泛應(yīng)用,軟件規(guī)模和數(shù)量都在不斷增加,越來(lái)越多的個(gè)性化軟件讓軟件的開發(fā)及后期的維護(hù)舉步維艱。因此,就產(chǎn)生了致力于研究組織管理措施、技術(shù)措施的軟件工程學(xué)科。本文詳細(xì)闡述了軟件工程系統(tǒng)結(jié)構(gòu)模型的相關(guān)概念,并對(duì)如何構(gòu)建軟件工程系統(tǒng)結(jié)構(gòu)模型做了初步探討,最后對(duì)軟件工程系統(tǒng)結(jié)構(gòu)模型的實(shí)際運(yùn)用及其風(fēng)險(xiǎn)進(jìn)行了分析。
關(guān)鍵詞:軟件工程;系統(tǒng)結(jié)構(gòu)模型;實(shí)踐研究;風(fēng)險(xiǎn)
中圖分類號(hào):TP311.52
軟件工程,即采用階段式的生命周期變化,實(shí)行嚴(yán)格的管理與階段性的評(píng)定與審核,并利用現(xiàn)代化程序設(shè)計(jì)技術(shù),使軟件結(jié)果可以清晰明了的呈現(xiàn)出來(lái),從而使軟件得到進(jìn)一步優(yōu)化。而軟件工程系統(tǒng)則是站在應(yīng)用工程系統(tǒng)論的角度,對(duì)軟件工程科學(xué)和軟件工程系統(tǒng)的內(nèi)在規(guī)律進(jìn)行研究。筆者從一個(gè)全新的角度出發(fā),分析了軟件工程系統(tǒng)結(jié)構(gòu)模型的建立,致力于讓軟件工程系統(tǒng)日益機(jī)械化、工程化、工藝化、規(guī)范化。
1 軟件工程系統(tǒng)結(jié)構(gòu)模型的概念
軟件工程系統(tǒng)包括系統(tǒng)環(huán)境狀態(tài)、系統(tǒng)結(jié)構(gòu)及行為之間的作用規(guī)律。具有有序性、協(xié)調(diào)性、層次性和復(fù)合性等特點(diǎn)。另外,軟件工程系統(tǒng)結(jié)構(gòu)模型的原則性極強(qiáng),主要囊括了實(shí)事求是原則、確定化原則、適用性原則等?,F(xiàn)階段,對(duì)于軟件工程系統(tǒng),還沒有一個(gè)十分準(zhǔn)確的概述。人們普遍認(rèn)為是在工程系統(tǒng)論這一思想基礎(chǔ)上,研究出軟件工程系統(tǒng)的內(nèi)在規(guī)律。
2 構(gòu)建軟件工程系統(tǒng)結(jié)構(gòu)模型
2.1 從軟件工程系統(tǒng)的層次上來(lái)看,軟件工程系統(tǒng)主要分成三個(gè)層次:第一層面的軟件工程系統(tǒng)主要是軟件本身,但是是未被開發(fā)的狀態(tài)。隨著社會(huì)經(jīng)濟(jì)的發(fā)展,軟件的組織和結(jié)構(gòu)也越來(lái)越復(fù)雜,逐漸自成一個(gè)系統(tǒng)。因此,需要技術(shù)人員對(duì)其進(jìn)行細(xì)致的研究,包括項(xiàng)目開發(fā)、體系結(jié)構(gòu)以及系統(tǒng)測(cè)試等過程。目前的軟件工程系統(tǒng)其系統(tǒng)結(jié)構(gòu)如圖1所示。第二層面上的軟件工程系統(tǒng)即為軟件工程。它本身就是一個(gè)系統(tǒng),具有完整性。作為一項(xiàng)工程,旨在合理使用一些必要的系統(tǒng)工具,并運(yùn)用先進(jìn)的信息技術(shù),以找出實(shí)用的軟件產(chǎn)品。第三層面上的軟件工程系統(tǒng)即為軟件工程系統(tǒng)。它主要是以實(shí)現(xiàn)第二層面上的軟件工程系統(tǒng)為目地的。主要是通過研究第二層面上的軟件工程系統(tǒng)的所有理論來(lái)達(dá)成的。
三個(gè)層面是層層遞進(jìn)的關(guān)系,深刻的剖析了軟件工程系統(tǒng)的基本機(jī)構(gòu),也更詳細(xì)的對(duì)其進(jìn)行了探究。它作為一門研究的學(xué)科來(lái)說,要符合系統(tǒng)工程的思路,對(duì)軟件工程進(jìn)行綜合的分析與管理,并對(duì)每一部分的作用進(jìn)行了詳細(xì)的說明,以提高軟件系統(tǒng)質(zhì)量整體水平。
2.2 從軟件工程系統(tǒng)的建立上來(lái)看,軟件工程系統(tǒng)相對(duì)一般系統(tǒng)來(lái)說,結(jié)構(gòu)更加完整且更加復(fù)雜。針對(duì)客戶的需求開發(fā)出相應(yīng)的軟件,需要對(duì)5個(gè)相對(duì)應(yīng)的要素進(jìn)行分析,并合理規(guī)劃。把系統(tǒng)要素分成實(shí)體要素和功能要素兩個(gè)方面。
實(shí)體要素的分配主要是以需求、運(yùn)作、開發(fā)、使用、監(jiān)督的所有對(duì)象為依據(jù)。而功能要素主要包含了問題、需求、軟件、支撐技術(shù)以及開發(fā)工具幾個(gè)方面。根據(jù)各要素在系統(tǒng)中的不同作用,結(jié)合各要要素之間的關(guān)系,把各要素之間的關(guān)系和操作狀態(tài)做一個(gè)清晰的描述,如圖2所示。需求方是指具有軟件需求的人或企業(yè)還有其他實(shí)體部門;開發(fā)方是指進(jìn)行相關(guān)軟件的研究和開發(fā)的技術(shù)人員或者公司企業(yè);運(yùn)作方是實(shí)際運(yùn)行及操作軟件成品的個(gè)人及單位;使用方簡(jiǎn)稱用戶,主要是指?jìng)€(gè)人,即使用軟件產(chǎn)品的個(gè)人;而監(jiān)督方,是指在軟件的研發(fā)中的監(jiān)督單位,主要對(duì)軟件產(chǎn)品的開發(fā)進(jìn)行實(shí)時(shí)監(jiān)控,對(duì)軟件的質(zhì)量進(jìn)行控制,盡最大努力把好質(zhì)量關(guān)。
3 軟件工程系統(tǒng)結(jié)構(gòu)模型的應(yīng)用分析
在軟件工程系統(tǒng)中,通過利用系統(tǒng)論作為指導(dǎo)思想和方法論來(lái)對(duì)軟件進(jìn)行考察,角度不一樣,所面臨的問題也不一樣。這種全新的思路不僅有利于我們更好更快的掌握軟件工程的各項(xiàng)指標(biāo),還可以加深我們對(duì)于軟件工程系統(tǒng)結(jié)構(gòu)模型的了解。
3.1 以傳統(tǒng)的軟件工程系統(tǒng)來(lái)看,一般的生命周期先后順序?yàn)橄嚓P(guān)概念、軟件的開發(fā)、軟件的使用以及后期的維護(hù)等,生命周期的完結(jié)也就是軟件的退役時(shí)期,代表軟件已經(jīng)不能再使用。整合起來(lái),主要是有軟件開發(fā)、軟件的使用及后期的維護(hù)這三個(gè)周期。
3.2 軟件工程系統(tǒng)相對(duì)于傳統(tǒng)軟件工程,具有全局性和整體性。一般來(lái)說,主要分成兩條最主要的脈絡(luò)。一條是把有問題這一要素轉(zhuǎn)化成需求要素,再將需求要素轉(zhuǎn)化成為軟件要素;另一條即以需求為出發(fā)點(diǎn),進(jìn)行關(guān)于運(yùn)作方的選擇,再對(duì)開發(fā)方進(jìn)行選擇,這種選擇關(guān)系都是依次遞進(jìn)的。兩條主要脈絡(luò)之間應(yīng)該保持策略上的一致性。
在這個(gè)過程中,問題要素之間互相轉(zhuǎn)化的時(shí)候,我們一定要注重需求和方向與相關(guān)的描述是否是一致的,如兩者之間不符合或者差距較大,即會(huì)造成軟件工程項(xiàng)目失敗或者給我們?cè)黾庸ぷ髁?,浪費(fèi)大量的人力、物力和財(cái)力。因此,開發(fā)方作為要素轉(zhuǎn)化中的重要因素,一定要遵循適用性的原則,精心選擇后一項(xiàng)的執(zhí)行者。
4 軟件工程系統(tǒng)結(jié)構(gòu)模型的風(fēng)險(xiǎn)分析
針對(duì)軟件工程系統(tǒng),全方位分析軟件的風(fēng)險(xiǎn)因素是十分重要的過程。我們要深刻意識(shí)到人為因素是軟件工程系統(tǒng)中最不確定也是最具有風(fēng)險(xiǎn)性的因素。人在對(duì)事物進(jìn)行判斷時(shí),很容易受自身的能力或者外界環(huán)境的影響,而產(chǎn)生很多的偏差,對(duì)軟件來(lái)說,這就是其潛在的巨大風(fēng)險(xiǎn)。在軟件工程系統(tǒng)中,識(shí)別和確認(rèn)風(fēng)險(xiǎn)確實(shí)是一項(xiàng)難度較大的工作,我們對(duì)風(fēng)險(xiǎn)的預(yù)估與評(píng)判必須建立在對(duì)全局的掌握以及對(duì)整體系統(tǒng)情況的了解之上。
第一,做好軟件工程系統(tǒng)中的風(fēng)險(xiǎn)預(yù)防。在每一項(xiàng)工作中,做好風(fēng)險(xiǎn)評(píng)估與風(fēng)險(xiǎn)預(yù)防都是一項(xiàng)極為重要的工作。在軟件工程系統(tǒng)中,這一工作主要是針對(duì)其要素進(jìn)行的,對(duì)其要素進(jìn)行合理的、足夠的、充分的、正確的認(rèn)識(shí)之后,在把控全局的基礎(chǔ)上,使用合理的措施來(lái)預(yù)防風(fēng)險(xiǎn)。第二,盡量減輕軟件工程系統(tǒng)中的風(fēng)險(xiǎn)。主要是將可能發(fā)生風(fēng)險(xiǎn)從而造成損失的機(jī)率降到最低。這一項(xiàng)工作可以更好的保證軟件工程系統(tǒng)中各項(xiàng)環(huán)節(jié)的穩(wěn)定性,加強(qiáng)軟件技術(shù)人員的責(zé)任意識(shí)。第三,盡量做好規(guī)避風(fēng)險(xiǎn)的準(zhǔn)備工作。在軟件系統(tǒng)工作中,有可能會(huì)遇到風(fēng)險(xiǎn)性較大的情況,這時(shí)候,我們應(yīng)做好及時(shí)放棄目標(biāo)以及行動(dòng)方案的準(zhǔn)備。以避免在后期承擔(dān)不了巨大的風(fēng)險(xiǎn),對(duì)軟件工程系統(tǒng)帶來(lái)影響。第四,做好一定范圍內(nèi)接受風(fēng)險(xiǎn)的準(zhǔn)備工作。這是建立在對(duì)全局有一個(gè)客觀的認(rèn)識(shí),以及對(duì)風(fēng)險(xiǎn)的大小進(jìn)行整體的考察再加上對(duì)自身抵抗風(fēng)險(xiǎn)能力的評(píng)估,如在自身具備承受風(fēng)險(xiǎn)能力的情況下,可以接受風(fēng)險(xiǎn)。第五,制定好軟件工程系統(tǒng)中的后備措施。后備措施等同于應(yīng)急措施,是事先制定好的預(yù)案,具有很好的預(yù)防風(fēng)險(xiǎn)的作用。
5 結(jié)束語(yǔ)
綜上所述,軟件工程所涉及的理論知識(shí)和技術(shù)十分復(fù)雜,我們應(yīng)以系統(tǒng)的思想為基礎(chǔ),采用相應(yīng)的技術(shù)手段,在對(duì)軟件工程進(jìn)行詳細(xì)的分析之后,構(gòu)建軟件工程系統(tǒng)。我國(guó)雖然在這一領(lǐng)域有很大的突破,但還需要軟件工程師們進(jìn)一步研究,把理論知識(shí)應(yīng)用到實(shí)際工作中去,以加快社會(huì)主義現(xiàn)代化建設(shè)的步伐。
參考文獻(xiàn):
[1]吳國(guó)芳,李忠明.軟件工程系統(tǒng)結(jié)構(gòu)模型研究[J].煤炭技術(shù),2011(01):180-182.
[2]童益民.計(jì)算機(jī)軟件應(yīng)用體系結(jié)構(gòu)模型研究[J].中國(guó)高新技術(shù)企業(yè),2011(31):48-50.
[3]馮磊.軟件工程系統(tǒng)機(jī)構(gòu)模型的構(gòu)建和應(yīng)用探析[J].信息與電腦(理論版),2012(02):37+39.
[4]黃璐.有關(guān)軟件工程系統(tǒng)結(jié)構(gòu)模型的應(yīng)用研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(18):200+202.
[5]王長(zhǎng)利.軟件測(cè)試過程模型的研究與應(yīng)用[D].電子科技大學(xué),2012.
作者單位:中國(guó)人民解放軍信息工程大學(xué),鄭州 50002