劉海燕 王雅軒 陳恒
摘 要:《軟件工程》課程的理論性和實踐性都比較強,在傳統授課模式下,實踐環節比較薄弱,學生處于被動的接受狀態,動手能力較差。基于項目案例驅動的《軟件工程》實踐教學以項目案例為驅動、以學生自主探究為主線,能夠激發學生學習的積極性和主動性,有助于提高學生的實踐動手能力和綜合素質,培養學生獨立探索、勇于開拓的自學能力和創新意識。
關鍵詞:軟件工程 項目案例 實踐教學 綜合素質
中圖分類號:G642 文獻標識碼:A 文章編號:1674-098X(2015)05(b)-0142-02
Practice Teaching Study on Software Engineering Driven By Project Case
Liu Haiyan Wang Yaxuan Chen Heng
(School of Software, University of Foreign Languages, Dalian Liaoning,116044,China)
Abstract: Theory and practice of the course of software engineering are also strong, in the traditional teaching mode, students are in a passive state of accept, the practice ability is weak. Practice teaching based on project case, students inquiry is the main line, which can stimulate students learning enthusiasm and initiative, help to improve the students practical ability and comprehensive quality, raise the students′ independent exploration, and develop the self-study ability and innovative consciousness.
Key words: Software Engineering; Project Case; Practice Teaching;Comprehensive Quality
《軟件工程》是計算機專業的核心必修課程,通過學習該課程可以提高學生綜合運用知識解決實際問題的能力,對學生科研能力、工程能力以及創新能力的培養都具有重要作用。
《軟件工程》的理論性和實踐性都很強,傳統教學方式以教師“教”為中心,實踐環節比較薄弱,學生基本上是按照教師規定的課程內容來“照貓畫虎”式地被動套用知識點,動手能力較差。
軟件工程學科最大的特點是來自實踐又運用于實踐,大型系統成功的開發實踐經驗本身就可以上升、總結成為軟件工程的方法。結合項目案例背景進行講解,不僅可以加深對理論知識的理解,調動學生的學習興趣,對于基本沒有項目開發經驗的學生來說,也是掌握軟件工程理論方法的最佳途徑[1]。
1 項目案例驅動教學法
著名的心理學家皮亞杰提出的建構主義學習理論認為,知識不是通過教師傳授得到的,而是學生在一定的情境下借助他人的幫助,利用必要的學習資料,通過意義建構的方式而獲得 [2]。項目教學法是由美國著名教育家凱茲博士和加拿大教育家查德博士共同創建的一種以學生為本的活動教學法。其突出特點在于學習過程的實踐活動與研究活動相融合[3]。
結合《軟件工程》課程特點及教學體驗,采用講授法與項目案例教學相結合的方式,按照“案例導向、項目驅動”的設計思想,課堂以講解基礎知識為基石,介紹案例為主,討論為輔。實驗設計以項目開發為主,模擬軟件企業先進的軟件項目管理和開發過程,以項目開發帶動軟件工程的理論學習,又以軟件工程的理論來指導軟件開發的實踐[4]。按照由表及里、逐層深入的學習途徑,使學生可以循序漸進地學習軟件工程學的知識和技能,更好地掌握所學內容。
基于項目案例驅動的《軟件工程》實踐教學以任務為主線、教師為主導、學生為主體,符合探究式教學模式,使學生得到比較全面、系統和規范的軟件工程實踐訓練,能夠使學生經歷一個具體系統從定義、開發到實現的完整過程。可以鍛煉學生的系統分析、設計、編程、測試和維護能力,能夠培養學生的團隊協作、文檔書寫、實踐動手能力和綜合素質,鍛煉學生獨立探索、勇于開拓的自學能力和創新意識。
2 基于項目案例驅動的《軟件工程》實踐教學
2.1 優化《軟件工程》的理論教學
采用項目案例教學并不意味著對傳統教學方法的全盤否定,而是對傳統教學法的擴充。《軟件工程》課程的基礎理論多,而且比較抽象,卻是指導實踐應用的法寶,對于原理和方法的闡述需要通過課堂講授進行,所以首先需要進一步優化理論教學。
為此,結合軟件工程學科的最新發展方向,精心設計和規劃教學大綱,并且對教學內容進行合理刪減,將教學內容分為不同層次,采用不同教學方法講授。在保證學生掌握《軟件工程》核心思想的同時,不斷拓寬知識面,完善知識結構。
2.2 探索《軟件工程》的實踐教學
軟件工程強調采用工程化的方式來開發軟件,包括項目計劃、分析、設計、編碼、測試和維護等階段。《軟件工程》的實踐教學主要采用結合知識點的案例式教學和貫穿整個學習過程的項目實踐教學,前者有助于學生對某個階段技術的掌握,而后者則可以幫助學生形成一個覆蓋軟件生命周期的全程概念,各有所長。
2.2.1 結合知識點進行案例式教學
在教學的過程中,結合各個章節的知識點,精心設計和選擇適于學生理解的小案例來配合講解,在學生基本理解的基礎上,引導他們學習如何靈活運用,化抽象理論為實際應用,激發學生的學習熱情和主動性,使其對知識的理解也更加透徹。
2.2.2 貫穿軟件工程整個學習過程的項目實踐教學
雖然結合知識點的案例式教學有助于學生對某個階段技術的掌握,但是學生還是難以形成一個覆蓋軟件生命周期的全程概念。將自主開發的項目和學生的優秀作品作為教學案例,建立了基于主流編程技術Java和.Net的《軟件工程》項目案例庫,借助于案例教學使學生從多個角度體驗軟件工程項目開發的全過程,加深學生對軟件開發過程中各個階段銜接的理解。
所選項目案例力求具有典型性,與教學目標相契合,貼近生活,便于學生理解和掌握;具有趣味性、啟發性,能夠激發學生內在學習熱情,去分析和解決問題;具有綜合性,盡可能覆蓋和貫穿全部的知識點,便于學生形成軟件項目開發的全局意識;難度和復雜度適中,在教師的幫助下,學生有解決問題的可能性,以培養學生深入思考、積極探索的信心;項目背景可以是教育、金融、體育、物流等多個領域,幫助學生同步積累一定的行業背景知識。
由學生按照興趣、愛好和能力自由搭配,組建小組,自行選定項目,項目組成員模擬擔任項目經理、技術支持、系統分析員、配置管理員、測試工程師等角色,以軟件開發的先后順序為線索來展開實踐,而且參照CMMI標準來完成相應的軟件文檔撰寫,幫助學生積累項目實踐經驗,提高綜合能力。
每節課都要求學生完成一個具體任務,學生目的明確,主動參與其中,調動了學生的學習積極性。不限定實現任務的方法和思路以及完成作品的形式和內容,教師只提供所需素材和指導,促使學生充分發揮想象力,進行自由創作,以培養學生的創新意識和獨立探索、勇于開拓進取的自學能力。
2.3 改革《軟件工程》的考核機制
在《軟件工程》的實踐教學中采用項目案例教學方法,以項目為主線,分階段、循序漸進地學習,使學生在項目實施過程中完成教學任務,靈活掌握軟件工程生命周期各階段的理論知識、技術和方法,并能夠運用軟件工程的理念來解決具體的實際問題,從而產生成就感,能夠取得較好的教學效果。
同時也需要建立科學的評價體系,注重從學生運用軟件工程的原理、方法、技術、標準和規范等方面進行軟件開發的綜合能力以及軟件項目的管理能力進行考核,特別是對基礎技能、團隊協作、人際交流、項目規劃幾個方面能力的考核,改變傳統單靠死記硬背的筆試考核方法,轉而重視對知識的理解和運用,以充分調動學生學習的主動性和提高學生的學習興趣。
在考核環節,除了以小組為單元進行項目演示,展示項目所具有的系統功能、用戶界面設計效果、業務邏輯流程之外,還需要展示項目相關系列軟件開發和管理文檔,包括可行性研究報告、需求分析說明書、概要設計說明書、詳細設計說明書、測試報告書、用戶使用說明書、項目整體計劃書、Q&A票、Bug票、日程表、周報、配置管理文檔等。這些文檔涵蓋Word、Excel、Powerpoint三種文件形式,督促學生學以致用,提高Office應用水平,而且每個文檔都必須附帶評審記錄表,強調必須養成對團隊所撰寫的每一份材料都進行評審的良好習慣。
項目成果展示的同時,對項目組所有成員進行答辯考核,結合系統規模、設計水平、文章撰寫質量、答辯問題回答給予客觀評價。這樣多方面、多角度地評價課程學習效果,促使學生積極地參與到課程中來,發揮主觀能動性。能夠引導學生深刻理解和扎實掌握《軟件工程》的相關知識,可以在很大程度上緩解個別學生平時不好好學習,試圖通過期末臨時抱佛腳考試過關的現狀,減少“高分低能”現象的發生。
3 結語
項目案例驅動教學模式要求學生必須理論聯系實際,可以提高學生靈活運用和分析、解決實際問題的能力;編寫軟件開發各階段的文檔材料時必須具備完整性、可讀性及可理解性,有利于提高學生的文學修養及文字處理能力;評審階段的陳述與答辯也有利于提高學生的口頭表達能力;完成一個項目需要多個同學團結協作,也鍛煉了學生的團隊協作精神。由此可以全方位地提高學生自身的綜合素質。
基于項目案例驅動的《軟件工程》實踐教學模式顯著提高了教學質量和教學效果,主要表現在以下幾個方面:
(1)基于任務驅動,激發學生的學習興趣。在任務驅動模式下,結合項目案例背景進行講解,化抽象理論為實際應用,使學生對知識的理解更加透徹,可以激發學生的學習熱情和主動性。
(2)偏重實踐教學,強化學生的動手能力。學生學習都是圍繞如何完成具體的任務進行,可以提高學生綜合運用知識解決實際問題的動手能力,促使學生發揮想象力和自由創作。
(3)以項目為主線,提高學生的綜合實力。基于項目案例驅動的實踐教學模式對學生表達能力、文檔撰寫能力、團隊協作能力、科研能力、工程能力以及創新能力的培養都具有重要作用。
(4)面向市場需求,改善學生的就業質量。對學生進行較全面、系統和規范的軟件工程實踐訓練,幫助學生積累項目實踐經驗,鍛煉綜合能力,提高綜合素質,更好地擇業、就業。
參考文獻
[1] 汪璟玢,葉福玲.案例與項目實踐結合的“軟件工程”教學方法[J].計算機教育,2012(10):101-103.
[2] 王小磊,史芳芳.任務驅動與情境認知學習理論在《軟件工程》課程教學改革中的探索[J].福建電腦,2013(7):194-195.
[3] 賀平.項目教學法的實踐探索[J].中國職業技術教育,2006(22):43-44.
[4] 郝水俠.《軟件工程》的教學模式及方法的探索[J].科技創新導報,2009(1):133.