- 相關(guān)推薦
軟件工程總結(jié)與展望
軟件工程總結(jié)與展望【1】
軟件工程已經(jīng)走過了40年的路程,隨著全球網(wǎng)絡(luò)信息化時代的到來,正在邁入一個新的發(fā)展階段。
伴隨著軟件工程的發(fā)展進程,軟件工程教育在逐漸形成自己體系的同時,也需要不斷地更新和發(fā)展,以適應(yīng)和滿足社會對軟件工程人才提出的新要求。
因此,網(wǎng)絡(luò)時代為軟件工程教育的發(fā)展和成熟帶來了新的機遇和挑戰(zhàn)。
1. 軟件工程學科
眾所周知,軟件工程的概念是在1968年舉行的NATO會議上,為了解決“軟件危機”問題而提出的。
軟件工程在40年的發(fā)展歷程中,產(chǎn)生了許多有影響的方法、技術(shù)和工具,取得了廣泛的成功應(yīng)用和最佳實踐,在工業(yè)界獲得了普遍認可。
但是,軟件工程是否應(yīng)該成為一個獨立學科依然是一個頗有爭議的問題[1]。
在學術(shù)界,人們爭議的主要焦點集中在軟件工程與計算機科學之間的關(guān)系上,即二者是存在一定交集的兩個獨立部分,還是前者是后者的一個子集。
IEEE-CS/ACM在Computing Curricula 2005(CC2005)中對整個計算領(lǐng)域進行了不同學科的劃分,清楚地表明軟件工程與計算機科學是完全獨立的兩個學科,但是二者存在著大量的交叉[2]。
在工業(yè)界,人們往往忽略計算領(lǐng)域的學科劃分,從各自職業(yè)的角度對軟件工程有著不同的理解。
通常情況下,“工程師”資格在相關(guān)工程領(lǐng)域的許可范圍具有嚴格的界定,但是“軟件工程師”卻不相同,其職位和資格基本上是隨需而定的,缺乏一個統(tǒng)一的公認標準,在正規(guī)教育和職業(yè)認證中也很少關(guān)注這一點。
我國軟件工程專業(yè)的建設(shè)始于20世紀80年代初,90年代發(fā)展成為計算機軟件與理論二級學科下的一個專業(yè)方向。
近年來,伴隨著我國軟件行業(yè)的蓬勃發(fā)展,軟件工程專業(yè)正以驚人的速度發(fā)展壯大。
與此同時,部分高校專家提出了增設(shè)軟件工程一級學科的建議,以滿足軟件技術(shù)的快速發(fā)展、產(chǎn)業(yè)結(jié)構(gòu)的變革性調(diào)整、產(chǎn)業(yè)的逐步優(yōu)化升級等方面的迫切要求,進一步實現(xiàn)我國軟件產(chǎn)業(yè)人才培養(yǎng)的跨越式發(fā)展。
總之,無論是軟件工程領(lǐng)域的發(fā)展還是軟件工程學科的爭議,它們都反映出軟件工程是一個年輕而有活力的新生事物,具有被廣泛應(yīng)用和有待成熟的雙重特性。
軟件工程自始至終致力于解決軟件開發(fā)中的問題,正逐步呈現(xiàn)成熟發(fā)展的態(tài)勢。
2. 軟件工程教育計劃
在初期,軟件工程只是屬于計算機科學教育計劃的一門或多門課程,這些課程至今在計算機科學教育計劃中仍發(fā)揮著重要的作用。
20世紀70年代末期,美國在制定研究生教育計劃時采納了IEEE-CS提出的制定軟件工程教程的建議,為軟件工程教育打下了基礎(chǔ)。
在英國,最早的本科軟件工程教育計劃開始于1985年的英國皇家學院和1988年的謝菲爾德大學。
20世紀80年代末和90年代初,軟件工程教育得到卡內(nèi)基·梅隆大學軟件工程研究所(SEI)的發(fā)展和支持。
在調(diào)查軟件工程教育現(xiàn)狀的基礎(chǔ)上,卡內(nèi)基·梅隆大學建立了軟件工程碩士教育計劃(MSE),并組織和推動軟件工程教育者研討會,出版了研究生的軟件工程推薦教程。
1987年,SEI發(fā)起和資助了第一屆軟件工程教育和培訓(xùn)會議(CSEET),為軟件工程教育者提供了一個論壇,提出和討論軟件工程教育的觀點、方法和活動。
在1995年,作為軟件工程教育計劃的一部分,SEI建立了關(guān)于軟件工程教育和培訓(xùn)的一個工作組(WGSEET),致力于本科軟件工程教育計劃的研究和開發(fā)[3]。
1993年,IEEE-CS和ACM為把軟件工程建設(shè)成為一個專業(yè),建立了IEEE-CS/ACM聯(lián)合指導(dǎo)委員會。
隨后,該指導(dǎo)委員會被軟件工程協(xié)調(diào)委員會(SWECC)替代,開發(fā)了軟件工程職業(yè)道德規(guī)范、本科軟件工程教育計劃評價標準、軟件工程知識體系(SWEBOK)。
其中,SWEBOK全面描述了軟件工程實踐所需的知識,為開發(fā)本科軟件工程教育計劃打下了基礎(chǔ)。
2004年8月,全世界500多位來自大學、科研機構(gòu)和企業(yè)界的專家、教授經(jīng)過多年的努力,推出了軟件工程知識體系、軟件工程教育知識體系(SEEK)兩個文件的最終版本,標志著軟件工程學科在世界范圍正式確立,并在本科教育層次上迅速發(fā)展。
20世紀80年代初,我國開始探索軟件工程教育,部分高校面向研究生開設(shè)了軟件工程課程。
1984年和1985年,在原國家科委的支持下,北京大學和復(fù)旦大學分別舉辦了共四期軟件工程研究生班。
2001年,經(jīng)教育部和國家計委批準,全國成立了35所示范性軟件學院,后增加到37所。
各高校軟件學院為培養(yǎng)高層次、實用型、復(fù)合型、具有國際競爭力的軟件工程人才,開發(fā)了本科生和研究生軟件工程教育計劃。
2005年,教育部組織編寫了我國軟件工程專業(yè)規(guī)范,并于2006年成立了軟件工程專業(yè)教學指導(dǎo)分委員會。
這些舉措有效地促進了我國軟件工程學科的發(fā)展,標志著我國軟件工程教育開始走向成熟。
3. 軟件工程教育研究
在軟件工程教育的發(fā)展和成熟過程中,許多軟件工程教育團體開展了有意義的研究和推動工作。
目前,比較有影響的軟件工程教育國際會議包括CSEET、WGSEET、IEEE教育前沿會議、SIGCSE、ASEE年會等。
CSEET是一個軟件工程教育與培訓(xùn)會議,首次會議于1987年4月由卡內(nèi)基·梅隆大學SEI發(fā)起和舉辦,致力于軟件工程知識體系和教育計劃的研討和交流。
WGSEET是一個軟件工程教育與培訓(xùn)工作組,于1995年由卡內(nèi)基·梅隆大學SEI創(chuàng)建,探討軟件工程教育的研究與發(fā)展,與軟件工程教育與培訓(xùn)組織共享信息和最佳實踐方法;該組織于1999年提出了一個技術(shù)報告,為開發(fā)本科軟件工程教育計劃提供指導(dǎo)。
除美國外,還有許多國家和國際組織為提高軟件工程的教育地位,在一些軟件工程國際學術(shù)會議中設(shè)立軟件工程教育進展與跟蹤的研討內(nèi)容。
2006年,教育部組織成立了軟件工程專業(yè)教學指導(dǎo)分委員會,進一步開展我國軟件工程專業(yè)規(guī)范的研究與推廣工作。
該組織在2007年和2009年分別舉辦了兩屆全國高校軟件工程專業(yè)教育年會,旨在為高校軟件工程專業(yè)教學人員提供一個廣泛交流的平臺,共同探索高等學校軟件工程專業(yè)課程體系、教學質(zhì)量標準和評估體系的建設(shè),研討專業(yè)基礎(chǔ)和核心課程教學內(nèi)容體系、教學方法和教學手段的改革與創(chuàng)新,探討軟件工程專業(yè)實踐教學體系的建設(shè)與企業(yè)合作以及基于現(xiàn)代信息技術(shù)平臺的優(yōu)質(zhì)教學資源建設(shè)與共享等。
目前,該組織正在進行我國軟件工程專業(yè)規(guī)范的完善和修改工作。
4. 未來展望
信息社會不斷增長的軟件人才需求同教育供給(特別是優(yōu)質(zhì)專業(yè)教育)不足的矛盾,已成為軟件工程教育發(fā)展面臨的一個重要問題,解決問題的關(guān)鍵之一是需要在不斷的教學探索中摸索出一個具有中國特色的軟件工程教育思路和方法,形成一個正確的學科體系,從而保證教育質(zhì)量的不斷提高,使軟件工程教育得以健康穩(wěn)步地發(fā)展。
我國軟件工程教育應(yīng)該繼續(xù)推進軟件工程的學科建設(shè),進一步培養(yǎng)軟件工程博士,同時繼續(xù)開展高等學校與企業(yè)界的深度合作,培養(yǎng)一批軟件產(chǎn)業(yè)急需的網(wǎng)絡(luò)時代軟件工程高端人才,在軟件工程研究的基礎(chǔ)上,將最新的創(chuàng)新研究成果應(yīng)用到大型軟件項目的管理、設(shè)計和工程實施中,最終促進軟件工程創(chuàng)新團隊的形成和大批有市場競爭力的軟件創(chuàng)新成果和產(chǎn)品的產(chǎn)生。
在可預(yù)見的將來,軟件工程的人才需求仍將十分旺盛,軟件工程人才培養(yǎng)已成為我國搶占高技術(shù)領(lǐng)域制高點的關(guān)鍵因素。
因此,建設(shè)和發(fā)展我國軟件工程學科體系的時機已經(jīng)成熟,我們應(yīng)當在借鑒國外成果和總結(jié)國內(nèi)經(jīng)驗的基礎(chǔ)上,研究我國軟件工程人才的培養(yǎng)模式和教學改革,逐步形成具有自身特色的學科體系和人才培養(yǎng)模式,為我國經(jīng)濟社會的可持續(xù)發(fā)展奠定基礎(chǔ)。
軟件工程總結(jié)與展望【2】
哲學就是用簡單的說話來體現(xiàn)出隱含深層意義的道理,讓人們?nèi)ニ伎己腕w會。
哲學本身就是用來完善自己的精神修養(yǎng)和幫助他人完善思想的。
哲學的特征在于追問本質(zhì),不斷反思。
內(nèi)容上,哲學的反思對象無所不包;深度上,哲學的反思是無窮無盡的。
現(xiàn)實中,我們可以借用哲學的思維方式,但是不能照搬哲學的思維方式。
也即是說我們能夠直接關(guān)注的現(xiàn)實是具體而有限的,思維的不可封閉性使得我們在解決具體問題時不能進行無窮追問。
把哲學低估于現(xiàn)代科學是不負責任的,哲學隱藏在現(xiàn)實生活中的每一部分,它為我們提供了一種生活的方式,如果將哲學簡單的與現(xiàn)代科學相提并論,則成為了一種狹隘的唯科學主義。
“又是一年畢業(yè)時”,看到一批批學子離開人生的象牙塔,走上各自的工作崗位;想想自己也曾經(jīng)意氣風發(fā)、躊躇滿志,不覺感嘆萬千……本文是自己工作6年的經(jīng)歷沉淀或者經(jīng)驗提煉,希望對所有的軟件工程師們有所幫助,早日實現(xiàn)自己的人生目標。
本文主要是關(guān)于軟件開發(fā)人員如何提高自己的軟件專業(yè)技術(shù)方面的具體建議,前面幾點旨在確定大的方向,算是廢話吧。
謹以此文獻給那個自己為你奉獻3年青春與激情的開發(fā)團隊。
還有團隊成員:PPL、YT、YK 、TYF、LGL、CHL、CDY、CB、DPD。
1、 分享第一條經(jīng)驗:“學歷代表過去、能力代表現(xiàn)在、學習力代表未來。
”其實這是一個來自國外教育領(lǐng)域的一個研究結(jié)果。
相信工作過幾年、十幾年的朋友對這個道理有些體會吧。
但我相信這一點也很重要:“重要的道理明白太晚將抱憾終生!”所以放在每一條,讓剛剛畢業(yè)的朋友們早點看到哈!
2、 一定要確定自己的發(fā)展方向,并為此目的制定可行的計劃。
不要說什么,“我剛畢業(yè),還不知道將來可能做什么?”,“跟著感覺走,先做做看”。
因為,這樣的觀點會通過你的潛意識去暗示你的行為無所事事、碌碌無為。
一直做技術(shù),將來成為專家級人物?向管理方向走,成為職業(yè)經(jīng)理人?先熟悉行業(yè)和領(lǐng)域,將來自立門戶?還是先在行業(yè)里面混混,過幾年轉(zhuǎn)行做點別的?這很重要,它將決定你近幾年、十年內(nèi)“做什么事情才是在做正確的事情!”。
3、 軟件開發(fā)團隊中,技術(shù)不是萬能的,但沒有技術(shù)是萬萬不能的!在技術(shù)型團隊中,技術(shù)與人品同等重要,當然長相也比較重要哈,尤其在MM比較多的團隊中。
在軟件項目團隊中,技術(shù)水平是受人重視和尊重的重要砝碼。
無論你是做管理、系統(tǒng)分析、設(shè)計、編碼,還是產(chǎn)品管理、測試、文檔、實施、維護,多少你都要有技術(shù)基礎(chǔ)。
算我孤陋寡聞,我還真沒有親眼看到過一個外行帶領(lǐng)一個軟件開發(fā)團隊成功地完成過軟件開發(fā)項目,哪怕就一個,也沒有看到。
倒是曾經(jīng)看到過一個“高學歷的牛人”(非技術(shù)型)帶一堆人做完過一個項目,項目交付的第二天,項目組成員扔下一句“再也受不了啦!”四分五裂、各奔東西。
那個項目的“成功度”大家可想而知了。
4、 詳細制定自己軟件開發(fā)專業(yè)知識學習計劃,并注意及時修正和調(diào)整(軟件開發(fā)技術(shù)變化實在太快)。
請牢記:“如果一個軟件開發(fā)人員在1、2年內(nèi)都沒有更新過自己的知識,那么,其實他已經(jīng)不再屬于這個行業(yè)了。
”不要告訴自己沒有時間。
來自時間管理領(lǐng)域的著名的“三八原則”告誡我們:另外的那8小時如何使用將決定你的人生成敗!本人自畢業(yè)以來,平均每天實際學習時間超過2小時。
5、 書籍是人類進步的階梯,對軟件開發(fā)人員尤其如此。
書籍是學習知識的最有效途徑,不要過多地指望在工作中能遇到“世外高人”,并不厭其煩地教你。
對于花錢買書,我個人經(jīng)驗是:千萬別買國內(nèi)那幫人出的書!我買的那些家伙出的書,!00%全部后悔了,無一本例外。
更氣憤的是,這些書在二手市場的地攤上都很難賣掉。
“擁有書籍并不表示擁有知識;擁有知識并不表示擁有技能;擁有技能并不表示擁有文化;擁有文化并不表示擁有智慧。
”只有將書本變成的自己智慧,才算是真正擁有了它。
6、 不要僅局限于對某項技術(shù)的表面使用上,哪怕你只是偶爾用一、二次。
“對任何事物不究就里”是任何行業(yè)的工程師所不應(yīng)該具備的素質(zhì)。
開發(fā)Windows應(yīng)用程序,看看Windows程序的設(shè)計、加載、執(zhí)行原理,分析一下PE文件格式,試試用SDK開發(fā)從頭開發(fā)一個Windows應(yīng)用程序;用VC++、Delphi、Java、.Net開發(fā)應(yīng)用程序,花時間去研究一下MFC、VCL、J2EE、.Net它們框架設(shè)計或者源碼;除了會用J2EE、JBoss、Spring、Hibernate等等優(yōu)秀的開源產(chǎn)品或者框架,抽空看看大師們是如何抽象、分析、設(shè)計和實現(xiàn)那些類似問題的通用解決方案的。
試著這樣做做,你以后的工作將會少遇到一些讓你不明就里、一頭霧水的問題,因為,很多東西你“知其然且知其所以然”!
7、 在一種語言上編程,但別為其束縛了思想。
“代碼大全”中說:“深入一門語言編程,不要浮于表面”。
深入一門語言開發(fā)還遠遠不足,任何編程語言的存在都有其自身的理由,所以也沒有哪門語言是“包治百病”的“靈丹妙藥”。
編程語言對開發(fā)人員解決具體問題的思路和方式的影響與束縛的例子俯拾皆是。
我的經(jīng)驗是:用面對對象工具開發(fā)某些關(guān)鍵模塊時,為什么不可以借鑒C、C51、匯編的模塊化封裝方式?用傳統(tǒng)的桌面開發(fā)工具(目前主要有VC++、Delphi)進行系統(tǒng)體統(tǒng)結(jié)構(gòu)設(shè)計時,為什么不可以參考來自Java社區(qū)的IoC、AOP設(shè)計思想,甚至借鑒像Spring、Hibernate、JBoss等等優(yōu)秀的開源框架?在進行類似于實時通信、數(shù)據(jù)采集等功能的設(shè)計、實現(xiàn)時,為什么不可以引用來自實時系統(tǒng)、嵌入式系統(tǒng)的優(yōu)秀的體系框架與模式?為什么一切都必須以個人、團隊在當然開發(fā)語言上的傳統(tǒng)或者經(jīng)驗來解決問題???“他山之石、可以攻玉”。
8、 養(yǎng)成總結(jié)與反思的習慣,并有意識地提煉日常工作成果,形成自己的個人源碼庫、解決某類問題的通用系統(tǒng)體系結(jié)構(gòu)、甚至進化為框架。
眾所周知,對軟件開發(fā)人員而言,有、無經(jīng)驗的一個顯著區(qū)別是:無經(jīng)驗者完成任何任務(wù)時都從頭開始,而有經(jīng)驗者往往通過重組自己的可復(fù)用模塊、類庫來解決問題(其實這個結(jié)論不應(yīng)該被局限在軟件開發(fā)領(lǐng)域、可以延伸到很多方面)。
這并不是說,所有可復(fù)用的東西都必須自己實現(xiàn),別人成熟的通過測試的成果也可以收集、整理、集成到自己的知識庫中。
但是,最好還是自己實現(xiàn),這樣沒有知識產(chǎn)權(quán)、版權(quán)等問題,關(guān)鍵是自己實現(xiàn)后能真正掌握這個知識點,擁有這個技能。
9、 理論與實踐并重,內(nèi)外雙修。
工程師的內(nèi)涵是:以工程師的眼光觀察、分析事物和世界。
一個合格的軟件工程師,是真正理解了軟件產(chǎn)品的本質(zhì)及軟件產(chǎn)品研發(fā)的思想精髓的人(個人觀點、歡迎探討)。
掌握軟件開發(fā)語言、應(yīng)用語言工具解決工作中的具體問題、完成目標任務(wù)是軟件工程師的主要工作,但從軟件工程師這個角度來看,這只是外在的東西,并非重要的、本質(zhì)的工作。
學習、掌握軟件產(chǎn)品開發(fā)理論知識、軟件開發(fā)方法論,并在實踐中理解、應(yīng)用軟件產(chǎn)品的分析、設(shè)計、實現(xiàn)思想來解決具體的軟件產(chǎn)品研發(fā)問題,才是真正的軟件工程師的工作。
站在成熟理論與可靠方法論的高度思考、分析、解決問題,并在具體實踐中驗證和修正這些思想與方式,最終形成自己的理論體系和實用方法論。
10、心態(tài)有多開放,視野就有多開闊。
不要抱著自己的技術(shù)和成果,等到它們都已經(jīng)過時變成垃圾了,才拿出來丟人現(xiàn)眼。
請及時發(fā)布自己的研究成果:開發(fā)的產(chǎn)品、有創(chuàng)意的設(shè)計或代碼,公布出來讓大家交流或者使用,你的成果才有進化和升華的機會。
想想自己2000年間開發(fā)的那些Windows系統(tǒng)工具,5、6年之后的今天,還是那個樣子,今天流行的好多Windows系統(tǒng)工具都比自己的晚,但進化得很好,且有那么多用戶在使用。
并且,不要保守自己的技術(shù)和思想,盡可能地與人交流與分享,或者傳授給開發(fā)團隊的成員。
“與人交換蘋果之后,每個人還是只有一個蘋果;但交換思想之后,每個人都擁有兩種思想”,道理大家都懂,但有多少人真正能做到呢?
11、盡量參加開源項目的開發(fā)、或者與朋友共同研制一些自己的產(chǎn)品,千萬不要因為沒有錢賺而不做。
網(wǎng)絡(luò)早已不再只是“虛擬世界”,網(wǎng)上有很多的開源項目、合作開發(fā)項目、外包項目,這都是涉獵工作以外的知識的絕好機會,并且能夠結(jié)識更廣的人緣。
不要因為工作是做ERP,就不去學習和了解嵌入式、實時、通信、網(wǎng)絡(luò)等方面的技術(shù),反過來也是一樣。
如果當他別人拿著合同找你合作,你卻這也不會,那也不熟時,你將后悔莫及。
12、書到用時方恨少,不要將自己的知識面僅僅局限于技術(shù)方面。
諾貝爾經(jīng)濟學獎得主西蒙教授的研究結(jié)果表明: “對于一個有一定基礎(chǔ)的人來說,他只要真正肯下功夫,在6個月內(nèi)就可以掌握任何一門學問。
”教育心理學界為感謝西蒙教授的研究成果,故命名為西蒙學習法。
可見,掌握一門陌生的學問遠遠沒有想想的那么高難、深奧。
多方吸取、廣泛涉獵。
極力夯實自己的影響圈、盡量擴大自己的關(guān)注圈。
財務(wù)、經(jīng)濟、稅務(wù)、管理等等知識,有空花時間看看,韜光養(yǎng)晦、未雨綢繆。
13、本文的總結(jié)與反思:
A:不要去做技術(shù)上的高手,除非你的目標如此。
雖然本文是關(guān)于提高軟件開發(fā)知識的建議,做技術(shù)的高手是我一向都不贊同的。
你可以提高自己的專業(yè)知識,但能勝任工作即止。
B:提高軟件知識和技術(shù)只是問題的表面,本質(zhì)是要提高自己認識問題、分析問題、解決問題的思想高度。
軟件專業(yè)知識的很多方法和原理,可以很容易地延伸、應(yīng)用到生活的其它方面。
C:在能勝任工作的基礎(chǔ)上,立即去涉獵其它領(lǐng)域的專業(yè)知識,豐富自己的知識體系、提高自己的綜合素質(zhì),尤其是那些目標不在技術(shù)方面的朋友。
【軟件工程總結(jié)與展望】相關(guān)文章:
論文總結(jié)與展望11-10
總結(jié)2022展望2023工作總結(jié),工作總結(jié)展望01-18
展望工作總結(jié)09-04
工作總結(jié)及展望07-09
總結(jié)展望作文范文04-28
銷售總結(jié)展望范文05-27
工作總結(jié)與展望11-19
論文的總結(jié)和展望10-08
關(guān)于論文總結(jié)與展望11-10
總結(jié)2016展望201710-05