前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的軟件開發(fā)工程師主題范文,僅供參考,歡迎閱讀并收藏。
【關(guān)鍵詞】 軟件工程技術(shù);工程方法;軟件復(fù)用;軟件構(gòu)件;軟件生產(chǎn)線
0 引言
在軟件工程技術(shù)的選擇中,軟件復(fù)用曾是一個技術(shù)性的難題,困擾著軟件工程的發(fā)展。經(jīng)過近年來的努力,該技術(shù)不斷實現(xiàn)突破,為工業(yè)化生產(chǎn)提供了依據(jù)和支持。但在生產(chǎn)實踐中,其應(yīng)用與理論研究還存在一定的差異,還需要進一步研究。本文將進行軟件工程方法、構(gòu)件技術(shù)、生產(chǎn)線技術(shù)的探究,分析軟件工程技術(shù)領(lǐng)域的新問題、新發(fā)展。
1 軟件工程方法
1.1 面向過程的軟件工程方法
面向過程的軟件工程方法是現(xiàn)代工程方法中一種較為傳統(tǒng)的工程方法,運用了結(jié)構(gòu)化的分析、設(shè)計、程序開發(fā)技術(shù),采用數(shù)據(jù)流圖作為功能模型的建模工具,具有較強的可讀性和維護性,并且在軟件的開發(fā)設(shè)計過程中根據(jù)工作性質(zhì)的不同分階段開發(fā)。
面向過程的軟件工程方法在軟件的開發(fā)過程中,需要進行七個階段的研究。第一是問題定義,即根據(jù)實際情況確定好系統(tǒng)的性質(zhì)、規(guī)模、需要達到什么樣的目標(biāo)、實現(xiàn)什么樣的狀態(tài)。第二是可行性研究,通過經(jīng)濟、技術(shù)、社會效益、法律、操作實況等方面分析該次開發(fā)是否可行,如果不可行存在哪些問題需要改進;如果可行制定詳細(xì)的項目開發(fā)技術(shù)并預(yù)測風(fēng)險及解決方案。第三是需求分析,該階段需要通過數(shù)據(jù)流程圖建立模型并分析所建系統(tǒng)的功能。第四是總體設(shè)計階段,根據(jù)分析階段的模型分析結(jié)果映射成軟件的結(jié)構(gòu)圖,進行總體結(jié)構(gòu)方案的設(shè)計。第五是詳細(xì)的設(shè)計階段,需要為每個軟件的模塊設(shè)計界面和算法。第六個階段為將算法轉(zhuǎn)化為源代碼即進行編碼。第七個階段為對系統(tǒng)進行全面的測試工作,包括單元、集成、確認(rèn)、系統(tǒng)測試。
1.2 面向?qū)ο蟮能浖こ谭椒?/p>
面向?qū)ο蟮能浖こ谭椒ㄊ且环N現(xiàn)代的軟件工程方法,分析的基本單位為對象,將問題中的物理實體或者概念進一步抽象為具有屬性和方法的對象,并將類似的對象抽象為一類,利用繼承關(guān)系,通過面向?qū)ο蟮姆治?、設(shè)計、信息交流,實現(xiàn)該技術(shù)。在軟件的開發(fā)過程中,通過對象模型、功能模型、動態(tài)模型的建立,實現(xiàn)各方面的需求,其中的動態(tài)模型一般通過活動圖、時序圖、狀態(tài)圖來實現(xiàn);然后通過系統(tǒng)高層結(jié)構(gòu)的建立,進行不同包的歸類并定義存儲方式,接著確定不同類中的服務(wù)和關(guān)聯(lián)實現(xiàn)的算法,最后利用程序編碼實現(xiàn)。該種方法在軟件的開發(fā)過程中可以實現(xiàn)光滑平穩(wěn)過渡,能夠進行無縫連接,通過活動圖可以實現(xiàn)算法及連接。
2 軟件工程技術(shù)的發(fā)展趨勢
2.1 軟件復(fù)用與軟件構(gòu)件
目前,軟件工程領(lǐng)域的研究重點主要集中于軟件復(fù)用和軟件構(gòu)件方面,構(gòu)件是軟件技術(shù)的基礎(chǔ)和核心,而復(fù)用是軟件開發(fā)的方法與手段,軟件的復(fù)用可以促使開發(fā)技術(shù)人員擺脫手寫代碼的低效工作模式,進行高層次的搭構(gòu)件的開發(fā)與應(yīng)用,是實現(xiàn)軟件工程工業(yè)化和規(guī)?;a(chǎn)的基礎(chǔ)與保證。
開發(fā)工具的創(chuàng)新是軟件構(gòu)件化的重要支撐,構(gòu)件和構(gòu)架的描述、構(gòu)件庫的管理、可重用構(gòu)件和構(gòu)架的獲取等方面的問題成為關(guān)注的熱點。在軟件體系結(jié)構(gòu)中主要使用的模型為Kruchten 提出的“4+1”模型 、COM/COM+模型、EJB模型,主要采用UML建模支持工具,構(gòu)建的組裝方式主要有對象、接口、插頭插座、面向連接等?;趶?fù)用軟件的新工具開發(fā)成為了國際軟件開發(fā)的新時尚,為規(guī)?;l(fā)展提供了技術(shù)動力和良好的成長環(huán)境。
建立不同層次的中間件平臺是對軟件重用的重要支撐,是構(gòu)建技術(shù)現(xiàn)實化的重要體現(xiàn)。軟件在中間平臺上被抽象、隔離后才會成為構(gòu)件,因此對軟件復(fù)用和軟件構(gòu)建中具有重要影響。中間件丟棄了業(yè)務(wù)邏輯的細(xì)節(jié),通過對應(yīng)用式分布的抽象實現(xiàn)協(xié)同工作,其開發(fā)設(shè)計以提高良好的運行環(huán)境為依托,面向需求,屏蔽多樣的系統(tǒng)資源,實現(xiàn)通用服務(wù)。制定中間件的工業(yè)化標(biāo)準(zhǔn)促進了構(gòu)件的應(yīng)用開發(fā),構(gòu)件指引了中間件產(chǎn)品的新發(fā)展,二者相輔相成促進軟件產(chǎn)業(yè)鏈的發(fā)展。
標(biāo)準(zhǔn)化是軟件行業(yè)發(fā)展的必要條件和基礎(chǔ),軟件標(biāo)準(zhǔn)和軟件過程標(biāo)準(zhǔn)是標(biāo)準(zhǔn)化的兩個重要方面,其是否完善直接關(guān)系著軟件工程的成熟與否。目前應(yīng)用的兩大標(biāo)準(zhǔn)框架分別是由國際標(biāo)準(zhǔn)化組織和美國國防部提出的,通過軟件的一些必要標(biāo)準(zhǔn)來支持工程中的離散活動和連續(xù)活動。而我國的標(biāo)準(zhǔn)化進程較為緩慢,需要密切關(guān)注國內(nèi)外制定規(guī)范,制定適合我國國情的軟件工程標(biāo)準(zhǔn),其發(fā)展趨勢為基于軟件周期的標(biāo)準(zhǔn)化包括開發(fā)流程、開發(fā)環(huán)境、專用工具系統(tǒng)的標(biāo)準(zhǔn)化。進一步實現(xiàn)構(gòu)件技術(shù)準(zhǔn)化和生產(chǎn)標(biāo)準(zhǔn)化,將為軟件工程的推進提供技術(shù)依據(jù)。
2.2 軟件產(chǎn)品線
軟件產(chǎn)品線是軟件企業(yè)進行軟件復(fù)用的一種重要手段,可以幫助企業(yè)進行公共軟件庫得維護,并在開發(fā)過程中實現(xiàn)復(fù)用。軟件產(chǎn)品線進行軟件重用的出發(fā)點位體系結(jié)構(gòu)或領(lǐng)域模型,在國內(nèi)外很多的知名企業(yè)都實現(xiàn)了軟件生產(chǎn)線的設(shè)置,尤其是一些發(fā)達國家由于發(fā)展較早,技術(shù)已經(jīng)相對較為成熟對,很多的軟件公司通過對面向單一軟件產(chǎn)品開發(fā)系統(tǒng)的擴展,對傳統(tǒng)的軟件工具和技術(shù)進行了創(chuàng)新,實現(xiàn)了軟件產(chǎn)品的大規(guī)模定制生產(chǎn),提高了軟件系統(tǒng)的可信性,并形成了技術(shù)壁壘,提高了公司的核心競爭力。
3 結(jié)束語
在軟件的開發(fā)應(yīng)用實踐中,從工程方法的選擇、工程技術(shù)的實現(xiàn)到生產(chǎn)實踐的形成都發(fā)生新的轉(zhuǎn)變。在工程方法選擇中,將面向過程的軟件工程方法與面向?qū)ο蟮墓こ谭椒ㄏ嗷ソY(jié)合,取長補短實現(xiàn)軟件開發(fā)的技術(shù)精湛,軟件的可讀性和維護性強。在工程技術(shù)的選擇中,注重構(gòu)件技術(shù)的應(yīng)用,通過最基本的構(gòu)件來搭建系統(tǒng),實現(xiàn)了軟件復(fù)用,通過中間件和標(biāo)準(zhǔn)化完善軟件構(gòu)件系統(tǒng),促使軟件行業(yè)向著工業(yè)化、規(guī)?;?、標(biāo)準(zhǔn)化方向邁進,形成軟件產(chǎn)業(yè)的良好競爭環(huán)境。在生產(chǎn)實踐過程中,軟件生產(chǎn)線的開發(fā)使用,為工業(yè)化生產(chǎn)提供了新的技術(shù)支撐,改善了體系結(jié)構(gòu),實現(xiàn)了軟件系統(tǒng)的動態(tài)行為和結(jié)果超預(yù)期目標(biāo)發(fā)展的良好勢頭。軟件生產(chǎn)線和構(gòu)件技術(shù)結(jié)合是軟件工程的重要實踐方向,實現(xiàn)軟件利用的最大化,是現(xiàn)在振興軟件產(chǎn)業(yè)的重要方面,還需要大家的共同努力。
參考文獻
[1] 楊芙清.軟件工程技術(shù)發(fā)展思索[J].Journal of Software,2005Vol.16, No.1.
[2] 張海藩.軟件工程導(dǎo)論[M].北京:清華大學(xué)出版社,2008.
[3] 黃震,顧毓清.一種基于思想的軟件分析模型[ J] .計算機工程,2009(1).
作者簡介:
近些年,在軟件工程領(lǐng)域,軟件復(fù)用技術(shù)已經(jīng)取得了顯著的進步,并成為當(dāng)今軟件行業(yè)生產(chǎn)力提升的重要技術(shù)手段。本文首先對軟件開發(fā)中涉及到的基本概念進行了概述,然后介紹了面向過程和面向?qū)ο筮@兩種主要的軟件開發(fā)思想,最后分析了軟件工程技術(shù)的發(fā)展趨勢。
【關(guān)鍵詞】軟件開發(fā) 重用 中間件
長期以來,在軟件工程領(lǐng)域,包含代碼重用、模塊復(fù)用等在內(nèi)的軟件復(fù)用技術(shù)由于技術(shù)標(biāo)準(zhǔn)不統(tǒng)一、技術(shù)難題眾多的原因,發(fā)展速度十分緩慢。通過最近幾年的理論研究和軟件工程實踐,在該領(lǐng)域已經(jīng)取得了顯著的進展,有力的促進了軟件開發(fā)的工業(yè)化。然而,在實際開發(fā)過程中,還存在很多有待進一步研究和解決的問題。本文分析了當(dāng)今主要使用的軟件工程的思想、方法,并歸納了主要存在的問題和可以采取的措施。
1 軟件工程思想
1.1 面向過程的軟件開發(fā)思想
面向過程的軟件開發(fā)是軟件工程領(lǐng)域中的一個重要和傳統(tǒng)的思想,該設(shè)計和開發(fā)思想主要是通過對整個項目進行結(jié)構(gòu)化的規(guī)劃,基于數(shù)據(jù)流圖,逐步開發(fā)每一個功能構(gòu)件。遵循該思想進行的軟件開發(fā)一般有較好的閱讀性,同時能夠在開發(fā)過程中靈活的調(diào)整工期,劃分階段。
面向過程的軟件開發(fā)思想將整個開發(fā)過程劃分為七個環(huán)節(jié)。第一個環(huán)節(jié)稱為系統(tǒng)分析,即明確整個軟件要完成的功能目標(biāo)和實現(xiàn)的效果。第二個環(huán)節(jié)是可行性分析,軟件開發(fā)部門要基于其已有的技術(shù)積累、經(jīng)驗,相關(guān)的法律、法規(guī),經(jīng)濟利益、社會效益等各個方面的因素,決定該項目是否可行,如果項目具備可行性,則要對項目中存在的風(fēng)險進行分析和預(yù)測。第三個環(huán)節(jié)是軟件需求分析,在該環(huán)節(jié)要基于數(shù)據(jù)流程圖,形成針對整個系統(tǒng)的需求分析文檔。第四個環(huán)節(jié)是總體設(shè)計環(huán)節(jié),該環(huán)節(jié)主要是基于軟件需求分析的結(jié)果,映射結(jié)構(gòu)圖,并進一步形成總體設(shè)計方案。第五個環(huán)節(jié)是詳細(xì)設(shè)計環(huán)節(jié),該環(huán)節(jié)中要對總體設(shè)計環(huán)節(jié)中形成的各個功能進行詳細(xì)的模塊劃分,并明確各個模塊的功能和相互之間的接口。第六個環(huán)節(jié)是代碼實現(xiàn)環(huán)節(jié),即將前面總體設(shè)計和詳細(xì)設(shè)計的各個模塊通過合適的變成語言實現(xiàn)出來。第七個環(huán)節(jié)是測試環(huán)節(jié),在該環(huán)節(jié)中,要通過合理的測試方案和測試技術(shù),對整個軟件進行各種測試,盡量減少軟件當(dāng)中存在的漏洞。
1.2 面向?qū)ο蟮能浖_發(fā)思想
面向?qū)ο蟮能浖_發(fā)思想是近些年被提出來的,隨著軟件工程項目的日趨復(fù)雜和龐大,該思想已經(jīng)被行業(yè)內(nèi)的軟件開發(fā)人員廣泛接受。該思想的核心是將軟件開發(fā)過程中涉及到的客觀實體或概念通過抽象映射為包含基本數(shù)據(jù)和功能函數(shù)的對象,具有相同屬性和方法的對象的集合稱為類??紤]到實體或概念之間的共性和差異,面向?qū)ο笏枷胍肓死^承的概念,實現(xiàn)了代碼的重用。在遵循該思想開展的軟件開發(fā)活動當(dāng)中,開發(fā)人員一般會分析涉及到的實體、概念以及他們之間的關(guān)系,進而設(shè)計對象、類和抽象、繼承關(guān)系,最終通過支持面向?qū)ο蟮淖兂烧Z言來實現(xiàn)項目開發(fā)的目標(biāo)。利用該思想進行軟件項目的開發(fā)可以有效的提高代碼的重用性,支持模塊化開發(fā),降低內(nèi)部代碼的耦合性和軟件維護的難度。
2 軟件工程技術(shù)的發(fā)展趨勢
2.1 軟件復(fù)用與軟件中間件開發(fā)
我們知道,隨著軟件項目規(guī)模的不斷增大,功能目標(biāo)日趨復(fù)雜,完全的從頭開發(fā)無疑會效率地下,浪費人力和財力資源。通過軟件復(fù)用,合理利用以往開發(fā)的項目中形成的代碼,可以有效的提高開發(fā)效率,而軟件的中間件開發(fā)技術(shù)正式軟件復(fù)用的核心和基礎(chǔ)。
在軟件的中間件開發(fā)技術(shù)發(fā)展過程中,開發(fā)環(huán)境、構(gòu)件庫管理技術(shù)、架構(gòu)設(shè)計思想等方面的革新是至關(guān)重要的因素。目前,國際上對于支持軟件復(fù)用技術(shù)的開發(fā)環(huán)境的研究和開發(fā)已經(jīng)成為了一個熱點問題,該方面取得的進展極大的促進了軟件復(fù)用的便捷性和易用性。
軟件復(fù)用的一個重要方面是形成完善的中間件體系。一般來說,中間件不考慮具體的、詳細(xì)的業(yè)務(wù)處理方法,只是通過抽象思想保證分布式工作和基本功能、接口的定義。中間件的開發(fā)很大程度上依賴一個便捷高效的運行環(huán)境。此外,在軟件行業(yè)發(fā)展過程中,要充分重視標(biāo)準(zhǔn)化工作。目前行業(yè)中被普遍接受到的兩個標(biāo)準(zhǔn)分別石油國際標(biāo)準(zhǔn)化組織和美國提出,我國國內(nèi)的標(biāo)準(zhǔn)化工作還有待進一步提高,需要我們的不懈努力來共同解決軟件復(fù)用和中間件的開發(fā)。
2.2 軟件產(chǎn)品線技術(shù)
軟件產(chǎn)品線技術(shù)一般表現(xiàn)為一個產(chǎn)品不斷推出新版本、新功能。通過該技術(shù),能夠有效的改善軟件維護狀態(tài),同時,在產(chǎn)品升級過程中可以有效的利用已有的軟件框架和代碼,提高開發(fā)效率。目前,在國外很多軟件公司的產(chǎn)品開發(fā)中均采用了該思想,以模塊化思想為指導(dǎo),通過模塊化和構(gòu)件化的形式,形成了完善高效的軟件開發(fā)技術(shù)流程,提高了軟件開發(fā)的效率和利潤。
3 結(jié)束語
隨著軟件項目規(guī)模和復(fù)雜性的變化,軟件開發(fā)中的很多技術(shù)也在不斷出現(xiàn)和創(chuàng)新,在實際的開發(fā)過程中應(yīng)該根據(jù)項目特點和自身技術(shù)現(xiàn)狀,合理選擇技術(shù)。在現(xiàn)階段的軟件開發(fā)過程中,要充分利用構(gòu)件開發(fā)技術(shù)、產(chǎn)品線技術(shù)、軟件復(fù)用技術(shù),提高開發(fā)效率,不斷推動軟件產(chǎn)業(yè)的標(biāo)準(zhǔn)化和工業(yè)化進程。在生產(chǎn)實踐過程中,軟件生產(chǎn)線的開發(fā)使用,為工業(yè)化生產(chǎn)提供了新的技術(shù)支撐,改善了體系結(jié)構(gòu),實現(xiàn)了軟件系統(tǒng)的動態(tài)行為和結(jié)果超預(yù)期目標(biāo)發(fā)展的良好勢頭。軟件生產(chǎn)線和構(gòu)件技術(shù)結(jié)合是軟件工程的重要實踐方向,實現(xiàn)軟件利用的最大化是現(xiàn)在振興軟件產(chǎn)業(yè)的重要方面,還需要大家的共同努力。
參考文獻
[1]米晨,杜斌.軟件開發(fā)實踐中工程技術(shù)的探究[J].信息安全與技術(shù),2013,01:38-39.
[2]羅海麗.不同軟件工程方法在軟件開發(fā)實踐中的比較與整合[J].科技資訊,2010,07:29.
[3]王健,程虎.系統(tǒng)軟件開發(fā)過程中的軟件工程技術(shù)[J].計算機研究與發(fā)展,1996,04:263-271.
面向協(xié)作開發(fā)的軟件配置與變更實驗屬于我校軟件工程專業(yè)核心課《軟件開發(fā)過程實戰(zhàn)》,在第6學(xué)期開設(shè),該實驗是《軟件開發(fā)過程實戰(zhàn)》課程的最重要內(nèi)容之一。學(xué)生在實驗中針對真實的項目案例通過分組協(xié)作、精心設(shè)計以及完整的實踐過程,達到深刻理解軟件配置與變更管理的概念、熟練掌握相關(guān)軟件平臺與工具、切實增強動手能力與創(chuàng)新意識的目的。該實驗連同《軟件工程過程》等6門專業(yè)核心課程是軟件工程專業(yè)近年來進行的所有課程、教學(xué)方法和考試等改革的中心,自2010年以來得到了教育部、山東省以及學(xué)校的一系列教學(xué)和實驗改革項目的支持,共計十余項。
該實驗項目“打破課程界限”、將多門軟件工程核心課程知識融入一個完整的實驗過程,實現(xiàn)了以課本為中心到以實踐為中心的轉(zhuǎn)變,達到了課程指導(dǎo)實踐、理論知識在實踐中還原的教學(xué)效果。該實驗從2010年開設(shè)以來,已有軟件工程專業(yè)5界四百多名學(xué)生受益,學(xué)生的功能實踐能力和創(chuàng)新意識得到明顯提高,相關(guān)學(xué)生獲得省級以上科技活動獎勵四十多項;學(xué)生的就業(yè)率得到持續(xù)提升,從2009年的71.43%提升至2015年的98.7%,且就業(yè)層次明顯改善。該實驗及相關(guān)課程建設(shè)也得到了教育部相關(guān)專家的肯定,認(rèn)為我們施行的“基于項目的教育與學(xué)習(xí)”是實現(xiàn)軟件人才工程能力培養(yǎng)的重要途徑,是高校進行軟件工程教學(xué)改革發(fā)展的基本方向。該實驗項目作為《軟件開發(fā)過程實戰(zhàn)》的重要組成部分,在軟件工程專業(yè)培養(yǎng)方案中具有更加重要的地位,作為提高學(xué)生工程實踐能力和創(chuàng)新思維的重要實踐環(huán)節(jié)將長期存在。
一、實驗構(gòu)建的目的及意義
通過該面向協(xié)作開發(fā)的軟件配置與變更實驗的開設(shè),旨在達到以下主要目標(biāo):(1)加深學(xué)生對軟件配置與變更管理這一軟件工程專業(yè)重要知識域的理解與掌握,特別是通過實驗使學(xué)生明確區(qū)分并熟練掌握項目區(qū)域、時間線、迭代、流、組件、變更等核心概念及其相互之間的邏輯關(guān)系;(2)切實增強學(xué)生在協(xié)作式軟件開發(fā)過程中對軟件配置與變更理論的應(yīng)用能力,對相關(guān)工具平臺的熟練操作水平;(3)提高學(xué)生的團隊合作、團隊管理能力,培養(yǎng)學(xué)生自主學(xué)習(xí)、自主設(shè)計的能力以及腳踏實地、開拓創(chuàng)新的精神。
該實驗項目是我校軟件工程系列核心課程的重要實驗之一,通過該項目的建設(shè)不僅進一步完善實驗體系、規(guī)范實驗流程、提升實驗質(zhì)量,更將形成示范性的精品實驗,為本課程其他實驗以及類似課程實踐環(huán)節(jié)的建設(shè)提供有益的參考與借鑒。
二、實驗構(gòu)建的理念和設(shè)計思想
該實驗以CDIO工程教育理念為指導(dǎo),深入貫徹“做中學(xué)”原則和“基于項目的教育和學(xué)習(xí)”方法[1,2]。實驗過程把《軟件項目管理》、《軟件工程過程》、《軟件質(zhì)量工程》以及《軟件測試與維護》等4門課程中有關(guān)軟件配置與變更的知識點融入到一個完整的實踐過程中,要求學(xué)生在實驗中自行設(shè)計場景、踐行升華理論、增強動手能力[3]并培養(yǎng)協(xié)作和創(chuàng)新意識,從而解決了“工程理論來源于實踐,在實踐中還原”的教學(xué)難題。
該實驗設(shè)計包括一個逐步遞進、結(jié)構(gòu)完整的綜合實踐過程,學(xué)生隨著實驗的深入將逐步接受、運用相關(guān)的理論知識,并通過實驗總結(jié)實現(xiàn)對知識掌握、技術(shù)運用的提升,實驗方案的主要內(nèi)容設(shè)計包括:(1)軟件配置與變更場景設(shè)計,每個小組基于各自既定的項目案例,設(shè)計能夠涵蓋所有典型變更流程的場景及規(guī)劃;(2)軟件配置管理過程,依據(jù)規(guī)劃配置開發(fā)流和組件、基礎(chǔ)代碼等資源、團隊個人空間和開發(fā)任務(wù)等;(3)軟件變更實施過程,協(xié)作完成變更任務(wù)開發(fā)、代碼的交付與接受、檢入與檢出、沖突及解決等內(nèi)容;(4)軟件配置與變更的監(jiān)控過程,從團隊、成員個人、工作項和工件等角度進行項目的監(jiān)控;(5)實驗總結(jié),撰寫實驗報告,總結(jié)所用知識點及過程狀況等。
三、教學(xué)方法、手段及考核體系
1.團隊協(xié)作式實驗方式與企業(yè)標(biāo)準(zhǔn)化實驗流程。實驗中以學(xué)生意愿為主,組織學(xué)生建立了學(xué)生項目團隊,采取全員參與、角色扮演、協(xié)作學(xué)習(xí)、研論教學(xué)、交流共享等多種形式,使學(xué)生成為認(rèn)知的主體、知識的主動建構(gòu)者。參照企業(yè)模式組建的項目團隊,以學(xué)生自愿為原則,由學(xué)生按照4至5人的規(guī)模組成;每個學(xué)生都參與到團隊中,依據(jù)個人愿望和能力至少扮演一個團隊角色,在重點完成自己的職責(zé)任務(wù)基礎(chǔ)上,進行交流協(xié)作,使得每個人最終都達到課程的教學(xué)目標(biāo)。
制定了以企業(yè)標(biāo)準(zhǔn)化項目開發(fā)過程為主線的標(biāo)準(zhǔn)實驗流程,模擬實戰(zhàn)開發(fā),實現(xiàn)“以驗證實踐為中心到以實際項目為中心的轉(zhuǎn)變”。目標(biāo)是使學(xué)生能夠在近乎企業(yè)真實場景之下,使用行業(yè)先進的設(shè)計工具、開發(fā)環(huán)境進行實戰(zhàn)訓(xùn)練,系統(tǒng)化、規(guī)范化地實施學(xué)生工程能力培養(yǎng)。
2.先進的協(xié)作式軟件交付平臺。采用了業(yè)界最新的IBM Jazz軟件協(xié)作交付平臺,使得在實驗中學(xué)生團隊不同的角色和工作環(huán)節(jié)之間,工作任務(wù)能夠自動流轉(zhuǎn),工件信息自動傳遞,工作數(shù)據(jù)和過程自動記錄、自動收集和匯報,全生命周期的可追蹤性自動建立。從而使學(xué)生實現(xiàn)了軟件交付過程中人員、項目、工具和流程的整合。
3.過程化多角度的考核評價體系。實驗考核方法綜合考慮了學(xué)生實驗過程的平時表現(xiàn)(通過Jazz平臺)、分組答辯和實驗報告,過程監(jiān)控10%+分組答辯*50%+實驗報告*40%。其中“過程監(jiān)控”是通過IBM的Jazz平臺進行實時的監(jiān)控和評分;“分組答辯”是教師給本組一個分?jǐn)?shù),該組內(nèi),由項目經(jīng)理負(fù)責(zé)給該組成員打分,組員的平均分不能超過教師給該組打的分?jǐn)?shù);“實驗報告”根據(jù)文檔的完整性、規(guī)范性、系統(tǒng)性進行評分,反饋結(jié)果用于暑假小學(xué)期的軟件項目實訓(xùn)。
四、實驗設(shè)備和環(huán)境建設(shè)
實驗項目在“IBM軟件工程聯(lián)合實驗室”(與IBM共建)開展。近幾年,學(xué)校在實驗室建設(shè)方面投入了大量的資金,硬件設(shè)施得到了明顯改善,完全按照國家相關(guān)標(biāo)準(zhǔn)進行建設(shè)。軟件方面,我們購置了一整套IBM全程體驗軟件工程最佳實踐和協(xié)作的Jazz平臺來實施基于項目驅(qū)動的軟件配置與變更實驗,包括需求定義工具RRC和需求管理分析工具Doors;軟件建模分析工具RSA;測試管理平臺RQM、軟件功能自動化測試工具RFT、壓力測試工具RPT;協(xié)作平臺RTC。
同時,實驗室也非常注重文化和安全制度建設(shè)。強調(diào)合作與創(chuàng)新,美化實驗室的學(xué)習(xí)環(huán)境,突出濃郁的知識探索氛圍,培養(yǎng)學(xué)生良好的實驗習(xí)慣等。此外,也明確了所有實驗人員的崗位職責(zé),使得實驗室安全管理工作有章可循。
五、總結(jié)
作為我校軟件工程專業(yè)核心課《軟件開發(fā)過程實戰(zhàn)》最重要的內(nèi)容之一,面向協(xié)作開發(fā)的軟件配置與變更實驗在提高學(xué)生的工程實踐能力和創(chuàng)新意識方面起到了重要的作用,該實驗主要的創(chuàng)新點有以下幾個:
1.一體化實驗內(nèi)容設(shè)計、獨立的實驗實施過程。一方面,本實驗項目中進行的軟件配置與變更實驗內(nèi)容采用了本課程中一致的項目案例,做到全程一體化設(shè)計;另一方面,該項實驗又包含了完整的實驗環(huán)節(jié)和過程,具有相對獨立性,可單獨開設(shè)、獨立實施;
2.實驗方法和形式上,貫徹“基于項目的教學(xué)”和“開發(fā)驅(qū)動的實踐”,采用團隊式協(xié)作開發(fā)方式,實現(xiàn)了從以“課本為中心”到“以項目為中心”、以“課堂為中心”到“以項目開發(fā)為中心”、以“教師為中心”到“以學(xué)生為中心”的轉(zhuǎn)變,激發(fā)了學(xué)生自主學(xué)習(xí)和實踐的積極主動性,增強了學(xué)生的工程實踐能力。
3.實驗技術(shù)和手段上,引入了IBM的最新軟件交付平臺及配置與變更管理工具,采用Scrum敏捷過程模板和企業(yè)標(biāo)準(zhǔn)化的實踐流程,體現(xiàn)出較好的先進性和規(guī)范性。
關(guān)鍵詞:工作過程;軟件技術(shù);課程群
中圖分類號:G642.3文獻標(biāo)識碼:A文章編號:1002-4107(2014)07-0028-02
一、基于工作過程模式的課程群開發(fā)的目的
計算機軟件行業(yè)是朝陽行業(yè),也是知識體系更新最為頻繁的一個行業(yè)。如何能更好地向?qū)W生介紹新知識,跟蹤新技術(shù),為學(xué)生畢業(yè)以后工作、學(xué)習(xí)打下良好的基礎(chǔ),只有以軟件專業(yè)課程群改革與構(gòu)建為抓手。課程已經(jīng)成為高校人才培養(yǎng)的重要中心環(huán)節(jié),課程建設(shè)水平在很大程度上已經(jīng)決定了人才培養(yǎng)的質(zhì)量與規(guī)格。如何在課程教育環(huán)節(jié)中融入實踐因素,將工作與人才培養(yǎng)有效結(jié)合,是高校全面提升教學(xué)質(zhì)量的主要突破口。以構(gòu)建基于工作過程模式的課程群開發(fā)為基礎(chǔ),以工作任務(wù)分析作為出發(fā)點,從實際工作結(jié)構(gòu)中獲取課程結(jié)構(gòu),根據(jù)工作任務(wù)特點組織課程開發(fā)。以軟件開發(fā)就業(yè)崗位能力目標(biāo)的需求為依據(jù),確定明確、具體的知識目標(biāo);以課程目標(biāo)、崗位工作過程和認(rèn)知規(guī)律為依據(jù),組合課程任務(wù)模塊,設(shè)定課程任務(wù)內(nèi)容、教學(xué)項目;以能力訓(xùn)練項目作為課程目標(biāo)和課程任務(wù)內(nèi)容的載體;以真實的職業(yè)崗位活動實例作為訓(xùn)練素材,實現(xiàn)項目任務(wù)的職業(yè)仿真性;以項目任務(wù)為平臺,將軟件開發(fā)的職業(yè)能力需求分析、軟件開發(fā)的職業(yè)能力目標(biāo)、軟件開發(fā)的知識目標(biāo)、軟件開發(fā)課程任務(wù)模塊、軟件開發(fā)課程任務(wù)內(nèi)容五個核心要素有機整合,融為一體,構(gòu)建基于工作過程模式的軟件技術(shù)專業(yè)五位一體任務(wù)化專業(yè)課程群,最終實現(xiàn)“教學(xué)做”三者的有機融合和軟件技術(shù)人才的合理培養(yǎng)。
二、基于工作過程模式的課程群開發(fā)的基本思路
近幾年來,黑龍江工業(yè)學(xué)院軟件技術(shù)專業(yè)與多家軟件企業(yè)進行聯(lián)合,根據(jù)校企合作的經(jīng)驗,以基于工作過程模式對軟件技術(shù)專業(yè)的課程群進行了重新的構(gòu)思與設(shè)計。構(gòu)思的整體思路為:以企業(yè)實際工作任務(wù)為中心,將理論課程、實驗課程和實踐課程進行有效整合,打破以往傳統(tǒng)的以知識傳授為主要特征的課程群模式,將模式轉(zhuǎn)換成為以工作任務(wù)為中心,將實際項目融入課堂教學(xué)中,讓學(xué)生在完成具體、真實的軟件實踐項目的環(huán)節(jié)中,構(gòu)建相關(guān)課程的理論知識體系,并拓展其崗位相關(guān)的職業(yè)能力,同時訓(xùn)練其相關(guān)職業(yè)崗位技能。在設(shè)置專業(yè)核心課程時,要充分考慮到內(nèi)容要突出對學(xué)生職業(yè)崗位綜合技能的培養(yǎng),理論知識內(nèi)容的選取要以完成工作任務(wù)所要具備的知識為依據(jù),課程內(nèi)容的講解也要融入軟件專業(yè)相關(guān)的職業(yè)資格證書考取所對應(yīng)的知識體系、技術(shù)能力和技能的要求,其中任何項目的學(xué)習(xí)都要以工作過程中的案例為出發(fā)點,在教學(xué)環(huán)節(jié)中,要切實通過校企合作、校內(nèi)外實踐、實習(xí)基地等多種途徑,充分開發(fā)學(xué)習(xí)所需要的各類軟、硬件資源,為學(xué)生提供模擬企業(yè)真實工作環(huán)境的實踐機會。同時,要按照軟件技術(shù)專業(yè)人才培養(yǎng)的目標(biāo),因人、因材施教,制定出符合軟件市場需求的教學(xué)與實踐緊密融合的人才培養(yǎng)方案,要充分保證以能力培養(yǎng)為重點,以技能學(xué)習(xí)為核心,真正做到體現(xiàn)“基于工作過程模式”的原則。
三、基于工作過程模式的專業(yè)核心課程的開發(fā)
專業(yè)核心課程是指專業(yè)人才培養(yǎng)方案中最關(guān)鍵的一系列課程,是學(xué)生進行專業(yè)技能的培養(yǎng)基礎(chǔ)。依據(jù)軟件技術(shù)專業(yè)人才培養(yǎng)的工作過程,從實際工作崗位為出發(fā)點,對實際工作崗位所對應(yīng)的具體職業(yè)崗位綜合技能進行工作任務(wù)分析,首先要創(chuàng)建工作任務(wù),然后將獲得的工作任務(wù)轉(zhuǎn)換成為行動領(lǐng)域,再將行動領(lǐng)域轉(zhuǎn)換成為學(xué)習(xí)領(lǐng)域[1],最后依據(jù)轉(zhuǎn)換的學(xué)習(xí)領(lǐng)域確定軟件技術(shù)專業(yè)的專業(yè)核心課程。
(一)工作任務(wù)的創(chuàng)建
所謂工作過程是指在真正的企業(yè)里為了完成一件工作任務(wù)并獲得工作成果而進行的一項完整的工作程序,其中工作任務(wù)則是描述一項工作行為,它直接反映了職業(yè)崗位工作的內(nèi)容和形式。軟件技術(shù)專業(yè)人才培養(yǎng)宗旨是培養(yǎng)開發(fā)軟件產(chǎn)品的工作過程。開發(fā)軟件產(chǎn)品的過程一般是按照軟件生命周期來進行的,即把軟件開發(fā)的過程分解為需求分析階段、軟件設(shè)計階段、編碼及調(diào)試、軟件測試、運行與維護等任務(wù)。因此,為了創(chuàng)建軟件技術(shù)專業(yè)典型的工作任務(wù),我們分析了職業(yè)崗位目標(biāo)可能面對的控制臺應(yīng)用程序開發(fā)、GUI、WEB應(yīng)用程序開發(fā)、企業(yè)架構(gòu)應(yīng)用程序開發(fā)和移動服務(wù)軟件開發(fā)等五種工作過程所要包含的所有工作任務(wù),同時也考慮到Java和.NET兩種比較流行的開發(fā)平臺,最后進行歸納整理并得到了軟件技術(shù)專業(yè)的工作任務(wù)。
(二)工作任務(wù)轉(zhuǎn)換行動領(lǐng)域
行動領(lǐng)域是指在有意義的行動情境中相關(guān)聯(lián)的任務(wù)集合。根據(jù)實踐經(jīng)驗,我們把軟件技術(shù)專業(yè)人才培養(yǎng)過程劃分為27個工作任務(wù),通過對這些工作任務(wù)進行歸納總結(jié),最后確定了10個行動領(lǐng)域,如表1所示。
表1職業(yè)能力與工作任務(wù)、行動領(lǐng)域分解表
(三)行動領(lǐng)域轉(zhuǎn)換學(xué)習(xí)領(lǐng)域
學(xué)習(xí)領(lǐng)域是在面向21世紀(jì)的德國“雙元制”職業(yè)教育改革中誕生的一種新的課程方案,或稱課程模式,通過對行動領(lǐng)域的轉(zhuǎn)換,可以得到學(xué)習(xí)領(lǐng)域。任何一個學(xué)習(xí)領(lǐng)域都可以找到和其相對應(yīng)的行動領(lǐng)域[2]。通常情況下絕大多數(shù)的行動領(lǐng)域?qū)⒈晦D(zhuǎn)換成為單一的學(xué)習(xí)領(lǐng)域。根據(jù)行動領(lǐng)域在工作過程中的相關(guān)性以及存在的聯(lián)系,我們也可以將某些存在一定關(guān)系的行動領(lǐng)域合并為一個學(xué)習(xí)領(lǐng)域。如把學(xué)習(xí)領(lǐng)域中的面向?qū)ο蟪绦蛟O(shè)計與分析可以分解為需求分析與軟件設(shè)計兩個行動領(lǐng)域的相關(guān)內(nèi)容。同時對內(nèi)容比較多的行動領(lǐng)域可以進行拆分,通過拆分可以得到多個學(xué)習(xí)領(lǐng)域。如數(shù)據(jù)存儲結(jié)構(gòu)建立這一行動領(lǐng)域的內(nèi)容被分在軟件系統(tǒng)的數(shù)據(jù)庫設(shè)計與開發(fā)和文件存儲與設(shè)計兩個學(xué)習(xí)領(lǐng)域中學(xué)習(xí)。但是也有一些特殊的行動領(lǐng)域的內(nèi)容沒有被集中到某一個學(xué)習(xí)領(lǐng)域,而是被融入各個學(xué)習(xí)領(lǐng)域中,每個學(xué)習(xí)領(lǐng)域階段都可能存在。
(四)專業(yè)核心課程的確定
基于工作過程模式構(gòu)建的軟件技術(shù)專業(yè)課程群體系中的專業(yè)核心課程,將有效地幫助我們實施對應(yīng)學(xué)習(xí)領(lǐng)域中的具體案例教學(xué)過程。因此,專業(yè)核心課程必須要反映工作過程中的實際環(huán)節(jié),又要明確工作工程中的具體技術(shù)條件。學(xué)習(xí)領(lǐng)域所涉及的技術(shù)并不是單一的,但是我們可以通過一種具體的典型技術(shù)條件上的案例來進行學(xué)習(xí),就可以實現(xiàn)該學(xué)習(xí)領(lǐng)域所包含的職業(yè)崗位綜合技能的培養(yǎng)[3]。比如軟件系統(tǒng)的數(shù)據(jù)庫設(shè)計與開發(fā)學(xué)習(xí)領(lǐng)域中,所要涉及的技術(shù)條件雖然有My SQL、MS SQL、ORACLE、ACCESS、SYBASE等多種數(shù)據(jù)庫,但在這一學(xué)習(xí)領(lǐng)域?qū)?yīng)的專業(yè)核心課程中并不需要把所有的數(shù)據(jù)庫管理系統(tǒng)都系統(tǒng)地學(xué)習(xí)一遍,我們只是按照軟件產(chǎn)品開發(fā)過程中的具體要求,選擇其中一種數(shù)據(jù)庫技術(shù)作為數(shù)據(jù)管理工具就可以了。因此,在專業(yè)核心課程的設(shè)置過程中就安排了數(shù)據(jù)庫原理與SQL Server。按照工作過程模式,將學(xué)習(xí)領(lǐng)域確定所確定的軟件技術(shù)專業(yè)核心課程如表2所示。
表2專業(yè)核心課程設(shè)置表
開發(fā)基于工作過程模式的軟件技術(shù)專業(yè)課程群,是以培養(yǎng)高素質(zhì)技能型人才為目標(biāo),從實際工作任務(wù)進行分析,以職業(yè)崗位綜合技能為本位核心課程,按照軟件生命周期和軟件開發(fā)的具體工作過程進行課程群設(shè)置?;诠ぷ鬟^程模式的教學(xué)過程要真正全面地實施,還有很多工作需要改進和完善,比如基于工作過程模式的教學(xué)評價體系、所有課程群的教學(xué)大綱及其工作任務(wù)書、任務(wù)驅(qū)動的案例教材等多方面,同時還要注意改革教學(xué)方法和教學(xué)手段,注重培養(yǎng)學(xué)生的自學(xué)能力和自評能力。
參考文獻:
[1]鄭小蓉.基于工作過程的高職軟件課程體系改革的研究與實踐[J].計算機教育,2010,(8).
[2]吳建明.以工作過程為導(dǎo)向構(gòu)建高職軟件技術(shù)專業(yè)課程體系[J].計算機教育,2010,(11).
[3]郭祖華等.以工作過程為導(dǎo)向的高職軟件技術(shù)專業(yè)課程體系的研究與實踐[J].河南機電高等專科學(xué)校學(xué)報,2011,(3).
收稿日期:2013-11-14
1計算機軟件開發(fā)設(shè)計的方法
1.1面向?qū)ο箝_發(fā)設(shè)計
計算機運行中,存在設(shè)計的對象,軟件開發(fā)設(shè)計中采用面向?qū)ο蟮拈_發(fā)設(shè)計方法,目的是根據(jù)軟件對象的需要,設(shè)計開發(fā)的方案,結(jié)合對象的概念,設(shè)計軟件的功能,利用編程語言,實現(xiàn)軟件的功能化運行,同時按照對象的屬性,設(shè)計面向?qū)ο蟮能浖P?,?gòu)建對象之間的接口,最終按照對象的描述,表達軟件設(shè)計的結(jié)果。
1.2模塊化開發(fā)設(shè)計
軟件開發(fā)設(shè)計中的模塊化方法,是最為常用的一類,采取整體劃分成個體的方式,設(shè)計程序控制,構(gòu)建有層次的模塊,其可隱藏模塊化的設(shè)計程序,顯示部分接口。
1.3數(shù)據(jù)流開發(fā)設(shè)計
數(shù)據(jù)流在軟件開發(fā)設(shè)計中,掌握軟件信息流的特性,判斷并分析軟件的需求,利用數(shù)據(jù)庫確定軟件的形態(tài),基于數(shù)據(jù)流編寫出軟件的結(jié)構(gòu),維持軟件開發(fā)設(shè)計的獨立性。
2軟件開發(fā)設(shè)計中的常見難題
2.1需求定位不準(zhǔn)確
軟件開發(fā)工程師,在開發(fā)軟件前期,應(yīng)該準(zhǔn)確的定位軟件開發(fā)設(shè)計的需求,避免軟件設(shè)計的過程中出現(xiàn)問題。軟件的需求定位不準(zhǔn)確,很容易偏離軟件設(shè)計的方向,導(dǎo)致開發(fā)設(shè)計的軟件,達不到預(yù)期的標(biāo)準(zhǔn),在功能和性能上出現(xiàn)缺陷,不利于軟件開發(fā)設(shè)計的有效進行。
2.2缺乏成熟的測試
軟件開發(fā)設(shè)計完成后,需要進行相關(guān)的測試,確保軟件符合計算機的開發(fā)需要,致力于在測試環(huán)節(jié)中,發(fā)現(xiàn)軟件開發(fā)設(shè)計的缺陷,避免軟件運營時出現(xiàn)問題。實際軟件開發(fā)后,工程師忽略了測試的必要性,并沒有安排成熟的測試方法,或者直接將軟件在計算機中運行,通過運行找出問題,降低了軟件開發(fā)設(shè)計的性能和質(zhì)量,潛在很大的安全風(fēng)險。
2.3軟件工程化問題
軟件開發(fā)設(shè)計中的軟件工程化問題,是由軟件危機引起的,致使大量的軟件呈現(xiàn)工程化的生產(chǎn)方式,由此增加了不良軟件的占比。軟件工程化引起的開發(fā)難題有:(1)編程不完善,軟件開發(fā)工程師在編寫軟件程序時,遺漏程序或缺少腳本,軟件雖然能夠在計算機系統(tǒng)內(nèi)完成正常的功能操作,但是軟件質(zhì)量達不到規(guī)范標(biāo)準(zhǔn),增加了軟件運營時的維護量;(2)軟件開發(fā)設(shè)計完成后,直接進入運營狀態(tài),缺乏對應(yīng)的文檔資料,一旦軟件出現(xiàn)問題,無法查詢問題的根源;(3)軟件工程化,推進了軟件開發(fā)設(shè)計的速度,忽視了質(zhì)量控制的應(yīng)用,大批量的隱患軟件應(yīng)用到計算機系統(tǒng)內(nèi)。
2.4軟件開發(fā)環(huán)境缺陷
我國軟件開發(fā)設(shè)計中,缺乏正規(guī)的環(huán)境控制,受到環(huán)境缺陷的影響,軟件開發(fā)設(shè)計面臨著一系列的難題。例如:軟件開發(fā)環(huán)境缺陷,干擾了軟件開發(fā)的安全性,軟件開發(fā)設(shè)計中,有可能存在病毒插件或惡意程序,無法保障軟件的安全性,此時軟件的開發(fā)設(shè)計會處于被動的狀態(tài)中,影響了軟件開發(fā)設(shè)計的效益。
3軟件開發(fā)設(shè)計常見難題的對策
3.1準(zhǔn)確的需求定位
軟件開發(fā)設(shè)計時,不僅要做好準(zhǔn)確的測量定位,更重要的是著重分析軟件開發(fā)的需求和目的,細(xì)化軟件開發(fā)和設(shè)計的需求,預(yù)防出現(xiàn)定位不準(zhǔn)確的情況。工程師在開發(fā)軟件前期,應(yīng)該提前制定軟件開發(fā)的方案,方案中包含軟件設(shè)計的程序、目標(biāo)等,要求工程師嚴(yán)格按照方案落實開發(fā)的方法進行,規(guī)范開發(fā)設(shè)計的整個過程,最主要的是按照需求定位開發(fā)的過程,找準(zhǔn)軟件開發(fā)設(shè)計的點,促使軟件開發(fā)設(shè)計具備實踐性的優(yōu)勢,體現(xiàn)需求定位的重要性。
3.2深化測試的應(yīng)用
軟件開發(fā)設(shè)計中的測試,目的是預(yù)防軟件引起的系統(tǒng)崩潰,提前發(fā)現(xiàn)軟件開發(fā)設(shè)計中存在的問題。高效的測試,有利于提高軟件開發(fā)設(shè)計的水平,實現(xiàn)軟件的標(biāo)準(zhǔn)化運行。所以,工程師在軟件開發(fā)設(shè)計完畢后,應(yīng)該及時安排性能測試,根據(jù)開發(fā)軟件的功能,提供對應(yīng)的測試方法,特別是用例設(shè)計部分,必須結(jié)合軟件開發(fā)的實際情況,優(yōu)化測試資源的配置,軟件測試的用例設(shè)計模塊,安全技能高的測試人員,防止出現(xiàn)測試問題,執(zhí)行測試環(huán)節(jié),可以安排初級測試人員,按照軟件測試的步驟,執(zhí)行相關(guān)的測試方式并記錄測試結(jié)果,提交測試報告。
3.3控制軟件工程化
軟件開發(fā)設(shè)計在軟件工程化的問題上,應(yīng)該做好有效的控制作用,可以通過聘請專業(yè)的工程師和設(shè)計師,深入研究軟件工程化的問題,提供有效的控制方法,致力于控制軟件的開發(fā)過程,特別是在實時軟件的工程化問題上,更是要發(fā)揮技術(shù)人員的價值,管控軟件開發(fā)設(shè)計的整個過程,降低軟件開發(fā)設(shè)計的難度,最大程度的控制軟件工程化問題。
3.4預(yù)防開發(fā)環(huán)境缺陷
我國在軟件開發(fā)設(shè)計環(huán)境方面,提出了環(huán)境控制的要求,預(yù)防開發(fā)環(huán)境的缺陷,規(guī)范軟件開發(fā)的過程。目前,隨著軟件開發(fā)設(shè)計的智能化發(fā)展及智能技術(shù)的應(yīng)用,軟件開發(fā)設(shè)計對開發(fā)環(huán)境的要求越來越高,必須適應(yīng)現(xiàn)代軟件的發(fā)展要求,才能規(guī)范控制開發(fā)環(huán)境,保障軟件設(shè)計源代碼的優(yōu)質(zhì)性,從軟件的需求分析到設(shè)計,再到運營,均能維護環(huán)境的質(zhì)量,提供標(biāo)準(zhǔn)的環(huán)境保障,預(yù)防環(huán)境缺陷在軟件開發(fā)設(shè)計中引起性能問題。
4結(jié)束語
Abstract: In the context of "excellent engineer education training plan", this paper looked for problems in traditional software testing course, explored software testing course construction in software engineering outstanding engineer training system, proposed software testing courses split to improve the course setting with complexity in phases, and took advantage of virtual practice platform and used spiral case teaching to closely integrate software testing and other software development course.
關(guān)鍵詞: 卓越工程師教育培養(yǎng)計劃;軟件測試;課程建設(shè)
Key words: excellent engineer education training plan;software testing;course construction
中圖分類號:TP39 文獻標(biāo)識碼:A 文章編號:1006-4311(2013)09-0279-02
0 引言
為了解決學(xué)校培養(yǎng)模式單一的問題,國家提出了工程教育改革,培養(yǎng)卓越工程師。確定了培養(yǎng)具有國際視野的行業(yè)領(lǐng)軍人才、國際認(rèn)可的高級工程技術(shù)人才和創(chuàng)業(yè)、研發(fā)型高端人才的培養(yǎng)目標(biāo)[1]。卓越軟件工程師教育是以“卓越工程師教育培養(yǎng)計劃”的實施為基礎(chǔ),旨在培養(yǎng)工程型的軟件專業(yè)人才。南華大學(xué)于2011年成功申請“卓越工程師計劃”,軟件工程卓越工程師培養(yǎng)成為其中之一。
1 軟件測試課程建設(shè)背景
隨著近年來軟件測試人才需求量的不斷增加,軟件測試人才培養(yǎng)成為熱點,很多高校都展開了對軟件測試課程建設(shè)的相關(guān)研究,在卓越工程師培養(yǎng)背景下,軟件測試的課程建設(shè)應(yīng)該有其自身的針對性。南華大學(xué)計算機科學(xué)與技術(shù)學(xué)院專業(yè)工程系于2009年開設(shè)軟件工程試驗班,2010年軟件工程專業(yè)成為一級學(xué)科,2011年成功申請“卓越工程師計劃”。軟件工程專業(yè)對卓越軟件工程師的培養(yǎng)正進行不斷的探索和改革,軟件測試的作為軟件工程中的一個重要的組成部分,對卓越軟件工程師的培養(yǎng)具有重要的作用,因此軟件測試課程的建設(shè)是整個專業(yè)課程體系建設(shè)的重要組成部分。
2 傳統(tǒng)軟件測試課程存在的問題
傳統(tǒng)的軟件工程專業(yè)人才培養(yǎng)過程中,軟件測試課程存在著很多問題。
2.1 軟件課程開設(shè)單一 大部分的高校軟件測試課程的開設(shè)十分單一,某些高校甚至只將軟件測試作為軟件工程的一部分提及。而在實際的工程實踐中軟件測試是貫穿整個軟件開發(fā)的活動,在不同的開發(fā)階段都有相應(yīng)的測試?yán)碚撝С趾蜏y試工具應(yīng)用。
單一的軟件測試課程只能簡單羅列軟件測試不同階段的技術(shù)和方法,缺乏對知識的針對性和連貫性,學(xué)生很難理解不同的測試技術(shù)和方法在軟件開發(fā)的各個階段應(yīng)該如何應(yīng)用,導(dǎo)致學(xué)生只會死記硬背軟件測試的條條框框而不懂如何活學(xué)活用。
2.2 理論與實踐脫離 軟件測試是一門實踐性非常強的課程,然而測試工具和測試對象都是看不見、摸不著的軟件產(chǎn)品,實踐課程的組織和實施有較大的難度[2]。雖然大多數(shù)教師充分認(rèn)識到了實踐教學(xué)的重要性,在教學(xué)過程中也加強了實踐的力度,但是由于沒有考慮到大多學(xué)生沒有參與過實際的軟件開發(fā)的項目,沒有接觸過軟件開發(fā)的流程,實踐中選擇的實驗案例十分單一,缺乏領(lǐng)域結(jié)合,與真實工程相差較大。
學(xué)生在學(xué)習(xí)過程中很難理解測試在軟件開發(fā)中需要使用方法及其作用,很多學(xué)生因不能感性認(rèn)識測試的重要性因此對課程缺乏興趣。
2.3 案例陳舊過時 案例教學(xué)是軟件測試教學(xué)中的常用手段,對學(xué)生理解測試方法有著很重要的作用,但是目前高校教學(xué)普遍存在著教學(xué)案例陳舊過時,大部分教學(xué)都沿用了傳統(tǒng)的教學(xué)案例。這些案例大都沒有介紹軟件測試的工程方法和實現(xiàn)過程,并且沒有進行難度的區(qū)分,很難達到好的教學(xué)效果。
3 軟測試課程建設(shè)探索
本專業(yè)的教師經(jīng)過多年的實踐,總結(jié)了大量的教學(xué)經(jīng)驗,按照實際工作中典型的工程師團隊所需的各種技能知識為導(dǎo)向,按照復(fù)雜度漸增、螺旋遞進的原則設(shè)置卓越軟件工程師課程體系與內(nèi)容,把傳統(tǒng)的以學(xué)科知識的系統(tǒng)性為導(dǎo)向的橫向課程體系改造為以個人職業(yè)角色發(fā)現(xiàn)和能力提升為導(dǎo)向的、適應(yīng)團隊教育培養(yǎng)的新型縱向課程體系。軟件測試課程是軟件工程卓越工程師培養(yǎng)課程體系的重要組成部分,課程總體跟隨整體培養(yǎng)課程體系的大方向,并結(jié)合自身的特點進行建設(shè)。
3.1 復(fù)雜度漸增式開設(shè)課程 在傳統(tǒng)的以面向開發(fā)為主的培養(yǎng)模式下,測試課程設(shè)置單一,知識針對性連貫性不強。為了解決這些問題,在專業(yè)課程開設(shè)過程中將軟件測試課程課程拆分,穿插到整個培養(yǎng)過程中,緊密聯(lián)系軟件工程其他階段的課程,并且使用案例貫穿所有階段,復(fù)雜度逐漸遞增,讓學(xué)生在學(xué)習(xí)過程中循序漸進,逐步建立學(xué)習(xí)的興趣和信心。
在第5學(xué)期分成兩個階段分別開設(shè)《單元測試與軟件質(zhì)量》和《軟件驗證與確認(rèn)》。在第一階段旨在培養(yǎng)學(xué)生小規(guī)模程序測試的能力不涉及復(fù)雜系統(tǒng),以提高個人開發(fā)測試的基本能力為目標(biāo),學(xué)生可以運用測試課程中學(xué)習(xí)的方法在開發(fā)過程中使用,針對性強。第二階段旨在培養(yǎng)學(xué)生對系統(tǒng)整體測試的能力,此時學(xué)生以完成基本開發(fā)能力的訓(xùn)練,其他相關(guān)課程的培養(yǎng)中也進入了系統(tǒng)級別。在該階段以上一階段培養(yǎng)的能力為基礎(chǔ),提高復(fù)雜度,跟軟件開發(fā)其他階段緊密結(jié)合。完成第5學(xué)期的測試基礎(chǔ)課程開設(shè)之后,在第6學(xué)期還開設(shè)了《web軟件測試》、《測試案例分析》、《數(shù)據(jù)庫測試》等專業(yè)選修課,給有興趣的學(xué)生提供更多的學(xué)習(xí)選擇。
3.2 基礎(chǔ)與實踐并重,充分利用虛擬實踐平臺 課程的開設(shè)充分考慮到測試重實踐,并且與軟件開發(fā)其他階段聯(lián)系緊密等特點;同時也考慮到了此時學(xué)生正處于學(xué)習(xí)階段,直接參與實際項目對學(xué)生的學(xué)習(xí)并不能起到很好的作用,因此在課程學(xué)習(xí)階段充分利用了校內(nèi)軟件實訓(xùn)基地,創(chuàng)建網(wǎng)上“虛擬企業(yè)”,引入企業(yè)管理模式,在這種虛擬平臺下,針對基礎(chǔ)的知識點開設(shè)虛擬項目[3],模擬軟件測試的真實工程環(huán)境。學(xué)生在自己組合團隊中有各自的工程任務(wù),針對性實用性很強,學(xué)生能夠在完成自己任務(wù)的同時感性的認(rèn)識測試崗位工作,體會到軟件測試在整個軟件開發(fā)過程中的作用,將單項知識技能之間關(guān)聯(lián)在一起,系統(tǒng)的運用專業(yè)知識和技能。
3.3 采用螺旋式的案例教學(xué),案例與其他軟件開發(fā)階段貫穿 課程采用螺旋式案例教學(xué)方法,教學(xué)案例與其他軟件開發(fā)階段貫穿,即針對同一個項目分解為基礎(chǔ)與高階的兩個不同難度程度的案例,課程講解的案例從需求分析,設(shè)計,實現(xiàn),一直貫穿到軟件測試,體現(xiàn)了軟件開發(fā)連續(xù)的工程過程。同時貫穿的教學(xué)案例都是從高年級學(xué)生參與的實際開發(fā)的項目中提取,教師總結(jié)了在開發(fā)的過程中學(xué)生出現(xiàn)的各種問題,在案例講解過程中更容易被學(xué)生所接受。教學(xué)案例一個階段一個階段的被不斷完善,相比較傳統(tǒng)的教學(xué)案例更加貼近學(xué)生學(xué)習(xí)實際,有一定的真實性又同時具備知識點針對性。
4 結(jié)語
本教學(xué)團隊在“卓越工程師教育培養(yǎng)計劃”背景下,結(jié)合專業(yè)現(xiàn)狀與社會需求,總結(jié)以往開設(shè)軟件工程試驗班的經(jīng)驗和教訓(xùn),一直以來不斷研究探索,逐漸形成一套適合的本校卓越軟件工程師培養(yǎng)的課程體系。其中軟件測試課程的建設(shè)既遵循了軟件工程師培養(yǎng)課程體系的大方向,又結(jié)合了課程自身的特點,而本教學(xué)團隊在今后的教學(xué)過程中還將不斷的改進,遵循行業(yè)發(fā)展的需要。
參考文獻:
[1]全國工程教育專業(yè)認(rèn)證專家委員會.全國工程教育專業(yè)認(rèn)證工作手冊[S].中國教育部,2009.
[2]李亞.軟件測試”教學(xué)探索與實踐[J].計算機教育,2008,(6):31-32.
關(guān)鍵詞:復(fù)合型;軟件測試;人才培養(yǎng)
中圖分類號:TP3-4 文獻標(biāo)識碼:A 文章編號:1007-9599 (2012) 20-0000-02
1 軟件測試人才培養(yǎng)背景
1.1 軟件測試人才需求分析。全球信息化極大推動了中國軟件產(chǎn)業(yè)的發(fā)展,但目前與歐美發(fā)達國家還有很大差距,特別是軟件測試領(lǐng)域。國內(nèi)軟件測試的現(xiàn)狀是令人擔(dān)憂的,在軟件業(yè)中處于弱勢地位[1]。由于一直以來,國內(nèi)許多軟件企業(yè)存在著“重開發(fā)、輕測試”的傾向,造成軟件產(chǎn)品質(zhì)量問題日漸突出,同時也突顯了中國軟件測試人才的極度匱乏[2]。從國內(nèi)招聘網(wǎng)站搜索軟件測試相關(guān)的職位來看,軟件產(chǎn)業(yè)需要大量懂得測試?yán)碚摵头椒ǖ膶I(yè)軟件測試工程師。
1.2 軟件測試專業(yè)崗位分析。軟件測試行業(yè)主要崗位為軟件開發(fā)測試、網(wǎng)絡(luò)開發(fā)測試、測試管理等6個就業(yè)方向以及初、中級軟件測試工程師、Web測試員、文檔測試員等23個崗位。綜合來說,軟件測試專業(yè)相關(guān)的崗位主要有軟件開發(fā)工程師、軟件測試工程師以及軟件工程相關(guān)的崗位。1.3 國內(nèi)軟件測試人才培養(yǎng)現(xiàn)狀。國內(nèi)高校軟件測試教學(xué)總體屬于起步階段,開設(shè)軟件測試專業(yè)的院校不多,一些院校僅開設(shè)了軟件測試的課程。當(dāng)前,一些軟件企業(yè)與行業(yè)的培訓(xùn)機構(gòu)在積極開展測試人才的培訓(xùn)工作,但培訓(xùn)內(nèi)容較單一且完全實用化,對軟件開發(fā)能力要求不高。這種培訓(xùn)屬于非專門化、專業(yè)性的培養(yǎng)和教育[3]。因此軟件測試人才培養(yǎng)模式的研究具有非常重要的現(xiàn)實意義。
2 復(fù)合型軟件測試人才培養(yǎng)模式
關(guān)于軟件測試人才培養(yǎng)模式的探索,豐明聰提出了高職軟件測試專業(yè)校企合作培養(yǎng)模式,張麗景等提出了基于倒推模式的人才培養(yǎng)方案。這些人才培養(yǎng)模式普遍對軟件開發(fā)能力要求不高,這可能導(dǎo)致軟件測試人才欠缺良好的軟件開發(fā)能力,較難站在軟件工程的高層次角度對軟件測試等軟件工程活動進行有效的管理和實施。本文提出了一種全新的復(fù)合型人才培養(yǎng)模式,所謂“復(fù)合型”是指能力更全面的高級軟件測試人才,兼具扎實的軟件開發(fā)能力、軟件測試能力以及相關(guān)的軟件工程能力。這樣就能夠站在高層次的角度對軟件測試等軟件工程活動實施有效的組織和管理。有了扎實的軟件開發(fā)能力,可以從源頭上避免軟件缺陷的產(chǎn)生,以達到“預(yù)防為主”的目的,從而對軟件產(chǎn)品的質(zhì)量進行更好的控制。
2.1 培養(yǎng)目標(biāo)。復(fù)合型軟件測試人才面向社會對各類軟件測試與質(zhì)量保證等軟件工程人才需求,培養(yǎng)高層次實用型、復(fù)合型軟件工程技術(shù)和軟件工程管理人才。本學(xué)位獲得者具有扎實的程序設(shè)計基礎(chǔ)、深厚的軟件工程理論基礎(chǔ)及較強的工程實踐能力、研發(fā)能力和市場與國際意識,能夠?qū)浖a(chǎn)品的架構(gòu)設(shè)計、測試和實施執(zhí)行規(guī)范有效的組織和管理,及進行可靠的方案實施。2.2 課程體系建設(shè)。人才培養(yǎng)中重要的部分為課程體系的建設(shè)。W模型以及極限編程中的TDD(測試驅(qū)動開發(fā))更能夠體現(xiàn)軟件測試和軟件開發(fā)相輔相成的關(guān)系,復(fù)合型的軟件測試人才必須具備扎實的軟件開發(fā)能力,因此課程設(shè)置上必須依托一條軟件開發(fā)的主線,保證每一個學(xué)期中都有開發(fā)課程。同時,軟件測試的主線也將依托軟件開發(fā)的主線順勢開展,由于軟件測試需要軟件開發(fā)為基礎(chǔ),因此軟件測試課程比軟件開發(fā)滯后兩個學(xué)期。
目前主流的軟件開發(fā)平臺為Java和.NET,復(fù)合型人才培養(yǎng)方案以Java平臺的開發(fā)技術(shù)為主線,如圖1所示,從第一學(xué)期依次學(xué)習(xí)的開發(fā)課程為:程序設(shè)計導(dǎo)論Java、高級程序設(shè)計Java、JSP程序設(shè)計等,J2ME課程可以替換為Android或者IOS開發(fā)。在學(xué)習(xí)軟件開發(fā)的課程的同時,另外還有兩條主線貫穿于整個教學(xué)過程中,一個是數(shù)學(xué)英語、計算機網(wǎng)絡(luò)、數(shù)據(jù)結(jié)構(gòu)等課程,這些課程除了是考研相關(guān)的課程之外,也涵蓋了很多基本的軟件知識。另一個主線是軟件工程相關(guān)的課程,例如數(shù)據(jù)庫、UML等。最終達到的開發(fā)要求為:軟件測試專業(yè)的學(xué)生也可以勝任軟件開發(fā)的工作。
在學(xué)習(xí)軟件開發(fā)課程的同時,學(xué)生從本科第二學(xué)年第二學(xué)期開始可以學(xué)習(xí)軟件測試相關(guān)的課程,第二學(xué)年可以學(xué)習(xí)軟件測試基礎(chǔ),第三學(xué)年可以學(xué)習(xí)軟件質(zhì)量保證、自動化軟件測試、性能測試和軟件工程等課程。這樣,就業(yè)的選擇有軟件測試工程師、SQA、系統(tǒng)分析師等。2.3 軟件測試平臺的建立。軟件測試平臺包括軟件測試實驗室、實訓(xùn)基地等方面,可以為學(xué)生建立統(tǒng)一的學(xué)習(xí)、實習(xí)平臺。針對軟件測試實驗室,可以和Parasoft、IBM等公司建立聯(lián)合實驗室,或者安裝開源的軟件測試和軟件工程相關(guān)工具。其中除了開發(fā)工具外,安裝的測試工具包括JTest、.Test、C++Test、JUnit、NUnit、LoadRunner、QTP、Bugzilla等。對于實訓(xùn)基地的建設(shè)問題,可以采用校外實訓(xùn)和校內(nèi)實訓(xùn)兩種方式。校外實訓(xùn)可以和實訓(xùn)機構(gòu)進行合作;校內(nèi)實訓(xùn)可以校方提供場地和機器,而實訓(xùn)公司提供工程師,以達到良好效果。2.4 人才模式的實施。鄭州大學(xué)軟件學(xué)院從2007開設(shè)軟件測試專業(yè)以來,應(yīng)用復(fù)合型軟件測試人才培養(yǎng)模式培養(yǎng)了兩屆軟件測試專業(yè)人才,創(chuàng)建了軟件測試和軟件工程實驗室,建立了校內(nèi)外的實訓(xùn)基地。軟件測試專業(yè)學(xué)生的就業(yè)方向主要有軟件測試、軟件開發(fā)、繼續(xù)深造、技術(shù)支持等,就業(yè)狀況良好,用人單位對學(xué)生的軟件測試、軟件開發(fā)和軟件工程的綜合運用能力給予了肯定。2.5 人才培養(yǎng)模式探索。在復(fù)合型軟件測試人才培養(yǎng)的基礎(chǔ)上,人才培養(yǎng)模式還可以進行進一步的創(chuàng)新,例如:(1)加強校企合作,將企業(yè)或者實訓(xùn)公司的資源盡早的引入到教學(xué)的過程中,部分課程可以直接由企業(yè)或者實訓(xùn)公司的工程師來進行教授。(2)采用訂單式的人才培養(yǎng)模式,開設(shè)部分的試點班供實訓(xùn)公司或者企業(yè)進行重點培養(yǎng),使學(xué)習(xí)的方向更具有針對性。(3)軟件測試平臺的進一步創(chuàng)新,及時引入更先進的測試工具、方法、測試案例,加強CMMI、ISO質(zhì)量管理知識的應(yīng)用,建立更全面的軟件工程思想。
3 結(jié)束語
雖然軟件測試人才的市場需求呈逐年上升趨勢,但是目前計算機學(xué)院或軟件學(xué)院對軟件測試人才的培養(yǎng)模式仍需完善。復(fù)合型軟件測試人才具有扎實的軟件開發(fā)知識以及更全面的軟件工程相關(guān)知識,這對于掌握更高級、更全面的軟件測試技術(shù)具有良好的推動作用。
參考文獻:
[1]黃愛明.國內(nèi)軟件測試現(xiàn)狀及對策研究[J].中國管理信息化.2007,(2):42-46.
[2]蘭景英.應(yīng)用型軟件測試人才培養(yǎng)模式探索與實踐[J].濰坊教育學(xué)院學(xué)報.2011,(4):71-73.
[3]楊鵬,賀平.高職軟件測試專業(yè)的構(gòu)建與探索[J].教育與教學(xué)研究.2008(2):63-66.
[作者簡介]
2、一定要確定自己的發(fā)展方向,并為此目的制定可行的計劃。不要說什么,“我剛畢業(yè),還不知道將來可能做什么?”,“跟著感覺走,先做做看”。因為,這樣的觀點會通過你的潛意識去暗示你的行為無所事事、碌碌無為。一直做技術(shù),將來成為專家級人物?向管理方向走,成為職業(yè)經(jīng)理人?先熟悉行業(yè)和領(lǐng)域,將來自立門戶?還是先在行業(yè)里面混混,過幾年轉(zhuǎn)行做點別的?這很重要,它將決定你近幾年、十年內(nèi)“做什么事情才是在做正確的事情!”。
3、軟件開發(fā)團隊中,技術(shù)不是萬能的,但沒有技術(shù)是萬萬不能的!在技術(shù)型團隊中,技術(shù)與人品同等重要,當(dāng)然長相也比較重要哈,尤其在mm比較多的團隊中。在軟件項目團隊中,技術(shù)水平是受人重視和尊重的重要砝碼。無論你是做管理、系統(tǒng)分析、設(shè)計、編碼,還是產(chǎn)品管理、測試、文檔、實施、維護,多少你都要有技術(shù)基礎(chǔ)。算我孤陋寡聞,我還真沒有親眼看到過一個外行帶領(lǐng)一個軟件開發(fā)團隊成功地完成過軟件開發(fā)項目,哪怕就一個,也沒有看到。倒是曾經(jīng)看到過一個“高學(xué)歷的牛人”(非技術(shù)型)帶一堆人做完過一個項目,項目交付的第二天,項目組成員扔下一句“再也受不了啦!”四分五裂、各奔東西。那個項目的“成功度”大家可想而知了。
4、詳細(xì)制定自己軟件開發(fā)專業(yè)知識學(xué)習(xí)計劃,并注意及時修正和調(diào)整(軟件開發(fā)技術(shù)變化實在太快)。請牢記:“如果一個軟件開發(fā)人員在1、2年內(nèi)都沒有更新過自己的知識,那么,其實他已經(jīng)不再屬于這個行業(yè)了。”不要告訴自己沒有時間。來自時間管理領(lǐng)域的著名的“三八原則”告誡我們:另外的那8小時如何使用將決定你的人生成敗!本人自畢業(yè)以來,平均每天實際學(xué)習(xí)時間超過2小時。
5、書籍是人類進步的階梯,對軟件開發(fā)人員尤其如此。書籍是學(xué)習(xí)知識的最有效途徑,不要過多地指望在工作中能遇到“世外高人”,并不厭其煩地教你。對于花錢買書,我個人經(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ā)還遠(yuǎn)遠(yuǎn)不足,任何編程語言的存在都有其自身的理由,所以也沒有哪門語言是“包治百病”的“靈丹妙藥”。編程語言對開發(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)秀的體系框架與模式?為什么一切都必須以個人、團隊在當(dāng)然開發(fā)語言上的傳統(tǒng)或者經(jīng)驗來解決問題?“他山之石、可以攻玉”。
8、養(yǎng)成總結(jié)與反思的習(xí)慣,并有意識地提煉日常工作成果,形成自己的個人源碼庫、解決某類問題的通用系統(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)后能真正掌握這個知識點,擁有這個技能。
關(guān)鍵詞:實踐與探索;軟件技術(shù)
一、現(xiàn)代高等職業(yè)教育存在的不足
第一,與社會需求脫節(jié)。由于絕大比例的高等職業(yè)院校因為缺少實際生產(chǎn)運作能力,很難對學(xué)校自身的教學(xué)效果和學(xué)生專業(yè)技能的實際掌握情況進行及時檢驗與反饋,以方便后期的進一步優(yōu)化。高職教育在一定程度上與企業(yè)的實際生產(chǎn)實踐活動脫節(jié),即便有很多的高等職業(yè)院校采取多種手段提升學(xué)生的實操能力,但是由于硬件或軟件的不達標(biāo),其與企業(yè)的實際生產(chǎn)實踐活動存在著較大差距,需求與培養(yǎng)信息不對稱等諸多因素引發(fā)的培養(yǎng)人才與社會需求不一致。第二,師資力量相對薄弱。每年高職院校的招生人數(shù)都在不斷增加,師生比不協(xié)調(diào)。對于一些比較新興的熱門專業(yè),真正與專業(yè)對口的教師相對比較少,而教師沒有對自己所學(xué)的知識及時更新,這樣就無法保證專業(yè)人才的培養(yǎng)質(zhì)量。在高職院校兼職的教師,主要來自合作企業(yè),有著豐富的實踐教學(xué)經(jīng)驗,但是教學(xué)方面理論知識不足,缺乏教學(xué)經(jīng)驗,同時具備專業(yè)技能與教學(xué)能力的人才少之又少。[1]第三,校企合作程度不足。高等職業(yè)院校現(xiàn)在目前較常見的是校企合作辦學(xué)方式,與企業(yè)間開展冠名班、訂單班等形式合作辦學(xué),但是與企業(yè)的很多合作深度不夠,校企合作還處于學(xué)校唱獨角戲的階段。企業(yè)為教育提供的資源、環(huán)境和技術(shù)支持不夠,學(xué)生學(xué)習(xí)過程沒有將知識學(xué)習(xí)、技術(shù)訓(xùn)練、崗位實踐完全融通,“校內(nèi)學(xué)習(xí)、企業(yè)頂崗、基地實訓(xùn)、技能培訓(xùn)”還是孤立存在,教學(xué)內(nèi)容和實踐技能銜接度不夠,跟不上企業(yè)對員工技能的要求,需要校企共建“崗學(xué)交替”的教學(xué)環(huán)境,設(shè)計“產(chǎn)學(xué)并行”的訓(xùn)練流程,將校內(nèi)外學(xué)習(xí)、訓(xùn)練融為一體,企校共擔(dān)“崗學(xué)交替”的教學(xué)任務(wù)[2]。
二、構(gòu)建“工學(xué)交替、能力遞進、學(xué)崗直通”的現(xiàn)代學(xué)徒人才培養(yǎng)模式
第一,人才培養(yǎng)目標(biāo)。通過學(xué)院與惠普-濟寧基地研討,明確軟件開發(fā)工程師、軟件測試工程師為軟件技術(shù)專業(yè)核心工作崗位,分析崗位的典型工作任務(wù),獲取崗位的知識、能力、素質(zhì)要求,參考Java軟件開發(fā)工程師、惠普軟件測試工程師職業(yè)認(rèn)證標(biāo)準(zhǔn),確定專業(yè)核心課程,遵循從簡單到復(fù)雜的認(rèn)知規(guī)律,構(gòu)建“平臺+模塊”課程體系,實施“工學(xué)交替、能力遞進、學(xué)崗直通”現(xiàn)代學(xué)徒制人才培養(yǎng)模式,培養(yǎng)“基礎(chǔ)扎實、技術(shù)一流、素質(zhì)優(yōu)良”的惠普軟件開發(fā)、測試工程師。第二,構(gòu)建的思路。探索軟件技術(shù)專業(yè)與惠普基地實施現(xiàn)代學(xué)徒制人才培養(yǎng)模式改革,完善“企業(yè)主選、師傅主導(dǎo)、實崗育人、多元評價”的校企雙主體育人機制,培養(yǎng)產(chǎn)業(yè)鏈中具有工匠精神的軟件開發(fā)領(lǐng)域技術(shù)技能人才[3]。第三,構(gòu)建路徑。其一,通過校企互培共育,建成專兼合理的教學(xué)團隊依托濟寧市軟件技術(shù)專業(yè)校企合作理事會,惠普公司20多名具有高級工程師以上職稱的兼職教師參與專業(yè)教學(xué),專任教師中高級職稱以上教師占比30%以上,專業(yè)教師與惠普工程師互嵌,雙師共育,建成一支結(jié)構(gòu)合理專兼一體的教學(xué)團隊;其二,校企共同構(gòu)建“平臺+模塊”課程體系通過學(xué)院與惠普-濟寧基地研討,明確軟件開發(fā)工程師、軟件測試工程師為軟件技術(shù)專業(yè)核心工作崗位,分析崗位的典型工作任務(wù),獲取崗位的知識、能力、素質(zhì)要求,參考Java軟件開發(fā)工程師、惠普軟件測試工程師職業(yè)認(rèn)證標(biāo)準(zhǔn),確定專業(yè)核心課程,遵循從簡單到復(fù)雜的認(rèn)知規(guī)律,構(gòu)建“平臺+模塊”課程體系;其三,校企共同開發(fā)專業(yè)課程、共建教學(xué)資源針對人才培養(yǎng)方案和教學(xué)標(biāo)準(zhǔn),校企共同開發(fā)現(xiàn)代學(xué)徒教學(xué)重點課程,以開放校企合作教材為切入點,逐步吸收消化企業(yè)化項目、案例資源,共同建設(shè)立體化的教學(xué)資源,以滿足“學(xué)徒”多樣化學(xué)習(xí)的需要。完善制度規(guī)章,為現(xiàn)代學(xué)徒制教學(xué)保駕護航。
三、結(jié)束語
學(xué)院以山東省信息產(chǎn)業(yè)職業(yè)教育集團為載體,與惠普-濟寧國際軟件及人才產(chǎn)業(yè)基地實現(xiàn)校企“雙主體、全過程”深度融合:專業(yè)設(shè)置與產(chǎn)業(yè)需求對接,培養(yǎng)目標(biāo)與崗位需求對接,課程標(biāo)準(zhǔn)與職業(yè)標(biāo)準(zhǔn)對接,教學(xué)過程與工作過程對接,教學(xué)項目與工作內(nèi)容對接。人才培養(yǎng)過程中實施項目化管理,構(gòu)建人才培養(yǎng)質(zhì)量監(jiān)控與保障體系,形成了“人才共育、過程共管、成果共享、責(zé)任共擔(dān)”的運行機制。我們將不斷探索實現(xiàn)一個既符合學(xué)校教育規(guī)律,又適應(yīng)企業(yè)崗位人才標(biāo)準(zhǔn)的現(xiàn)代學(xué)徒制教育模式,推進高職現(xiàn)代學(xué)徒教育改革進程。
參考文獻:
[1]朱翠苗.“崗學(xué)交替、輪轉(zhuǎn)互動”的現(xiàn)代學(xué)徒制教學(xué)模式的探索—以高職軟件技術(shù)專業(yè)為例[J].軟件,2016(37):8.
[2]姜超.高等職業(yè)院校師資隊伍建設(shè)中的困境與挑戰(zhàn)[J].高教學(xué)刊,2016(19).