曹新鴻
摘 要 為有效提升程序設計類課程的教學效果,教學中需要遵循軟件開發(fā)內(nèi)在的生命周期規(guī)律。本文提出將軟件生命周期和程序類課程的職業(yè)能力目標進行有機融合,以軟件生命周期為主線指引程序類課程的能力提升過程,使學習者既能經(jīng)歷軟件生命周期各個環(huán)節(jié),又能全面快速地提升程序設計類課程的職業(yè)能力。
關鍵詞 生命周期 職業(yè)能力 融通
中圖分類號:G424 文獻標識碼:A DOI:10.16400/j.cnki.kjdks.2016.06.048
Abstract To effectively improve the program design course teaching effect, the life cycle of software development needs to follow the inherent in teaching. Is proposed in this paper organic integration of software life cycle and program courses professional ability, to the software life cycle as the main procedures and guidance courses ascension process, so as to make the learners to experience the various links of the software lifecycle, and overall quickly upgrade program design course of vocational ability.
Key words life cycle; professional ability; integration
0 引言
隨著我國職業(yè)教育的不斷普及和深入,職業(yè)教育的改革也進行得如火如荼。其中,課程開發(fā)改革成為高職教育改革的主要組成部分,前期改革措施是引進國外的課程開發(fā)思路,比如“以能力為基礎的教育”(CBE)及其課程開發(fā)方法(DACUM)或國際勞動組織的模塊課程方案(MES)和德國雙元制職業(yè)教育課程等。這些課程設計思想的引進,給我國高職教育改革提供了很好的借鑒,但同時也帶來了很多問題,表現(xiàn)最為突出的就是忽略了我國人口眾多,發(fā)展相對落后等因素,另外,改革帶來的結(jié)果是形成了一種模式化教育,削弱了個體創(chuàng)新性的發(fā)展空間。
為了解決這些改革中存在的問題,國內(nèi)教育改革專家們結(jié)合我國實際提出了很多改革思路和方法,其中最為典型的是工學結(jié)合一體化的課程開發(fā)思想。工學結(jié)合一體化思想有很多優(yōu)點:(1)與工作實際緊密結(jié)合;(2)實現(xiàn)理論和實踐一體化教學思想;(3)以學生為主體的教學模式;(4)過程化考核能夠更好地反映學習者的實際掌握程度。
基于工學結(jié)合一體化的課程改革思想也存在一些有待進一步探討的問題,主要表現(xiàn)在:(1)削弱了專業(yè)、課程等的多樣性發(fā)展和創(chuàng)造性發(fā)展,導致了模式化教育;(2)課程設計過于公式化,缺乏適應于課程特點的動態(tài)化調(diào)整;(3)教學實施設計與國內(nèi)實際條件不能很好地適應;(4)忽略了人才招聘市場對人才需求的具體要求。
1 軟件的生命周期
軟件開發(fā)是一項系統(tǒng)化的工程,有它的整個生命周期。軟件生命周期(SDLC,Software Development Life Cycle)是軟件的從產(chǎn)生直到報廢的整個周期。軟件的生命周期主要包括問題定義、需求分析、總體設計、詳細設計、軟件編碼、調(diào)試和測試、運行維護和軟件廢棄等幾個環(huán)節(jié)(如圖1所示)。軟件生命周期各個環(huán)節(jié)的主要任務是:(1)問題定義階段是軟件開發(fā)方與需求方共同討論的過程,主要確定軟件的開發(fā)目標及其可行性分析;(2)需求分析階段是在確定軟件開發(fā)可行的基礎上對軟件需要實現(xiàn)的各個功能進行詳細分析;(3)總體設計和詳細設計是根據(jù)需求分析的結(jié)果對整個軟件系統(tǒng)進行設計,如系統(tǒng)框架設計,數(shù)據(jù)庫設計等等;(4)軟件編碼階段是開發(fā)軟件系統(tǒng)中的具體實現(xiàn)階段,該階段實現(xiàn)了整個軟件系統(tǒng)的全部功能;(5)軟件測試主要是對軟件進行測試發(fā)現(xiàn)軟件在整個設計過程中存在的問題并加以糾正;(6)運行維護階段是軟件的售后階段,主要是負責解決客戶提出的問題或者對軟件進行升級改進;(7)軟件廢棄表面該軟件的已經(jīng)不再被使用,是軟件的生命終點。
2 程序設計類課程的核心職業(yè)能力
經(jīng)過統(tǒng)計分析表明,程序設計類課程的核心職業(yè)能力包括:
文檔編寫和閱讀能力:文檔的閱讀能力是學生能夠編寫常見的軟件設計文檔,包括:需求分析報告,可行性分析報告,項目計劃書,項目測試報告等。
模塊代碼編寫能力:在程序軟件教學中非常重要的一項任務就是教會學生編寫完成相應功能的軟件代碼。
熟悉程序設計常見算法:學習程序設計語言除了掌握基本語法知識,也要熟悉常見算法,如堆棧、隊列、鏈表、排序、查找、圖等,并能根據(jù)需要靈活應用于軟件設計過程中。
熟悉OOP和OPP的基本思想:OOP是面向?qū)ο蟮乃枷?,強調(diào)封裝、繼承和多態(tài)思想,而OPP則是所有程序設計語言的基本知識,強調(diào)的是程序設計的基本流程,即循環(huán)、順序和選擇結(jié)構(gòu)等。
熟悉軟件測試的基本方法:在學習程序設計語言時,必須掌握基本的程序調(diào)試方法,以及白盒測試和黑盒測試兩種方法對軟件的運行狀態(tài)進行測試。
3 以軟件生命周期為主線培養(yǎng)職業(yè)能力
筆者參與多年的課程改革,發(fā)現(xiàn)信息技術中的程序設計類課程采用工學一體化的思想比較適合,但如果僅僅是套用其中的每個環(huán)節(jié)并不能很好地實施,主要是工學結(jié)合課程設計常見案例缺乏軟件開發(fā)類相關課程的優(yōu)秀案例,課程設計者只是簡單地套用其它課程案例,導致設計的程序類課程有些不倫不類。
本文就結(jié)合計算機相關專業(yè)常見的程序設計類課程本身的特點,并結(jié)合軟件生命周期,給出了程序類課程的設計思路。圖2就是筆者提出的將軟件生命周期和程序類課程職業(yè)能力培養(yǎng)相融合的教學設計框架。
這種教學設計以軟件生命周期為主線,將程序設計類課程的職業(yè)能力貫穿于軟件生命周期的不同階段,同時根據(jù)每個階段形成的階段性成果對學生的學習效果進行檢查評教,并通過即時反饋等機制促進學生的有效學習。
這樣的教學設計將程序設計相關崗位的職業(yè)能力和軟件生命周期緊密結(jié)合,通過將一個“麻雀雖小,五臟俱全”的軟件劃分成一些階段性任務并貫穿教學于教學中,使學生掌握程序設計或軟件開發(fā)的各個環(huán)節(jié),同事及工作中的能力需求是相呼應的。
在前面的分析中,主要提出了對程序設計類課程,如何將軟件的生命周期和能力培養(yǎng)相結(jié)合,設計出既符合職業(yè)崗位需求,又能適合課堂教學實際的能力培養(yǎng)結(jié)構(gòu)。但是,光有這些是不夠的,在實際課程設計中還需要按照一定的流程或規(guī)范進行設計,如表1所示。
另外,實際教學中要充分考慮學生的實際水平,教師教學水平和當前的教學條件,不能盲目地最求理想化,應該在保證可行的前提下開展設計,這樣才是有意義的。
最后,在進行課程設計的時候,對軟件生命周期的完整性把握要做到適度,具體什么是適度,要根據(jù)學生具體條件確定,對于高年級學生可以在需求分析、系統(tǒng)設計方面加大力度,而對低年級學生或初學者則讓他們掌握基本的做法和流程即可。
參考文獻
[1] 李帆.教育:讓思考力生長[J].人民教育,2006(23):13-14.
[2] 趙志群.職業(yè)教育工學結(jié)合一體化課程開發(fā)指南.北京:清華大學出版社,2009.
[3] 趙志群.職業(yè)教育培訓學習新概念.北京:科學出版社,2010.
[4] 高職高專計算機類專業(yè)精品課程建設與新技術研討班.2009年5月.教育部高職高專計算機教指委.
[5] (美)Karl E.Wiegers著.成功軟件項目管理的奧秘.陳展文,譯.北京:人民郵電出版社,2009.