導航:首頁 > 研究方法 > 分析軟體工程方法發展歷程

分析軟體工程方法發展歷程

發布時間:2023-02-11 08:35:28

1. 軟體工程專業的發展過程

1960年代末期,計算機程序在復雜度、規模和應用領域等方面的增長引人注目,這導致上千億資金花費在軟體開發上,許多人的工作和生活依賴於軟體開發的成果。軟體產品幫助人們獲得更高的工作和生產效率,同時也給人們提供一個更加安全、靈活和寬松的工作與生活環境。盡管有很多成功之處,許多軟體產品在成本、工期、質量等方面存在嚴重問題。主要原因是:
軟體產品是復雜的人造系統,具有復雜性、不可見性和易變性,難以處理。個人或小組開發小型軟體非常有效的編程技術和過程,在開發大型、復雜系統時難以發揮同樣的作用。
1968年在德國舉行的NATO軟體工程會議上,為應對「軟體危機」的挑戰,提出了「軟體工程」的術語。這個時期有代表性的軟體工程定義是「為了經濟地獲得在真實機器上可靠工作的軟體而制定和使用的合理工程原則和方法」。
1972年IEEE學會的計算機協會第一次出版了《軟體工程學報》。此後,「軟體工程」這個術語被廣泛用於工業、政府和學術界,眾多的出版物、團體和組織、專業會議在它們的名稱里使用「軟體工程」這個術語,很多大學的計算機科學系先後設立軟體工程課程。 軟體工程早期的發展是理清軟體工程過程的各種活動,提出軟體生命周期的概念和軟體開發的瀑布模型,制定軟體生命周期中主要活動的質量標准。
1991年,ACM和IEEE/CS的計算教程CC1991專題組將「軟體工程」列為計算學科的九個知識領域之一。
1980年代末到1990年代初,計算機硬體普遍採用大規模集成電路。在單主機計算模式下,基於瀑布模型的軟體開發過程和結構式過程語言編程范型佔主導地位。軟體工程得到巨大的發展。以階段論看待軟體生命周期,給規范和規程的制定、工具研製、預算管理、工程核算、組織質量過程帶來極大方便,基於瀑布模型的軟體工程的研究在軟體需求分析、軟體設計、軟體測試、軟體質量保證、軟體過程改進等多個子領域得到深化和擴展,形成了軟體工程學科的雛形。 1970年代末期,美國制定研究生教育計劃時採納了IEEE/CS提出的、制定軟體工程教程的建議,為軟體工程教育打下了基礎。
1980年代末和1990年代初,軟體工程教育得到卡內基-梅隆大學軟體工程研究所(SEI)的培育和支持。他們調查軟體工程教育的現狀;出版軟體工程推薦教程;在卡內基-梅隆大學建立軟體工程碩士教育計劃;組織和推動軟體工程教育者研討會。
1993年,IEEE-CS和ACM為把軟體工程建設成為一個專業,建立了IEEE-CS/ACM聯合指導委員會。隨後,該指導委員會被軟體工程協調委員會(SWECC)替代。SWECC給出了「軟體工程職業道德規范」、「本科軟體工程教育計劃評價標准」和「軟體工程知識體」(SWEBOK)。SWEBOK全面描述了軟體工程實踐所需的知識,為開發本科軟體工程教育計劃打下了基礎。
2004年8月,全世界五百多位來自大學、科研機構和企業界的專家、教授經過多年的努力,推出了軟體工程知識體、軟體工程教育知識體(SEEK)兩個文件的最終版本,標志著軟體工程學科在世界范圍正式確立,並在本科教育層次上迅速發展。軟體工程、計算機科學、計算機工程、信息系統、信息技術並列成為計算學科下的獨立學科。 中國的軟體工程基礎技術研究始於1980年代初。當時,軟體開發方法學成為研究熱點。1980年在北京召開了中國首屆軟體工程研討會,之後,許多高等學校和科研單位陸續開展了軟體開發方法學、CASE工具和環境、面向對象技術等軟體工程基礎技術的研究。「軟體工程核心支撐環境」,「軟體工程技術、工具和環境的研究與開發(SEP)」等課題列入國家重點科技攻關項目,其科研成果代表了中國軟體工程技術研究的水平。與此同時,部分高校面向研究生開設了軟體工程課程,開始引進和編寫軟體工程教材。1984年和1985年,國家科委選擇重點高校招收了兩批(200人)軟體工程碩士,為軟體工程教育積累了經驗。此後,高等院校開始為本科開設軟體工程課程。部分高校從1988年開始試辦軟體工程專業(後來在學科調整時又歸並到計算機科學與技術學科)。
1990年代,軟體重用和軟體構件技術成為研究熱點,面向對象方法和技術成為軟體開發的主流技術,軟體過程研究及軟體企業的過程改善受到廣泛重視。隨著軟體工程技術的發展,高校又增設了面向對象技術,支持面向對象技術的Smalltalk語言、軟體過程管理、軟體測試技術、軟體過程度量等課程,軟體工程領域的教學內容不斷豐富,教學時數不斷增加,教學改革不斷深入。
為適應中國經濟結構戰略性調整,實現軟體產業和軟體人才培養的跨越式發展,2000年發布了18號文件《國務院關於印發鼓勵軟體產業和集成電路產業發展的若干政策的通知》,2001年經教育部和國家計委批准,全國成立了35所示範性軟體學院。各高校軟體學院和計算機學院(系)為培養高層次、實用型、復合型、具有國際競爭力的人才,要求學生在思維創新的基礎上,提高技術創新和工程創新能力,提高軟體工程實踐和軟體工程管理能力。這有效地促進了中國軟體工程學科的發展,中國軟體工程教育開始走向成熟。

2. 軟體工程的發展過程

軟體是由計算機程序和程序設計的概念發展演化而來的,是在程序和程序設計發展到一定規模並且逐步商品化的過程中形成的。軟體開發經歷了程序設計階段、軟體設計階段和軟體工程階段的演變過程。 在Internet平台上進一步整合資源,形成巨型的、高效的、可信的虛擬環境,使所有資源能夠高效、可信地為所有用戶服務,成為軟體技術的研究熱點之一。
軟體工程領域的主要研究熱點是軟體復用和軟體構件技術,它們被視為是解決「軟體危機」的一條現實可行的途徑,是軟體工業化生產的必由之路。而且軟體工程會朝著開放性計算的方向發展,朝著可以確定行業基礎框架、指導行業發展和技術融合的「開放計算」。

3. 軟體工程的歷史與發展趨勢

關於軟體工程的歷史與發展趨勢

在學習、工作生活中,許多人都寫過論文吧,論文可以推廣經驗,交流認識。相信很多朋友都對寫論文感到非常苦惱吧,以下是我整理的關於軟體工程的歷史與發展趨勢論文,希望能夠幫助到大家。在學習、工作生活中,許多人都寫過論文吧,論文可以推廣經驗,交流認識。相信很多朋友都對寫論文感到非常苦惱吧,以下是我整理的關於軟體工程的歷史與發展趨勢論文,希望能夠幫助到大家。

軟體工程的歷史與發展趨勢 篇1

摘要: 軟體是一種特殊的產品,隨著其規模和復雜性的提高、使用范圍的擴大,需要從技術和管理兩方面對軟體的開發過程進行控制。從軟體工程這門學科和技術出現的背景出發,回顧了軟體工程在近40年來理論、方法和實踐中的成果。最後結合Internet技術和平台的挑戰,初步討論了軟體工程需要面對的新挑戰。

關鍵詞: 軟體危機;構件;體系結構;軟體項目管理;中間件

1、軟體工程的出現

1.1軟體危機

20世紀中期,計算機剛被從軍用領域轉向民用領域使用,那時編寫程序的工作被視同為藝術家的創作。當時的計算機硬體非常昂貴,編程人員追求的是如何在有限的處理器能力和存儲器空間約束下,編寫出執行速度快、體積小的程序。程序中充滿了各種各樣讓人迷惑的技巧。這時的軟體生產非常依賴於開發人員的聰明才智。

到了20世紀60年代,計算機的應用范圍得到較大擴展,對軟體系統的需求和軟體自身的復雜度急劇上升,傳統的開發方法無法適應用戶在質量、效率等方面對軟體的需求。這就是所謂的「軟體危機」。

為解決這個問題,1968年NATO會議上首次提出「軟體工程」(SotfwraeEngineeirng)的概念,提出把軟體開發從「藝術」和「個體行為」向「工程」和「群體協同工作」轉化。其基本思想是應用計算機科學理論和技術以及工程管理原則和方法,按照預算和進度,實現滿用戶要求的軟體產品的定義、開發、發布和維護的工程。從此也誕生了一門新的學科——軟體工程。

迄今為之,為了達到最初設定的目標,軟體工程界已經提出了一系列的理論、方法、語言和工具,解決了軟體開發過程中的若干問題。但是,由於軟體固有的復雜性、易變性和不可見性,軟體開發周期長、代價高和質量低的問題依然存在。IEEE在 2002年發表的報告指出,即使是IT產業最發達的美國,在2001年美國本土公司開發的軟體產品中平均每1000行代碼中有0.37個錯誤,對於美國之外的其他國家,這個比例更高。

1.2軟體與其他產品的差異

軟體是一種特殊的產品,人們通常看到的是它的載體,而真正具有意義的是載體上的計算機或信息。

軟體既不同於通常的精神產品,也不同於常見的物質產品。作家的作品是一種精神產品,它沒有使用價值卻可以供人閱讀欣賞。若把軟體也看成是一種作品,卻發現其價值在於供人們使用,無人喜歡讀它的源代碼。

軟體也與傳統的工業產品不同。工業產品在設計好之後,主要的成本是原材料成本、生產過程的開銷等,但生產任何軟體的主要成本是設計、實現軟體時的成本,以及軟體投入使用後的維護成本,在生產線上製造軟體的成本非常低。用戶購買某種商品後,就擁有了該商品的所有權和使用權。可是用戶買來的軟體卻只擁有它的有限「使用權」。工業產品會隨著使用而磨損、報廢,但軟體在使用過程不會有任何磨損,在相同的硬體條件下用戶1年前使用的軟體和5年後使用該軟體無任何差別。傳統的工業產品在車間里生產,生產過程可見、可觸摸,也容易衡量生產過程中的消耗和進展。可是軟體的開發過程在人的大腦里,很難度量其進度。

所謂的「軟體工程」就是要這種過程「可視化」、「定量化」,把看不見的思維活動變成看得見的「文檔」或者其他看得見的東西。

2、軟體工程方法和技術

30多年來,軟體工程的研究和實踐取得了長足的進展,盡管目前離徹底解決「軟體危機」還有相當的差距(對是否能徹底解決目前也存在爭議),但軟體工程的方法對軟體產業的發展還是起到了很大的推動作用。從20世紀60年代以來,陸續出現了結構化程序設計技術、計算機輔助軟體工程(CASE)、面向對象語言和方法、軟體過程及軟體過程改善研究等一系列成果,並應用到實踐中。目前軟體工程中主要使用的方法和技術可以分成技術和管理兩類。

2.1技術的角度

主要包括:軟體開發范型、軟體設計方法。軟體開發范型關注軟體工程的方向,即如何才是正確的編寫滿足需求的軟體;軟體設計方法關注軟體工程的「途徑」,即研究怎樣完成從高層概念模型到低層概念模型的映射。

軟體工程理論在實踐中應用時重點放在軟體復用上。參考目前成熟的工業產品的開發模式,軟體復用可以在軟體開發中避免重復勞動,它以已有的成果為基礎,充分利用過去開發應用系統中積累的知識和經驗,將開發的重點集中於新應用的特有構成成分上。通過使用軟體復用技術,開發應用系統時可以充分利用已有的開發成果,消除軟體生命周期中的許多重復勞動,提高軟體開發的效率。同時,復用高質量的已有成果,可以避免重新開發時引入的錯誤,從而提高軟體質量。

實現軟體復用的關鍵技術包括軟體構件技術(softwarecomponenttechnology)、領域工程(domainen—gineering)、軟體體系結構(softwarearchitecture)等。

軟體構件是指應用系統中可以明確辨識的構成成分,可復用構件是指具有相對獨立功能和可復用價值的構件。目前,構件的概念即包括源代碼,也包括需求、需求規約、系統和軟體的體系結構、文檔、測試計劃、測試用例和數據以及其他對開發活動有用的信息,這些信息都可以稱為可復用軟體構件。軟體構件技術是支持軟體復用的核心技術,其主要研究內容包括:如何有目的的進行構件生產和從已有系統中挖掘提取構件;構件的本質特徵及構件間的關系是什麼樣的;如何描述構件;如何對構件進行分類、組織及檢索等。

研究實踐表明,由於某個特定領域需要的軟體具有相似的需求,因此軟體復用在特定領域內更容易獲得成功,由此出現了領域工程。領域工程是為一組相似或相近系統的應用工程建立基本能力和必備基礎的過程,它涵蓋了建立可復用軟體構件的所有活動。包括美國卡內基·梅隆大學軟體工程研究所(CMU/SEI)在內的許多研究機構已經提出了一些領域分析方法

如果軟體復用僅停留在代碼階段,開發人員得到的好處是有限的。軟體體系結構技術使軟體復用從代碼復用發展到設計復用和過程復用。在建築工程領域人們用體系結構表達建築的整體結構,軟體工程研究中引人體系結構這個術語,其核心內容是軟體系統的結構,它包括如下一些實體:構件、構件之間的交互關系、限制、構件和連接件構成的拓撲結構、設計原則與指導方針。

4. 軟體工程發展歷程有哪些

軟體工程是一門普通高等學校本科專業,屬計算機類專業,基本修業年限為四年,授予工學學士學位。那麼網友們知道軟體工程發展歷程有哪些嗎?下面一起來了解一下吧。

1、 1998年,教育部頒布了《普通高等學校本科專業目錄(1998年頒布)》,軟體工程專業正式出現在該目錄的《經教育部批准同意設置的目錄外專業名單》中,專業代碼為080611W。

2、 2012年,教育部頒布了《普通高等學校本科專業目錄(2012年)》,原軟體工程專業(080611W)和計算機軟體專業(080619W)合並為軟體工程專業,專業代碼變更為080902,屬計算機類專業。

3、 2020年,教育部頒布了《普通高等學校本科專業目錄(2020年版)》,軟體工程專業為工學門類專業,專業代碼為080902,屬計算機類專業,授予工學學士學位。

以上就是對於軟體工程發展歷程有哪些的相關內容。

閱讀全文

與分析軟體工程方法發展歷程相關的資料

熱點內容
襯衣掖入褲子正確方法 瀏覽:657
canmake腮紅使用方法 瀏覽:665
入黨外調最簡單的方法 瀏覽:937
電腦蝸牛快速緩解方法 瀏覽:898
山楂干功效與作用及食用方法 瀏覽:753
如何用簡單的方法掌握值域 瀏覽:35
做信息如何給企業賦能提供方法 瀏覽:915
excel公式的使用方法 瀏覽:995
普洱茶餅正確沖泡方法 瀏覽:968
糖類和苷類的常用鑒別方法 瀏覽:836
湖北小規模殘保金計算方法 瀏覽:344
plc無線連接方法 瀏覽:542
電影作者研究的方法有 瀏覽:981
期貨技術分析方法是一面鏡子 瀏覽:274
生產食用植物油的方法 瀏覽:224
怎麼防止蟑螂的最好方法 瀏覽:712
動態聚類分析方法 瀏覽:831
快板怎麼拿的方法對 瀏覽:991
藏芽法嫁接方法視頻 瀏覽:759
倉鼠在家鍛煉方法 瀏覽:889