亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

軟件工程的歷史與發(fā)展趨勢

  • 相關(guān)推薦

關(guān)于軟件工程的歷史與發(fā)展趨勢


  論文摘要:軟件是一種特殊的產(chǎn)品,隨著其規(guī)模和復(fù)雜性的提高、使用范圍的擴大,需要從技術(shù)和兩方面對軟件的開發(fā)過程進行控制。從軟件工程這門學(xué)科和技術(shù)出現(xiàn)的背景出發(fā),回顧了軟件工程在近40年來理論、方法和實踐中的成果。最后結(jié)合Internet技術(shù)和平臺的挑戰(zhàn),初步討論了軟件工程需要面對的新挑戰(zhàn)。

  論文關(guān)鍵詞:軟件危機;構(gòu)件;體系結(jié)構(gòu);軟件項目管理;中間件

  1軟件工程的出現(xiàn)

  1.1軟件危機
  20世紀中期,剛被從軍用領(lǐng)域轉(zhuǎn)向民用領(lǐng)域使用,那時編寫程序的工作被視同為家的創(chuàng)作。當(dāng)時的計算機硬件非常昂貴,編程人員追求的是如何在有限的處理器能力和存儲器空間約束下,編寫出執(zhí)行速度快、體積小的程序。程序中充滿了各種各樣讓人迷惑的技巧。這時的軟件生產(chǎn)非常依賴于開發(fā)人員的聰明才智。
到了20世紀60年代,計算機的應(yīng)用范圍得到較大擴展,對軟件系統(tǒng)的需求和軟件自身的復(fù)雜度急劇上升,傳統(tǒng)的開發(fā)方法無法適應(yīng)用戶在質(zhì)量、效率等方面對軟件的需求。這就是所謂的“軟件危機”。
  為解決這個問題,1968年NATO會議上首次提出“軟件工程”(SotfwraeEngineeirng)的概念,提出把軟件開發(fā)從“藝術(shù)”和“個體行為”向“工程”和“群體協(xié)同工作”轉(zhuǎn)化。其基本思想是應(yīng)用計算機科學(xué)理論和技術(shù)以及工程管理原則和方法,按照預(yù)算和進度,實現(xiàn)滿用戶要求的軟件產(chǎn)品的定義、開發(fā)、發(fā)布和維護的工程。從此也誕生了一門新的學(xué)科——軟件工程。
  迄今為之,為了達到最初設(shè)定的目標(biāo),軟件工程界已經(jīng)提出了一系列的理論、方法、和工具,解決了軟件開發(fā)過程中的若干問題。但是,由于軟件固有的復(fù)雜性、易變性和不可見性,軟件開發(fā)周期長、代價高和質(zhì)量低的問題依然存在。IEEE在2002年發(fā)表的報告指出,即使是IT產(chǎn)業(yè)最發(fā)達的美國,在2001年美國本土公司開發(fā)的軟件產(chǎn)品中平均每1000行代碼中有0.37個錯誤,對于美國之外的其他國家,這個比例更高。

  1.2軟件與其他產(chǎn)品的差異
  軟件是一種特殊的產(chǎn)品,人們通?吹降氖撬妮d體,而真正具有意義的是載體上的計算機或信息。
  軟件既不同于通常的精神產(chǎn)品,也不同于常見的物質(zhì)產(chǎn)品。作家的作品是一種精神產(chǎn)品,它沒有使用價值卻可以供人閱讀欣賞。若把軟件也看成是一種作品,卻發(fā)現(xiàn)其價值在于供人們使用,無人喜歡讀它的源代碼。
  軟件也與傳統(tǒng)的產(chǎn)品不同。工業(yè)產(chǎn)品在設(shè)計好之后,主要的是原成本、生產(chǎn)過程的開銷等,但生產(chǎn)任何軟件的主要成本是設(shè)計、實現(xiàn)軟件時的成本,以及軟件投入使用后的維護成本,在生產(chǎn)線上制造軟件的成本非常低。用戶購買某種商品后,就擁有了該商品的所有權(quán)和使用權(quán)。可是用戶買來的軟件卻只擁有它的有限“使用權(quán)”。工業(yè)產(chǎn)品會隨著使用而磨損、報廢,但軟件在使用過程不會有任何磨損,在相同的硬件條件下用戶1年前使用的軟件和5年后使用該軟件無任何差別。傳統(tǒng)的工業(yè)產(chǎn)品在車間里生產(chǎn),生產(chǎn)過程可見、可觸摸,也容易衡量生產(chǎn)過程中的消耗和進展?墒擒浖拈_發(fā)過程在人的大腦里,很難度量其進度。
  所謂的“軟件工程”就是要這種過程“可視化”、“定量化”,把看不見的思維活動變成看得見的“文檔”或者其他看得見的東西。

  2軟件工程方法和技術(shù)

  30多年來,軟件工程的研究和實踐取得了長足的進展,盡管目前離徹底解決“軟件危機”還有相當(dāng)?shù)牟罹?對是否能徹底解決目前也存在爭議),但軟件工程的方法對軟件產(chǎn)業(yè)的發(fā)展還是起到了很大的推動作用。從20世紀60年代以來,陸續(xù)出現(xiàn)了結(jié)構(gòu)化程序設(shè)計技術(shù)、計算機輔助軟件工程(CASE)、面向?qū)ο笳Z言和方法、軟件過程及軟件過程改善研究等一系列成果,并應(yīng)用到實踐中。目前軟件工程中主要使用的方法和技術(shù)可以分成技術(shù)和管理兩類。

  2.1技術(shù)的角度
  主要包括:軟件開發(fā)范型、軟件設(shè)計方法。軟件開發(fā)范型關(guān)注軟件工程的方向,即如何才是正確的編寫滿足需求的軟件;軟件設(shè)計方法關(guān)注軟件工程的“途徑”,即研究怎樣完成從高層概念模型到低層概念模型的映射。
  軟件工程理論在實踐中應(yīng)用時重點放在軟件復(fù)用上。參考目前成熟的工業(yè)產(chǎn)品的開發(fā)模式,軟件復(fù)用可以在軟件開發(fā)中避免重復(fù)勞動,它以已有的成果為基礎(chǔ),充分利用過去開發(fā)應(yīng)用系統(tǒng)中積累的知識和經(jīng)驗,將開發(fā)的重點集中于新應(yīng)用的特有構(gòu)成成分上。通過使用軟件復(fù)用技術(shù),開發(fā)應(yīng)用系統(tǒng)時可以充分利用已有的開發(fā)成果,消除軟件生命周期中的許多重復(fù)勞動,提高軟件開發(fā)的效率。同時,復(fù)用高質(zhì)量的已有成果,可以避免重新開發(fā)時引入的錯誤,從而提高軟件質(zhì)量。
  實現(xiàn)軟件復(fù)用的關(guān)鍵技術(shù)包括軟件構(gòu)件技術(shù)(softwarecomponenttechnology)、領(lǐng)域工程(domainen—gineering)、軟件體系結(jié)構(gòu)(softwarearchitecture)等。
  軟件構(gòu)件是指應(yīng)用系統(tǒng)中可以明確辨識的構(gòu)成成分,可復(fù)用構(gòu)件是指具有相對獨立功能和可復(fù)用價值的構(gòu)件。目前,構(gòu)件的概念即包括源代碼,也包括需求、需求規(guī)約、系統(tǒng)和軟件的體系結(jié)構(gòu)、文檔、測試計劃、測試用例和數(shù)據(jù)以及其他對開發(fā)活動有用的信息,這些信息都可以稱為可復(fù)用軟件構(gòu)件。軟件構(gòu)件技術(shù)是支持軟件復(fù)用的核心技術(shù),其主要研究內(nèi)容包括:如何有目的的進行構(gòu)件生產(chǎn)和從已有系統(tǒng)中挖掘提取構(gòu)件;構(gòu)件的本質(zhì)特征及構(gòu)件間的關(guān)系是什么樣的;如何描述構(gòu)件;如何對構(gòu)件進行分類、組織及檢索等。
  研究實踐表明,由于某個特定領(lǐng)域需要的軟件具有相似的需求,因此軟件復(fù)用在特定領(lǐng)域內(nèi)更容易獲得成功,由此出現(xiàn)了領(lǐng)域工程。領(lǐng)域工程是為一組相似或相近系統(tǒng)的應(yīng)用工程建立基本能力和必備基礎(chǔ)的過程,它涵蓋了建立可復(fù)用軟件構(gòu)件的所有活動。包括美國卡內(nèi)基·梅隆大學(xué)軟件工程研究所(CMU/SEI)在內(nèi)的許多研究機構(gòu)已經(jīng)提出了一些領(lǐng)域分析方法。
  如果軟件復(fù)用僅停留在代碼階段,開發(fā)人員得到的好處是有限的。軟件體系結(jié)構(gòu)技術(shù)使軟件復(fù)用從代碼復(fù)用發(fā)展到設(shè)計復(fù)用和過程復(fù)用。在工程領(lǐng)域人們用體系結(jié)構(gòu)表達建筑的整體結(jié)構(gòu),軟件工程研究中引人體系結(jié)構(gòu)這個術(shù)語,其核心內(nèi)容是軟件系統(tǒng)的結(jié)構(gòu),它包括如下一些實體:構(gòu)件、構(gòu)件之間的交互關(guān)系、限制、構(gòu)件和連接件構(gòu)成的拓撲結(jié)構(gòu)、設(shè)計原則與方針。

  2.2工程的角度
  參考其他成熟工程領(lǐng)域中的做法,軟件工程也研究管理論在軟件工程中的應(yīng)用。軟件項目管理方法拋棄了以前個人的作坊式開發(fā)方式,根據(jù)管理科學(xué)的理論,結(jié)合軟件產(chǎn)品開發(fā)的實際,保證工程化系統(tǒng)開發(fā)方法的順利實施。為了使軟件項目能夠按照預(yù)定的、進度、質(zhì)量順利完成,軟件管理方法對成本、人員、進度、質(zhì)量、風(fēng)險、文檔等進行分析管理和控制。進行軟件項目管理有利于將開發(fā)人員的個人開發(fā)能力轉(zhuǎn)化成企業(yè)的開發(fā)能力,企業(yè)的軟件開發(fā)能力越高,表明這個企業(yè)的軟件生產(chǎn)越趨向于成熟,其開發(fā)風(fēng)險也越小。軟件項目管理已經(jīng)是公認的軟件開發(fā)企業(yè)的核心競爭力之一。
  根據(jù)在前面提到的軟件與其他產(chǎn)品的區(qū)別,軟件項目管理具有一些與其他項目管理不同的特性軟件項目管理中遵循著一些原則,例如:軟件項目中需要平衡需求、資源、工期、質(zhì)量這四個要素之間的關(guān)系;大規(guī)模的項目要拆分成幾個小項目,從而減小項目的管理風(fēng)險,并且使目標(biāo)具體明確;依靠一套規(guī)范的過程來實時控制項目進度,并確保項目經(jīng)理能夠及時發(fā)現(xiàn)問題、解決問題,保證項目具有很高的可見度;針對不同項目的特點,制訂不同的項目管理的方針政策;合理控制項目組的規(guī)?刂圃瓌t;有效的積累知識,做到人員的專業(yè)化培養(yǎng)。
  目前在軟件項目管理方面有國際標(biāo)準化組織專門為軟件行業(yè)定制的ISO9003標(biāo)準,它給出了衡量軟件質(zhì)量的準則;美國卡內(nèi)基·梅隆大學(xué)軟件工程研究所提出的CMM(CapabilityMaturityModel,能力成熟度模型)則提供了一整套較為完善的軟件研發(fā)項目管理的方法。

  3軟件工程的新發(fā)展

  20世紀末開始流行的Internet給人們提供了一種全球范圍的信息基礎(chǔ)設(shè)施,形成了一個資源豐富的計算平臺,未來如何在Internet平臺上進一步整合資源,形成巨型的、高效的、可信的虛擬,使所有資源能夠高效、可信地為所有用戶服務(wù),成為軟件技術(shù)的研究熱點。
  Internet平臺具有一些傳統(tǒng)軟件平臺不具備的特征:分布性、節(jié)點的高度自治性、開放性、異構(gòu)性、不可預(yù)測性、連接環(huán)境的多樣性等。這對軟件工程的發(fā)展提出了新的問題。軟件工程需要新的理論、方法和技術(shù)和平臺來應(yīng)對這個問題。目前投入很大精力研究的中間件技術(shù)就是這方面的典型代表。
  綜上所述,Internet及其上應(yīng)用的快速發(fā)展與普及,使軟件所面臨的環(huán)境開始從靜態(tài)封閉逐步走向開放、動態(tài)和多變。軟件系統(tǒng)為了適應(yīng)這樣一種發(fā)展趨勢,將會逐步呈現(xiàn)出柔性、多目標(biāo)、連續(xù)反應(yīng)式的網(wǎng)構(gòu)軟件系統(tǒng)的形態(tài)。面對這種新型的軟件形態(tài),傳統(tǒng)的軟件理論、方法、技術(shù)和平臺面臨了一系列挑戰(zhàn)。從宏觀上看,這種挑戰(zhàn)為我們研究軟件理論、方法和技術(shù)提供了難得的機遇,使我們有可能建立一套適合于Internet開放、動態(tài)和多變環(huán)境的新型軟件理論、方法和技術(shù)體系。從微觀的角度來看,Internet的發(fā)展將使系統(tǒng)軟件和支撐平臺的研究重點開始從操作系統(tǒng)等轉(zhuǎn)向新型中間件平臺,而網(wǎng)構(gòu)軟件的理論、方法和技術(shù)的突破必將導(dǎo)致在建立新型中間件平臺創(chuàng)新技術(shù)方面的突破。

【軟件工程的歷史與發(fā)展趨勢】相關(guān)文章:

軟件工程的歷史與發(fā)展趨勢論文12-16

淺析黃河下游的堆積歷史和發(fā)展趨勢03-16

汽車物流的發(fā)展趨勢03-22

淺論公允價值的發(fā)展趨勢03-18

試述汽車營銷的發(fā)展趨勢12-07

市場營銷的發(fā)展趨勢12-07

論營銷策略的發(fā)展趨勢12-09

論公允價值的發(fā)展趨勢03-21

移動通信技術(shù)的發(fā)展趨勢03-28