何偉娜 褚龍現

【摘 要】軟件工程課程軟件學院軟件工程專業的一門專業基礎核心課程,也是一門理論與實踐并重的課程。但在實際的教學過程中,存在較大的難度:知識與現實脫離、課程內容比較龐雜和抽象、教學實踐環節薄弱等,對于缺乏軟件開發實踐經驗的本科生來說,單純地講授抽象的理論知識往往使學生感到枯燥無味且難以理解。達不到良好的教學效果,無法滿足現代軟件工程人才的培養目標。為此,提出了以“應用”為導向的軟件工程課程教學過程的設計,主要從教學設計原則、教學設計策略、教學內容、教學方法、課程重、難點解決方案、考核方式與評價方法等方面展開,給出了切實可行的方案,與院系“一體化”教學理念切合,通過實施,取得了一定的效果。
【關鍵詞】軟件工程;應用導向;“一體化”教學理念
【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
平頂山學院軟件學院從建系以來的培養目標就是培養應用型人才。而軟件工程課程是軟件學院軟件工程專業的一門專業基礎核心課程,也是一門理論與實踐并重的課程。該課程的培養目標也應該與院系培養目標一致,培養應用型人才。但在實際的教學過程中,存在較大的難度。現有的軟件工程課程存在著知識與現實脫離、課程內容比較龐雜和抽象、教學實踐環節薄弱等,對于缺乏軟件開發實踐經驗的本科生來說,單純地講授抽象的理論知識往往使學生感到枯燥無味且難以理解。達不到良好的教學效果,無法滿足現代軟件工程人才的培養目標。為此,以“應用”為導向的軟件工程課程教學過程的設計顯得尤為重要。
1 軟件工程課程的課程目標
《軟件工程》課程以培養學生完整嚴格的軟件工程觀念和訓練軟件項目開發、管理能力為目標。通過本課程的理論教學,要求學生了解軟件項目開發和維護的一般過程,建立良好的軟件設計開發理念,能自覺按照軟件工程的方法進行軟件的開發和維護工作;掌握軟件開發中傳統和最新的方法與技術,學會使用分析設計工具,培養學生用工程的方法進行軟件開發的能力和素質;了解軟件開發過程中的各種標準與規范,包括國際國家標準、行業標準、企業規范和項目規范等。通過本課程的實踐教學,訓練學生運用軟件工程CASE工具的能力,同時強化訓練個人分析設計能力、工程實踐能力、創新能力、規范化工作能力、溝通表達能力、文檔寫作能力、團隊配合能力、自我學習與可塑性組織能力。
通過本課程的理論學習與實踐練習,了解軟件工程各領域的發展動向;如何用工程化的方法開發軟件項目,以及在開發過程中應遵循的流程、準則、標準和規范。使學生基本具備進行軟件工程項目分析、設計、實現和進行有效的項目管理以及文檔編寫的能力。
為適應計算機應用各領域對專業技術人才的需求,根據應用型本科技術人才培養目標的需要,我們堅持課程體系的科學性、系統性與開放性,關注計算機軟件技術發展研究的最新動向,及時更新與充實課程內容。
2 教學設計原則
堅持以應用能力培養為本位的設計原則,教學內容、教學方法以及考核方式均圍繞能力培養來進行設計。
3 教學設計策略
3.1 知識域覆蓋
針對軟件程序員/軟件設計師職業,以職業所需的知識和技能為先導,突出技術理論和技術應用主線,實現知識傳授與技能培養并重,體現知識、能力、素質培養“三合一”特征。理論部分突出基本知識和基本概念的表述,知識覆蓋范圍,著重把握理論知識的深度和要領,力求線條清晰,為后續技術方法介紹和運用提供技術理論支撐; 對軟件工程基礎理論知識的涵蓋原則是“必須的不缺、不用的不設”,對技術原理(方法)的分析原則是“舉一反三”,對實踐技能訓練的原則是“項目運作”。
3.2 技術方法先導
軟件工程是一項技術性較強的工作,軟件規范的實施是以技術的方式開展或進行,教學策略設計是以技術與工程為導向,圍繞著軟件工程項目的進程展開,一個項目的進程當中能處處體現工程特點和專有技術的特征。因此,教學設計通過項目活動及過程來呈現問題、運用相關理論知識解析問題和通過工程過程解決問題。通過項目闡明技術方法與策略運用。
3.3 突出技能訓練
技能訓練也是本課程重要組成,踐行“做中學”人才培養理念,建立課內課外一體化實踐教學體系。建立“1-7課題組”課外工作機制,將學生的實踐教學環節延伸到課外。學期大作業要求學生按“1-7課題組”課外完成一個實際軟件系統的分析、設計、實現和模擬運作等4個過程,并按照國家標準《GB/T 8567-2006 計算機軟件文檔編制規范》規定的要求,提交各階段報告,課題組完成后通過課堂答辯提交項目結果。通過技能訓練學習掌握當前主流軟件的軟件開發方法、工程技術,并將軟件工程理論知識與軟件工程過程密切結合。在軟件分析與設計能力培養上,主要通過實際案例或軟件項目的運作,以“學中做與做中學”方式中培養和形成專業技能。
4 教學內容設計
結合軟件產業發展的要求,以能力需求為導向。堅持理論夠用,將相關知識點分解到實際項目案例中,讓學生通過對項目的分析和實現來掌握相關理論知識和軟件開發技能,選擇技術實用性、知識拓展性強的教學案例和實驗項目,在保持傳統理論知識講授的同時,同時關注計算機軟件技術發展研究的最新動向,將相關內容融入到相關的教學單元中,及時更新教學內容,并通過階段性安排新技術講座,布置課外讀物等方式,使學生了解最新熱點知識,掌握新方法。
5 教學方法設計
在教學過程中,針對專業學生的特點,從實際教學出發,在對多個小軟件項目的研究基礎上,提出首先結合小軟件項目,以傳統的結構化的方法為主線全面系統的進行教學設計,將軟件工程思想貫穿于教學中,這樣可以從綜合的觀點看待整個系統開發過程。然后以快速原型法、面向對象法為輔線擴展學生進行軟件設計的思路,從而總體上提高學生進行軟件設計、編寫文檔的能力。
改進教學方法和教學手段。教學中,實行啟發式、討論式、行動導向、案例分析、項目驅動等教學,有效地調動學生的積極性和主動性,激發其學習潛能,注意學生的參與和互動。采用“提問式切入”、“問題討論式”等方法對前述內容進行深入復習和引申,同時采用“問題引入”、“情境導入”等方法引入新的教學內容;采用“以項目開發驅動”的方法授課,將相關知識點融入項目,通過項目實現,讓學生掌握軟件工程技術,并對面向軟件工程理論有一個直觀和更加感性的認識。
6 課程重、難點解決方案
6.1 軟件工程課程重點
軟件工程基礎理論,軟件工程策略,面向數據流的分析方法、面向數據結構的設計方法、問題域中對象的識別、對象關聯關系的建立、對象的結構層次、建立動態模型、建立功能模型,以及軟件工程過程管理和配置設計。
6.2 軟件工程課程難點
軟件需求分析模型,軟件開發過程模型,軟件質量分析與度量,軟件設計方法、軟件維護。
6.3 重、難點的解決方案
軟件工程所涉及的基本概念、基本方法、基本過程和應用技術,教學必須作為重點突破,主要措施是理論講解和實踐體驗“雙管齊下”,為學習軟件工程專業知識和掌握實際開發技能奠定基礎。
理論講解實施項目教學模式,以精講和透徹分析、自主學習、探究方式和集體討論的形式進行,引導學生理論與應用相結合;實踐教學主要是通過課內、課外一體體教學體系、產學合作方式等方式,通過項目開發過程中的問題,有針對性的學習軟件工程理論。引入真實企業項目,在引入項目的同時,引入企業項目經理等技術與管理人員,協助完成合同任務,將教學活動與項目實施融為一體,實現工學結合。培養學生在實踐中學會發現問題、研究問題、分析問題、解決問題,培養學生綜合實踐能力。
7 考核方式與評價方法
采用過程性考核方式,評價所有的學習結果。制定了分階段、互評定的二次考核體系,即課程考核由三部分組成:平時考核(課堂表現、考勤)占20%,理論(期末考試)考核占40%,實踐(技能)考核占40%。其中實踐成績的評定包括小組成績和個人成績兩部分,各占50%。具體的課程考核評價體系如表1所示。
8 總結
該教學過程設計,切合院系在2013年提出的“一體化”教學的理念。從這幾個學期的教學效果看,取得了一定的成果。但在具體實施的一些細節中還存在一些問題,有待進一步思考、提高。
【參考文獻】
[1]劉強,等.“軟件工程”課程教學實施方案[J].中國大學教學,2011(2).
[2]劉海燕,王雅軒,等.基于項目案例驅動的《軟件工程》實踐教學研究[J].科技創新導報,2015(14).
[3]汪璟玢,葉福玲.案例與項目實踐結合的“軟件工程”教學方法[J].計算機教育,2012(10).
[4]王小磊.任務驅動與情境認知學習理論在《軟件工程》課程教學改革中的探索[J].福建電腦,2013(7).
[5]郝水俠.《軟件工程》的教學模式及方法的探索[J].科技創新導報,2009(1).
[責任編輯:湯靜]