軟件工程的興起_軟件工程師_軟件工程技術(shù)發(fā)展趨勢研究
本文關(guān)鍵詞:軟件工程技術(shù)發(fā)展趨勢研究,由筆耕文化傳播整理發(fā)布。
軟件工程技術(shù)發(fā)展趨勢研究
發(fā)布日期: 2014-03-12 發(fā)布:
2014年2期目錄 本期共收錄文章20篇
摘要:信息時代,計算機應(yīng)用的普及很大程度上推動了社會各領(lǐng)域經(jīng)濟的快速發(fā)展。伴隨著計算機應(yīng)用范圍的逐漸擴大,以及人們對計算機軟件功能要求的不斷提高,加強對計算機軟件工程技術(shù)的開發(fā)與應(yīng)用具有重要意義;仡櫫塑浖こ虒W(xué)科的發(fā)展歷程,探討了軟件工程相關(guān)方法和技術(shù),并對軟件工程技術(shù)的發(fā)展趨勢進行了展望。
中國論文網(wǎng)
關(guān)鍵詞關(guān)鍵詞:軟件工程;軟件危機;計算機應(yīng)用
中圖分類號:TP311.5
文獻標(biāo)識碼:A 文章編號:16727800(2014)002001202
1軟件工程的出現(xiàn)
1.1軟件危機
隨著互聯(lián)網(wǎng)的不斷發(fā)展,越來越多的領(lǐng)域開始大量使用計算機,所要求的軟件越來越復(fù)雜,此時,傳統(tǒng)方法開發(fā)的軟件難以滿足當(dāng)前的高要求,這就是所謂的“軟件危機”。軟件工程的出現(xiàn)就是為了解決這個問題。軟件工程的提出把軟件開發(fā)引向工程化和協(xié)同化,其核心理念是在軟件開發(fā)過程中引入管理的思想,對軟件的整個開發(fā)周期提前做好各種預(yù)算和進度規(guī)劃,并且在軟件的設(shè)計、開發(fā)、發(fā)布、后期維護階段都能滿足用戶的要求。到目前為止,為了解決軟件開發(fā)中遇到的各種問題,并實現(xiàn)軟件開發(fā)的預(yù)期目標(biāo),很多新的方法、計算機語言都出現(xiàn)在了軟件工程的概念中。盡管軟件工程思想極大地改善了軟件開發(fā)過程,但是軟件的復(fù)雜性、不可預(yù)見性等其它特點是無法改變的。相關(guān)數(shù)據(jù)表明,在IT行業(yè)高度發(fā)達的美國,其程序員所編寫的代碼仍不可避免地出現(xiàn)錯誤,而在IT行業(yè)不發(fā)達的國家,程序員代碼中出現(xiàn)錯誤的幾率更高。
1.2軟件與其它產(chǎn)品的差異
與日常生活中的商品相比,軟件顯得非常特別,因為真正體現(xiàn)軟件價值的部分是其存儲的代碼和代碼可以實現(xiàn)的特定功能。然而實際應(yīng)用時,人們看到的只是載體,看不到內(nèi)部存儲的代碼。就成本方面而言,一般工業(yè)產(chǎn)品的成本主要是原料,以及制造過程的各種費用,而軟件的成本主要體現(xiàn)在前期設(shè)計和后期軟件的維護上,軟件制造過程中所需的費用卻是次要的,這與一般工業(yè)產(chǎn)品的成本構(gòu)成有很大不同。在使用方面,軟件和一般商品同樣有著很大區(qū)別,一般而言,用戶只需購買商品,便完全擁有其使用權(quán),而且所購買的商品會不斷消耗直至損壞不能使用,但是用戶在購買軟件之后并不能完全擁有其所有使用權(quán),而且軟件不會隨著用戶的使用而磨損。在制造過程方面,一般的工業(yè)產(chǎn)品都是在車間里面加工,原材料變成產(chǎn)品的過程顯而易見,但是軟件的開發(fā)過程是抽象的,且其開發(fā)進度不易把握。軟件工程思想的提出正是為了解決軟件開發(fā)的上述問題,即使軟件開發(fā)過程工程化、具體化。
2軟件工程方法和技術(shù)
隨著互聯(lián)網(wǎng)的不斷發(fā)展,軟件工程也在不斷完善,雖然軟件工程思想并不能很好地解決軟件危機,但其對軟件的開發(fā)及其附屬產(chǎn)業(yè)起到了很好的促進作用。軟件開發(fā)過程出現(xiàn)了越來越多的新技術(shù),如結(jié)構(gòu)化程序設(shè)計技術(shù)、計算機輔助軟件工程(CASE)、面向?qū)ο笳Z言和方法等其它新技術(shù)和方法。一般常用的有技術(shù)類和管理類。
2.1技術(shù)角度
一般來說,技術(shù)方面主要包括軟件開發(fā)范型、軟件設(shè)計方法。其中軟件開發(fā)范型注重的是工程思想,盡可能讓開發(fā)出的軟件滿足用戶要求,這是軟件開發(fā)范型的重點;而軟件設(shè)計方法注重的是軟件開發(fā)過程及設(shè)計思想,注重的是概念。目前,在軟件開發(fā)的實際應(yīng)用中,主要強調(diào)的是軟件代碼重復(fù)使用。具體過程是在開發(fā)一套軟件之前,首先查閱資料看有沒有與之相似的產(chǎn)品,然后直接調(diào)用,這樣不僅可以避免軟件開發(fā)過程中的無用功,而且開發(fā)軟件是以成熟產(chǎn)品為依據(jù),因此在開發(fā)時可以將精力集中在軟件的創(chuàng)新上。顯然,用此技術(shù)開發(fā)軟件和應(yīng)用系統(tǒng)時可以充分利用已有的開發(fā)成果,消除軟件生命周期中的重復(fù)勞動,在一定程度上提高軟件的開發(fā)效率,同時還能提高所開發(fā)軟件的質(zhì)量,避免不必要的錯誤。軟件復(fù)用主要包括軟件構(gòu)件技術(shù)、領(lǐng)域工程、軟件體系結(jié)構(gòu)等。其中,軟件構(gòu)件是指在軟件開發(fā)中的已知條件,可復(fù)用構(gòu)件是指在軟件開發(fā)中的獨立部分可以重復(fù)使用。上文提到的構(gòu)件主要有源代碼,同時也包括一些特定需求、軟件系統(tǒng)的結(jié)構(gòu)等,這些都可以稱為可復(fù)用軟件構(gòu)件。軟件復(fù)用的關(guān)鍵在于軟件構(gòu)件,而軟件構(gòu)件技術(shù)主要包括:如何根據(jù)需求構(gòu)造出新的構(gòu)件、如何從現(xiàn)有的軟件系統(tǒng)中提煉出有用的構(gòu)件,同時還要弄清楚各構(gòu)件之間的內(nèi)在聯(lián)系,以及如何對構(gòu)件進行準(zhǔn)確的描述,并對構(gòu)件進行準(zhǔn)確的分類管理。在實際應(yīng)用中發(fā)現(xiàn),軟件復(fù)用在某些領(lǐng)域能夠起到很好的效果,原因在于一些特定領(lǐng)域?qū)浖囊蠡鞠嗨啤4朔N情況下,領(lǐng)域工程應(yīng)運而生,領(lǐng)域工程的出現(xiàn)就是為了服務(wù)于特定領(lǐng)域的軟件開發(fā)。同時也應(yīng)該注意到,如果在軟件開發(fā)中不能充分利用軟件復(fù)用技術(shù)而僅僅停留在代碼階段,對開發(fā)人員來說軟件復(fù)用技術(shù)就顯得不那么重要了。
2.2工程管理角度
在軟件開發(fā)過程中,不僅要注重技術(shù)層面,還要注重開發(fā)過程中對開發(fā)人員和開發(fā)進度的管理,并借鑒其它工程領(lǐng)域中的成功管理方法,引入管理學(xué)理論。軟件開發(fā)過程引入工程項目管理的思想可以使軟件開發(fā)不再以個人為中心,而是更加注重團體協(xié)作。在軟件開發(fā)過程中用管理學(xué)的思想來管理開發(fā)人員和軟件開發(fā)進度,能夠讓軟件開發(fā)的進度控制在預(yù)料之中,保證軟件開發(fā)按照預(yù)期的成本、質(zhì)量以及用戶的要求進行。同時,引進項目管理方法利于開發(fā)人員和企業(yè)的長遠(yuǎn)發(fā)展,降低開發(fā)風(fēng)險。
目前,評價一個軟件開發(fā)企業(yè)是否具有長遠(yuǎn)發(fā)展的潛力,主要看其公司軟件項目管理思想的具體落實情況。雖然軟件項目管理與其它工程中的管理思想有諸多相似之處,但是由于軟件自身的特殊性,具體實施起來卻存在著巨大差別。這些差別具體表現(xiàn)在,軟件項目中需要平衡需求、資源、工期、質(zhì)量這4個要素之間的關(guān)系。對于較復(fù)雜的軟件開發(fā),一般分成幾個比較小的項目分別進行開發(fā),這樣不僅降低了軟件開發(fā)的風(fēng)險,還使得開發(fā)過程中的管理更加容易,項目負(fù)責(zé)人更容易發(fā)現(xiàn)軟件開發(fā)中的問題,以便根據(jù)所開發(fā)軟件項目的特點,制定有針對性的管理方案和開發(fā)策略。國際組織對軟件開發(fā)制定了行業(yè)標(biāo)準(zhǔn),并且軟件開發(fā)方面的權(quán)威組織也提出了較為科學(xué)完善、切實可行的軟件項目管理方法。 3軟件工程發(fā)展趨勢
3.1全球化趨勢
伴隨著全球化進程的不斷加快,軟件開發(fā)行業(yè)所面臨的環(huán)境也發(fā)生了極大變化,以傳統(tǒng)的思維來管理軟件開發(fā)已經(jīng)顯得有些吃力。未來的軟件開發(fā)將越來越強調(diào)全球化的合作交流,因為隨著信息化的不斷普及,越來越多的軟件開發(fā)不僅僅在國內(nèi)開發(fā)完成,還有一部分在國外完成。同時,軟件的全球化協(xié)作也使得軟件外包發(fā)展得越來越快,很多從事軟件外包行業(yè)的公司得到了快速發(fā)展,這些軟件外包公司把軟件開發(fā)的設(shè)計理念、編程部分,以及測試、軟件發(fā)布,甚至后期維護都分別交給不同的國家去完成,這個過程就是軟件開發(fā)全球化協(xié)作過程,并且該過程已經(jīng)成為軟件開發(fā)公司的主流做法。
3.2開放性計算的廣泛應(yīng)用
軟件工程領(lǐng)域中的開放性計算是軟件開發(fā)行業(yè)的一種新趨勢。軟件工程本身具有極強的開放性,加上全球化協(xié)作的不斷加深,這種趨勢必然成為未來軟件工程的重點發(fā)展方向。同時,開放性計算使得不同地域的軟件開發(fā)者共同開發(fā)軟件更加方便,更利于開發(fā)者之間的交流,也讓軟件的后期維護更加容易、更加專業(yè),,對客戶和開發(fā)者是雙贏的結(jié)果。
3.3模塊化的設(shè)計思想
軟件全球化協(xié)作在給軟件開發(fā)帶來機遇的同時,也給軟件工程的發(fā)展帶來了各種各樣的挑戰(zhàn)。各軟件公司之間的競爭也越來越激烈,正是這種激烈競爭,促使軟件開發(fā)不斷向模塊化方向發(fā)展。模塊化設(shè)計思想是為了解決傳統(tǒng)技術(shù)在實際應(yīng)用中缺少靈活性的問題,其基本思想是在軟件開發(fā)時以科學(xué)的方法把已知的軟件構(gòu)件和相似的軟件構(gòu)件分別歸類,并通過的一定技術(shù)手段使之模塊化。這提高了軟件開發(fā)的效率,提高了企業(yè)的競爭力,對軟件工程的長遠(yuǎn)快速發(fā)展具有意義。
4結(jié)語
當(dāng)前,軟件工程的研究內(nèi)容是軟件開發(fā)模型、設(shè)計方法、工程中的支持技術(shù)和工程管理技術(shù)。這幾部分已經(jīng)發(fā)展得相當(dāng)成熟,使得軟件工程不僅僅是單一的體系,而是復(fù)雜的綜合性學(xué)科。同時軟件工程發(fā)展中也存在一些問題,應(yīng)根據(jù)軟件工程的特點、發(fā)展歷史以及實際開發(fā)中的各個環(huán)節(jié),努力尋找解決這些問題的方法,在實際應(yīng)用中專注重點。同時,由于軟件開發(fā)過程中的全球化協(xié)作越來越緊密,資源的分配和共享方式也發(fā)生了巨大變化,利用資源更高效地為用戶服務(wù)已經(jīng)變得越來越重要。這對軟件工程的發(fā)展提出了新的要求,必須摒棄傳統(tǒng)思維方式,引進新的理論、方法、技術(shù)和平臺來應(yīng)對這個問題。同時也應(yīng)該看到計算機軟件所面臨的環(huán)境變化,從之前靜態(tài)封閉的狀態(tài)漸漸走向開放、動態(tài)的狀態(tài),從而促進軟件工程的長遠(yuǎn)發(fā)展。
參考文獻參考文獻:
[1]孫昌愛,金茂忠,劉超.軟件體系結(jié)構(gòu)研究綜述[J].軟件學(xué)報,2002,13(7).
[2]楊芙清.軟件工程技術(shù)發(fā)展思索[J].軟件學(xué)報,2005,16(1).
。ㄘ(zé)任編輯:孫娟)
快速投稿通道
本文關(guān)鍵詞:軟件工程技術(shù)發(fā)展趨勢研究,由筆耕文化傳播整理發(fā)布。
本文編號:55190
本文鏈接:http://www.lk138.cn/kejilunwen/ruanjiangongchenglunwen/55190.html