摘 要:在計算機高速發(fā)展的今天,信息化技術(shù)正在影響和改變著人們的工作和生活方式,軟件技術(shù)作為信息化技術(shù)的核心之一,奠定了信息化發(fā)展的基石,在信息化發(fā)展道路上起到舉足輕重的作用。軟件技術(shù)從程序設(shè)計演變而來,再發(fā)展形成如今的軟件工程,大致經(jīng)歷了三個階段,并形成了一個新興的產(chǎn)業(yè)和獨立的學(xué)科地位。本文從軟件工程的起源,軟件工程的形成及其規(guī)范和研究內(nèi)容、所處學(xué)科地位、我國軟件工程的發(fā)展現(xiàn)狀,并結(jié)合國際形勢對未來軟件工程的發(fā)展趨勢進(jìn)行了簡要的探討。
關(guān)鍵詞:軟件工程;模塊化;開放計算;開發(fā)治理;對象
中圖分類號:TP311.52
1 軟件工程的定義及發(fā)展歷程
軟件工程一詞是在1968年首次提出,被普遍認(rèn)可的定義是:運用現(xiàn)代科學(xué)技術(shù)知識來設(shè)計并構(gòu)造計算機程序,研究和應(yīng)用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護(hù)這些程序所必需的相關(guān)文件資料,以及如何把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來而形成的一門獨立學(xué)科。軟件工程發(fā)展至今,主要經(jīng)歷了程序設(shè)計階段、軟件設(shè)計階段和軟件工程三個階段,是在程序和程序設(shè)計發(fā)展到一定規(guī)模而形成的新興學(xué)科專業(yè)。
2 軟件工程研究內(nèi)容及實現(xiàn)目標(biāo)
軟件工程研究內(nèi)容和專業(yè)方向涵蓋軟件工程(SE)、計算機科學(xué)(CS)、計算機工程(CE)、信息系統(tǒng)(IS)、信息技術(shù)(IT)以及其他有待擴展的領(lǐng)域,是一個涵蓋多個學(xué)科領(lǐng)導(dǎo)而形成的獨立學(xué)科專業(yè)。其主要實現(xiàn)目標(biāo)是:用生命周期法、原型化方法、面向?qū)ο蟮溶浖_發(fā)方法,根據(jù)用戶描述的功能,給定的成本和進(jìn)度的前提下,開發(fā)出具有適用性、有效性、可修改性、可靠性、可理解性、可重用性、可移植性、可追蹤性、可維護(hù)性、可互操作性和滿足用戶需求的軟件產(chǎn)品,在教育、科研、企業(yè)生產(chǎn)及人們生活中發(fā)揮重要作用,是信息化發(fā)展的基礎(chǔ)。
3 軟件工程所處學(xué)科地位
軟件工程隨著行業(yè)需求增長,正在蓬勃發(fā)展,“十一五”時期,我國軟件和信息技術(shù)服務(wù)業(yè)持續(xù)快速發(fā)展,年均增速達(dá)28.3%,具有廣闊的就業(yè)前景。軟件工程作為一級學(xué)科,學(xué)科同時涵蓋科學(xué)與工程兩個方面,從軟件系統(tǒng)的可信性度量和演化的基本規(guī)律出發(fā),研究現(xiàn)代軟件系統(tǒng)面臨的復(fù)雜性、開放性、演化性等挑戰(zhàn)性問題,同時立足軟件工程應(yīng)用和產(chǎn)業(yè)發(fā)展需求,研究提高軟件開發(fā)效率和質(zhì)量的方法、技術(shù)和工具。注重向下拓展軟件工程理論基礎(chǔ)研究,向上拓展軟件服務(wù)應(yīng)用研究。為了適用市場對專業(yè)化、高素質(zhì)的人才需求,很多高校把軟件專業(yè)從計算機科學(xué)與技術(shù)學(xué)院分離出來,專門設(shè)立獨立的軟件(技術(shù))學(xué)院,來滿足該行業(yè)不斷增長的各層次人才需求。專業(yè)層次從本科、研究生到博士,具有完整、規(guī)范的專業(yè)體系和延續(xù)性,在各大高校專業(yè)學(xué)科中占據(jù)重要地位。
4 軟件工程專業(yè)發(fā)展現(xiàn)狀及發(fā)展趨勢
軟件工程的產(chǎn)生源于“軟件危機”暴發(fā),計算機的硬件不斷更新升級,大容量、高速度的計算機層出不窮,傳統(tǒng)落后的軟件生產(chǎn)方式無法滿足操作系統(tǒng)的發(fā)展以及迅速增長的計算機軟件需求。軟件危機所暴露的軟件開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題,迫使人們不得不研究、改變軟件開發(fā)的技術(shù)手段和管理方法,在計算機軟硬件發(fā)展的相互作用下,并逐步形成如今獨立的軟件工程學(xué)科。
4.1 我國軟件工程發(fā)展現(xiàn)狀。從20世紀(jì)60年代末至今,軟件工程的發(fā)展經(jīng)歷了初始階段(萌芽階段)、形成階段(成長階段)和軟件工程化技術(shù)運用與研究(工程學(xué)引入后)3個階段。在40多年的發(fā)展中,在市場環(huán)境和需求的驅(qū)動下,部分國家的軟件工程已經(jīng)形成了軟件產(chǎn)業(yè)化發(fā)展態(tài)勢。
而我國軟件工程的發(fā)展起步較晚,2002年,各大高校才陸續(xù)開設(shè)有軟件工程專業(yè)課程,軟件人才培養(yǎng)落后。目前為止,軟件研發(fā)未能形成團隊化、產(chǎn)業(yè)化,規(guī)模化發(fā)展,無法形成產(chǎn)業(yè)規(guī)模。在面對國內(nèi)市場每年對軟件人才的需求高達(dá)80萬,而各高校計算機專業(yè)畢業(yè)生中的軟件工程人才還很缺乏,高素質(zhì)的軟件工程人才在國內(nèi)尤為短缺。
“十二五”時期,中央頒布了國發(fā)[2011]4號《國務(wù)院關(guān)于印發(fā)進(jìn)一步鼓勵軟件產(chǎn)業(yè)和集成電路產(chǎn)業(yè)發(fā)展若干政策的通知》,迎來了我國軟件和信息技術(shù)服務(wù)業(yè)加快發(fā)展和提升的重要戰(zhàn)略機遇期,這將促使我國軟件產(chǎn)業(yè)的深入發(fā)展。
4.2 軟件工程發(fā)展趨勢。隨著全球化的軟件產(chǎn)業(yè)發(fā)展更迭,在市場競爭壓力下,軟件工程的發(fā)展趨勢正向模塊化、開放計算、合理的開發(fā)治理、全球化軟件協(xié)作交付等方面發(fā)展。
模塊化:即通過抽象、封裝、分解、層次化等基本的科學(xué)方法,對各種軟件構(gòu)件和軟件應(yīng)用進(jìn)行打包,基于此思想提出的有SOA技術(shù)。模塊化的優(yōu)點在于,可把一個復(fù)雜的龐大系統(tǒng)分解成若干個相地獨立的子系統(tǒng),有利于開發(fā)者專注于某一功能的開發(fā),最大優(yōu)點在于具有獨立的功能并在系統(tǒng)中運轉(zhuǎn),同時提供不同的接口供系統(tǒng)的其他模塊調(diào)用,在系統(tǒng)的升級更新中只需替換相應(yīng)模塊就能實現(xiàn)系統(tǒng)的升級而不影響到整個系統(tǒng)的運行,通用的模塊子系統(tǒng)還可供其他系統(tǒng)直接“拿來”使用,而不必重新開發(fā)。
開放計算:開放計算的核心是“開放標(biāo)準(zhǔn)”、“開放架構(gòu)”、“開源軟件”,利用開放的資源讓更多的軟件工程集成在一起,形成互連互通的軟件開發(fā)標(biāo)準(zhǔn),從而打破文化、語言等界線,實現(xiàn)軟件開發(fā)的協(xié)作交流。Linux、Jazz、Android等軟件的開源,促進(jìn)了開放計算的發(fā)展,同時也在改變著軟件開發(fā)技術(shù)的格局。在互聯(lián)網(wǎng)普及的推動下,開放計算迎來了前所未有的機遇,它把原本分散的開發(fā)人員通過互聯(lián)網(wǎng)聚在一起,在合適的基礎(chǔ)和框架下,通過集體的智慧,能高效的開發(fā)出更多、更優(yōu)秀的產(chǎn)品級的軟件。
合理的開發(fā)治理:建立有效的軟件開發(fā)團隊,根據(jù)用戶需求,用軟件工程的方法明確“做與不做”、“做什么”、“怎么做”,以此來定義軟件產(chǎn)品的功能,以保證軟件產(chǎn)品的質(zhì)量。如今,軟件系統(tǒng)越來越龐大,系統(tǒng)越來越復(fù)雜化,如何開發(fā)出一款滿足用戶需求的軟件產(chǎn)品?開發(fā)治理的目的在于協(xié)調(diào)開發(fā)團隊之間的關(guān)系,通過采集和分析軟件系統(tǒng)中的源代碼,揭示軟件系統(tǒng)中各項功能之間、功能與接口之間的相互依賴關(guān)系,去實現(xiàn)軟件變更質(zhì)量管控,最終開發(fā)出符合用戶需求描述的軟件產(chǎn)品,為客戶帶來預(yù)期價值。
全球化軟件開發(fā)協(xié)作:聚集全球化的分散人才和領(lǐng)先技術(shù),形成分布式的軟件開發(fā)團隊,以軟件外包或任務(wù)驅(qū)動等模式協(xié)作完成軟件產(chǎn)品,以此實現(xiàn)全球化的軟件開發(fā)、測試,軟件產(chǎn)品交付,全球軟件服務(wù)化等。同時,全球“軟件服務(wù)化”大潮也正在悄然改變軟件的制造、交付和應(yīng)用模式。
5 結(jié)束語
軟件工程由最初的程序設(shè)計發(fā)展成為一門學(xué)科,其成長時間雖然不長,但在短短的幾十年中發(fā)展中,雖存在技術(shù)創(chuàng)新、觀念創(chuàng)新、管理創(chuàng)新等不足之處,但其成就和貢獻(xiàn)是舉世矚目的。軟件工程在未來的發(fā)展道路上,將不斷完善創(chuàng)新,在不斷的積累迭代中,必將在各個領(lǐng)域發(fā)揮重要作用。
參考文獻(xiàn):
[1]陳云芳,孫力娟.件工程專業(yè)課程體系研究[J].高等工程教育研究,2009(02):141-143.
[2]金海.軟件工程發(fā)展趨勢綜述[J].華章,2003(17):320.
[3]陳佳聞.新一代軟件技術(shù)的發(fā)展趨勢[J].科技信息,2008(17).
[4]朱仲英,虞慧群.軟件技術(shù)發(fā)展趨勢研究[J].微型電腦應(yīng)用,2010(09).
[5]熊麗婷.淺談軟件工程的發(fā)展[J].科技經(jīng)濟市場,2010(02).
[6]徐祥運,賈銀山.軟件工程的發(fā)展與展望[J].自然辯證法研究,1998(06).
[7]鐘志永,姚珺.大學(xué)計算機應(yīng)用基礎(chǔ)[M].重慶:重慶大學(xué)出版社,2012:230-231.
[8]劉朝陽.軟件的黃金時代[M].北京:人民郵電出版社,2009.
作者簡介:張忠華(1978.02-),男,四川江油人,助理工程師,工程碩士,研究方向:軟件工程、工程管理。
作者單位:四川工程職業(yè)技術(shù)學(xué)院,四川德陽 618000