資源描述:
《計算機科學與技術(軟件工程方向)專業(yè)規(guī)范》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、2.4 計算機科學與技術(軟件工程方向)專業(yè)規(guī)范一、軟件工程專業(yè)教育的歷史、現(xiàn)狀及發(fā)展方向1.軟件工程學科與教育的發(fā)展軟件在當今的信息社會中占有重要的地位,軟件產(chǎn)業(yè)是信息社會的支柱產(chǎn)業(yè)之一。隨著軟件應用日益廣泛、軟件規(guī)模日益擴大,人們開發(fā)、使用、維護軟件不得不采用工程的方法,以求經(jīng)濟有效地解決軟件問題。借助于計算機科學技術、數(shù)學、管理科學與工程諸多學科,今天的軟件工程己由最初的一個學科方向發(fā)展成為以計算機科學技術為基礎的一個新興交叉學科。該學科的發(fā)展可分為概念提出、學科雛形和學科確立三個階段。(1)概念提出1960年代末期,計算機程序在復雜度、規(guī)模和應用領域
2、等方面的增長引人注目,這導致上千億資金花費在軟件開發(fā)上,許多人的工作和生活依賴于軟件開發(fā)的成果。軟件產(chǎn)品幫助人們獲得了更高的工作和生產(chǎn)效率,同時也給人們提供了一個更加安全、靈活和寬松的工作與生活環(huán)境。盡管有很多成功之處,許多軟件產(chǎn)品在成本、工期、質量等方面仍存在嚴重問題。主要原因是:1)軟件產(chǎn)品是復雜的人造系統(tǒng),具有復雜性、不可見性和易變性,難以處理。2)個人或小組開發(fā)小型軟件非常有效的編程技術和過程,在開發(fā)大型、復雜系統(tǒng)時難以發(fā)揮同樣的作用。3)計算機和軟件技術的快速發(fā)展,提高了客戶對軟件的期望,促進了軟件產(chǎn)品的進化,為軟件產(chǎn)品提出了新的、更多的需求,因此
3、增加了軟件行業(yè)內的競爭,難以在可接受的開發(fā)進度內保證軟件的質量。1968年在德國舉行的NATO軟件工程會議上,為應對“軟件危機”的挑戰(zhàn),提出了“軟件工程”的術語。這個時期有代表性的軟件工程定義是“為了經(jīng)濟地獲得在真實機器上可靠工作的軟件而制定和使用的合理工程原則和方法”。1972年IEEE學會的計算機協(xié)會第一次出版了“軟件工程學報”。此后,“軟件工程”這個術語被廣泛用于工業(yè)、政府和學術界,眾多的出版物、團體和組織、專業(yè)會議在它們的名稱里使用“軟件工程”這個術語,很多大學的計算機科學系先后開設了軟件工程課程。(2)學科雛形338軟件工程早期的發(fā)展是理清軟件工程
4、過程的各種活動,提出軟件生命周期的概念和軟件開發(fā)的瀑布模型,制定軟件生命周期中主要活動的質量標準。標準是工程的起點和歸宿。人們在制定各種標準時,加深了對軟件產(chǎn)品的理解。軟件不可靠、不可維護、不可移植導致開發(fā)和維護費用激增。特別是軟件測試不能證明軟件正確,且事后的更改不一定能增進軟件的質量。這些問題要求計算機科學改進構造軟件的方法,甚至開發(fā)出新的語言實現(xiàn)新的編程范型,設計高質量軟件的規(guī)范或范型來開發(fā)軟件。計算機科學從軟件工程實踐中得到了許多待解決的問題,從而推動了計算技術的進展,如數(shù)據(jù)流、控制流、事件驅動、狀態(tài)機變換、面向對象、凈室軟件等方法。軟件工程將這些技
5、術規(guī)范化、模式化,并制作相應的工具,使得軟件生產(chǎn)率更高、質量更好、成本更低。它們相得益彰,相互促進。這個時期的軟件工程定義特別強調,軟件工程以計算機科學和數(shù)學為基礎,用系統(tǒng)的、可控制的、有效的方式建造高質量的軟件。有代表性的定義包括:1)“軟件工程是一種工程形式,它運用計算機科學和數(shù)學原理,針對軟件問題獲得一種經(jīng)濟有效的解決方案?!?)“用系統(tǒng)的、規(guī)范的、可度量的方法,開發(fā)、運行和維護軟件”。1991年,ACM和IEEE-CS的計算學科教程CC1991專題組將“軟件工程”列為計算學科的九個知識領域之一。1980年代末到1990年代初,計算機硬件普遍采用大規(guī)模
6、集成電路。在單主機計算模式下,基于瀑布模型的軟件開發(fā)過程和結構式過程語言編程范型占主導地位,軟件工程得到極大的發(fā)展。以階段論看待軟件生命周期,給規(guī)范和規(guī)程的制定、工具研制、預算管理、工程核算、組織質量過程帶來極大方便,基于瀑布模型的軟件工程的研究在軟件需求分析、軟件設計、軟件測試、軟件質量保證、軟件過程改進等多個子領域得到深化和擴展,形成了軟件工程學科的雛形。(3)學科確立1970年代末期,美國制定研究生教育計劃時采納了IEEE-CS提出的制定軟件工程教程的建議,為軟件工程教育打下了基礎。1980年代末和1990年代初,軟件工程教育得到卡內基-梅隆大學軟件工
7、程研究所(SEI)的培育和支持。他們調查軟件工程教育的現(xiàn)狀;出版軟件工程推薦教程;在卡內基-梅隆大學建立軟件工程碩士教育計劃;組織和推動軟件工程教育者研討會。1993年,IEEE-CS和ACM為把軟件工程建設成為一個專業(yè),建立了IEEE-CS/ACM聯(lián)合指導委員會。隨后,該指導委員會被軟件工程協(xié)調委員會(SWECC)替代。SWECC給出了“軟件工程職業(yè)道德規(guī)范”、“本科軟件工程教育計劃評價標準”和“軟件工程知識體”(SWEBOK)。SWEBOK全面描述了軟件工程實踐所需的知識,為開發(fā)本科軟件工程教育計劃打下了基礎。2004年8月,全世界500多位來自大學、科
8、研機構和企業(yè)界的專家、教授經(jīng)過多年的努力,推出了軟件