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