時間:2023-03-14 14:48:04
序論:好文章的創作是一個不斷探索和完善的過程,我們為您推薦十篇軟件工程專業課程范例,希望它們能助您一臂之力,提升您的閱讀品質,帶來更深刻的閱讀感受。
軟件工程教育兼屬科學教育和工程教育范疇,軟件工程的科學教育屬性主要是引導學生對人類意識與智慧進行科學理解、增強運用軟件本質特性(構造性與易演化性)和解決具體問題的能力;而軟件工程的工程教育屬性主要是引導學生綜合應用計算機科學、數學、管理等科學原理,借鑒傳統工程的原則、方法,提煉和固化知識,通過創建軟件來達到提高質量、降低成本的目的。然而,McKinsey Global Institute2005年10月發表的一份報告稱,我國2005年畢業的60多萬工程技術人才中適合在國際化公司工作的不到10%,主要原因是中國教育系統偏于理論,學生在校期間幾乎沒有受到Project和團隊工作的實際訓練,這對我國高等院校工程教育改革與創新提出了挑戰,也為軟件工程專業建設指明了方向。
合理的課程體系是高等院校保證培養目標和形成辦學特色的重要手段。目前,我國1900多所普通高校中雖有100多所院校開設了軟件工程專業,但與當前軟件工程技術發展差距較大。為了培養出既有理論知識又有應用技能的工程型實用軟件人才,軟件工程專業課程體系必須進行改革。對此,本文結合CC2005、SE2004、SWEBOK、國內軟件工程專業課程設置現有的研究成果,探索軟件工程專業本科教學課程體系建設問題。
1 軟件工程專業課程體系設計策略
計算學科本科教學常用的課程體系設計策略主要劃分為:課程啟動策略、課程組織策略、特色課程設置策略。課程啟動策略主要包括:1)圍繞算法設計展開的算法優先策略;2)自底向上展開的硬件優先策略;3)從計算機導論展開的廣度優先策略:4)強調編程能力的程序設計優先策略;5)強調系統使用命令優先策略;6)從面向對象展開的對象優先策略。
課程組織策略主要有:1)基于主題的組織模式,它把知識體系中的每個知識域組織成一門或幾門課程;2)基于系統的組織模式,它把每類計算機軟硬件系統設置成一門或幾門課程;3)混合模式,在課程設計時不考慮區分前兩種方法,兼而有之。特色課程設置策略主要依據本校辦學特色和研究專長來確定。
由于軟件工程教育兼屬科學教育和工程教育范疇,其科學屬性和工程屬性決定了軟件工程專業本科教學課程規劃,一方面要強調工程性、技術性、實用性、系統性、綜合性和復合型,另一方面要強化基礎軟硬件知識在解決復雜軟件構造和應用方面起到的關鍵作用。對于課程啟動策略而言,傳統計算機科學專業的課程啟動方式并不適合于本專業,但工程優先策略似乎也不適合于沒有任何計算機基礎的本科生;同樣,在課程組織策略上,基于主題的組織模式更多地具有科學研究屬性,而基于系統的組織模式又不利于基礎知識強化;此外,特色課程設置時,有時會缺乏全面綜合考慮,因人設課會造成特色課程系統性差問題。因此,在軟件工程專業課程體系設計策略方面,應根據軟件工程學科自身屬性,綜合考慮以上各種策略特點,全局思考,統一規劃,避免課程系統性差、教學內容重復和遺漏并存等現象。
2 軟件工程專業課程體系架構模型設計
根據軟件工程專業本科教學的培養目標及規格要求,其課程體系采用“夯實基礎教育、提高系統認知、強化軟件開發、推進工程實訓”為主線的設計思路,構建了“分層次、互動式、工程化”的課程體系架構模型(如圖1所示)。該模型共分為四個層次,即基礎知識教育層、系統認知教育層、工程設計開發層和工程實踐訓練層。各層次不是相互獨立的,而是相互關聯、相互影響、逐層遞進的演進關系。該模型簡化了計算機科學核心課程數量,突出基于主題的組織模式,沿著由淺入深、循序漸進的認知路徑,力圖實現“基礎與編程一體化、編程與系統一體化、系統與工程一體化、工程與職業一體化”四位一體的工程型實用軟件人才教學目標。
2.1 基礎知識教育層
基礎知識教育的設計思路,強化學生的基礎知識和編程意識,實現“基礎扎實和編程意識強”兩個目標。基礎知識教育層結構具體劃分為:數學基礎類課程模塊、外語類課程模塊、軟件基礎類課程模塊、其他公共基礎類課程模塊。根據各模塊自身特點,全面考慮各模塊之間的關聯性,做好彼此之間的銜接。在課程啟動策略方面,主要采取基于基礎的編程優先策略。在數學基礎類課程模塊中確定一門銜接較好的基礎課作為軟件基礎類課程模塊的啟動,軟件基礎類課程模塊率先啟用軟件設計基礎課程,力圖達到“基礎與編程一體化”的教學目標。在課程組織策略方面,采取基于主題的組織模式,有利于學生掌握基礎理論知識。
2.2 系統認知教育層
系統認知教育的設計思路:強化學生的編程能力和對軟件系統的認識能力,實現“編程能力強和系統級認知”兩個目標。根據軟件工程專業對硬件系統和系統軟件的知識要求,系統認知教育層結構劃分為:數據庫系統類課程模塊、網絡系統類課程模塊、操作系統類課程模塊和編譯系統類課程模塊。在課程啟動策略方面,主要采取基于編程的系統優先策略。通過軟件基礎類課程模塊的數據結構等課程和系統認知類課程模塊的數據庫原理及應用等課程,進一步強化學生的編程能力,并以程序設計為主線引導學生的系統級認識能力,實現“編程與系統一體化”的教學目標。在課程組織策略方面,采取基于系統的組織模式,簡化計算機科學核心課程數量,提高學生學習的有效性和對知識的掌握程度。
2.3 工程設計開發層
工程設計開發的設計思路:以工程化方法為手段,依托項目培養學生的“工程”意識,鍛煉學生對軟件系統的設計與開發能力,進一步強化學生的系統級認識,實現“更完整的系統級認識和軟件系統工程化設計開發技術”兩個目標。根據軟件工程項目開發流程,工程設計開發層結構劃分為:軟件過程類課程模塊、軟件設計類課程模塊、軟件架構類課程模塊、軟件測試類課程模塊、人機交互類課程模塊、特色項目類課程模塊、可擴充類課程模塊。該層綜合考慮核心專業課程和特色項目課程設置,基于專業方向設置若干動態可擴充課程,全面考慮課程之間的關聯,強調統一設計、統一規劃。學生在這個層次必修一些工程設計開發系列課程,選修可擴充類課程,達到“系統與工程一體化”的教學目標。課程啟動策略采取基于系統的工程優先策略。課程組織策略采取項目的組織模式,以此來提高學生的軟件系統設計與開發能力。
2.4 工程實踐訓練層
工程實踐訓練總體設計思路:通過實驗訓練、專業實習、項目實訓、畢業設計等教學環節,依托校內 外實習實訓基地,采用校外實習實訓、自主實習實訓、校內實習實訓和外聘軟件工程師等形式,強化學生的工程能力,培養學生的職場素質,實現工程與職業一體化的教學目標。工程實踐訓練層結構具體劃分為兩大類,一類是實驗與實習類課程模塊,另一類是工程實訓與畢業論文類課程模塊。其中,實驗與實習類課程模塊的具體設計思路,通過基礎實驗、系統體驗、編程能力訓練三個環節,進一步夯實學生的基礎知識,完善學生的系統級認識,強化學生的開發技能;而工程實訓與畢業論文類課程模塊的具體設計思路,通過“軟件工程項目實訓”這個載體,采取“企業+實訓+論文+就業”捆綁的運作模式,與多家國內知名IT公司合作,讓學生到企業進行實際項目綜合訓練,并完成畢業論文設計工作,實現理論與實踐結合、技巧與職業素質結合的教學目標,同時也為學生就業提供一個良好平臺。
上述四個教育層是彼此聯系和互動發展的,在課程體系設計中充分考慮銜接性、系統性和創新性。交流、溝通、講演、寫作的培養更多體現在第二課堂科技學術活動中。
3 軟件工程專業核心課程設置
3.1 課程設置原則
軟件工程專業課程設置遵循六個基本原則,即先進性、靈活性、復合性、工程性、創新性和模塊化。1)先進性:課程設置和課程內容需反映國際上先進的軟件技術發展成果和軟件企業對先進技術的需求,以及相關的基礎理論。2)靈活性:課程設置需具有靈活性,應根據軟件技術的發展及時調整。3)復合性:課程設置需包括技能、工程、管理等方面的教學內容,使學生具有必要的綜合技能和基本素質。4)工程性:課程設置面向軟件工程實踐,強調工程實踐能力培養,使學生能夠自覺運用先進的工程化方法和技術從事軟件開發和項目管理,具有團隊協作精神。5)創新性:課程設置應倡導學生自主學習,并給予必要的指導,從而培養學生自主學習和自我提高能力,以及勇于開拓和善于創新能力。6)模塊化:課程應按照模塊化準則設計,課程模塊設計可以交叉。根據軟件技術最新發展、當前市場需求及專業培養方向、學生目前具備的領域知識等,靈活調整課程設置和課程內容。
3.2 核心課程模塊設置
1)軟件基礎類課程模塊設有:計算機硬件基礎、軟件設計基礎、數據結構、計算機組織原理、面向對象程序設計、算法分析與設計等課程。2)操作系統類課程模塊設有:操作系統原理、LINUX系統基礎、嵌入式系統基礎等課程。3)網絡系統類課程模塊設有:計算機網絡、網絡規劃與集成、網絡安全檢測與防范技術、網絡協議與網絡軟件等課程。4)數據庫系統類課程模塊設有:數據庫原理及應用、ORACLE數據庫、數據倉庫與數據挖掘技術等課程。5)編譯系統類課程模塊設有:編譯系統原理、編譯技術等課程。6)軟件過程類課程模塊設有:軟件工程、需求工程、軟件項目管理、軟件建模技術UML等課程。7)軟件設計類課程模塊設有:C++高級程序設計、J2EE與中間件、.NET架構技術、設計模式等課程。8)軟件架構類課程模塊設有:大型軟件系統構造、軟件體系結構等課程。9)軟件測試類課程模塊設有:軟件測試技術、軟件測試與評估等課程。10)人機交互類課程模塊設有:人機交互技術等課程。11)特色項目類課程模塊設有:軟件工程項目案例解析、大型軟件工程項目實訓等課程。12)可擴充類課程模塊設有:手機游戲開發、網絡游戲開發、計算機圖形學、嵌入式Linux網絡及GUI應用開發、嵌入式Linux驅動開發、手持設備軟件開發等課程。
4 軟件工程專業培養方案制定與實施
軟件工程專業培養方案制定是基于軟件與工程的復合,將軟件工程與領域應用相結合,強調計算機科學和數學基礎的同時,將專業課程重點放在軟件新技術和軟件工程新技術方面,通過對實踐類課程工程化改造,增設軟件工程項目實訓環節,開設部分技能課程,試圖使學生的基礎知識、專業技能、創新能力、工程能力和職業素質都能得到全面均衡發展。具體措施如下。
4.1 建立英語為主日語為輔的外語教學體系
根據IT市場的實際需求,軟件工程專業培養方案制定,除正常開設四個學期大學英語外,增開兩個學期標準目語和一個學期專業英語,堅持外語學習四年不斷線,旨在為學生選擇日企或對日外包企業就業提供方便。
4.2 建立工程化實踐教學體系
建立“四年不斷線、三個層次相呼應、兩大措施為保障”的工程化實踐教學體系?!八哪瓴粩嗑€”是指實踐環節四年不斷線,每個學期至少有一個集中性的實踐教學環節,體現“全過程”實踐;“三個層次相呼應”主要是從實踐教學內容設計上考慮的,包括第一層次教學實驗,第二層次課程設計及專業實習,第三層次工程項目實訓與畢業設計;“兩大措施為保障”主要指教學計劃保障和考核制度保障。
4.3 設置專門的實踐課程
針對工程化軟件人才應具備的個人開發能力、團隊開發能力、系統研發能力和設備應用能力,以必修課和選修課形式,開設四類特色化、階梯狀工程實踐學分課程,即程序設計類實踐課程、軟件工程類實踐課程、項目管理類實踐課程和網絡平臺類實踐課程,構成了系統全面的學生實踐能力訓練體系。
4.4 提高專業課程教學中的實驗課時量
除個別側重理論教學的專業課程外,80%以上的專業課程包含實驗或實習環節,實驗或實習成績占總成績的30%以上,一部分實踐性較強的課程是以上機考試和答辯作為最終考試方式。
4.5 開設部分技能課程
(1)開放式授課。隨著行業基礎框架的構成、行業發展和技術融合的國際化,軟件工程的授課將不再局限于某本教材或某個案例。
(2)小組式開發。軟件工程開發要求開發人員具有良好的團隊合作能力和溝通能力,因此應將學生設置在以模塊開發為目標的開發小組,培養學生分析問題、協調問題、解決問題的能力。
(3)模塊化集訓。IT環境復雜度和歷史遺留系統的增加,對軟件工程領域提出新的挑戰。模塊化的思想能夠通過抽象、封裝、分解、層次化等基本的科學方法提高軟件工程靈活性。
(4)真實性案例。軟件工程授課依托于真實案例,可加快學生對軟件工程的感性理解,從而解決學生對軟件產品初始建模、過程開發、測試運行、質量監控、配置與過程的管理有系統性的掌握,鍛煉學生對項目開發過程的整體把握能力。
2基于項目導向的課程體系構建
合格的軟件工程專業學生應具備專業基礎知識、工程技術能力以及良好的職業素養。教師應結合軟件工程專業人才培養標準、軟件工程行業開發規范和技術特征,在不同階段將具體項目融入教學,基于項目導向理論知識,培養工程化特征明顯的學生;在項目案例引入各教學階段時,應夯實學生的基礎理論知識與基本實踐技能;在強化工程技術階段,項目案例應涵蓋前端技術課程,工程實訓階段項目案例需引入企業真實項目。通過3個階段的教學,學生能夠具備軟件工程師的基本編程、綜合設計及工程實訓等能力。我們應分析軟件工程專業知識體系與課程設置,根據普通高等院校軟件工程專業課程規劃、設置學時,構建層次清晰的教學實踐體系及內容,培養應用型軟件工程專業人才;同時,在IEEECC2001SE學科的知識體系基礎上結合國內軟件產業及校內辦學的實際情況,在基礎教學、理論應用、項目實踐3個層次建立軟件工程專業課程體系,基礎教學部分主要講授軟件工程領域的基礎理論知識,以開發過程為主線詳細分析和討論軟件的需求分析、結構設計、程序實現、功能測試、變更與維護、軟件項目管理等內容,讓學生對此有感性認知。理論應用部分主要以面向對象程序設計為基礎,鍛煉學生的建模和實現能力。同時,采用實踐案例,讓學生掌握軟件開發的方法和技術,培養學生的專業能力、管理能力、團隊協作能力和職業精神。項目實踐部分分為基礎技能實訓、專業技能實訓、綜合設計實訓、科技創新實訓等4個模塊,可以基于項目建立多個小組,讓學生以團隊合作的方式在企業開發環境中實現一定規模的軟件項目。為培養“理論知識實、實踐能力強”的應用型人才,需將教學計劃與項目實踐環節緊密結合?;陧椖繉虻慕虒W體系層次實施步驟如下。
(1)基本知識技能階段:將.NET與JAVA開發作為實習內容,讓學生了解面向對象開發的基本知識。
(2)綜合知識實訓階段:讓學生了解并掌握軟件開發方法,熟悉.NET在軟件項目系統開發中的具體作用,設計和實現功能界面,實現數據庫設計與應用,分析和解決軟件開發過程中出現的問題,并進行功能測試。
(3)應用能力提高階段:對之前階段開發完成的軟件項目進行詳細的分析與講解,基于項目開發的實際應用強化軟件工程的理論知識,讓學生感受所學知識與實踐應用的對應性,加強學生實踐動手能力和團隊溝通合作能力。
(4)職業技能與素養提升階段:對軟件項目范圍、功能實現、總體進度、軟件質量、管理配置等方面進行開發訓練,鍛煉學生整體項目的開發能力,逐步培養學生的職業技能,結合項目開發對學生進行測試與評價,培養和提高學生的職業素養。
3基于情景的教學方法實施
情景教學能讓學生對知識有感性認識,提高對課堂內容的理解效率,因此需要在一個通用的軟件開發環境中進行項目開發的學習。構建符合軟件工程專業課程項目開發的開發環境是提升軟件工程教學效果的關鍵。情景模式授課能讓學生在模擬的軟件工程項目中實戰訓練,通過層次提升效率,激發學生的學習興趣,達到最佳教學效果。教師在情景模式的授課過程中擔任項目總監或技術顧問的角色,組織學生進行技術交流、成果驗證、變更審核等活動;學生會依據項目不同階段的情景扮演不同職位,提升自身項目開發技術及管理能力,培養個性化思維和團隊合作思維相結合的思考模式。基于情景模式的軟件工程專業課程教學過程。在具體的教學實施過程中,教師利用項目導出教學內容,圍繞項目案例設計教學情景,依據情景設計安排學生在項目團隊中的不同角色,盡量讓學生體驗真實的項目開發流程。借助項目情景模式增強了課程內容的趣味性,最大限度地調動學生的主觀能動性。項目導向下的情景模式教學需要對項目選定、教學內容設定、項目進程安排、學生角色安排、項目成果鑒定等方面進行管理?;谇榫澳J降慕虒W要求,學生以項目團隊的方式組成項目小組(一般由3人組成),開發具有一定規模且功能較為豐富的軟件系統,側重培養學生在項目開發過程中發現問題、分析問題、解決問題的能力,培養學生的團隊合作精神,使學生體驗軟件開發的全過程。專業課程教學內容應把軟件開發分解為項目前期準備、中期分析與設計、功能測試和軟件交付等三大部分,具體內容為:
(1)項目準備階段:教師在課程初始階段,將軟件項目需求告知學生,選定項目開發小組,制定開發范圍和計劃。
(2)分析設計階段:項目開發小組基于需求和開發計劃,編制需求規格說明書。依據項目的總體結構,逐步設計項目所需功能,并編寫相應文檔。
(3)測試與交付階段:開發團隊對完成的功能模塊進行整合,測試功能性和穩定性,調試并完善軟件系統,最終形成達到項目需求的軟件集成系統。
(4)軟件交付:教師運行集成的完整系統,組織學生交叉驗收。驗收管理是各團隊共同檢驗工程是否達到預定目標并進行最終確認的重要一環,每位學生必須高度重視,支持項目驗收工作。在情景式的軟件工程環境中,學生真正體驗到一種有序的、可控的、協作的軟件開發過程,在分析問題、解決問題、協調沖突、消除矛盾的過程中享受軟件開發成功的成就感。項目導向的情景模式教學可以讓學生在團隊中練習,在練習中學習,鍛煉學生獨立開發與合作開發項目的能力。
一、引言
課程設計是指學生在學完相關課程后,綜合利用所學知識分析問題、解決問題、實現理論向實踐轉換的重要教學環節,也是對前期理論教學效果的檢驗。
軟件工程專業的大部分課程設計是有關軟件開發的。這就要求學生在設計過程中經歷一個完整的軟件開發流程:項目定義、分析、設計、開發、維護[1]。作為軟件開發過程中的一個重要環節,需求分析在實際的課程設計中由于各種條件的限制往往被忽略,沒有得到應有的重視[2]。針對這一問題,本文首先闡述了需求分析在軟件開發過程中的重要性,分析了軟件工程專業課程設計中需求分析階段存在的主要問題,并給出了相應的解決方案。
二、需求分析的重要性
軟件需求定義了系統必須具備的能力,即軟件能完成什么樣的功能,達到什么樣的性能,這種能力體現了用戶的需要和開發者對用戶需要的理解。軟件項目的開始,就是因為軟件需求的存在,需求是項目開發的基石。
一個項目成敗的關鍵因素之一就是對需求的把握程度,研究表明,軟件項目中大部分的問題都是在需求分析階段埋下的隱患,需求問題發現的越晚,軟件維護的開銷就越大。很多項目的失敗,也是由于需求分析的不明確而造成的,有些項目甚至是在需求沒有完全確認的情況下就開始執行了,這必然會導致成本浪費、進度延遲等嚴重問題。所以分析是軟件開發中最為基礎和重要的環節,是軟件項目邁向成功的第一步。
需求分析也稱需求建模,主要任務就是借助當前系統的邏輯模型導出目標系統的邏輯模型,解決目標系統“做什么”的問題,即對目標系統提出完整、準確、清晰、具體的要求[4]。分析用戶需求主要過程如下:
(1)以圖形描述系統的整體結構。
(2)為用戶提供可視化界面供用戶對需求做出評價。
(3)以模型描述系統功能、實體關系及狀態轉等內容[3]。
需求分析要保證需求明確,盡量避免需求描述不清楚、需求遺漏、需求互相矛盾等問題,避免在開發后期因需求問題對項目產生困擾。
三、課程設計中需求分析現狀
(1)學生重代碼,輕需求,急于完成可見的執行軟件,大大壓縮了需求分析時間。
(2)學生缺乏對所選課程設計題目相關的業務知識的了解,需求分析只是對需求的拼貼,不完善,不系統。
(3)教師缺乏實際項目經驗,對需求分析的認知只是停留在理論階段,不能在實踐上給學生以高水平的指導。
四、解決方案
針對以上問題,文中給出解決方案如下:
(1)一方面轉變學生對需求分析的認知誤區,強調需求分析的重要性,通過一些案例及調研數據讓學生了解忽視需求分析帶來的嚴重后果,讓學生重視需求。讓學生了解軟件項目開發工作和項目管理工作都與需求密不可分,如軟件項目成本估算、進度計劃、項目跟蹤控制、驗證、確認等工作都以需求為基礎;軟件設計、編碼、測試最終的目的都是為了提交一個滿足用戶要求的可執行軟件,用戶的要求主要就體現在需求分析的制品上。
另一方面增強需求分析的趣味性,讓學生主動參與需求分析,如選題上給學生充分的自主選擇權利,或者讓兩個同學選相同題目(分別做不同模塊),同組間進行需求分析競賽等。
在軟件開發過程中讓學生記錄并總結,自身項目中存在的那些需求問題,對項目產生了怎樣的影響,讓學生在實踐中體驗、總結需求的重要性,加深認識。
(2)題目選擇范圍上給學生更大空間,可從教師給定的題目中選取,也可學生自擬題目。因為課程設計的時間有限,需求又是一項要求精細、準確、全面的工作,所以在課設開始前至少一個月,讓學生預先選好題目,進行需求調研、分析工作。需求分析開始前,由教師預先規定應分析什么,如:軟件功能需求、性能需求、可靠性和可用性需求、接口需求、系統約束等;采用什么樣的分析方法,建立什么模型,如:功能模型、數據模型、行為模型等;及最終要形成軟件需求規格說明,該文檔模板由教師提供。任何軟件需求都離不開其涉及到的業務領域,因此也要要求學生對業務領域相關的標準模型進行分析和研究,對業界的一些標準和最佳實踐進行熟悉,對業務領域進行大量調研。這樣才能讓才能分析出真正的需求,否則需求就會脫離實際。
(3)作為教師不但要有扎實的理論知識,還應具有較強的實踐經驗,指導學生完成由理論知識向實踐技能的轉換。所以在選擇課程設計教師的一個重要條件就是教師要有軟件項目開發經驗及管理經驗[5],熟悉軟件開發的各個環節。若教師本身不具備這樣的能力,也可以通過加強教師培訓,讓教師到企業中實習的方式來提高教師實踐指導水平,通過考核的教師才可以指導課程設計。
五、結論
總之,需求分析是軟件開發過程中非常重要的一個環節,是項目所有活動展開的基石,在軟件工程專業軟件類的課程設計中,作為教師在這一環節應為學生提供有效的理論和實踐指導,讓學生理解需求分析的重要性,積極主動地做好需求分析工作,為后續的各項軟件工程活動展開打下良好基礎。
參考文獻:
[1] 秦放等.案例驅動與項目導向結合的軟件工程課程教學模式探討[J].計算機教育. 2013(9):87-90
[2] 陳杰.計算機專業課程設計中的需求分析[J].集美大學學報.2009(2):89-92
一、評價指標構建
(一)評價指標構建的指導原則
指標體系中最重要的是指標,要確保每個指標的科學性,不能隨意設置和編寫指標。本研究的指標體系參考國內外評價指標體系的標準,查閱資料掌握指標構建的基本方法,同時也查閱了大量的有關軟件工程專業有關的專業人才培養方案與課程體系設置的指導性綱要文獻。通過對指標進行分類、歸納和總結,甄選出符合軟件工程專業課程體系評價的指標體系,按照分解評價目標、簡化指標、修正指標、分配權數四個步驟來進行實施。
(二)評價指標體系構建
本研究所涉及評價指標的研究主要采用文獻分析和德爾菲研究法來進行。由于針對課程體系的評價將涉及到高等學校、分院教學管理者、專業授課教師、學生以及用人單位等,因此在制定過程中都要把這些因素列入到指標體系的范圍中。通過文獻分析和專家咨詢,設定了評價的總體目標和子目標,并設定了簡化的指標,然后對這些指標進行修正。在指標設定過程中,要結合軟件工程專業的特點,比如課程體系中是否要符合軟件工程知識體系SWEBOK等內容。在制定過程中,可以不分得這么細,只需要列出課程體系安排的科學性即可,但是在制定細則時要考慮這些問題。限于篇幅原因,評價指標體系構建的細節本文不涉及。通過對指標進行部分的修訂和完善,最終確定了指標體系的一、二級指標。一級指標為課程體系的目標、課程體系的內容、課程體系的實施、課程體系的教學效果。再根據相關的專業理論,就一級指標再細化成若干個關鍵點位的綜合,形成了二級指標。
(三)確定權重
層次分析法是一種定性和定量相結合的分析方法,該方法將判斷規范化、數量化,然后通過統計運算,得出各項指標的權數。該分析方法對各項指標的判斷和比較都是在同一層次中的指標進行的,具體步驟為:首先將問題層次化,然后根據評價對象的性質和要求達到的總目標,將這個總目標分解成不同層次的指標。層次分析法以矩陣理論為理論基礎,其中構造判斷矩陣是一項重要的任務。判斷矩陣是將兩個指標進行比較,查看是否有同等的重要性,還是其中一個指標比另外的指標更重要。根據判斷矩陣準則表,通過聽取專家的意見,對一級指標和二級指標根據相對重要程度,進行比較判斷得到一個表矩陣,求出所有指標的重要程度之和,然后每個指標的權數之值就是將每個指標重要程度之和除以總的重要程度之和的比值,這樣得到每個指標的權數。以一級指標為例,通過層次分析法計算得出其權重分別為0.347,0.449,0.102,0.102,一致性比率小于0.1,可以得出判斷矩陣滿足一致性檢驗,該指標的權數分配有效。按照相同的方法對二級指標求權數。經過多次修改和完善,最終確定了所有的評價一、二級指標的權數,由于篇幅原因二級指標的權重在此不再列出,其中合成權數是由二級指標的權數分別乘以相對應的一級指標的權數得來的,總和值為1。上述方法是一種通過對指標兩兩比較而求得權數的方法,是一種比較簡單易行的一種方法。
二、評價標準的確定
評價指標體系僅有評價指標和權重還不夠,還應該有詳細的評價標準,這樣測評人員才能夠順利地完成對相應問題的評價。目前常見的評價標準確定的方法有分段式標準、評語式標準、量表式標準、隸屬度標準以及期望行為標準等方法,為簡單易行,本研究將各項指標分為若干個等級,然后為各項指標賦予一個權數,使他們按照等距劃分到相應的等級中去,接著將每個等級的分值分成若干個小檔。綜合已有相關研究與實踐經驗,將等級標準劃分為優秀、良好、一般、較差4個等級,分值為100、85、70、55,等級的分值級差為15分。
三、軟件工程專業課程體系評價實例分析
(一)2010版軟件工程專業課程體系簡介
吉林工程技術師范學院作為應用型本科院校,定位為培養應用型人才,因此所制定的專業方向模塊課程要與人才市場及區域經濟發展需求相一致。目前在我國軟件應用領域,軟件開發人員需求缺口很大,因此將我校軟件工程專業人才培養方向定位為軟件開發工程師。在軟件開發領域目前存在著兩大對壘:微軟的.NET和甲骨文公司的JAVA,因此將專業方向劃分為.NET方向和JAVA方向,并依據技術路線設置了相應的專業方向課程。所制定的應用型本科軟件工程專業人才培養方案中的理論課程體系分學期執行。
(二)評價實施
首先根據表1課程體系評價的綜合評價指標體系一、二級指標,制定調查打分表,邀請教育領域的專家、其他高校軟件工程專業負責人、企業負責技術的工程師、在校和已畢業的學生、企業人力資源部經理對人才培養方案進行打分,將打分表收集后進行加權計算,最終本課程體系加權得分取整為87分。
(三)評價分析
從2010版軟件工程專業課程體系的評價得出的結論,應該說基本符合其實際實施情況,從收集的打分情況來分析,“課程體系的目標”這個一級指標的打分值較高,說明課程體系的設置符合社會經濟發展的需要,符合學校應用型大學的辦學定位;“課程體系的創新性”這個二級指標打分值偏低,也反映了課程體系比較完整,但總體缺乏創新和靈活性,通過打分專家的反饋,在2013版軟件工程專業人才培養方案中進行了調整,整體上以目前市場需要較多的An-droid開發為主線;“課程體系的實施”這個一級指標分值偏低,反映出課程體系在實施過程中的一些問題,需要引進企業工程師來校任課,推進理實一體教學方法改革等系列措施。
我國于2002年設立軟件工程,近年來發展迅速,目前已有多家高校設置了軟件工程專業,軟件工程專業的學生數量龐大。但是我國軟件工程專業的人才質量與國際上仍有不小的差距,這就對軟件工程專業課程體系提出了更高的要求。根據我國國情、市場的需求和高校的實際情況,對軟件工程專業課程體系進行進一步研究與創新實踐,對于培養出符合軟件工程產業要求的人才有重要的意義。
1軟件工程專業課程體系的內容
參照2004年國際上IEEE-CS/ACM的本科生軟件工程教育計劃SE2004,我國教育工作者研究出了軟件工程專業本科生教育計劃的相關文件。SE2004的主要內容是SEEK,包括計算機科學基礎,軟件建模及分析,軟件設計、驗證及確認,軟件進化、過程及質量,軟件管理,職業基礎,數學與工程基礎等十余個知識領域。由于涉及領域較多,所以一般建議最少課時不少于五百個課時?;谧钌偻扑]課時,SE2004又給出了課程體系,包括初級、中級、高級課程,數學課程以及非技術課程。
初級課程包括計算機科學基礎優先和軟件工程優先兩種方案。計算機科學基礎優先以程序設計基礎為主要課程,包括數據結構、算法等課程。軟件工程優先以軟件工程為主要課程,包括軟件工程與計算、算法、數據結構等課程。高級課程包括自下向上和自上向下兩種課程設計方案。自下向上以由小到大的順序邏輯思路為基礎,包括軟件需求分析、設計、質量保證、測試等課程。自上向下以由大到小的倒序邏輯思路為基礎,包括軟件的系統構造,軟件測試、設計等課程。
2軟件工程專業課程體系建立的必要性
長久以來,我國高校的軟件工程專業的人才培養以研究型人才培養為主,以理論知識和軟件設計為主要內容,目的是培養軟件工程和計算機技術領域的研究型人才。目前,高校中軟件工程專業的學生在理論知識的運用上缺乏鍛煉,將所學知識運用于實際學習與工作中的能力不足。所以,根據我國國情和高校的實際情況,面向產業需求,建立與國際接軌的軟件工程專業課程體系對于人才的培養和輸運都有重要的意義。放眼國外高校,他們都能根據國家與學校的特點,結合學生的個性與全面發展,培養出適應產業需求和社會發展要求的軟件工程專業人才。他們的教育觀念成熟,教學手段先進,實驗條件優異,并且大多與相關產業的企業有聯系。與我國高校相比,他們對于理論知識的理解更深入,與產業的銜接更好,更注重實踐,有效提高學生們分析解決問題的能力。所以,為了盡快在軟件工程上達到國際水平,與世界接軌,建立軟件工程專業課程體系是必經之路。
3軟件工程專業課程體系發展現狀
3.1課時分配不合理
目前的軟件工程專業課程體系中計算機科學基礎所分配的課時過少,壓縮得太厲害,無法清楚明了地講解計算機科學基礎,對教師和程序設計者產生了不小的挑戰。
3.2軟件工程專業課程體系的優化不足
沿用傳統的計算機的相關課程,不利于教育工作者調整優化計算機的相關課程的教學內容,從而實現軟件工程專業課程體系的精益求精。
3.3創新有余,實踐性不足
軟件工程專業課程體系的創新方案創新性足夠了,但是缺乏實踐性。程序設計是軟件工程專業課程體系的重要組成部分,在教學過程中軟件工程與程序設計有機結合,可以取得良好的教學效果。但是軟件工程專業課程體系卻從軟件工程的角度入手,增加了難度,不易于初學者的入門與深入學習。
3.4初級課程與高級課程的銜接性不足
高級課程的兩種課程設計方案,自下向上和自上向下的設計十分巧妙,但是初級課程的軟件課程導論與高級課程的銜接不夠明確和順暢,有待進一步研究。
3.5非技術性課程不能有效的融合進軟件工程
非技術性課程的內容設置過于簡單,不能有效地將多方面的教學內容融合在軟件工程專業課程體系中。
4軟件工程專業課程體系的發展目標
軟件工程專業課程體系的發展目標是根據國內外對于軟件工程人才的需求,培養出理論知識與動手實踐能力并重的專業人才,主要針對于軟件開發、工程領域、現代軟件工程三個領域。軟件開發領域對于人才的要求是精通算法與數據結構,數據庫,多媒體技術,計算機網絡等專業知識。工程領域對于專業人才的具體要求是:精通電子商務、電子政務、企業與城市信息化、信息安全等知識?,F代軟件工程需要專業人才精通軟件需求分析、體系結構、項目管理、測試與評估等方面的專業知識。件工程專業課程體系旨在結合市場需求與社會發展的要求,根據軟件工程產業的需求,在理論知識的傳授下,培養軟件工程專業人才的綜合能力,包括交流能力、團結意識、創新素質、法律基礎、專業技能等。例如,英特爾公司產學合作專業綜合改革項目自2011年在教育部指導下設立,旨在結合英特爾最新技術和解決方案,面向全國高等學校計算機學院、軟件學院以及相關院系,通過支持專業課程體系建設、實驗體系建設、專業課程建設以及實驗案例開發,從而改進課程教學內容,優化課程體系,提升計算機、軟件工程等專業教學質量。同時,英特爾公司將支持學校對以上相關專業進行系統化教學改革,以期課程建設成果能夠在學校實施。2016年項目申請已開放,本年度重點將根據最新技術和教學要求,以培養計算機專業、軟件和相關專業具有系統化能力的人才為目標,升級和開發計算機、軟件和物聯網專業課程專業綜合改革試點。
5軟件工程專業課程體系的完善與創新實踐
5.1貫徹工程教育理念
按照軟件工程相關產業的需求與實際環境來設計軟件工程專業課程體系,規劃具體的課程安排,組織形成軟件工程專業基礎課程、核心課程體系。
5.2以軟件工程為主線
軟件工程專業課程體系的設置需要以軟件工程為主線來設計基礎與專業課程的具體教學內容?;A課程旨在連接軟件工程和程序設計,專業課程旨在鍛煉學生在特定領域的理論知識的掌握與綜合實踐能力,最終都是為軟件工程服務。
5.3培養學生的綜合素質
改造傳統的軟件工程專業課程體系,強化初學者對于計算機系統理念的建立,對于基本概念的掌握與理解在計算機環境下培養學生利用基礎理論知識解決實際問題的能力。
5.4改變非技術課程的教學方法
非技術課程目前存在的問題是銜接性不足,不能有效地融入軟件工程專業課程體系。所以教師要注意改變教學方法,改革非技術課程的教學內容,基于軟件工程鏈接非技術課程與技術課程為一體,從而更好地發展和完善軟件工程專業課程體系。
5.5注重實踐性教學
摘要:分析軟件工程專業的崗位需求和知識結構,提出適合地方性應用型高校的軟件工程專業核心課程設置方案和體系結構。關鍵詞:地方高校;軟件工程;課程體系
0 引言
進入21世紀,以互聯網為核心的網絡與應用得到快速發展,信息技術的應用模式發生了巨大變化。在開放、動態、復雜的網絡環境下,靈活、可信、協同的計算資源、數據資源、軟件資源、服務資源等各種信息資源的共享和利用、無處不在的普適計算、主動可信的服務計算,均對軟件工程提出了巨大挑戰。
黃淮學院軟件工程專業是河南省省級特色專業,近年來緊緊圍繞培養“就業能稱職、創業有能力、深造有基礎、發展有后勁”的高素質技術技能型人才的目標定位,積極推進應用型人才培養模式改革,緊扣產業辦專業,牽手企業促學業,強化職業促就業,不斷提升專業價值,全面提高應用型人才培養質量。作為本科層次教育,重視較寬厚的基礎知識的傳授;作為應用型人才的培養定位,重視面向生產、經營、管理實際,面向經濟社會活動實際,培養運用所學知識分析問題、解決問題的能力,同時也要培養學生適應社會的能力、創業發展能力。應用型本科院校課程體系的設計應有其內在的規律與特定的模式?;诖耍P者以黃淮學院為例,對這一問題做如下探討。
1 軟件工程課程體系建設原則
原則1:構建課程體系的重要原則是核心課程體系的構建。核心課程體系的構建不是計算機科學專業課程和軟件工程類課程的簡單堆砌,而是對計算機學科課程進行有效的裁減和調整。對比軟件工程學科和計算機科學技術學科可以看出,計算機科學的主要目標是為解決計算問題尋找有效的、能產生更好性能的途徑;軟件工程的主要目標更注重具體方法和技術的應用,軟件工程除了關注解決軟件問題的理論、原則、方法和技術,還關注軟件質量、軟件過程、項目管理、團隊合作、與用戶/客戶相關的問題,研究的對象是軟件開發過程中的所有活動。軟件工程專業的培養目標是合格的軟件工程師,具有更明確的職業特性。
原則2:應用型本科高校軟件工程專業不是簡單復制211或985高校的課程體系,而要根據培養“就業能稱職、創業有能力、深造有基礎、發展有后勁”的目標,結合實際工作崗位職業需求,基于傳統本科教育與職業教育相互滲透的培養理念,在通才與專才之間尋找平衡點,專業知識體系夠用為主,“軟、硬并重”,以第一課堂為核心,以行業、企業和管理服務崗位對人才知識、能力、素質的具體要求構建課程體系。
原則3:權衡軟件工程專業本科畢業生所應具備知識的深度、廣度和適應性。在大學教育期間,學生應學習的知識大致可以劃分為4個.方面:人文社會科學知識,這是做人之根本;數學知識,這是軟件工程專業的底層基礎;專業知識,是軟件工程學科之特色;相關領域知識,是學生就業之砝碼。知識是基礎,能力是知識的綜合體現。對于軟件工程專業的學生應該著力培養以下能力:專業必備的開發、設計能力,能終身受用的學習能力,培養領導力的處事能力和積累財富的創新能力。在注重學科知識的系統性和嚴謹性基礎上強調實際能力培養的重要性。
2 軟件工程專業課程體系基本構架
黃淮學院軟件工程專業知識體系如圖1所示,該知識體系以人文外語知識和科學基礎知識為基本,軟件工程專業基礎知識為中堅,軟件工程與軟件管理專業知識為塔頂,輔以實踐和頂崗實訓構成軟件工程專業知識體系金字塔。
人文與外語知識包含由教育部統一要求的思想政治類課程、大學英語、專業外語以及創新創意和職業規劃方面的拓展課程;學科基礎知識則涉及數學系列課程、電子基礎課程和計算機科學基礎課程;專業基礎知識和專業技能知識包含程序設計基礎、軟件工程和軟件管理等,具體教學過程中可以涉及部分軟件工具和軟件產品作教學載體。針對軟件行業普遍反映的畢業生獨立解決問題能力不強、責任心差、對問題進行抽象和分析的能力差的問題,設計了如圖2所示的實踐能力漸進培養模式,該模式貫穿在課程教學、實驗、實訓和畢業設計等教學過程中。
3 軟件工程課程系列的設計
黃淮學院軟件工程專業的課程體系既考慮了工程性、技術性、實用性、系統性、綜合性和復合型,又注意到強化基礎在有效解決復雜軟件的構造和應用方面能起到關鍵性作用,采取了根據就業崗位的能力需求進行知識分解,由課程模塊構建系列課程,分階段互動式的課程設置方法。具體安排如圖3所示。
從圖3可以看到基礎知識教學階段共2學年,這樣設計是為了強化學生基礎知識,實現“基礎扎實、學科認知和專業融入”的目標。公共基礎系列課程針對人文與外語知識,學科基礎理論系列課程的啟動從數學基礎課程系列和計算機導論開始,內容貫穿軟件工程所涉及的計算機系統、程序設計語言、軟件工程、網絡技術等專業基礎知識的知識點以及與信息技術有關的社會人文等知識,力求使學生對所學專業有比較深入的了解,樹立專業學習的責任感和自豪感。其中包括高級語言程序設計、程序設計基礎、數據結構和面向對象程序設計,旨在引導學生領會計算思維的同時訓練其編程能力;硬件與網絡系列課程包含數字邏輯、計算機組成原理和計算機網絡,軟件工程系列基礎課程包括操作系統、數據庫系統原理和WEB程序設計,這樣安排力求達到“編程、網絡和應用開發”三位一體的教學目標。
專業技能教學階段共設36周,設計思路是強調對學生工程性、技術性、實用性、系統性、綜合性和復合型能力的培養,實現“熟悉軟件工程技能、樹立系統概念和掌握軟件設計開發技術”3個目標。在這一階段中,綜合考慮主干專業課程和特色課程的設置,基于辦學特色設置若干動態可擴充的課程模塊,全面考慮課程之間的關聯,強調統一設計、統一規劃。所有方向以系統分析與建模、軟件工程、軟件測試技術和嵌入式系統為基礎,學生必須選修WEB程序開發和嵌入式軟件兩個專業方向中的一個課程模塊,WEB程序開發方向設置網站前臺開發技術、數據庫應用技術、軟件框架技術、軟件需求工程和現代軟件開發技術;嵌入式軟件專業方向開設單片機與接口技術、嵌入式Linux程序設計、移動編程技術、手持設備軟件開發和嵌入式系統開發綜合實踐,同時要求至少選修4門任選課以拓展專業知識。
工程實習教學階段開設在第4學年,設計思路是通過具體項目參與真刀真槍的項目訓練,通過畢業設計與論文培養總結概括能力,實現理論與實際結合、技能與職業素質結合的目標。
在軟件工程專業的課程體系設計中還應充分考慮課程間的銜接性、系統性和創新能力培養。教學計劃中通過設置10門設計類課程,加強課內實踐教學,常設性的學生軟件設計比賽如ACM競賽和軟件設計大賽也被引入教學過程中。上述思路形成的課程體系更細化的結構如圖4所示。
4 結語
一個好的軟件工程課程體系應該在一個或若干個應用領域方面體現出自己的特色,為了幫助學生在適當的深度上學習其他應用領域的知識,軟件工程課程體系應該安排相應的支持課程。軟件工程的應用領域如此廣泛,軟件工程課程體系不可能也不應該面面俱到。在相關領導的支持下,黃淮學院軟件工程專業建設已取得了可喜的成果。軟件工程專業在2010被批準為河南省特色專業,2012年批準為河南省專業綜合改革試點專業,每年畢業學生到各大公司進行項目實踐,并推薦部分優秀學生到IBM等業界著名企業實習,獲得各公司的一致好評。這幾年的實踐表明,教學計劃的設計是確保培養目標實現的保障,課程體系的設計是合理安排教學過程的關鍵。學院軟件工程專業的每一位老師在這幾年的教學改革中付出了辛勤的勞動,但回首軟件工程專業取得的進步,大家都感到心情舒暢。高等院校的教學改革是永恒的主題,作為應用型本科院校軟件工程專業的課程體系更應與時俱進,我們一定會在現有基礎上進一步優化軟件工程專業的課程體系,以期獲得更好的結果。
參考文獻:
[1]楊青,劉洪星.軟件工程學科的特征及其課程體系設計原則[J].武漢理工大學學報,2005,27(2):183-186.
[2]曾永衛,林志剛,楊堯彪.應用型本科院校課程體系頂層設計的探討[J].湖南工程學院學報,2007,17(3):65-67.
中圖分類號:TP3 文獻標識碼:A 文章編號:1009-3044(2014)28-6701-03
1 概述
軟件產業是國民經濟和社會發展的先導性和戰略性產業,是整個信息產業的核心和靈魂。加速發展軟件產業已經成為我國實施“以信息化帶動工業化”戰略的關鍵環節[1]。教育部副部長魯昕3月22日在出席“中國發展高層論壇2014年會”時表示:要“引導部分地方本科院校向應用技術類型高校轉型,從根本上緩解高校畢業生就業難的問題”。當前高校畢業生就業難,主要難在一部分辦學定位不清,專業特色不顯,與地方經濟社會發展脫節嚴重[2]。這種低就業率,低就業質量的狀況,不僅直接造成國家教育資源的嚴重浪費,還影響數百萬家庭的民生福祉,因此必須學習借鑒發達國家應用技術大學和應用型高校的經驗,引導部分本科高校加快轉型發展步伐,更加直接地為區域發展和產業振興服務,通過產教融合、校企合作、工學結合、培養生產服務一線的高素質應用技術人才,逐步實現人才培養和就業需求的無縫對接。
當前轉型的院校正處于生存與發展的關鍵時期,如何適應轉型,重新確立培養目標,調整培養方案是這些院校亟待解決的問題。這些院校必須服務于地方經濟發展,適應地方企業的需求,找準定位,調整課程體系,強化實踐鍛煉,培養高素質應用技術人才。
2 企業對軟件人才的需求
從招聘需求分析,軟件行業除了大型企業外,更多的是中小企業,由于需求缺口較大,很多學歷等門檻性指標,在軟件行業招聘需求中占的比較少,更多的是對技術和經驗的要求,換言之軟件行業是一個憑技術實力吃飯的行業。但軟件行業的特性是團隊作戰,除個人能力以外,企業更強調團隊精神與抗壓能力等心理層面的綜合素質。因此,對于希望投身于軟件行業的人員來說,學歷或許能為你爭取得到機會,但卻不是決定性因素,行業對經驗技能的要求將成為人才評判的主要標準。
企業對軟件人才的需求分高、中、低三個層面。大型企業主要選擇具有扎實的理論基礎和綜合素質、具有較高的外語水平、具有學習潛力和發展空間的應屆畢業生;而中小企業主要選擇掌握某種開發工具或開發平臺、有一定工作經驗、能夠立即創造價值的軟件人才。因此地方高校要針對自身生源、人力、財力等特點定位,為大型企業輸送軟件人才的機會不是沒有,但鳳毛麟角,大部分學生更適于中小企業就業,學生在學校能夠學會一種開發工具或開發平臺,但缺乏相關的工作經驗。這就需要我們改變培養模式及方法,校企聯合,按照企業需求定制課程,以項目驅動教學,突出實踐教學,從實踐中摸索積累經驗,讓學生真正實現畢業即能夠就業的目標。
3 轉變觀念,重新定位,調整人才培養方案
地方高校轉型首先要轉變教學觀念。傳統的教學理念更多地是注重理論知識的講授,內容枯燥、抽象、不連貫,實踐也大都是知識點的驗證,學生往往不知所學知識如何應用。所以在教學理念方面,應由傳統的知識講授轉變為突出學生能力培養,即由過去的理論灌輸變為多方位的啟發引導,注重提升學生的思維能力,將教師單項傳遞信息變為學生能主動接受信息,讓學生成為真正的學習主體[3]。
未來幾年,軟件人才仍會是炙手可熱的技能人才,但時代不斷變遷,企業對人才的要求也不斷的提高,手機與互聯網給當今社會帶來了更大的沖擊。隨著云計算、智能手機和移動互聯網的發展,軟件人才的需求更加多樣化,企業更多需要的是復合型高技能人才。C++、Java軟件工程師的就業率在近兩年因為人才過多或者是技術不夠完善被拒之門外,而安卓軟件工程師、安卓開發工程師、數據庫設計師等職位的就業率一直不斷上升,甚至出現了學生未畢業就被錄用的局面。以往軟件人才培養及課程體系更多是面向理論型人才培養而制定的,對于地方性院校的學生來說,理論研究能力不足,缺乏工程實踐經驗,是導致這類學生求職困難的主要原因,因此高校要順應社會的發展,適應企業的需求,根據地方經濟發展需要重新找準定位,實時調整人才培養方案,根據企業需求制定培養目標和課程體系,引進CDIO工程教育理念,實施案例驅動和項目驅動教學法,為基于工程能力培養而優化課程體系,改革教學內容和考核方式,突出工程實踐能力鍛煉,旨在培養具有工程能力和實踐經驗的技術應用型人才。
4 構建從理論到應用一體化的課程體系
軟件工程教育的現狀是學生入學門檻高;課程體系基礎扎實;課程多、作業重、考試單一;理論知識點離散或脫離實際;教材更新過慢、知識更新不夠;教學知識灌輸多,解惑及獨立思考少;對工程能力及軟件開發方法培養不夠。所以,要發展軟件產業,這種教育現狀必須進行改變。
軟件工程專業的培養目標是滿足社會需求和軟件行業的需要,高級軟件工程師、系統分析人員、軟件項目策劃和管理人員、系統架構師等是靠工作經驗的積累才能逐步達到的[4],地方性本科院校應面向工程應用,培養從事軟件應用和開發的中、低級軟件工程師,因此我們的培養方案應圍繞著培養目標制定,課程體系設置將綜合素質與工程能力培養作為人才培養的核心,以培養學生專業理論、技術、技能及工程經驗為教學主體,弱化理論教學,通過項目驅動教學方法,增加綜合性課程設計,鼓勵學生參加各類學科競賽和創新創業訓練,來突出實踐技能即工程能力培養。
今年我校按照計算機大類招生,采用“1.5+1.5+1”模式(即一年半基礎課、一年半專業核心課、一年企業實踐課),針對新的培養目標構建的課程體系為“平臺+模塊”(基礎課程平臺、專業模塊課程),實踐教學環節和素質拓展環節貫穿于教學全過程,學生經過專業基礎知識、專業技能訓練、企業實訓三個階段的培養,可以直接面向企業就業。由于大類招生,前一年半進行基礎教育,主要完成思想品德、綜合素質和專業基礎的教學,每個學期都安排企業講座、專業介紹等,第二、三學期再通過認知實習,讓學生對專業有進一步了解,使學生在對計算機各專業有充分認知的基礎上選擇專業,避免盲目選擇。但這樣也會導致一年半的專業課學習時間非常緊張,因此必須對專業核心課程進行整合優化,用項目驅動的方式,以能力培養為核心,將軟件開發課程有機地聯系起來,雖然學習時間縮短了,但強化了能力鍛煉,課程優化的框架如圖1所示。
采用1-2個項目把軟件工程專業的基礎課和專業核心課貫穿起來,可以把一個完整的項目分解成四個模塊,基于軟件工程方法,用軟件開發技術模塊的課程對軟件項目進行需求分析、建立設計模型,用程序語言模塊的課程進行代碼編寫,用網絡和數據庫模塊的課程進行網絡設置和數據庫設計,用Web技術模塊的課程進行Web界面設計,項目的設計過程中還要進行軟件測試和項目管理......以往各門課程獨立開設,學生學到的都是離散的知識點,這樣通過1-2項目把離散的知識連續起來,把課程理論知識和實際應用有機結合起來,學完了課程也就學會了項目開發方法,開設公共基礎課以培養學生人生觀、價值觀和思想品德,并鍛煉良好的體魄和外語能力;用專業基礎課夯實基本理論和基礎知識;加以素質拓展訓練綜合素質;再通過學科競賽、創新創業訓練、應用軟件開發實踐訓練等,既鞏固了所學理論知識,又拓展了應用技能,學生最后經過一年的企業實習實訓,獲得了項目開發的實戰經驗,為學生順利進入職場做好充分準備?;谀芰ε囵B的軟件工程專業課程體系結構如圖2。
軟件技術的發展日新月異,因此,學校除了教授學生專業知識外,還必須培養的自學能力和創新能力,使之能滿足軟件新技術的發展。另一方面溝通協調能力以及團隊合作精神也是很重要的,特別是在IT行業非常注重合作意識,因此在教學過程中要以學生為主導,可將學生分成3-5人的小組,讓學生分工合作,在合作中培養溝通能力和協作意識。此外還要建立完善的考核評價體系,試卷不再是主要考核形式,以工程項目的完成過程及效果為主要考核手段,過程評價與效果評價相結合,用階段報告和答辯等方法綜合考察每位學生,切實使每位學生都能深入其中,發揮各自所長,學以致用。教師在教學過程中要增加職業導向指引,使學生能按照自己的興趣和特長找到適合的崗位。
5 結論
改革是一個漸進的過程,首先教師要改變傳統的教學方法,應具備一定的工程實踐能力(即軟件項目開發經驗、指導學生參加學科競賽和帶領學生進行創新創業訓練的能力),改變以教師講授為主的課堂教學模式,采用項目驅動的教學方法,以啟發引導學生做任務的方式完成教學,真正讓學生在實踐中學習。其次以素質教育為基礎的技能應用型人才培養,應以能力培養為核心,將工程素質教育融入課程體系,通過工程素質教育和實踐鍛煉,培養學生的創新精神、協作精神和解決軟件開發實際問題的能力。軟件人才是否具備軟件工程的實踐經驗是非常重要的,通過校企聯合培養,使軟件人才接受包括系統分析、設計、編碼、調試和維護等全過程的軟件工程實際工作的訓練,才能具備相應的實踐經驗。下一步改革將細化考核評價體系,完善評價機制,使學生經過三年的學習和一年的實踐,能真正具備軟件項目開發能力,適應企業需求。通過對軟件工程專業人才培養模式優化改革的實施,改善在校生的學習效果,提高畢業生的就業率,促進其職業生涯中的快速成長。
參考文獻:
[1] 楊健,李穎新, 孟欣. 關于我國軟件產業的戰略思考[J].中國信息年鑒,2002.
軟件工程是指導計算機軟件開發和維護的工程學科[1]。為了培養高層次、實用型、復合型、具有國際競爭力的軟件人才,我國于2001年底啟動軟件工程學科的教學。國內很多高校(包括211重點工程、地方高校)都設立了軟件工程專業,為社會培養了大量的人才。然而,目前在IT人才市場卻出現了高校應屆畢業生就業難和企業急需合格的IT人才的矛盾。這反映了高校傳統的人才培養模式與軟件產業對人才規格的要求之間存在較大偏差。因此,改革人才培養模式,優化課程體系結構,培養適應企業需求的實用型軟件人才是當前高等院校的重要任務之一。
借鑒發達國家工程型人才培養的成功經驗,根據“海西”區域經濟發展現狀和我校應用型本科教育的辦學定位,提出我校軟件工程專業人才培養目標是:軟件工程專業本科學生應該既具有可持續發展潛力又適應當前軟件產業崗位需求,具備較強的工程實踐能力、必需的專業技能和職業素養,能夠快速完成從學生到企業員工的角色轉換。圍繞上述目標,筆者從理論教學課程體系和實踐教學課程體系方面,提出本科應用型軟件工程專業課程體系的建構思路,并應用課程群方法對課程體系進行了優化處理。
1“核心穩定、方向靈活”的專業理論課程體系構建
“軟件工程”學科特有的工程性,技術與管理的綜合性,新興學科的快速發展和變化等特點,使得課程體系設計面臨一系列突出問題。通過對軟件行業人才知識結構和綜合素質要求的全面研究,借鑒國際先進的工程教育培養理念和國內其他高校應用型軟件工程人才培養模式,結合“海西”區域經濟發展現狀及我院辦學定位,提出既面向當前軟件產業崗位需要,又兼顧本專業學生發展潛力培養,具有“核心穩定、方向靈活”的課程體系設計思路。
1.1專業必修課程體系設計策略
專業基礎課程、專業核心課程應根據計算機基本知識理論體系設置。該課群主要培養學生具有扎實的計算機理論知識,具備良好的軟件分析和設計能力,能夠利用專業理論知識指導實踐。為了培養學生潛力和可持續發展能力,提高學生未來職業發展的核心競爭力,避免“后勁不足”,在專業課程體系設計中采取了三個優先策略:
1) 基礎課程優先策略。高級語言程序設計、離散數學、算法與數據結構、數據庫系統原理及應用、微機原理及接口技術、面向對象程序設計、計算機組成與結構、數據通信與計算機網絡、軟件工程、操作系統原理及應用、軟件測試技術等重要的專業基礎課程、專業核心課程,必須優先保證其課時安排并配備最好的教學資源。
2) 程序設計優先策略。程序設計是學習后續課程所必需的技能,也是訓練學生軟件開發能力必要的手段。第一學期就安排了高級語言程序設計課程。其后,通過算法與數據結構、結構化程序綜合設計、數據庫系統原理及應用、C/S程序綜合設計等課程,不斷加強學生程序設計能力的訓練。尤其是結構化程序綜合設計、C/S程序綜合設計這兩門課程,被設計成以任務驅動的實踐性實驗課程,通過每周一次的案例設計指導和結果檢查,來提高學生程序設計和項目開發的綜合能力。
3) 專業外語優先策略。社會對國際化人才的需求越來越強烈,為了培養具備一定國際視野的IT專業人才,也為了使學生能更快更好地更新專業知識,增強其職業發展的潛力。將專業外語課提前到第三學期,并在專業基礎課程、專業核心課程和專業選修課程中加入一定比例的雙語課程,將英語融入到專業理論知識學習的過程中,為學生編寫英文程序代碼,查閱英文技術文獻、文檔掃除語言障礙。
1.2專業方向選修課的“逆推”設計法
基于軟件企業崗位需求劃分專業方向,努力縮小高校培養的軟件人才與企業需求之間的差距。具體做法是:首先依據專業定位和社會需求選擇若干個崗位確定為專業方向,如:企業計算方向、嵌入式系統方向、日語加強班、企業定制培養實訓班(針對崗位到企業實訓、請企業技術人員到學校授課)、考研班等。明確每個專業方向畢業生應具備的能力和應掌握的知識,采用“逆推”的方法[2]設計專業方向選修課群,制定模塊化的專業方向選修課程體系,如圖1所示。專業方向選修課設置要緊緊跟蹤軟件行業人才需求變化和新技術發展,不斷進行動態調整加以完善,保持專業方向選修課設置的可擴展性和靈活性。
2注重職業技能培養,構建工程化實踐教學體系
實踐教學是指有計劃地組織學生通過觀察、試驗、操作,掌握與專業培養目標相關的理論知識和實踐技能的教學活動[3]。盡管實踐教學部分的課時在總課時中所占比例不低,但實際的實踐教學效果卻并不理想。傳統實踐教學的主要弊端是:①忽視了理論課程與實踐課程之間、不同的理論課程之間以及不同的實踐課程之間的聯系;②在課程設計和軟件開發實踐環節中,缺乏對過程的有效指導和控制,工程意識的培養和訓練不夠充分,難以培養學生的軟件工程能力。
2.1以崗位技能培養為目標,構建三級實踐教學體系
針對傳統實踐教學中存在的上述問題,提出以職業崗位能力需求為導向,構建工程化實踐教學體系的思路。具體做法是:根據職業崗位對人才知識和能力的要求,制定工程實踐教學的一級目標,將一級目標分解為二級目標,二級目標進一步分解為三級目標。三級目標、二級目標、一級目標分別對應課程實驗、課程設計、畢業設計實踐教學三級體系,如圖2所示。
一級目標和每個二級目標都是由三個階段組成:知識串講;案例實現;項目完成。整個實踐教學體系圍繞學生專業技能和職業素質的培養分層次、分階段實施,為學生提供了一條從編程到軟件項目開發的漸進式發展之路,形成一個融基礎理論、實驗教學、工程實踐為一體的整體化培訓機制,使學生各方面的能力都得到全面均衡的發展,適應現代軟件產業的需求。
2.2校企合作,加強學生職業素質教育
建立校企合作的企業實訓基地,實施“3+1”教學模式。即大學最后一年,讓學生到軟件企業頂崗實訓。通過真實的生產實訓、任務驅動、項目導向,加深學生對軟件工程實際運用性的理解,全面強化學生的專業實踐技能,培養其工程能力以及工程經驗,了解企業文化,樹立團隊合作精神,縮短學生走上實際工作崗位時的適應期。
中圖分類號:G420 文獻標識碼:A 文章編號:1674-098X(2016)04(a)-0147-02
根據《國家中長期教育改革和發展規劃綱要(2010-2020)年》和三部委《關于引導部分地方普通本科高校向應用型轉變的指導意見》(教發【2015】7號)文件精神,結合該院發展改革實際,確定發展定位為應用技術型學院。那么如何實現以學生未來就業崗位需求為導向,以培養具有良好道德品質、具有勇于創新精神、具有高度社會責任感、理論知識扎實、專業能力全面、實踐能力實出、具備繼續學習能力的高素質應用型、技術技能型、復合型人才為目標,真正轉到服務地方經濟社會發展上來,轉到產教融合校企合作上來,轉到培養應用型技術技能型人才上來,轉到增強學生就業創業能力上來是面臨的實際問題。現以該院軟件工程專業為例,向應用型技術技能型轉變過程以此專業的課程體系建設為突破口,建立以崗位能力驅動的“雙主線”的課程體系(注:“雙主線”,第一條線為素質教育=職業素質+創新創業+德育教育;第二條線為專業核心技能培養)。
1 “雙主線”課程體系建立的依據
隨著經濟發展進入新常態,人才供給與需求關系深刻變化,面對經濟結構調整、產業升級步伐加快、社會文化建設不斷推進特別是創新驅動發展戰略的實施,高等教育結構性矛盾更加突出,同質化傾向嚴重,畢業生就業難和就業質量低的問題仍未有效緩解,生產服務一線緊缺的應用型、復合型、創新型人才培養機制尚未完全建立,人才培養結構和質量尚不能適應經濟結構調整和產業升級的要求。積極推進轉型發展,必須采取有力措施破解轉型發展改革中的突出問題,緊緊圍繞創新驅動發呢、中國制造2025、互聯網+、大眾創業萬眾創新、“一帶一路”等國家重大意義戰略,找準轉型發展的著力點、突破口,為地方區域經濟社會發展服務,為行業企業技術進步服務。因此,軟件工程專業應主動適應經濟常態化,與就業市場緊密結合,從強調“重理論,輕實踐”的思維調整為“理論夠用,突出實踐”,轉到產教融合校企合作理念中來;同時,通過與企業直接溝通,對就業市場進行時時跟蹤(注:主要關注知名度比較高的招聘網站),以堅持需求為導向、服務地方為主導,突出技術技能型人才培養的“雙主線”的課程體系模式。
2 “雙主線”課程體系建立的思路
根據社會經濟發展和產業技術進步驅動課程改革,整合相關的基礎知識、主干課、核心課、專業技能應用和實驗實踐課為主,更加專注培養學習者的技術技能和創新創業能力,建立了“2.5+0.5+1”的“雙主線”的課程體系模式(見課程體系拓撲圖)。2.5年(注:第一學期至第五學期)主要是開設通識類課程、專業基礎課程、專業課程和專業核心課程;0.5年(第六學期)開設行業準入課程(注:根據目前市場追蹤情況設置四個方向分別為JAVA開發工程師、PHP開發工程師、WEB前端工程師和數據庫工程師);1年(注:第七學期至第八學期)至企業參加實訓和實習,同時完成畢業設計。此種課程設置,在2.5年將本科教學內容完成前提下,可根據IT行業發展的趨勢對0.5年方向課程隨時進行調整,保持行業準入課程與市場時時對接,實現應用型技術技能型培養目標。(見圖1)
3 “雙主線”課程體系建立的具體做法
在課程體系設置中,做到期期、年年有實訓(注:期期指的每一學期,年年指的每一學年)、植入素質培養相關課程、植入《市場營銷》課程、實踐學時加大,建立以項目案例為驅動的基于工作過程化方式開展相應技術課的教學工作,授課地點整體調整為實驗室,以便加強知識點理解和實踐。
4 “雙主線”課程體系實施保障措施
在課程體系設置清晰情況下,需有相應的保障措施跟進為其保駕護航。
(1)加強“雙師雙能型”教師隊伍教師建設,建立“雙元”結構教師隊伍,在改革過程中重點是課程體系設置,難點是教師,如何快速建立“雙師雙能”師資問題,預采取“雙元”結構,一元指的是專業理論教師(專任教師),另外一元為技能教師(請企業一線工程師來校內授課),共同完成專業理論教學與技能教學任務的相關要求。此結構快速建立“雙師型”教師的補充,集專業理論教師在理論教學方面的優勢和技能教師在技能方面的長處,互相學習,回避其相應的短板,建立起相應的教學形式,以迅速提升教學質量和水平。(2)加強教學質量,建立PDCA質量管理體系。(3)加強素質培養,為專業核心技能培養加法碼,提高學生與社會溝通和辦事能力。
參考文獻
[1]費賢舉,胡智喜.基于模塊化的軟件工程課程體系的構建與實現[J].常州工學院學報,2006(4):77-81.
作者簡介:劉瑋(1973-),女,湖北武漢人,武漢工程大學計算機科學與工程學院,講師;何成萬(1967-),男,湖北荊州人,武漢工程大學計算機科學與工程學院,教授。(湖北武漢430073)
基金項目:本文系2010年湖北省高等學校省級教學研究項目(項目編號:2010243)的研究成果。
中圖分類號:G642.0 文獻標識碼:A 文章編號:1007-0079(2012)17-0059-02
推進和加強跨學科復合人才培養,既是科技、經濟與社會發展的迫切需要,也是世界各國高等教育界的共識。培養特色型復合人才是高等院校在激烈的市場競爭中求生存、促發展的必然選擇。近年來,各大高校開始探索以優勢學科為依托,根據就業市場的供求關系調整辦學思路與培養途徑,致力于構建優勢學科的雙專業人才培養模式。[1]軟件工程專業具有構建雙專業培養模式的基礎,目前可分為兩類模式:第一類,軟件工程專業與同屬于工科的其他應用領域(如機械工程及自動化、環境工程等)相結合,使用計算機科學技術和具體領域技術解決相關領域問題,畢業生適宜該環境領域或其他部門從事軟件開發、研制和管理工作。例如,大連交通大學開設的信息管理與信息系統+軟件工程雙專業同屬于工科的雙專業類型。[2]第二類,軟件工程專業與外語專業(如日語、英語)相結合以滿足軟件服務外包或地域性軟件產業的需要。武漢工程大學“E+”國家級人才培養模式創新實驗區(以下簡稱實驗區)提出的“E+”模式既可以通過外語教學的通識教育作用提高學生的人文素養,又可以使學生避免當前純語言類人才的需求下降而面臨就業難的困境,更能滿足其他行業對畢業生外語水平的高端需求。實驗區開設的英語+軟件工程雙專業屬于第二類的軟件工程雙專業培養模式。
根據《計算機科學與技術本科專業規范(軟件工程方向)》,“軟件體系結構”是軟件工程方向專業重要的專業核心課程之一。從2010年起,武漢工程大學將“軟件體系結構”課程作為學校重點課程由計算機科學與工程學院進行建設,目前處于專業課程建設的起步階段。為滿足軟件工程雙專業建設的要求,“軟件體系結構”課程的開設和建設需要做哪些調整呢?本文在總結軟件工程雙專業對“軟件體系結構”課程的具體要求的基礎上,結合武漢工程大學的實際教學情況,對該課程的內容剪裁和教法改進提出了一些建議。
一、軟件工程雙專業“軟件體系結構”課程設置
武漢工程大學實驗區于2011年開設英語+軟件工程雙專業,由外語學院和計算機科學與工程學院共同實施培養,力量和教學資源由有關學院共同實施培養(學生日常管理由外語學院負責),畢業時學生將獲得兩個學士學位。
“軟件體系結構”課程的特點是由軟件工程雙專業的培養對象和培養目的決定的。以武漢工程大學的英語+軟件工程雙專業為例,其培養對象是在當年入校的普通本科新生(限理科考生)中經過嚴格選拔篩選而出的,要求英語基礎較好并具有較高的個人綜合素質。軟件工程雙專業和傳統的軟件工程專業的培養目標都強調了培養“從事計算機軟件項目的設計、開發、管理的國際化軟件工程技術人才”?!败浖w系結構”課程對于培養軟件構架方面的高端人才起著至關重要的作用,全國各大高校特別是軟件學院的軟件工程專業基本上均將該門課程列為專業主干課,該課程是軟件工程雙專業的主要課程之一。
“軟件體系結構”課程與其他專業課之間緊密聯系,學習該課程前要求學生具備相應面向對象程序設計語言,要求掌握UML基礎知識,因此多數院校在三年級下學期開設該門課程。該課程不僅強調專業理論知識的學習,更看重實際工作技能和動手能力的培養,強調實驗課和課程實訓。另外受到軟件工程雙專業課程增加、總學時有限的影響,在實際安排中,課堂教學32學時,實踐、實訓環節共28學時。這一方面保證了充足的理論課時時間,另一方面通過實驗和實訓兩個環節保證了教學實踐時間,四所大學“軟件體系結構”課程的課時情況。
二、“軟件體系結構”教學內容裁減與擴展
軟件工程雙專業的教學目標是培養學生為應用型人才,軟件應用型人才需要軟件系統工程化有關的理論,用這些理論指導軟件設計、分析軟件開發過程中遇到的實際問題。結合教學和培養方案制定過程中的一些經驗,對“軟件體系結構”課程的教學內容的裁剪和擴展進行了一些思考和總結。
1.削枝強干
軟件設計思想是“軟件體系結構”課程的主線,通過本課程的學習,學生能夠全面、深入理解在軟件開發階段設計軟件體系結構的必要性,并能夠運用其中的思想分析、解決軟件系統設計相關的問題。該課程教學內容裁剪的目的是突出重點和強調實踐。一方面,把較多的學時放在基于體系結構的軟件開發(ABSD)、軟件體系結構設計及其環境等章節,重點講解基于體系結構的設計方法,以及ABSD的基本步驟和基于體系結構的軟件開發模型。另一方面,裁剪理論性較強而且對設計和實踐作用不大的教學內容,例如軟件體系結構風格、典型軟件體系結構描述語言及形式化描述等。一些軟件工程專業軟件體系結構課程的教學大綱中還包括基于UML的軟件體系結構描述等內容,為避免重復,這部分內容可以在UML建模技術及應用或者面向對象建模技術等內容中詳細講解。
2.擴展熱點
為了滿足英語+軟件工程雙專業“具有國際學術視野”的要求,“軟件體系結構”課程教學內容需要在設計模式、大型軟件構架技術和軟件體協結構新技術等方面作進一步擴展。設計模式是近幾年軟件設計研究領域的熱點,在介紹23種設計模式的基礎上,將構件設計、構件和系統的接口設計等知識添加進來,以豐富詳細設計階段涉及的內容。[3]另外,缺乏對大規模軟件構架建模和開發技術,是軟件工程學生難以應用軟件體系結構知識進行大型軟件構架設計的主要原因,因此在教學內容上應該擴展中間件技術、大規模軟件構架中的集成技術等。適當介紹新技術背景下的軟件體系結構,針對云計算和物聯網等新型應用及技術發展趨勢,結合目前該領域的主要應用模式,技術標準,開源系統,以及典型架構等,進行課堂交流和研討。以上教學內容的擴展一方面會使課程體系更為完善、更能適應當前計算機技術的發展,另一方面可以培養出具有先進設計思想和能力的學生,滿足用人單位較高層次的需求。
三、軟件體系結構的教學方法的改革
通過對軟件工程專業2006至2009四屆學生的成績分析和問卷調查發現,該課程教學效果不佳,主要表現在課程內容抽象、缺乏軟件項目經驗、教材缺乏案例等問題。軟件工程雙專業的“軟件體系結構”課程具有學時短、重實踐的特點,為了適應課程特點需要在教學方法上從以下兩方面進行改革。
1.項目案例教學
從理論上講,項目教學法是一種幾乎能夠滿足行為導向教學所有要求的教學培訓方法,[4]因此從其誕生之日起,就受到教育和培訓界人士的歡迎。項目教學法是教師將授課內容寓于項目中,輔助和引導學生實施和完成項目,學生在項目實施過程中自主學習,學生完成這一項目,教師也完成了教學內容。
項目教學法應用于“軟件體系結構”課程具有以下優點。
(1)項目教學法能極大地調動學生的積極性。該課程內容抽象,缺乏軟件開發經驗的學生忽視了軟件設計的重要性,誤認為不用軟件體系結構也能開發軟件,這就導致學習興趣不濃。項目教學法是讓學生實施一個具體的項目(如學生選課軟件系統)的設計,學生學習的目的較明確。在項目設計和實施過程中,學生體會到軟件體系結構的設計能夠降低系統開發風險并提高開發效率,這更能強化學生的學習積極性。
(2)項目教學法能培養學生的合作能力。項目教學大多要分小組完成,通過小組內及小組間的充分交流、討論、決策等,提高學生合作能力,強化學生的團隊意識,這也符合培養具有團隊協作能力的要求。
(3)項目教學法能促進課程間的整合。項目的設計過程中會涉及很多專業知識,例如需求分析、數據庫系統、面向對象建模等。這種基于項目教學的課程整合能夠強化學生軟件系統工程化開發的思想和技能。
2.參考教材+補充講義的模式
軟件體系結構課程增加了設計模式和大型軟件構架技術等教學內容,結合英語+軟件工程雙專業學生英語能力較強的特點,采用規劃教材為主、校內補充講義為輔的模式。本課程使用的教材為Mary Shaw所著的《軟件體系結構》(世界著名計算機教材精選)和耿祥義所著的《Java設計模式》(21世紀高等學校計算機專業實用規劃教材)。根據教學內容我校選擇了《軟件構架實踐》的第1、2、6章和《Java設計模式》的第1、4~26章,同時參照郭秋萍所著的《大規模系統構架建模及其開發技術》中與構件技術相關的章節內容撰寫補充講義。另外在課程網站上還增加了Luke Hohmann所著的《Beyond Software Architecture:Creating and Sustaining Winning Solutions》和Felix Bachmann所著《Documenting Software Architectures:Views and Beyond》的電子書,用以完善本課程的教材庫,為學生提供一個課外在線學習和遠程教育的平臺,方便學生課外自主學習。
四、小結
武漢工程大學“E+”國家級人才培養模式創新實驗區下設的“英語+軟件工程”四年制雙專業人才培養模式是軟件工程雙專業的一種典型模式,具有一定的代表性和創新性。本文根據軟件工程雙專業人才培養和IT企業和相關事業單位的需求探討作為軟件工程專業主干課之一的“軟件體系結構”課程的教學改革,在作為校級重點建設課程的建設過程中,提出了一些內容剪裁和教法改進,希望籍此對雙專業課程教學的共性問題拋磚引玉。
參考文獻:
[1]蔣潔.構建一體化雙專業人才培養模式[J].理論月刊,2010,(11).