摘要:傳統(tǒng)軟件工程的過(guò)程存在很多不足,通過(guò)軟件工程系統(tǒng)的思想能夠給我們的工作起到很好的促進(jìn)效果。本文對(duì)其概念、步驟、模型建設(shè)、風(fēng)險(xiǎn)以及成本控制進(jìn)行了分析,希望對(duì)其研究起到一定的指導(dǎo)效果。 

  關(guān)鍵詞:軟件工程;系統(tǒng)結(jié)構(gòu)模型;項(xiàng)目管理 

  中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599。2012) 18-0000-02 

  1 相關(guān)概念簡(jiǎn)述 

  關(guān)于軟件工程系統(tǒng),當(dāng)前還沒(méi)有對(duì)其概念進(jìn)行明確的描述。普遍接受的一種概念是使用工程系統(tǒng)論這一思想對(duì)軟件工程的科學(xué)體系進(jìn)行考察及研究,并根據(jù)工程系統(tǒng)論的方法來(lái)研究其內(nèi)在的規(guī)律和性狀。 

  一般來(lái)說(shuō),軟件工程系統(tǒng)都一般結(jié)構(gòu)包括系統(tǒng)環(huán)境、狀態(tài)、結(jié)構(gòu)以及行為間的作用規(guī)律。另外,軟件工程系統(tǒng)具有層次性、復(fù)合性、協(xié)調(diào)性、突現(xiàn)性、有序性等特點(diǎn)。對(duì)于軟件工程系統(tǒng)的原則,一般主要有目的性原則、實(shí)事求是原則、確定化原則以及適用性原則。 

  2 軟件工程系統(tǒng)中工作的步驟 

  軟件工程系統(tǒng)屬于非常復(fù)雜的系統(tǒng),會(huì)涉及到很多認(rèn)為的因素、各種評(píng)價(jià)標(biāo)準(zhǔn)及要求、組織間的利益等,而且很多時(shí)候難以區(qū)分約束和目標(biāo)。這種背景下,了解軟件工程系統(tǒng)中的步驟對(duì)于我們工作的開(kāi)展有很大的指導(dǎo)作用,一般我們可以將其分為7個(gè)步驟: 

  首先,考察問(wèn)題的場(chǎng)景,這主要是問(wèn)題可能存在卻還沒(méi)有被明確的某一種環(huán)境。其次,對(duì)考察的結(jié)果進(jìn)行總結(jié),然后使用自然語(yǔ)言將其表達(dá)出來(lái),或者通過(guò)圖像對(duì)其進(jìn)行描述,這種表述越豐富,則對(duì)于我們了解真實(shí)的問(wèn)題越有利。第三,建立根定義來(lái)服務(wù)系統(tǒng)概念的建立,這主要有:軟件工程系統(tǒng)的受益者或者受害者,執(zhí)行者,輸入至輸出之間變換的過(guò)程,所有者,環(huán)境約束以及世界觀等,通過(guò)這些定義我們能夠?qū)ο到y(tǒng)活動(dòng)要素進(jìn)行確定。第四,建立一個(gè)概念模型,在這個(gè)過(guò)程中,我們可以利用自然語(yǔ)言表達(dá),也可以通過(guò)比較直觀的圖形工具對(duì)其進(jìn)行表達(dá)。第五,將現(xiàn)實(shí)情景和概念模型進(jìn)行對(duì)比,然后根據(jù)之間的差異來(lái)修改概念模型,確保其更加符合實(shí)際的模型。第六,提出可能的、必要的改革方案。最后,利用上文中提到的改革方案,得出新情景。 

  3 建立結(jié)構(gòu)模型 

  軟件工程系統(tǒng)屬于非常復(fù)雜的系統(tǒng),這一系統(tǒng)主要目的在于開(kāi)發(fā)出滿足顧客需求的軟件。在系統(tǒng)中,各種要素之間是相互關(guān)聯(lián),相互協(xié)調(diào)的。一般來(lái)說(shuō),軟件工程系統(tǒng)的組成要素主要可以分為以下5個(gè)部分:需求方、開(kāi)發(fā)方、運(yùn)作方、開(kāi)發(fā)方、監(jiān)督方以及使用方。而功能要素則可以抽象為問(wèn)題、需求、軟件、開(kāi)發(fā)工具以及支撐技術(shù)。 

  其中,需求方主要指的是提出需求的個(gè)人或者單位,可以是個(gè)人,也可以是企業(yè),還可以是政府,甚至可以使國(guó)家。另外,有些時(shí)候,很可能根本就不存在需求方,這種情況下主要是軟件開(kāi)發(fā)企業(yè)所虛擬出來(lái)的、能提出具體需求的需求方。開(kāi)發(fā)方則指的是負(fù)責(zé)程序開(kāi)發(fā)的工作人員,當(dāng)然,開(kāi)發(fā)方也有可能是軟件工程的分包公司。而運(yùn)作方則是指運(yùn)行或者操作軟件開(kāi)發(fā)產(chǎn)品這一工作的個(gè)人或者企業(yè)。至于使用方,它主要指的是軟件產(chǎn)品的使用者,這可以使個(gè)人,也可以是企業(yè)單位,這也是我們平時(shí)所稱的用戶。在大多數(shù)的情況下,使用方及需求方是一個(gè)實(shí)體。最后,監(jiān)督方則指的是在軟件開(kāi)發(fā)過(guò)程中進(jìn)行監(jiān)督的個(gè)人或者單位,這也可以被稱之為監(jiān)理方或者第三方。 

  功能要素則可以抽象為問(wèn)題、需求、軟件、開(kāi)發(fā)工具以及支撐技術(shù)。其中問(wèn)題主要代表著軟件產(chǎn)品開(kāi)發(fā)過(guò)程中需要解決的疑難及矛盾;需求代表的是軟件產(chǎn)品開(kāi)發(fā)過(guò)程中的需要及要求;至于軟件主要指的是待開(kāi)發(fā)軟件產(chǎn)品;支撐技術(shù)代表的是在解決問(wèn)題的過(guò)程中需要的技術(shù);開(kāi)發(fā)工具則可以總結(jié)為在軟件產(chǎn)品開(kāi)發(fā)過(guò)程中使用的手段。 

  一般來(lái)說(shuō),在軟件工程系統(tǒng)中,這些要素之間存在著較多的影響和關(guān)聯(lián),雖然他們之間并不會(huì)在全部的方面進(jìn)行互相的影響,但是,要素的某一方面和另一要素的某一方面是相互關(guān)聯(lián)的,會(huì)產(chǎn)生影響。 

  4 結(jié)構(gòu)模型應(yīng)用的分析 

  在軟件工程系統(tǒng)中,主要是以系統(tǒng)論作為指導(dǎo)思想和方法論。通過(guò)這種方法對(duì)軟件工程進(jìn)行考察和通過(guò)傳統(tǒng)的視角來(lái)處理面臨的問(wèn)題是完全不一樣的,這是一種全新的思路,對(duì)于我們更好的了解和掌握軟件工程的過(guò)程及目標(biāo)非常有利。 

  4.1 傳統(tǒng)過(guò)程。在軟件工程的傳統(tǒng)過(guò)程中,一般其生命周期是由概念開(kāi)始,然后是開(kāi)發(fā)、使用、維護(hù),到最后的退役標(biāo)志著其生命周期的完結(jié)。當(dāng)前,主流的理論認(rèn)為它主要有三個(gè)時(shí)期構(gòu)成:軟件開(kāi)發(fā)、使用以及維護(hù)。在每一個(gè)時(shí)期中,又可以被劃分為很多小的階段。 

  4.2 軟件工程系統(tǒng)中的過(guò)程。相對(duì)于傳統(tǒng)軟件工程中的過(guò)程,這是對(duì)軟件工程進(jìn)行整體的、全局的把握。一般來(lái)說(shuō),在這個(gè)過(guò)程中,主要可以分為兩條主線,其中一條有問(wèn)題這一要素出發(fā),然后將其轉(zhuǎn)化為需求要素,再由需求要素轉(zhuǎn)換為軟件要素;另一條則是由需求出發(fā),進(jìn)行運(yùn)作方的選擇,然后運(yùn)作方再進(jìn)行開(kāi)發(fā)方的選擇,開(kāi)發(fā)方則開(kāi)發(fā)軟件要素。在這個(gè)過(guò)程中,兩條主線的重要性是一致的。 

  在問(wèn)題要素向需求要素轉(zhuǎn)化的時(shí)候,我們對(duì)需求、方向是否與描述一致要有足夠的注意,假如這種差距比較大,而且沒(méi)有很快的發(fā)現(xiàn),就容易使項(xiàng)目失敗或者增大我們的工作量;诖,我們?cè)诿枋龅倪^(guò)程中最佳的選擇是使用形式化語(yǔ)言,并對(duì)其內(nèi)容給出準(zhǔn)確的、無(wú)歧義的、確定的、量化的描述。另外我們還應(yīng)統(tǒng)籌考慮使用方的使用特點(diǎn)等。 

  在需求要素轉(zhuǎn)化為軟件要素的時(shí)候,這是開(kāi)發(fā)方來(lái)完成的,因此,開(kāi)發(fā)方也是關(guān)鍵。在這個(gè)過(guò)程中,我們要以適用性原則為指導(dǎo),也就是說(shuō)并非一定要選擇最好的開(kāi)發(fā)方,而應(yīng)該選擇最合適的開(kāi)發(fā)方及運(yùn)作方。 

  5 軟件工程系統(tǒng)風(fēng)險(xiǎn)分析 

  在軟件工程中,一個(gè)難度比較大的工作就是識(shí)別并確認(rèn)風(fēng)險(xiǎn)。在軟件工程共系統(tǒng)中,我們可以對(duì)風(fēng)險(xiǎn)因素進(jìn)行系統(tǒng)的、整體的考慮。 

  一般來(lái)說(shuō),風(fēng)險(xiǎn)是客觀存在的,只要有人為的活動(dòng),就避免不了風(fēng)險(xiǎn)。事實(shí)上,在軟件工程系統(tǒng)里面,最不確定的因素就是人為因素,這主要是以因?yàn)槿嗽趯?duì)系統(tǒng)中的客觀事物進(jìn)行評(píng)價(jià)、比較、分析以及決策的過(guò)程中,都會(huì)受到其自身立場(chǎng)、能力以及素質(zhì)等方面的影響,這必然產(chǎn)生風(fēng)險(xiǎn)。 

  針對(duì)這種情況,我們?cè)谲浖こ滔到y(tǒng)模型應(yīng)用時(shí),對(duì)于風(fēng)險(xiǎn)的控制可以參考工程管理學(xué)中的理論,具體來(lái)說(shuō),我們可以通過(guò)以下措施來(lái)做好風(fēng)險(xiǎn)的控制: 

  首先,風(fēng)險(xiǎn)預(yù)防,這一工作主要是指對(duì)軟件工程系統(tǒng)中的要素進(jìn)行足夠、正確、充分的評(píng)價(jià)及認(rèn)識(shí),在此基礎(chǔ)上使用合理的措施來(lái)預(yù)防風(fēng)險(xiǎn)。其次,減輕風(fēng)險(xiǎn),這主要是將發(fā)生風(fēng)險(xiǎn)的可能性以及其可能導(dǎo)致的不良后果降到最低。第三,回避風(fēng)險(xiǎn),這是指如果風(fēng)險(xiǎn)比較大的時(shí)候,我們可以選擇放棄目標(biāo)及行動(dòng)的方案。第四,自留風(fēng)險(xiǎn),這是指如果具備風(fēng)險(xiǎn)的能力,或者說(shuō)風(fēng)險(xiǎn)在可以承擔(dān)的范圍之內(nèi),可以接受風(fēng)險(xiǎn)。最后,后備措施,這主要是通過(guò)事先制定后備的方案來(lái)預(yù)防風(fēng)險(xiǎn)。 

  6 結(jié)語(yǔ) 

  有關(guān)軟件工程系統(tǒng)結(jié)構(gòu)模型的應(yīng)用研究有著重要的意義,本文只是對(duì)其進(jìn)行了一定的概述,更多的細(xì)節(jié)尚沒(méi)有進(jìn)行探討。在我們的工作中,我們還要加強(qiáng)這方面的探索,以更好的提升軟件企業(yè)的競(jìng)爭(zhēng)力。 

  參考文獻(xiàn): 

  [1]王眾托.系統(tǒng)工程引論[M].北京:電子工業(yè)出版社,2006. 

  [2]吳春華,溫志強(qiáng).人力資源開(kāi)發(fā)與管理[M].北京:北京理工大學(xué)出版社,2009. 

  [3]趙維雙.技術(shù)經(jīng)濟(jì)學(xué)[M].北京:兵器工業(yè)出版社,2010.