關(guān)于軟件工程的歷史與發(fā)展趨勢(shì)
在學(xué)習(xí)、工作生活中,許多人都寫過論文吧,論文可以推廣經(jīng)驗(yàn),交流認(rèn)識(shí)。相信很多朋友都對(duì)寫論文感到非常苦惱吧,以下是小編整理的關(guān)于軟件工程的歷史與發(fā)展趨勢(shì)論文,希望能夠幫助到大家! ≡趯W(xué)習(xí)、工作生活中,許多人都寫過論文吧,論文可以推廣經(jīng)驗(yàn),交流認(rèn)識(shí)。相信很多朋友都對(duì)寫論文感到非?鄲腊,以下是小編整理的關(guān)于軟件工程的歷史與發(fā)展趨勢(shì)論文,希望能夠幫助到大家。
軟件工程的歷史與發(fā)展趨勢(shì) 篇1
摘要:軟件是一種特殊的產(chǎn)品,隨著其規(guī)模和復(fù)雜性的提高、使用范圍的擴(kuò)大,需要從技術(shù)和管理兩方面對(duì)軟件的開發(fā)過程進(jìn)行控制。從軟件工程這門學(xué)科和技術(shù)出現(xiàn)的背景出發(fā),回顧了軟件工程在近40年來理論、方法和實(shí)踐中的成果。最后結(jié)合Internet技術(shù)和平臺(tái)的挑戰(zhàn),初步討論了軟件工程需要面對(duì)的新挑戰(zhàn)。
關(guān)鍵詞:軟件危機(jī);構(gòu)件;體系結(jié)構(gòu);軟件項(xiàng)目管理;中間件
1、軟件工程的出現(xiàn)
1.1軟件危機(jī)
20世紀(jì)中期,計(jì)算機(jī)剛被從軍用領(lǐng)域轉(zhuǎn)向民用領(lǐng)域使用,那時(shí)編寫程序的工作被視同為藝術(shù)家的創(chuàng)作。當(dāng)時(shí)的計(jì)算機(jī)硬件非常昂貴,編程人員追求的是如何在有限的處理器能力和存儲(chǔ)器空間約束下,編寫出執(zhí)行速度快、體積小的程序。程序中充滿了各種各樣讓人迷惑的技巧。這時(shí)的軟件生產(chǎn)非常依賴于開發(fā)人員的聰明才智。
到了20世紀(jì)60年代,計(jì)算機(jī)的應(yīng)用范圍得到較大擴(kuò)展,對(duì)軟件系統(tǒng)的需求和軟件自身的復(fù)雜度急劇上升,傳統(tǒng)的開發(fā)方法無法適應(yīng)用戶在質(zhì)量、效率等方面對(duì)軟件的需求。這就是所謂的“軟件危機(jī)”。
為解決這個(gè)問題,1968年NATO會(huì)議上首次提出“軟件工程”(SotfwraeEngineeirng)的概念,提出把軟件開發(fā)從“藝術(shù)”和“個(gè)體行為”向“工程”和“群體協(xié)同工作”轉(zhuǎn)化。其基本思想是應(yīng)用計(jì)算機(jī)科學(xué)理論和技術(shù)以及工程管理原則和方法,按照預(yù)算和進(jìn)度,實(shí)現(xiàn)滿用戶要求的軟件產(chǎn)品的定義、開發(fā)、發(fā)布和維護(hù)的工程。從此也誕生了一門新的學(xué)科——軟件工程。
迄今為之,為了達(dá)到最初設(shè)定的目標(biāo),軟件工程界已經(jīng)提出了一系列的理論、方法、語言和工具,解決了軟件開發(fā)過程中的若干問題。但是,由于軟件固有的復(fù)雜性、易變性和不可見性,軟件開發(fā)周期長(zhǎng)、代價(jià)高和質(zhì)量低的問題依然存在。IEEE在 2002年發(fā)表的報(bào)告指出,即使是IT產(chǎn)業(yè)最發(fā)達(dá)的美國(guó),在2001年美國(guó)本土公司開發(fā)的軟件產(chǎn)品中平均每1000行代碼中有0.37個(gè)錯(cuò)誤,對(duì)于美國(guó)之外的其他國(guó)家,這個(gè)比例更高。
1.2軟件與其他產(chǎn)品的差異
軟件是一種特殊的產(chǎn)品,人們通常看到的是它的載體,而真正具有意義的是載體上的計(jì)算機(jī)或信息。
軟件既不同于通常的精神產(chǎn)品,也不同于常見的物質(zhì)產(chǎn)品。作家的作品是一種精神產(chǎn)品,它沒有使用價(jià)值卻可以供人閱讀欣賞。若把軟件也看成是一種作品,卻發(fā)現(xiàn)其價(jià)值在于供人們使用,無人喜歡讀它的源代碼。
軟件也與傳統(tǒng)的.工業(yè)產(chǎn)品不同。工業(yè)產(chǎn)品在設(shè)計(jì)好之后,主要的成本是原材料成本、生產(chǎn)過程的開銷等,但生產(chǎn)任何軟件的主要成本是設(shè)計(jì)、實(shí)現(xiàn)軟件時(shí)的成本,以及軟件投入使用后的維護(hù)成本,在生產(chǎn)線上制造軟件的成本非常低。用戶購(gòu)買某種商品后,就擁有了該商品的所有權(quán)和使用權(quán)?墒怯脩糍I來的軟件卻只擁有它的有限“使用權(quán)”。工業(yè)產(chǎn)品會(huì)隨著使用而磨損、報(bào)廢,但軟件在使用過程不會(huì)有任何磨損,在相同的硬件條件下用戶1年前使用的軟件和5年后使用該軟件無任何差別。傳統(tǒng)的工業(yè)產(chǎn)品在車間里生產(chǎn),生產(chǎn)過程可見、可觸摸,也容易衡量生產(chǎn)過程中的消耗和進(jìn)展。可是軟件的開發(fā)過程在人的大腦里,很難度量其進(jìn)度。
所謂的“軟件工程”就是要這種過程“可視化”、“定量化”,把看不見的思維活動(dòng)變成看得見的“文檔”或者其他看得見的東西。
2、軟件工程方法和技術(shù)
30多年來,軟件工程的研究和實(shí)踐取得了長(zhǎng)足的進(jìn)展,盡管目前離徹底解決“軟件危機(jī)”還有相當(dāng)?shù)牟罹?對(duì)是否能徹底解決目前也存在爭(zhēng)議),但軟件工程的方法對(duì)軟件產(chǎn)業(yè)的發(fā)展還是起到了很大的推動(dòng)作用。從20世紀(jì)60年代以來,陸續(xù)出現(xiàn)了結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)、計(jì)算機(jī)輔助軟件工程(CASE)、面向?qū)ο笳Z言和方法、軟件過程及軟件過程改善研究等一系列成果,并應(yīng)用到實(shí)踐中。目前軟件工程中主要使用的方法和技術(shù)可以分成技術(shù)和管理兩類。
2.1技術(shù)的角度
主要包括:軟件開發(fā)范型、軟件設(shè)計(jì)方法。軟件開發(fā)范型關(guān)注軟件工程的方向,即如何才是正確的編寫滿足需求的軟件;軟件設(shè)計(jì)方法關(guān)注軟件工程的“途徑”,即研究怎樣完成從高層概念模型到低層概念模型的映射。
軟件工程理論在實(shí)踐中應(yīng)用時(shí)重點(diǎn)放在軟件復(fù)用上。參考目前成熟的工業(yè)產(chǎn)品的開發(fā)模式,軟件復(fù)用可以在軟件開發(fā)中避免重復(fù)勞動(dòng),它以已有的成果為基礎(chǔ),充分利用過去開發(fā)應(yīng)用系統(tǒng)中積累的知識(shí)和經(jīng)驗(yàn),將開發(fā)的重點(diǎn)集中于新應(yīng)用的特有構(gòu)成成分上。通過使用軟件復(fù)用技術(shù),開發(fā)應(yīng)用系統(tǒng)時(shí)可以充分利用已有的開發(fā)成果,消除軟件生命周期中的許多重復(fù)勞動(dòng),提高軟件開發(fā)的效率。同時(shí),復(fù)用高質(zhì)量的已有成果,可以避免重新開發(fā)時(shí)引入的錯(cuò)誤,從而提高軟件質(zhì)量。
實(shí)現(xiàn)軟件復(fù)用的關(guān)鍵技術(shù)包括軟件構(gòu)件技術(shù)(softwarecomponenttechnology)、領(lǐng)域工程(domainen—gineering)、軟件體系結(jié)構(gòu)(softwarearchitecture)等。
軟件構(gòu)件是指應(yīng)用系統(tǒng)中可以明確辨識(shí)的構(gòu)成成分,可復(fù)用構(gòu)件是指具有相對(duì)獨(dú)立功能和可復(fù)用價(jià)值的構(gòu)件。目前,構(gòu)件的概念即包括源代碼,也包括需求、需求規(guī)約、系統(tǒng)和軟件的體系結(jié)構(gòu)、文檔、測(cè)試計(jì)劃、測(cè)試用例和數(shù)據(jù)以及其他對(duì)開發(fā)活動(dòng)有用的信息,這些信息都可以稱為可復(fù)用軟件構(gòu)件。軟件構(gòu)件技術(shù)是支持軟件復(fù)用的核心技術(shù),其主要研究?jī)?nèi)容包括:如何有目的的進(jìn)行構(gòu)件生產(chǎn)和從已有系統(tǒng)中挖掘提取構(gòu)件;構(gòu)件的本質(zhì)特征及構(gòu)件間的關(guān)系是什么樣的;如何描述構(gòu)件;如何對(duì)構(gòu)件進(jìn)行分類、組織及檢索等。
研究實(shí)踐表明,由于某個(gè)特定領(lǐng)域需要的軟件具有相似的需求,因此軟件復(fù)用在特定領(lǐng)域內(nèi)更容易獲得成功,由此出現(xiàn)了領(lǐng)域工程。領(lǐng)域工程是為一組相似或相近系統(tǒng)的應(yīng)用工程建立基本能力和必備基礎(chǔ)的過程,它涵蓋了建立可復(fù)用軟件構(gòu)件的所有活動(dòng)。包括美國(guó)卡內(nèi)基·梅隆大學(xué)軟件工程研究所(CMU/SEI)在內(nèi)的許多研究機(jī)構(gòu)已經(jīng)提出了一些領(lǐng)域分析方法。
如果軟件復(fù)用僅停留在代碼階段,開發(fā)人員得到的好處是有限的。軟件體系結(jié)構(gòu)技術(shù)使軟件復(fù)用從代碼復(fù)用發(fā)展到設(shè)計(jì)復(fù)用和過程復(fù)用。在建筑工程領(lǐng)域人們用體系結(jié)構(gòu)表達(dá)建筑的整體結(jié)構(gòu),軟件工程研究中引人體系結(jié)構(gòu)這個(gè)術(shù)語,其核心內(nèi)容是軟件系統(tǒng)的結(jié)構(gòu),它包括如下一些實(shí)體:構(gòu)件、構(gòu)件之間的交互關(guān)系、限制、構(gòu)件和連接件構(gòu)成的拓?fù)浣Y(jié)構(gòu)、設(shè)計(jì)原則與指導(dǎo)方針。
2.2工程管理的角度
參考其他成熟工程領(lǐng)域中的做法,軟件工程也研究管理學(xué)理論在軟件工程中的應(yīng)用。軟件項(xiàng)目管理方法拋棄了以前個(gè)人的作坊式開發(fā)方式,根據(jù)管理科學(xué)的理論,結(jié)合軟件產(chǎn)品開發(fā)的實(shí)際,保證工程化系統(tǒng)開發(fā)方法的順利實(shí)施。為了使軟件項(xiàng)目能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,軟件管理方法對(duì)成本、人員、進(jìn)度、質(zhì)量、風(fēng)險(xiǎn)、文檔等進(jìn)行分析管理和控制。進(jìn)行軟件項(xiàng)目管理有利于將開發(fā)人員的個(gè)人開發(fā)能力轉(zhuǎn)化成企業(yè)的開發(fā)能力,企業(yè)的軟件開發(fā)能力越高,表明這個(gè)企業(yè)的軟件生產(chǎn)越趨向于成熟,其開發(fā)風(fēng)險(xiǎn)也越小。軟件項(xiàng)目管理已經(jīng)是公認(rèn)的軟件開發(fā)企業(yè)的核心競(jìng)爭(zhēng)力之一。
根據(jù)在前面提到的軟件與其他產(chǎn)品的區(qū)別,軟件項(xiàng)目管理具有一些與其他項(xiàng)目管理不同的特性軟件項(xiàng)目管理中遵循著一些原則,例如:軟件項(xiàng)目中需要平衡需求、資源、工期、質(zhì)量這四個(gè)要素之間的關(guān)系;大規(guī)模的項(xiàng)目要拆分成幾個(gè)小項(xiàng)目,從而減小項(xiàng)目的管理風(fēng)險(xiǎn),并且使目標(biāo)具體明確;依靠一套規(guī)范的過程來實(shí)時(shí)控制項(xiàng)目進(jìn)度,并確保項(xiàng)目經(jīng)理能夠及時(shí)發(fā)現(xiàn)問題、解決問題,保證項(xiàng)目具有很高的可見度;針對(duì)不同項(xiàng)目的特點(diǎn),制訂不同的項(xiàng)目管理的方針政策;合理控制項(xiàng)目組的規(guī)?刂圃瓌t;有效的積累知識(shí),做到人員的專業(yè)化培養(yǎng)。
目前在軟件項(xiàng)目管理方面有國(guó)際標(biāo)準(zhǔn)化組織專門為軟件行業(yè)定制的 ISO9003標(biāo)準(zhǔn),它給出了衡量軟件質(zhì)量的準(zhǔn)則;美國(guó)卡內(nèi)基·梅隆大學(xué)軟件工程研究所提出的CMM(CapabilityMaturityModel,能力成熟度模型)則提供了一整套較為完善的軟件研發(fā)項(xiàng)目管理的方法。
3、軟件工程的新發(fā)展
20世紀(jì)末開始流行的Internet給人們提供了一種全球范圍的信息基礎(chǔ)設(shè)施,形成了一個(gè)資源豐富的計(jì)算平臺(tái),未來如何在Internet平臺(tái)上進(jìn)一步整合資源,形成巨型的、高效的、可信的虛擬環(huán)境,使所有資源能夠高效、可信地為所有用戶服務(wù),成為軟件技術(shù)的研究熱點(diǎn)。
Internet平臺(tái)具有一些傳統(tǒng)軟件平臺(tái)不具備的特征:分布性、節(jié)點(diǎn)的高度自治性、開放性、異構(gòu)性、不可預(yù)測(cè)性、連接環(huán)境的多樣性等。這對(duì)軟件工程的發(fā)展提出了新的問題。軟件工程需要新的理論、方法和技術(shù)和平臺(tái)來應(yīng)對(duì)這個(gè)問題。目前投入很大精力研究的中間件技術(shù)就是這方面的典型代表。
綜上所述,Internet及其上應(yīng)用的快速發(fā)展與普及,使計(jì)算機(jī)軟件所面臨的環(huán)境開始從靜態(tài)封閉逐步走向開放、動(dòng)態(tài)和多變。軟件系統(tǒng)為了適應(yīng)這樣一種發(fā)展趨勢(shì),將會(huì)逐步呈現(xiàn)出柔性、多目標(biāo)、連續(xù)反應(yīng)式的網(wǎng)構(gòu)軟件系統(tǒng)的形態(tài)。面對(duì)這種新型的軟件形態(tài),傳統(tǒng)的軟件理論、方法、技術(shù)和平臺(tái)面臨了一系列挑戰(zhàn)。從宏觀上看,這種挑戰(zhàn)為我們研究軟件理論、方法和技術(shù)提供了難得的機(jī)遇,使我們有可能建立一套適合于Internet開放、動(dòng)態(tài)和多變環(huán)境的新型軟件理論、方法和技術(shù)體系。從微觀的角度來看,Internet的發(fā)展將使系統(tǒng)軟件和支撐平臺(tái)的研究重點(diǎn)開始從操作系統(tǒng)等轉(zhuǎn)向新型中間件平臺(tái),而網(wǎng)構(gòu)軟件的理論、方法和技術(shù)的突破必將導(dǎo)致在建立新型中間件平臺(tái)創(chuàng)新技術(shù)方面的突破。
軟件工程的歷史與發(fā)展趨勢(shì) 篇2
一、軟件工程方法和技術(shù)
隨著互聯(lián)網(wǎng)的不斷發(fā)展,軟件工程也在不斷完善,雖然軟件工程思想并不能很好地解決軟件危機(jī),但其對(duì)軟件的開發(fā)及其附屬產(chǎn)業(yè)起到了很好的促進(jìn)作用。軟件開發(fā)過程出現(xiàn)了越來越多的新技術(shù),如結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)、計(jì)算機(jī)輔助軟件工程(CASE)、面向?qū)ο笳Z言和方法等其它新技術(shù)和方法。一般常用的有技術(shù)類和管理類。
1.1技術(shù)角度
一般來說,技術(shù)方面主要包括軟件開發(fā)范型、軟件設(shè)計(jì)方法。其中軟件開發(fā)范型注重的是工程思想,盡可能讓開發(fā)出的軟件滿足用戶要求,這是軟件開發(fā)范型的重點(diǎn);而軟件設(shè)計(jì)方法注重的是軟件開發(fā)過程及設(shè)計(jì)思想,注重的是概念。目前,在軟件開發(fā)的實(shí)際應(yīng)用中,主要強(qiáng)調(diào)的是軟件代碼重復(fù)使用。具體過程是在開發(fā)一套軟件之前,首先查閱資料看有沒有與之相似的產(chǎn)品,然后直接調(diào)用,這樣不僅可以避免軟件開發(fā)過程中的無用功,而且開發(fā)軟件是以成熟產(chǎn)品為依據(jù),因此在開發(fā)時(shí)可以將精力集中在軟件的創(chuàng)新上。顯然,用此技術(shù)開發(fā)軟件和應(yīng)用系統(tǒng)時(shí)可以充分利用已有的開發(fā)成果,消除軟件生命周期中的重復(fù)勞動(dòng),在一定程度上提高軟件的開發(fā)效率,同時(shí)還能提高所開發(fā)軟件的質(zhì)量,避免不必要的錯(cuò)誤。軟件復(fù)用主要包括軟件構(gòu)件技術(shù)、領(lǐng)域工程、軟件體系結(jié)構(gòu)等。其中,軟件構(gòu)件是指在軟件開發(fā)中的已知條件,可復(fù)用構(gòu)件是指在軟件開發(fā)中的獨(dú)立部分可以重復(fù)使用。上文提到的構(gòu)件主要有源代碼,同時(shí)也包括一些特定需求、軟件系統(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)件,同時(shí)還要弄清楚各構(gòu)件之間的內(nèi)在聯(lián)系,以及如何對(duì)構(gòu)件進(jìn)行準(zhǔn)確的描述,并對(duì)構(gòu)件進(jìn)行準(zhǔn)確的分類管理。在實(shí)際應(yīng)用中發(fā)現(xiàn),軟件復(fù)用在某些領(lǐng)域能夠起到很好的效果,原因在于一些特定領(lǐng)域?qū)浖囊蠡鞠嗨。此種情況下,領(lǐng)域工程應(yīng)運(yùn)而生,領(lǐng)域工程的出現(xiàn)就是為了服務(wù)于特定領(lǐng)域的軟件開發(fā)。同時(shí)也應(yīng)該注意到,如果在軟件開發(fā)中不能充分利用軟件復(fù)用技術(shù)而僅僅停留在代碼階段,對(duì)開發(fā)人員來說軟件復(fù)用技術(shù)就顯得不那么重要了。
1.2工程管理角度
在軟件開發(fā)過程中,不僅要注重技術(shù)層面,還要注重開發(fā)過程中對(duì)開發(fā)人員和開發(fā)進(jìn)度的管理,并借鑒其它工程領(lǐng)域中的成功管理方法,引入管理學(xué)理論。軟件開發(fā)過程引入工程項(xiàng)目管理的思想可以使軟件開發(fā)不再以個(gè)人為中心,而是更加注重團(tuán)體協(xié)作。在軟件開發(fā)過程中用管理學(xué)的思想來管理開發(fā)人員和軟件開發(fā)進(jìn)度,能夠讓軟件開發(fā)的進(jìn)度控制在預(yù)料之中,保證軟件開發(fā)按照預(yù)期的成本、質(zhì)量以及用戶的要求進(jìn)行。同時(shí),引進(jìn)項(xiàng)目管理方法利于開發(fā)人員和企業(yè)的長(zhǎng)遠(yuǎn)發(fā)展,降低開發(fā)風(fēng)險(xiǎn)。目前,評(píng)價(jià)一個(gè)軟件開發(fā)企業(yè)是否具有長(zhǎng)遠(yuǎn)發(fā)展的潛力,主要看其公司軟件項(xiàng)目管理思想的具體落實(shí)情況。雖然軟件項(xiàng)目管理與其它工程中的管理思想有諸多相似之處,但是由于軟件自身的特殊性,具體實(shí)施起來卻存在著巨大差別。這些差別具體表現(xiàn)在,軟件項(xiàng)目中需要平衡需求、資源、工期、質(zhì)量這4個(gè)要素之間的關(guān)系。對(duì)于較復(fù)雜的軟件開發(fā),一般分成幾個(gè)比較小的項(xiàng)目分別進(jìn)行開發(fā),這樣不僅降低了軟件開發(fā)的風(fēng)險(xiǎn),還使得開發(fā)過程中的管理更加容易,項(xiàng)目負(fù)責(zé)人更容易發(fā)現(xiàn)軟件開發(fā)中的問題,以便根據(jù)所開發(fā)軟件項(xiàng)目的特點(diǎn),制定有針對(duì)性的.管理方案和開發(fā)策略。國(guó)際組織對(duì)軟件開發(fā)制定了行業(yè)標(biāo)準(zhǔn),并且軟件開發(fā)方面的權(quán)威組織也提出了較為科學(xué)完善、切實(shí)可行的軟件項(xiàng)目管理方法。
二、軟件工程發(fā)展趨勢(shì)
2.1全球化趨勢(shì)
伴隨著全球化進(jìn)程的不斷加快,軟件開發(fā)行業(yè)所面臨的環(huán)境也發(fā)生了極大變化,以傳統(tǒng)的思維來管理軟件開發(fā)已經(jīng)顯得有些吃力。未來的軟件開發(fā)將越來越強(qiáng)調(diào)全球化的合作交流,因?yàn)殡S著信息化的不斷普及,越來越多的軟件開發(fā)不僅僅在國(guó)內(nèi)開發(fā)完成,還有一部分在國(guó)外完成。同時(shí),軟件的全球化協(xié)作也使得軟件外包發(fā)展得越來越快,很多從事軟件外包行業(yè)的公司得到了快速發(fā)展,這些軟件外包公司把軟件開發(fā)的設(shè)計(jì)理念、編程部分,以及測(cè)試、軟件發(fā)布,甚至后期維護(hù)都分別交給不同的國(guó)家去完成,這個(gè)過程就是軟件開發(fā)全球化協(xié)作過程,并且該過程已經(jīng)成為軟件開發(fā)公司的主流做法。
2.2開放性計(jì)算的廣泛應(yīng)用
軟件工程領(lǐng)域中的開放性計(jì)算是軟件開發(fā)行業(yè)的一種新趨勢(shì)。軟件工程本身具有極強(qiáng)的開放性,加上全球化協(xié)作的不斷加深,這種趨勢(shì)必然成為未來軟件工程的重點(diǎn)發(fā)展方向。同時(shí),開放性計(jì)算使得不同地域的軟件開發(fā)者共同開發(fā)軟件更加方便,更利于開發(fā)者之間的交流,也讓軟件的后期維護(hù)更加容易、更加專業(yè),對(duì)客戶和開發(fā)者是雙贏的結(jié)果。
2.3模塊化的設(shè)計(jì)思想
軟件全球化協(xié)作在給軟件開發(fā)帶來機(jī)遇的同時(shí),也給軟件工程的發(fā)展帶來了各種各樣的挑戰(zhàn)。各軟件公司之間的競(jìng)爭(zhēng)也越來越激烈,正是這種激烈競(jìng)爭(zhēng),促使軟件開發(fā)不斷向模塊化方向發(fā)展。模塊化設(shè)計(jì)思想是為了解決傳統(tǒng)技術(shù)在實(shí)際應(yīng)用中缺少靈活性的問題,其基本思想是在軟件開發(fā)時(shí)以科學(xué)的方法把已知的軟件構(gòu)件和相似的軟件構(gòu)件分別歸類,并通過的一定技術(shù)手段使之模塊化。這提高了軟件開發(fā)的效率,提高了企業(yè)的競(jìng)爭(zhēng)力,對(duì)軟件工程的長(zhǎng)遠(yuǎn)快速發(fā)展具有意義。
三、結(jié)語
當(dāng)前,軟件工程的研究?jī)?nèi)容是軟件開發(fā)模型、設(shè)計(jì)方法、工程中的支持技術(shù)和工程管理技術(shù)。這幾部分已經(jīng)發(fā)展得相當(dāng)成熟,使得軟件工程不僅僅是單一的體系,而是復(fù)雜的綜合性學(xué)科。同時(shí)軟件工程發(fā)展中也存在一些問題,應(yīng)根據(jù)軟件工程的特點(diǎn)、發(fā)展歷史以及實(shí)際開發(fā)中的各個(gè)環(huán)節(jié),努力尋找解決這些問題的方法,在實(shí)際應(yīng)用中專注重點(diǎn)。同時(shí),由于軟件開發(fā)過程中的全球化協(xié)作越來越緊密,資源的分配和共享方式也發(fā)生了巨大變化,利用資源更高效地為用戶服務(wù)已經(jīng)變得越來越重要。這對(duì)軟件工程的發(fā)展提出了新的要求,必須摒棄傳統(tǒng)思維方式,引進(jìn)新的理論、方法、技術(shù)和平臺(tái)來應(yīng)對(duì)這個(gè)問題。同時(shí)也應(yīng)該看到計(jì)算機(jī)軟件所面臨的環(huán)境變化,從之前靜態(tài)封閉的狀態(tài)漸漸走向開放、動(dòng)態(tài)的狀態(tài),從而促進(jìn)軟件工程的長(zhǎng)遠(yuǎn)發(fā)展。
軟件工程的歷史與發(fā)展趨勢(shì) 篇3
摘 要:軟件工程經(jīng)濟(jì)是近年來出現(xiàn)的嶄新的研究方向,是軟件工程和經(jīng)濟(jì)學(xué)相互融合深入的產(chǎn)物。從總體上討論了軟件工程經(jīng)濟(jì)的概念、軟件工程經(jīng)濟(jì)在軟件產(chǎn)品價(jià)值中的關(guān)系以及和經(jīng)濟(jì)學(xué)研究的關(guān)系,描述了當(dāng)前應(yīng)用的模型分類和具有代表性的模型,以及關(guān)于軟件工程經(jīng)濟(jì)的未來
關(guān)鍵詞:軟件工程論文
軟件工程經(jīng)濟(jì)是近年來出現(xiàn)的嶄新的研究方向,是軟件工程和經(jīng)濟(jì)學(xué)相互融合深入的產(chǎn)物。從總體上討論了軟件工程經(jīng)濟(jì)的概念、軟件工程經(jīng)濟(jì)在軟件產(chǎn)品價(jià)值中的關(guān)系以及和經(jīng)濟(jì)學(xué)研究的關(guān)系,描述了當(dāng)前應(yīng)用的模型分類和具有代表性的模型,以及關(guān)于軟件工程經(jīng)濟(jì)的未來研究?jī)?nèi)容、研究趨勢(shì)整體框架和分層結(jié)構(gòu)。
1軟件工程的呈現(xiàn)
1.1軟件危機(jī)
隨著互聯(lián)網(wǎng)的不時(shí)開展,越來越多的范疇開端大量運(yùn)用計(jì)算機(jī),所請(qǐng)求的軟件越來越復(fù)雜,此時(shí),傳統(tǒng)辦法開發(fā)的軟件難以滿足當(dāng)前的高請(qǐng)求,這就是所謂的“軟件危機(jī)”。軟件工程的呈現(xiàn)就是為理解決這個(gè)問題。軟件工程的提出把軟件開發(fā)引向工程化和協(xié)異化,其中心理念是在軟件開發(fā)過程中引入管理的思想,對(duì)軟件的整個(gè)開發(fā)周期提早做好各種預(yù)算和進(jìn)度規(guī)劃,并且在軟件的設(shè)計(jì)、開發(fā)、發(fā)布、后期維護(hù)階段都能滿足用戶的請(qǐng)求。到目前為止,為理解決軟件開發(fā)中遇到的各種問題,并完成軟件開發(fā)的預(yù)期目的,很多新的辦法、計(jì)算機(jī)言語都呈現(xiàn)在了軟件工程的概念中。雖然軟件工程思想極大地改善了軟件開發(fā)過程,但是軟件的復(fù)雜性、不可預(yù)見性等其它特性是無法改動(dòng)的。相關(guān)數(shù)據(jù)標(biāo)明,在IT行業(yè)高度興旺的美國(guó),其程序員所編寫的代碼仍不可防止地呈現(xiàn)錯(cuò)誤,而在IT行業(yè)不興旺的國(guó)度,程序員代碼中呈現(xiàn)錯(cuò)誤的幾率更高。
1.2軟件與其它產(chǎn)品的差別
與日常生活中的商品相比,軟件顯得十分特別,由于真正表現(xiàn)軟件價(jià)值的局部是其存儲(chǔ)的代碼和代碼能夠完成的特定功用。但是實(shí)踐應(yīng)用時(shí),人們看到的只是載體,看不到內(nèi)部存儲(chǔ)的代碼。就本錢方面而言,普通工業(yè)產(chǎn)品的本錢主要是原料,以及制造過程的各種費(fèi)用,而軟件的本錢主要表現(xiàn)在前期設(shè)計(jì)和后期軟件的維護(hù)上,軟件制造過程中所需的費(fèi)用卻是次要的,這與普通工業(yè)產(chǎn)品的本錢構(gòu)成有很大不同。在運(yùn)用方面,軟件和普通商品同樣有著很大區(qū)別,普通而言,用戶只需購(gòu)置商品,便完整具有其運(yùn)用權(quán),而且所購(gòu)置的商品會(huì)不時(shí)耗費(fèi)直至損壞不能運(yùn)用,但是用戶在購(gòu)置軟件之后并不能完整具有其一切運(yùn)用權(quán),而且軟件不會(huì)隨著用戶的運(yùn)用而磨損。在制造過程方面,普通的工業(yè)產(chǎn)品都是在車間里面加工,原資料變成產(chǎn)品的過程顯而易見,但是軟件的開發(fā)過程是籠統(tǒng)的`,且其開發(fā)進(jìn)度不易把握。軟件工程思想的提出正是為理解決軟件開發(fā)的上述問題,即便軟件開發(fā)過程工程化、詳細(xì)化。
2軟件工程辦法和技術(shù)
隨著互聯(lián)網(wǎng)的不時(shí)開展,軟件工程也在不時(shí)完善,固然軟件工程思想并不能很好地處理軟件危機(jī),但其對(duì)軟件的開發(fā)及其隸屬產(chǎn)業(yè)起到了很好的促進(jìn)作用。軟件開發(fā)過程呈現(xiàn)了越來越多的新技術(shù),如構(gòu)造化程序設(shè)計(jì)技術(shù)、計(jì)算機(jī)輔助軟件工程(CASE)、面向?qū)ο笱哉Z和辦法等其它新技術(shù)和辦法。普通常用的有技術(shù)類和管理類。
2.1技術(shù)角度
普通來說,技術(shù)方面主要包括軟件開發(fā)范型、軟件設(shè)計(jì)辦法。其中軟件開發(fā)范型注重的是工程思想,盡可能讓開發(fā)出的軟件滿足用戶請(qǐng)求,這是軟件開發(fā)范型的重點(diǎn);而軟件設(shè)計(jì)辦法注重的是軟件開發(fā)過程及設(shè)計(jì)思想,注重的是概念。目前,在軟件開發(fā)的實(shí)踐應(yīng)用中,主要強(qiáng)調(diào)的是軟件代碼反復(fù)運(yùn)用。詳細(xì)過程是在開發(fā)一套軟件之前,首先查閱材料看有沒有與之類似的產(chǎn)品,然后直接調(diào)用,這樣不只能夠防止軟件開發(fā)過程中的無用功,而且開發(fā)軟件是以成熟產(chǎn)品為根據(jù),因而在開發(fā)時(shí)能夠?qū)⒕窦性谲浖膭?chuàng)新上。顯然,用此技術(shù)開發(fā)軟件和應(yīng)用系統(tǒng)時(shí)能夠充沛應(yīng)用已有的開發(fā)成果,消弭軟件生命周期中的反復(fù)勞動(dòng),在一定水平上進(jìn)步軟件的開發(fā)效率,同時(shí)還能進(jìn)步所開發(fā)軟件的質(zhì)量,防止不用要的錯(cuò)誤。軟件復(fù)用主要包括軟件構(gòu)件技術(shù)、范疇工程、軟件體系構(gòu)造等。其中,軟件構(gòu)件是指在軟件開發(fā)中的已知條件,可復(fù)用構(gòu)件是指在軟件開發(fā)中的獨(dú)立局部能夠反復(fù)運(yùn)用。上文提到的構(gòu)件主要有源代碼,同時(shí)也包括一些特定需求、軟件系統(tǒng)的構(gòu)造等,這些都能夠稱為可復(fù)用軟件構(gòu)件。軟件復(fù)用的關(guān)鍵在于軟件構(gòu)件,而軟件構(gòu)件技術(shù)主要包括:如何依據(jù)需求結(jié)構(gòu)出新的構(gòu)件、如何從現(xiàn)有的軟件系統(tǒng)中提煉出有用的構(gòu)件,同時(shí)還要弄分明各構(gòu)件之間的內(nèi)在聯(lián)絡(luò),以及如何對(duì)構(gòu)件停止精確的描繪,并對(duì)構(gòu)件停止精確的分類管理。在實(shí)踐應(yīng)用中發(fā)現(xiàn),軟件復(fù)用在某些范疇可以起到很好的效果,緣由在于一些特定范疇對(duì)軟件的請(qǐng)求根本類似。此種狀況下,范疇工程應(yīng)運(yùn)而生,范疇工程的呈現(xiàn)就是為了效勞于特定范疇的軟件開發(fā)。同時(shí)也應(yīng)該留意到,假如在軟件開發(fā)中不能充沛應(yīng)用軟件復(fù)用技術(shù)而僅僅停留在代碼階段,對(duì)開發(fā)人員來說軟件復(fù)用技術(shù)就顯得不那么重要了。
2.2工程管理角度
在軟件開發(fā)過程中,不只要注重技術(shù)層面,還要注重開發(fā)過程中對(duì)開發(fā)人員和開發(fā)進(jìn)度的管理,并自創(chuàng)其它工程范疇中的勝利管理辦法,引入管理學(xué)理論。軟件開發(fā)過程引入工程項(xiàng)目管理的思想能夠使軟件開發(fā)不再以個(gè)人為中心,而是愈加注重團(tuán)體協(xié)作。在軟件開發(fā)過程中用管理學(xué)的思想來管理開發(fā)人員和軟件開發(fā)進(jìn)度,可以讓軟件開發(fā)的進(jìn)度控制在意料之中,保證軟件開發(fā)依照預(yù)期的本錢、質(zhì)量以及用戶的請(qǐng)求停止。同時(shí),引進(jìn)項(xiàng)目管理辦法利于開發(fā)人員和企業(yè)的久遠(yuǎn)開展,降低開發(fā)風(fēng)險(xiǎn)。
目前,評(píng)價(jià)一個(gè)軟件開發(fā)企業(yè)能否具有久遠(yuǎn)開展的潛力,主要看其公司軟件項(xiàng)目管理思想的詳細(xì)落實(shí)狀況。固然軟件項(xiàng)目管理與其它工程中的管理思想有諸多類似之處,但是由于軟件本身的特殊性,詳細(xì)施行起來卻存在著宏大差異。這些差異詳細(xì)表如今,軟件項(xiàng)目中需求均衡需求、資源、工期、質(zhì)量這4個(gè)要素之間的關(guān)系。關(guān)于較復(fù)雜的軟件開發(fā),普通分紅幾個(gè)比擬小的項(xiàng)目分別停止開發(fā),這樣不只降低了軟件開發(fā)的風(fēng)險(xiǎn),還使得開發(fā)過程中的管理愈加容易,項(xiàng)目擔(dān)任人更容易發(fā)現(xiàn)軟件開發(fā)中的問題,以便依據(jù)所開發(fā)軟件項(xiàng)目的特性,制定有針對(duì)性的管理計(jì)劃和開發(fā)戰(zhàn)略。國(guó)際組織對(duì)軟件開發(fā)制定了行業(yè)規(guī)范,并且軟件開發(fā)方面的權(quán)威組織也提出了較為科學(xué)完善、實(shí)在可行的軟件項(xiàng)目管理辦法。
3軟件工程開展趨向
3.1全球化趨向
隨同著全球化進(jìn)程的不時(shí)加快,軟件開發(fā)行業(yè)所面臨的環(huán)境也發(fā)作了極大變化,以傳統(tǒng)的思想來管理軟件開發(fā)曾經(jīng)顯得有些費(fèi)勁。將來的軟件開發(fā)將越來越強(qiáng)調(diào)全球化的協(xié)作交流,由于隨著信息化的不時(shí)提高,越來越多的軟件開發(fā)不只僅在國(guó)內(nèi)開發(fā)完成,還有一局部在國(guó)外完成。同時(shí),軟件的全球化協(xié)作也使得軟件外包開展得越來越快,很多從事軟件外包行業(yè)的公司得到了快速開展,這些軟件外包公司把軟件開發(fā)的設(shè)計(jì)理念、編程局部,以及測(cè)試、軟件發(fā)布,以至后期維護(hù)都分別交給不同的國(guó)度去完成,這個(gè)過程就是軟件開發(fā)全球化協(xié)作過程,并且該過程曾經(jīng)成為軟件開發(fā)公司的主流做法。
3.2開放性計(jì)算的普遍應(yīng)用
軟件工程范疇中的開放性計(jì)算是軟件開發(fā)行業(yè)的一種新趨向。軟件工程自身具有極強(qiáng)的開放性,加上全球化協(xié)作的不時(shí)加深,這種趨向必然成為將來軟件工程的重點(diǎn)開展方向。同時(shí),開放性計(jì)算使得不同地域的軟件開發(fā)者共同開發(fā)軟件愈加便當(dāng),更利于開發(fā)者之間的交流,也讓軟件的后期維護(hù)愈加容易、愈加專業(yè),對(duì)客戶和開發(fā)者是雙贏的結(jié)果。
3.3模塊化的設(shè)計(jì)思想
軟件全球化協(xié)作在給軟件開發(fā)帶來機(jī)遇的同時(shí),也給軟件工程的開展帶來了各種各樣的應(yīng)戰(zhàn)。各軟件公司之間的競(jìng)爭(zhēng)也越來越劇烈,正是這種劇烈競(jìng)爭(zhēng),促使軟件開發(fā)不時(shí)向模塊化方向開展。模塊化設(shè)計(jì)思想是為理解決傳統(tǒng)技術(shù)在實(shí)踐應(yīng)用中短少靈敏性的問題,其根本思想是在軟件開發(fā)時(shí)以科學(xué)的辦法把已知的軟件構(gòu)件和類似的軟件構(gòu)件分別歸類,并經(jīng)過的一定技術(shù)手腕使之模塊化。這進(jìn)步了軟件開發(fā)的效率,進(jìn)步了企業(yè)的競(jìng)爭(zhēng)力,對(duì)軟件工程的久遠(yuǎn)快速開展具有意義。
4結(jié)語
當(dāng)前,軟件工程的研討內(nèi)容是軟件開發(fā)模型、設(shè)計(jì)辦法、工程中的支持技術(shù)和工程管理技術(shù)。這幾局部曾經(jīng)開展得相當(dāng)成熟,使得軟件工程不只僅是單一的體系,而是復(fù)雜的綜合性學(xué)科。同時(shí)軟件工程開展中也存在一些問題,應(yīng)依據(jù)軟件工程的特性、開展歷史以及實(shí)踐開發(fā)中的各個(gè)環(huán)節(jié),努力尋覓處理這些問題的辦法,在實(shí)踐應(yīng)用中專注重點(diǎn)。同時(shí),由于軟件開發(fā)過程中的全球化協(xié)作越來越嚴(yán)密,資源的分配和共享方式也發(fā)作了宏大變化,應(yīng)用資源更高效地為用戶效勞曾經(jīng)變得越來越重要。這對(duì)軟件工程的開展提出了新的請(qǐng)求,必需摒棄傳統(tǒng)思想方式,引進(jìn)新的理論、辦法、技術(shù)戰(zhàn)爭(zhēng)臺(tái)來應(yīng)對(duì)這個(gè)問題。同時(shí)也應(yīng)該看到計(jì)算機(jī)軟件所面臨的環(huán)境變化,從之前靜態(tài)封鎖的狀態(tài)慢慢走向開放、動(dòng)態(tài)的狀態(tài),從而促進(jìn)軟件工程的久遠(yuǎn)開展。
【軟件工程的歷史與發(fā)展趨勢(shì)】相關(guān)文章:
試析基于軟件歷史信息的軟件工程12-06
學(xué)校體育的發(fā)展趨勢(shì)探索06-17
我國(guó)通俗商業(yè)劇的發(fā)展趨勢(shì)11-22
籃球教學(xué)訓(xùn)練的現(xiàn)狀與發(fā)展趨勢(shì)02-26
網(wǎng)絡(luò)教育應(yīng)用的發(fā)展趨勢(shì)探究11-26
旅游經(jīng)濟(jì)發(fā)展趨勢(shì)分析12-01
軟件工程 開題報(bào)告11-14
軟件工程編程論文03-23
- 相關(guān)推薦