何偉娜 褚龍現(xiàn)
【摘 要】軟件工程課程軟件學(xué)院軟件工程專業(yè)的一門專業(yè)基礎(chǔ)核心課程,也是一門理論與實踐并重的課程。但在實際的教學(xué)過程中,存在較大的難度:知識與現(xiàn)實脫離、課程內(nèi)容比較龐雜和抽象、教學(xué)實踐環(huán)節(jié)薄弱等,對于缺乏軟件開發(fā)實踐經(jīng)驗的本科生來說,單純地講授抽象的理論知識往往使學(xué)生感到枯燥無味且難以理解。達(dá)不到良好的教學(xué)效果,無法滿足現(xiàn)代軟件工程人才的培養(yǎng)目標(biāo)。為此,提出了以“應(yīng)用”為導(dǎo)向的軟件工程課程教學(xué)過程的設(shè)計,主要從教學(xué)設(shè)計原則、教學(xué)設(shè)計策略、教學(xué)內(nèi)容、教學(xué)方法、課程重、難點解決方案、考核方式與評價方法等方面展開,給出了切實可行的方案,與院系“一體化”教學(xué)理念切合,通過實施,取得了一定的效果。
【關(guān)鍵詞】軟件工程;應(yīng)用導(dǎo)向;“一體化”教學(xué)理念
【Abstract】Software engineering in school of software engineering course software of a core course which forms a professional basis, is also a course of paying equal attention to both theory and practice. But in the actual teaching process, there is a big difficulty: knowledge away from the reality, the course content is complex and abstract, teaching practice is weak, for lack of practical experience of software development of undergraduates, simply teaching abstract theoretical knowledge is often makes students feel boring and hard to understand. Cannot achieve good teaching effect, cannot meet the modern software engineering talents training target. Therefore, guided by “application” is presented in the design of the software engineering curriculum teaching process, mainly from the principle of teaching design, teaching design, teaching content, teaching method, course, the difficult solution, evaluation method and evaluation method, etc, presents a feasible scheme, and the relevant departments “integration” teaching concept, through the implementation, has obtained the certain effect.
【Key words】Software engineering; Application guide; “Integration” teaching ideas
平頂山學(xué)院軟件學(xué)院從建系以來的培養(yǎng)目標(biāo)就是培養(yǎng)應(yīng)用型人才。而軟件工程課程是軟件學(xué)院軟件工程專業(yè)的一門專業(yè)基礎(chǔ)核心課程,也是一門理論與實踐并重的課程。該課程的培養(yǎng)目標(biāo)也應(yīng)該與院系培養(yǎng)目標(biāo)一致,培養(yǎng)應(yīng)用型人才。但在實際的教學(xué)過程中,存在較大的難度?,F(xiàn)有的軟件工程課程存在著知識與現(xiàn)實脫離、課程內(nèi)容比較龐雜和抽象、教學(xué)實踐環(huán)節(jié)薄弱等,對于缺乏軟件開發(fā)實踐經(jīng)驗的本科生來說,單純地講授抽象的理論知識往往使學(xué)生感到枯燥無味且難以理解。達(dá)不到良好的教學(xué)效果,無法滿足現(xiàn)代軟件工程人才的培養(yǎng)目標(biāo)。為此,以“應(yīng)用”為導(dǎo)向的軟件工程課程教學(xué)過程的設(shè)計顯得尤為重要。
1 軟件工程課程的課程目標(biāo)
《軟件工程》課程以培養(yǎng)學(xué)生完整嚴(yán)格的軟件工程觀念和訓(xùn)練軟件項目開發(fā)、管理能力為目標(biāo)。通過本課程的理論教學(xué),要求學(xué)生了解軟件項目開發(fā)和維護的一般過程,建立良好的軟件設(shè)計開發(fā)理念,能自覺按照軟件工程的方法進行軟件的開發(fā)和維護工作;掌握軟件開發(fā)中傳統(tǒng)和最新的方法與技術(shù),學(xué)會使用分析設(shè)計工具,培養(yǎng)學(xué)生用工程的方法進行軟件開發(fā)的能力和素質(zhì);了解軟件開發(fā)過程中的各種標(biāo)準(zhǔn)與規(guī)范,包括國際國家標(biāo)準(zhǔn)、行業(yè)標(biāo)準(zhǔn)、企業(yè)規(guī)范和項目規(guī)范等。通過本課程的實踐教學(xué),訓(xùn)練學(xué)生運用軟件工程CASE工具的能力,同時強化訓(xùn)練個人分析設(shè)計能力、工程實踐能力、創(chuàng)新能力、規(guī)范化工作能力、溝通表達(dá)能力、文檔寫作能力、團隊配合能力、自我學(xué)習(xí)與可塑性組織能力。
通過本課程的理論學(xué)習(xí)與實踐練習(xí),了解軟件工程各領(lǐng)域的發(fā)展動向;如何用工程化的方法開發(fā)軟件項目,以及在開發(fā)過程中應(yīng)遵循的流程、準(zhǔn)則、標(biāo)準(zhǔn)和規(guī)范。使學(xué)生基本具備進行軟件工程項目分析、設(shè)計、實現(xiàn)和進行有效的項目管理以及文檔編寫的能力。
為適應(yīng)計算機應(yīng)用各領(lǐng)域?qū)I(yè)技術(shù)人才的需求,根據(jù)應(yīng)用型本科技術(shù)人才培養(yǎng)目標(biāo)的需要,我們堅持課程體系的科學(xué)性、系統(tǒng)性與開放性,關(guān)注計算機軟件技術(shù)發(fā)展研究的最新動向,及時更新與充實課程內(nèi)容。
2 教學(xué)設(shè)計原則
堅持以應(yīng)用能力培養(yǎng)為本位的設(shè)計原則,教學(xué)內(nèi)容、教學(xué)方法以及考核方式均圍繞能力培養(yǎng)來進行設(shè)計。
3 教學(xué)設(shè)計策略
3.1 知識域覆蓋
針對軟件程序員/軟件設(shè)計師職業(yè),以職業(yè)所需的知識和技能為先導(dǎo),突出技術(shù)理論和技術(shù)應(yīng)用主線,實現(xiàn)知識傳授與技能培養(yǎng)并重,體現(xiàn)知識、能力、素質(zhì)培養(yǎng)“三合一”特征。理論部分突出基本知識和基本概念的表述,知識覆蓋范圍,著重把握理論知識的深度和要領(lǐng),力求線條清晰,為后續(xù)技術(shù)方法介紹和運用提供技術(shù)理論支撐; 對軟件工程基礎(chǔ)理論知識的涵蓋原則是“必須的不缺、不用的不設(shè)”,對技術(shù)原理(方法)的分析原則是“舉一反三”,對實踐技能訓(xùn)練的原則是“項目運作”。
3.2 技術(shù)方法先導(dǎo)
軟件工程是一項技術(shù)性較強的工作,軟件規(guī)范的實施是以技術(shù)的方式開展或進行,教學(xué)策略設(shè)計是以技術(shù)與工程為導(dǎo)向,圍繞著軟件工程項目的進程展開,一個項目的進程當(dāng)中能處處體現(xiàn)工程特點和專有技術(shù)的特征。因此,教學(xué)設(shè)計通過項目活動及過程來呈現(xiàn)問題、運用相關(guān)理論知識解析問題和通過工程過程解決問題。通過項目闡明技術(shù)方法與策略運用。
3.3 突出技能訓(xùn)練
技能訓(xùn)練也是本課程重要組成,踐行“做中學(xué)”人才培養(yǎng)理念,建立課內(nèi)課外一體化實踐教學(xué)體系。建立“1-7課題組”課外工作機制,將學(xué)生的實踐教學(xué)環(huán)節(jié)延伸到課外。學(xué)期大作業(yè)要求學(xué)生按“1-7課題組”課外完成一個實際軟件系統(tǒng)的分析、設(shè)計、實現(xiàn)和模擬運作等4個過程,并按照國家標(biāo)準(zhǔn)《GB/T 8567-2006 計算機軟件文檔編制規(guī)范》規(guī)定的要求,提交各階段報告,課題組完成后通過課堂答辯提交項目結(jié)果。通過技能訓(xùn)練學(xué)習(xí)掌握當(dāng)前主流軟件的軟件開發(fā)方法、工程技術(shù),并將軟件工程理論知識與軟件工程過程密切結(jié)合。在軟件分析與設(shè)計能力培養(yǎng)上,主要通過實際案例或軟件項目的運作,以“學(xué)中做與做中學(xué)”方式中培養(yǎng)和形成專業(yè)技能。
4 教學(xué)內(nèi)容設(shè)計
結(jié)合軟件產(chǎn)業(yè)發(fā)展的要求,以能力需求為導(dǎo)向。堅持理論夠用,將相關(guān)知識點分解到實際項目案例中,讓學(xué)生通過對項目的分析和實現(xiàn)來掌握相關(guān)理論知識和軟件開發(fā)技能,選擇技術(shù)實用性、知識拓展性強的教學(xué)案例和實驗項目,在保持傳統(tǒng)理論知識講授的同時,同時關(guān)注計算機軟件技術(shù)發(fā)展研究的最新動向,將相關(guān)內(nèi)容融入到相關(guān)的教學(xué)單元中,及時更新教學(xué)內(nèi)容,并通過階段性安排新技術(shù)講座,布置課外讀物等方式,使學(xué)生了解最新熱點知識,掌握新方法。
5 教學(xué)方法設(shè)計
在教學(xué)過程中,針對專業(yè)學(xué)生的特點,從實際教學(xué)出發(fā),在對多個小軟件項目的研究基礎(chǔ)上,提出首先結(jié)合小軟件項目,以傳統(tǒng)的結(jié)構(gòu)化的方法為主線全面系統(tǒng)的進行教學(xué)設(shè)計,將軟件工程思想貫穿于教學(xué)中,這樣可以從綜合的觀點看待整個系統(tǒng)開發(fā)過程。然后以快速原型法、面向?qū)ο蠓檩o線擴展學(xué)生進行軟件設(shè)計的思路,從而總體上提高學(xué)生進行軟件設(shè)計、編寫文檔的能力。
改進教學(xué)方法和教學(xué)手段。教學(xué)中,實行啟發(fā)式、討論式、行動導(dǎo)向、案例分析、項目驅(qū)動等教學(xué),有效地調(diào)動學(xué)生的積極性和主動性,激發(fā)其學(xué)習(xí)潛能,注意學(xué)生的參與和互動。采用“提問式切入”、“問題討論式”等方法對前述內(nèi)容進行深入復(fù)習(xí)和引申,同時采用“問題引入”、“情境導(dǎo)入”等方法引入新的教學(xué)內(nèi)容;采用“以項目開發(fā)驅(qū)動”的方法授課,將相關(guān)知識點融入項目,通過項目實現(xiàn),讓學(xué)生掌握軟件工程技術(shù),并對面向軟件工程理論有一個直觀和更加感性的認(rèn)識。
6 課程重、難點解決方案
6.1 軟件工程課程重點
軟件工程基礎(chǔ)理論,軟件工程策略,面向數(shù)據(jù)流的分析方法、面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法、問題域中對象的識別、對象關(guān)聯(lián)關(guān)系的建立、對象的結(jié)構(gòu)層次、建立動態(tài)模型、建立功能模型,以及軟件工程過程管理和配置設(shè)計。
6.2 軟件工程課程難點
軟件需求分析模型,軟件開發(fā)過程模型,軟件質(zhì)量分析與度量,軟件設(shè)計方法、軟件維護。
6.3 重、難點的解決方案
軟件工程所涉及的基本概念、基本方法、基本過程和應(yīng)用技術(shù),教學(xué)必須作為重點突破,主要措施是理論講解和實踐體驗“雙管齊下”,為學(xué)習(xí)軟件工程專業(yè)知識和掌握實際開發(fā)技能奠定基礎(chǔ)。
理論講解實施項目教學(xué)模式,以精講和透徹分析、自主學(xué)習(xí)、探究方式和集體討論的形式進行,引導(dǎo)學(xué)生理論與應(yīng)用相結(jié)合;實踐教學(xué)主要是通過課內(nèi)、課外一體體教學(xué)體系、產(chǎn)學(xué)合作方式等方式,通過項目開發(fā)過程中的問題,有針對性的學(xué)習(xí)軟件工程理論。引入真實企業(yè)項目,在引入項目的同時,引入企業(yè)項目經(jīng)理等技術(shù)與管理人員,協(xié)助完成合同任務(wù),將教學(xué)活動與項目實施融為一體,實現(xiàn)工學(xué)結(jié)合。培養(yǎng)學(xué)生在實踐中學(xué)會發(fā)現(xiàn)問題、研究問題、分析問題、解決問題,培養(yǎng)學(xué)生綜合實踐能力。
7 考核方式與評價方法
采用過程性考核方式,評價所有的學(xué)習(xí)結(jié)果。制定了分階段、互評定的二次考核體系,即課程考核由三部分組成:平時考核(課堂表現(xiàn)、考勤)占20%,理論(期末考試)考核占40%,實踐(技能)考核占40%。其中實踐成績的評定包括小組成績和個人成績兩部分,各占50%。具體的課程考核評價體系如表1所示。
8 總結(jié)
該教學(xué)過程設(shè)計,切合院系在2013年提出的“一體化”教學(xué)的理念。從這幾個學(xué)期的教學(xué)效果看,取得了一定的成果。但在具體實施的一些細(xì)節(jié)中還存在一些問題,有待進一步思考、提高。
【參考文獻(xiàn)】
[1]劉強,等.“軟件工程”課程教學(xué)實施方案[J].中國大學(xué)教學(xué),2011(2).
[2]劉海燕,王雅軒,等.基于項目案例驅(qū)動的《軟件工程》實踐教學(xué)研究[J].科技創(chuàng)新導(dǎo)報,2015(14).
[3]汪璟玢,葉福玲.案例與項目實踐結(jié)合的“軟件工程”教學(xué)方法[J].計算機教育,2012(10).
[4]王小磊.任務(wù)驅(qū)動與情境認(rèn)知學(xué)習(xí)理論在《軟件工程》課程教學(xué)改革中的探索[J].福建電腦,2013(7).
[5]郝水俠.《軟件工程》的教學(xué)模式及方法的探索[J].科技創(chuàng)新導(dǎo)報,2009(1).
[責(zé)任編輯:湯靜]