時間:2022-05-12 14:10:48
序論:在您撰寫軟件工程專業(yè)課程時,參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的7篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導您走向新的創(chuàng)作高度。
關鍵詞:知識體系;技能標準;教學模式;課程體系
課程建設是專業(yè)建設的核心內涵,課程設置及其教學質量反映了一個專業(yè)的教育理念、辦學特色和人才培養(yǎng)質量。我國軟件工程專業(yè)教育可以追溯到2001年底國家推出的示范性軟件學院計劃,該計劃中的專業(yè)定位是面向軟件產業(yè)培養(yǎng)高素質的工程型軟件實用人才。2011年2月,國務院學位委員會正式公布修訂的學科目錄,把軟件工程新增為一級學科,這充分說明了軟件工程學科在國家戰(zhàn)略層面上已經提升到一個新的高度。雖然,我國1900多所高校中有近200所院校開設了軟件工程專業(yè),但是,軟件工程的專業(yè)教育現(xiàn)狀與軟件工程的技術發(fā)展差距較大,市場對人才的需求仍存在較大缺口,適應產業(yè)市場不斷發(fā)展的軟件工程專業(yè)建設工作依然任重道遠。
1 職業(yè)技能結構分析
軟件工程專業(yè)教育同樣面臨著兩個問題:一是培養(yǎng)什么樣的人(即市場需要什么樣的人才),二是怎樣培養(yǎng)人(即高校的教育內容和培養(yǎng)模式)。在軟件產業(yè)迅猛發(fā)展過程中,雖然高校招生規(guī)模不斷擴大,但是制約企業(yè)發(fā)展的人才問題并沒有得到有效緩解,尤其是中高端人才的矛盾還很尖銳。究其原因,一方面,大型軟件企業(yè)對中高級技術和管理崗位人才需求量很大、要求也很高,這類人才通常需要3-5年的工作經驗,有兩個以上的項目經歷;另一方面,高校教育和市場需求脫節(jié),每年大量進入就業(yè)市場的計算機類畢業(yè)生很難直接符合企業(yè)要求,有些畢業(yè)生需要經過社會培訓機構或者軟件企業(yè)培訓,有些畢業(yè)生甚至放棄了本專業(yè)工作。
在軟件企業(yè)中,合理的軟件人才結構應該是金字塔型的,塔的頂部是高級開發(fā)和管理人員,中間是相當規(guī)模的系統(tǒng)分析和設計人員,底部則是大量的基礎程序員(也稱軟件藍領)。這樣一種合理的人才結構是軟件企業(yè)的期待,更是對教育部門提出了人才培養(yǎng)的具體要求和明確目標,畢竟大量的軟件人才是需要經過高等學校的學歷教育。一個軟件專業(yè)畢業(yè)生走出學校之后,其成長過程基本上遵循學習實踐再學習再實踐的模式。進入軟件企業(yè),在初始的工作崗位上,首先通過短期培訓,從事初級的技術開發(fā)工作;經過一段時間的技術實踐,逐步提高其職業(yè)技術水平,成為中高級工程師;通過更高級別的培訓,使其承擔更為重要的技術和管理工作。可見,大學生在校期間除了專業(yè)知識學習外,從事職業(yè)的技術能力和適應工作的職業(yè)素養(yǎng)培養(yǎng)十分重要。
軟件工程是指導軟件開發(fā)和維護的一門工程學科,換言之,采用工程的方法、技術、工具和管理手段,以期開發(fā)出低成本高質量的軟件產品。從這個定義可以看出,軟件人才大致可以劃分為技術型和管理型兩類。從產品的技術角度看,不僅有產業(yè)標準和行業(yè)規(guī)范,而且項目的施工和管理有一套技術文檔,這就是軟件工程規(guī)范。從項目的管理角度看,分工協(xié)作是軟件產業(yè)市場的總趨勢,項目團隊的分工合作是現(xiàn)代軟件工程的一個重要職業(yè)特點,因此,軟件工程專業(yè)的人才培養(yǎng)不僅要求具有專業(yè)知識,還需要有職業(yè)技能和職業(yè)素養(yǎng)。
軟件工程專業(yè)的專業(yè)知識可分為基礎知識、專業(yè)知識和專業(yè)理論,職業(yè)技能可分為基本技能、專業(yè)技能和綜合技能,職業(yè)素養(yǎng)可分為基本素養(yǎng)、職業(yè)素養(yǎng)和綜合素養(yǎng)。在專業(yè)教學中,強調專業(yè)知識中的核心基礎知識,不求全面知識,知識教學內容必須與技術發(fā)展同步更新。把職業(yè)技能分為特定技能、通用技能、核心技能3個層次,其中核心技能具有普遍適用性,在職業(yè)生涯中受益終生。在職業(yè)技能訓練中,按照軟件的階段劃分,制定不同階段所要求的職業(yè)技能。如編碼階段,要求有規(guī)范代碼書寫、單元測試能力,教師或項目經理要善于觀察、發(fā)掘、培養(yǎng)新人;根據(jù)學生的各自特點,通過固化訓練或交叉培養(yǎng)其設計、編碼、測試、文檔書寫等能力。在學生的職業(yè)能力成長過程中,關注哪些學生是技術型的,哪些是項目管理型的,哪些是技能操作型的。由于高校不是企業(yè),企業(yè)也無法承擔高校的職能,通過校企合作的項目實訓,圍繞學生職業(yè)能力訓練,明確企業(yè)和高校的職責分工邊界。在職業(yè)素養(yǎng)訓練方面,著重訓練學生的交流表達、文檔寫作、分工合作、敬業(yè)奉獻等能力和精神。在教學過程中,明確軟件工程專業(yè)的職業(yè)素養(yǎng)邊界,堅持“任何人都有用”的原則,關鍵是用到何處。比如刁鉆苛刻的人用到測試上,勤奮好勝的人用到技術攻關上,豁達人緣好的人用到項目協(xié)調上,條理規(guī)矩的人用到設計上去。
2 專業(yè)知識體系裁剪
軟件工程學科是從計算機學科發(fā)展而來的,經歷了從軟件、軟件開發(fā)技術、軟件工程到軟件工程教育的一個發(fā)展歷程。國內許多高校參照了IEEE-CS的軟件工程知識體系指南SWEBOK2004,該指南給出了軟件需求、軟件設計、軟件構造、軟件測試、軟件維護、軟件配置管理、軟件工程管理、軟件工程過程、軟件工程工具和方法、軟件質量等10個關鍵知識域,指出每個知識域的教學內容。此外,SWEBOK分析了軟件工程職業(yè)特征,認為軟件工程學科與計算機科學、管理科學、數(shù)學、項目管理、質量管理和系統(tǒng)工程等學科相關。這說明該專業(yè)需要開設一些相關學科的基礎課程,但是要確定軟件工程與相關學科之間的知識公共邊界,要對相關課程進行內容裁剪。
浙江師范大學軟件工程專業(yè)教學計劃的規(guī)定如下:專業(yè)畢業(yè)最低總學分為170學分,其中通識課程50學分,學科平臺課程1分,專業(yè)核心課程31學分,專業(yè)方向課程30學分,基礎性實踐課程5學分,提高性實踐課程31學分,創(chuàng)新性實踐課程4學分。圍繞人才培養(yǎng)目標,構建了“通識課+學科平臺課程+專業(yè)核心課程+專業(yè)方向課程+實踐課程(基礎性、提高性、創(chuàng)新性)”體系,其中“學科平臺課程+專業(yè)核心課程+專業(yè)方向課程”構成了專業(yè)知識體系。該計劃是在調研其他兄弟院校,如浙江大學、浙江工業(yè)大學等的基礎上,緊扣人才培養(yǎng)目標,結合本校專業(yè)課程的進度安排,設置了4個層次的專業(yè)主干課程,如表1所示。
3 專業(yè)課程體系構建
實現(xiàn)人才培養(yǎng)目標,關鍵在于如何構建專業(yè)課程體系。面向社會需求,以課程為載體,合理設置課程。課程設置的原則是打好專業(yè)基礎以保障學生就業(yè)能力、掌握主流技術以提高學生的基本技能、訓練職業(yè)素養(yǎng)以成就學生的職業(yè)能力。注重加強數(shù)學基礎,使本專業(yè)的學生具備較強的數(shù)學功底,引入國際公認的CMM5級能力成熟度模型,旨在提高學生規(guī)范化開發(fā)和團隊分工協(xié)作能力,強化程序設計基礎,使學生掌握軟件開發(fā)所必需的知識與技能,熟練運用開發(fā)環(huán)境和工具。
軟件工程專業(yè)課程建設的基本理念是遵循軟件工程思想,強調以項目驅動的教學方法,如圖1所示。課程開發(fā)要求項目真實、文檔齊全規(guī)范,在教學過程中,教師采取項目實例教學,通過實例體驗讓學生掌握知識點。通過項目式教學改革,在掌握最基本、最必要的專業(yè)基礎知識的前提下,在較淺的程度內掌握一兩種計算機程序設計語言,然后學習目前流行且高效率的軟件開發(fā)工具(如果企業(yè)需要,還可以學習一些更加專用的軟件開發(fā)工具),學習實用的軟件編程、數(shù)據(jù)管理、系統(tǒng)維護等技術,構建以技能訓練為中心的知識結構和課程體系。
在軟件工程教學過程中,通過教學實踐總結,我們提出了“以職業(yè)技能為根本、工作體驗為主題、知識點恰到好處”的教學方法;遵循軟件工程規(guī)范,把職業(yè)技能劃分為特定技能、通用技能、核心技能;提出“遵循軟件工程規(guī)范、研究職業(yè)技能結構”的課程建設思想,構建了以核心技能為主的3個層次的專業(yè)課程體系。實踐教學環(huán)節(jié)的項目分類及內容如表2所示。
專業(yè)課程的教學充分尊重軟件工程專業(yè)的學科特點,在專業(yè)基礎和核心課程教學的同時,通過教學的3個階段劃分來實現(xiàn)人才培養(yǎng)目標(見表3)。
【關鍵詞】軟件工程;專業(yè)建設;課程群
0 引言
作為一個新興的學科,軟件工程涉及計算機科學、數(shù)學、管理學等領域,是一個綜合叉學科。同時,軟件開發(fā)技術得到了飛速的發(fā)展,云計算、移動互聯(lián)網絡、手機系統(tǒng)和APP軟件、物聯(lián)網以及互聯(lián)網+概念的提出,對計算機行業(yè),特別是軟件工程專業(yè)的發(fā)展產生了深遠的影響。
如何利用現(xiàn)有技術,對軟件工程專業(yè)的人才培養(yǎng)模式進行改革,從而培養(yǎng)出適應社會需要的高素質、實用型、具有競爭能力的軟件工程高級應用型人才是擺在軟件工程教育工作者面前的一個重要任務。
本文以河南城建學院“人才培養(yǎng)模式改革”為契機,結合軟件工程專業(yè)的學科特點及現(xiàn)階段的教學困境,提出了軟件工程專業(yè)課程群建設方案,旨在為課程體系與教學內容整體優(yōu)化提供有益探索。
1 軟件工程專業(yè)認知與定位
對比計算機科學與技術專業(yè),軟件工程專業(yè)側重于用工程化的技術和方法,應用計算機科學、數(shù)學、及管理科學等原理來開發(fā)軟件。其中,計算機科學、數(shù)學用于構建模型與算法,工程科學用于制定規(guī)范、設計范型、評估成本及確定權衡,管理科學用于計劃、資源、質量、成本等管理[1]。軟件工程包括十大知識領域:軟件需求、軟件設計、軟件構造、軟件測試、軟件維護、軟件配置管理、軟件工程管理、軟件工程過程、軟件工程工具與方法、軟件質量。
立足于計算機工業(yè)和軟件產業(yè)的人才需求現(xiàn)狀,高等院校的軟件工程專業(yè)人才培養(yǎng)模式不僅要注重學生基礎知識和動手能力的培養(yǎng),同時也要注重學生工程能力和職業(yè)素質的培養(yǎng)。我院軟件工程專業(yè)人才培養(yǎng)目標為:培養(yǎng)適應我國社會主義現(xiàn)代化建設需要,德、智、體、美全面發(fā)展的,掌握自然科學和人文社科基礎知識、計算機科學及軟件工程專業(yè)基礎理論知識的,熟悉軟件開發(fā)相關理論和知識的,具有軟件開發(fā)實踐和項目組織的初步經驗和能力,具有創(chuàng)新和服務意識,具有熟練的外語運用能力,能在企、事業(yè)單位和行政管理部門從事科學研究、開發(fā)和應用的,能適應技術進步和社會需求變化的高素質、實用型、具有競爭能力的軟件工程高級應用型人才。
2 現(xiàn)有人才培養(yǎng)模式存在的教學困境
現(xiàn)有人才培養(yǎng)模式存在的教學困境究其根源是由軟件工程專業(yè)的學科特點決定,即軟件工程學科涉及到理論、方法、工具的綜合交叉;軟件項目的過程、組織和管理涉及面廣;同時軟件工程專業(yè)的方法、技術和知識更新快、使用周期短、國際化程度高、應用范圍廣、服務性強以及軟件使用的不連續(xù)性和不確定性[2]。
現(xiàn)有人才培養(yǎng)模式存在的教學困境:
1)專業(yè)核心課程工程化的原理貫徹始終,理論性強,理論指導實踐的意義重大,但部分學生專業(yè)基礎不牢,軟件開發(fā)經驗不足,無法把理論教學的知識與實踐結合,課堂教學效果不好。
2)軟件開發(fā)技術發(fā)展迅速,特別是云計算、物聯(lián)網、移動互聯(lián)網以及互聯(lián)網+等技術的發(fā)展,使得學生在校學習的專業(yè)理論和技能素養(yǎng)跟不上社會對于軟件工程專業(yè)技術人才的要求。
3 軟件工程專業(yè)課程群建設
本文提出的軟件工程專業(yè)課程群建設是在河南城建學院“人才培養(yǎng)模式改革”大背景下,結合軟件工程專業(yè)的學科特點及現(xiàn)階段的教學困境,提出了軟件工程專業(yè)課程群建設方案。
需要強調指出的是,課程群建設并不是機械地進行課程排列組合,它應該是把一批具有相同認知結構和培養(yǎng)目標的本專業(yè)或跨專業(yè)課程的知識、方法、問題及解決方案有機地整合形成的課程體系[3]。課程設置要體現(xiàn)與時俱進,且要和當前高校的教學方法改革相結合,旨在為人才培養(yǎng)模式改革在系統(tǒng)化、理論化、工程化、實踐化等方面提供建議,針對專業(yè)特點構建工程化實踐教學體系,形成一個融基礎理論、實驗教學、工程實踐為一體的整體化培養(yǎng)機制,使學生各方面的能力都得到全面均衡的發(fā)展。
按照循序漸進的教學指導原則,本文提出的軟件工程專業(yè)課程群建設,主要從課程群建設和實踐能力培養(yǎng)兩個方面進行闡述,從而形成一體化培養(yǎng)機制,使學生在打牢專業(yè)基礎知識的同時,在實踐技能方面得到全面均衡發(fā)展。
1)軟件工程專業(yè)課程群建設
軟件工程專業(yè)課程群建設從理論基礎課程群建設考慮。其中,理論基礎課程群建設可以細分為四個課程子群,分別為:公共基礎課程群、專業(yè)基礎課程群、軟件工程專業(yè)課程群和專業(yè)方向課程群。
具體來講,四個課程子群的包含的課程如下。
(1)公共基礎課程群。包含思想政治類(具體包含課程:思想道德修養(yǎng)與法律基礎、基本原理、思想和中國特色社會主義理論體系概論和中國近代史綱要)、大學英語(一、二、三、四)、高等數(shù)學(上、下)、大學體育(一、二、三、四)和計算機科學導論等課程。
(2)專業(yè)基礎課程群。包含高級語言程序設計、大學物理(一、二)、硬件類(數(shù)字電路、模擬電路、計算機硬件技術基礎)、線性代數(shù)、離散數(shù)學、概率論與數(shù)理統(tǒng)計、軟件工程導論等課程。
(3)專業(yè)課程群。包含程序設計語言類(具體包含課程:面向對象程序設計、Java基礎、網站建設)、數(shù)據(jù)結構、計算機組成原理、數(shù)據(jù)庫原理、計算機網絡、操作系統(tǒng)類(操作系統(tǒng)和Linux操作系統(tǒng)),面向對象分析與設計(UML)、軟件工程過程與管理、軟件質量與測試、軟件系統(tǒng)設計與體系結構、計算機安全和編譯原理等課程。
(4)專業(yè)方向課程群。包括限選課和任選課兩類。其中限選課分為兩個方向:.NET方向(具體包含課程:C#程序設計、網站建設和 .NET企業(yè)級開發(fā))和Java方向(具體包含課程:典型數(shù)據(jù)庫、Java Web應用開發(fā)和J2EE企業(yè)級開發(fā))。任選課具體包含課程:算法分析與設計、人工智能、平面設計、Android技術應用和繪畫鑒賞等課程。
2)實踐能力培養(yǎng)
實踐能力培養(yǎng)主要從上機實驗、課程設計、實習實訓和畢業(yè)設計四個方面入手,著重培養(yǎng)學生的實踐動手能力。
實踐能力培養(yǎng)以“四面一體”為原則,著重培養(yǎng)學生的實踐動手能力。所謂“四面”,是指實踐環(huán)節(jié)從上機實驗、課程設計、實習實訓和畢業(yè)設計四個方面進行理論知識的深刻理解和熟練運用,從而使學生打下堅實的理論基礎知識,并運用到實踐。其中上機實驗主要是對相關課程的理論知識點進一步理解和掌握;課程設計則是以小項目為基礎,使學生對課程總體把握和熟練運用,把所學知識運用到實踐中去,理論聯(lián)系實踐;實習、實訓環(huán)節(jié)是讓學生對新技術、新知識的學習,同時進一步提高學生的動手能力;畢業(yè)設計注重對理論知識和實踐能力的綜合運用,形成全面的專業(yè)技能。
“一體”是指“四面”的最終目的是為學生的實踐能力服務,在畢業(yè)設計環(huán)節(jié)實現(xiàn)四面歸一,提高學生從整體把握并綜合運用所學的理論、實驗、課程設計、實習、實訓中的知識,知識歸一、動手能力歸一,形成全面的專業(yè)技能,使學生在進入社會工作后,有很強的實踐動手能力,適應工作的需要。
4 結束語
本文依據(jù)我校軟件工程專業(yè)認知與定位和現(xiàn)有人才培養(yǎng)模式存在的教學困境,提出了軟件工程專業(yè)課程群建設方案,旨在為課程體系與教學內容整體優(yōu)化提供有益探索,從而培養(yǎng)能適應技術進步和社會需求變化的高素質、實用型、具有競爭能力的軟件工程高級應用型人才。
【參考文獻】
[1]張效祥.計算機科學技術百科全書[M].北京:清華大學出版社,2005,11:183.
關鍵詞:軟件工程;課程體系;培養(yǎng)方案
軟件工程教育兼屬科學教育和工程教育范疇,軟件工程的科學教育屬性主要是引導學生對人類意識與智慧進行科學理解、增強運用軟件本質特性(構造性與易演化性)和解決具體問題的能力;而軟件工程的工程教育屬性主要是引導學生綜合應用計算機科學、數(shù)學、管理等科學原理,借鑒傳統(tǒng)工程的原則、方法,提煉和固化知識,通過創(chuàng)建軟件來達到提高質量、降低成本的目的。然而,McKinsey Global Institute2005年10月發(fā)表的一份報告稱,我國2005年畢業(yè)的60多萬工程技術人才中適合在國際化公司工作的不到10%,主要原因是中國教育系統(tǒng)偏于理論,學生在校期間幾乎沒有受到Project和團隊工作的實際訓練,這對我國高等院校工程教育改革與創(chuàng)新提出了挑戰(zhàn),也為軟件工程專業(yè)建設指明了方向。
合理的課程體系是高等院校保證培養(yǎng)目標和形成辦學特色的重要手段。目前,我國1900多所普通高校中雖有100多所院校開設了軟件工程專業(yè),但與當前軟件工程技術發(fā)展差距較大。為了培養(yǎng)出既有理論知識又有應用技能的工程型實用軟件人才,軟件工程專業(yè)課程體系必須進行改革。對此,本文結合CC2005、SE2004、SWEBOK、國內軟件工程專業(yè)課程設置現(xiàn)有的研究成果,探索軟件工程專業(yè)本科教學課程體系建設問題。
1 軟件工程專業(yè)課程體系設計策略
計算學科本科教學常用的課程體系設計策略主要劃分為:課程啟動策略、課程組織策略、特色課程設置策略。課程啟動策略主要包括:1)圍繞算法設計展開的算法優(yōu)先策略;2)自底向上展開的硬件優(yōu)先策略;3)從計算機導論展開的廣度優(yōu)先策略:4)強調編程能力的程序設計優(yōu)先策略;5)強調系統(tǒng)使用命令優(yōu)先策略;6)從面向對象展開的對象優(yōu)先策略。
課程組織策略主要有:1)基于主題的組織模式,它把知識體系中的每個知識域組織成一門或幾門課程;2)基于系統(tǒng)的組織模式,它把每類計算機軟硬件系統(tǒng)設置成一門或幾門課程;3)混合模式,在課程設計時不考慮區(qū)分前兩種方法,兼而有之。特色課程設置策略主要依據(jù)本校辦學特色和研究專長來確定。
由于軟件工程教育兼屬科學教育和工程教育范疇,其科學屬性和工程屬性決定了軟件工程專業(yè)本科教學課程規(guī)劃,一方面要強調工程性、技術性、實用性、系統(tǒng)性、綜合性和復合型,另一方面要強化基礎軟硬件知識在解決復雜軟件構造和應用方面起到的關鍵作用。對于課程啟動策略而言,傳統(tǒng)計算機科學專業(yè)的課程啟動方式并不適合于本專業(yè),但工程優(yōu)先策略似乎也不適合于沒有任何計算機基礎的本科生;同樣,在課程組織策略上,基于主題的組織模式更多地具有科學研究屬性,而基于系統(tǒng)的組織模式又不利于基礎知識強化;此外,特色課程設置時,有時會缺乏全面綜合考慮,因人設課會造成特色課程系統(tǒng)性差問題。因此,在軟件工程專業(yè)課程體系設計策略方面,應根據(jù)軟件工程學科自身屬性,綜合考慮以上各種策略特點,全局思考,統(tǒng)一規(guī)劃,避免課程系統(tǒng)性差、教學內容重復和遺漏并存等現(xiàn)象。
2 軟件工程專業(yè)課程體系架構模型設計
根據(jù)軟件工程專業(yè)本科教學的培養(yǎng)目標及規(guī)格要求,其課程體系采用“夯實基礎教育、提高系統(tǒng)認知、強化軟件開發(fā)、推進工程實訓”為主線的設計思路,構建了“分層次、互動式、工程化”的課程體系架構模型(如圖1所示)。該模型共分為四個層次,即基礎知識教育層、系統(tǒng)認知教育層、工程設計開發(fā)層和工程實踐訓練層。各層次不是相互獨立的,而是相互關聯(lián)、相互影響、逐層遞進的演進關系。該模型簡化了計算機科學核心課程數(shù)量,突出基于主題的組織模式,沿著由淺入深、循序漸進的認知路徑,力圖實現(xiàn)“基礎與編程一體化、編程與系統(tǒng)一體化、系統(tǒng)與工程一體化、工程與職業(yè)一體化”四位一體的工程型實用軟件人才教學目標。
2.1 基礎知識教育層
基礎知識教育的設計思路,強化學生的基礎知識和編程意識,實現(xiàn)“基礎扎實和編程意識強”兩個目標?;A知識教育層結構具體劃分為:數(shù)學基礎類課程模塊、外語類課程模塊、軟件基礎類課程模塊、其他公共基礎類課程模塊。根據(jù)各模塊自身特點,全面考慮各模塊之間的關聯(lián)性,做好彼此之間的銜接。在課程啟動策略方面,主要采取基于基礎的編程優(yōu)先策略。在數(shù)學基礎類課程模塊中確定一門銜接較好的基礎課作為軟件基礎類課程模塊的啟動,軟件基礎類課程模塊率先啟用軟件設計基礎課程,力圖達到“基礎與編程一體化”的教學目標。在課程組織策略方面,采取基于主題的組織模式,有利于學生掌握基礎理論知識。
2.2 系統(tǒng)認知教育層
系統(tǒng)認知教育的設計思路:強化學生的編程能力和對軟件系統(tǒng)的認識能力,實現(xiàn)“編程能力強和系統(tǒng)級認知”兩個目標。根據(jù)軟件工程專業(yè)對硬件系統(tǒng)和系統(tǒng)軟件的知識要求,系統(tǒng)認知教育層結構劃分為:數(shù)據(jù)庫系統(tǒng)類課程模塊、網絡系統(tǒng)類課程模塊、操作系統(tǒng)類課程模塊和編譯系統(tǒng)類課程模塊。在課程啟動策略方面,主要采取基于編程的系統(tǒng)優(yōu)先策略。通過軟件基礎類課程模塊的數(shù)據(jù)結構等課程和系統(tǒng)認知類課程模塊的數(shù)據(jù)庫原理及應用等課程,進一步強化學生的編程能力,并以程序設計為主線引導學生的系統(tǒng)級認識能力,實現(xiàn)“編程與系統(tǒng)一體化”的教學目標。在課程組織策略方面,采取基于系統(tǒng)的組織模式,簡化計算機科學核心課程數(shù)量,提高學生學習的有效性和對知識的掌握程度。
2.3 工程設計開發(fā)層
工程設計開發(fā)的設計思路:以工程化方法為手段,依托項目培養(yǎng)學生的“工程”意識,鍛煉學生對軟件系統(tǒng)的設計與開發(fā)能力,進一步強化學生的系統(tǒng)級認識,實現(xiàn)“更完整的系統(tǒng)級認識和軟件系統(tǒng)工程化設計開發(fā)技術”兩個目標。根據(jù)軟件工程項目開發(fā)流程,工程設計開發(fā)層結構劃分為:軟件過程類課程模塊、軟件設計類課程模塊、軟件架構類課程模塊、軟件測試類課程模塊、人機交互類課程模塊、特色項目類課程模塊、可擴充類課程模塊。該層綜合考慮核心專業(yè)課程和特色項目課程設置,基于專業(yè)方向設置若干動態(tài)可擴充課程,全面考慮課程之間的關聯(lián),強調統(tǒng)一設計、統(tǒng)一規(guī)劃。學生在這個層次必修一些工程設計開發(fā)系列課程,選修可擴充類課程,達到“系統(tǒng)與工程一體化”的教學目標。課程啟動策略采取基于系統(tǒng)的工程優(yōu)先策略。課程組織策略采取項目的組織模式,以此來提高學生的軟件系統(tǒng)設計與開發(fā)能力。
2.4 工程實踐訓練層
工程實踐訓練總體設計思路:通過實驗訓練、專業(yè)實習、項目實訓、畢業(yè)設計等教學環(huán)節(jié),依托校內 外實習實訓基地,采用校外實習實訓、自主實習實訓、校內實習實訓和外聘軟件工程師等形式,強化學生的工程能力,培養(yǎng)學生的職場素質,實現(xiàn)工程與職業(yè)一體化的教學目標。工程實踐訓練層結構具體劃分為兩大類,一類是實驗與實習類課程模塊,另一類是工程實訓與畢業(yè)論文類課程模塊。其中,實驗與實習類課程模塊的具體設計思路,通過基礎實驗、系統(tǒng)體驗、編程能力訓練三個環(huán)節(jié),進一步夯實學生的基礎知識,完善學生的系統(tǒng)級認識,強化學生的開發(fā)技能;而工程實訓與畢業(yè)論文類課程模塊的具體設計思路,通過“軟件工程項目實訓”這個載體,采取“企業(yè)+實訓+論文+就業(yè)”捆綁的運作模式,與多家國內知名IT公司合作,讓學生到企業(yè)進行實際項目綜合訓練,并完成畢業(yè)論文設計工作,實現(xiàn)理論與實踐結合、技巧與職業(yè)素質結合的教學目標,同時也為學生就業(yè)提供一個良好平臺。
上述四個教育層是彼此聯(lián)系和互動發(fā)展的,在課程體系設計中充分考慮銜接性、系統(tǒng)性和創(chuàng)新性。交流、溝通、講演、寫作的培養(yǎng)更多體現(xiàn)在第二課堂科技學術活動中。
3 軟件工程專業(yè)核心課程設置
3.1 課程設置原則
軟件工程專業(yè)課程設置遵循六個基本原則,即先進性、靈活性、復合性、工程性、創(chuàng)新性和模塊化。1)先進性:課程設置和課程內容需反映國際上先進的軟件技術發(fā)展成果和軟件企業(yè)對先進技術的需求,以及相關的基礎理論。2)靈活性:課程設置需具有靈活性,應根據(jù)軟件技術的發(fā)展及時調整。3)復合性:課程設置需包括技能、工程、管理等方面的教學內容,使學生具有必要的綜合技能和基本素質。4)工程性:課程設置面向軟件工程實踐,強調工程實踐能力培養(yǎng),使學生能夠自覺運用先進的工程化方法和技術從事軟件開發(fā)和項目管理,具有團隊協(xié)作精神。5)創(chuàng)新性:課程設置應倡導學生自主學習,并給予必要的指導,從而培養(yǎng)學生自主學習和自我提高能力,以及勇于開拓和善于創(chuàng)新能力。6)模塊化:課程應按照模塊化準則設計,課程模塊設計可以交叉。根據(jù)軟件技術最新發(fā)展、當前市場需求及專業(yè)培養(yǎng)方向、學生目前具備的領域知識等,靈活調整課程設置和課程內容。
3.2 核心課程模塊設置
1)軟件基礎類課程模塊設有:計算機硬件基礎、軟件設計基礎、數(shù)據(jù)結構、計算機組織原理、面向對象程序設計、算法分析與設計等課程。2)操作系統(tǒng)類課程模塊設有:操作系統(tǒng)原理、LINUX系統(tǒng)基礎、嵌入式系統(tǒng)基礎等課程。3)網絡系統(tǒng)類課程模塊設有:計算機網絡、網絡規(guī)劃與集成、網絡安全檢測與防范技術、網絡協(xié)議與網絡軟件等課程。4)數(shù)據(jù)庫系統(tǒng)類課程模塊設有:數(shù)據(jù)庫原理及應用、ORACLE數(shù)據(jù)庫、數(shù)據(jù)倉庫與數(shù)據(jù)挖掘技術等課程。5)編譯系統(tǒng)類課程模塊設有:編譯系統(tǒng)原理、編譯技術等課程。6)軟件過程類課程模塊設有:軟件工程、需求工程、軟件項目管理、軟件建模技術UML等課程。7)軟件設計類課程模塊設有:C++高級程序設計、J2EE與中間件、.NET架構技術、設計模式等課程。8)軟件架構類課程模塊設有:大型軟件系統(tǒng)構造、軟件體系結構等課程。9)軟件測試類課程模塊設有:軟件測試技術、軟件測試與評估等課程。10)人機交互類課程模塊設有:人機交互技術等課程。11)特色項目類課程模塊設有:軟件工程項目案例解析、大型軟件工程項目實訓等課程。12)可擴充類課程模塊設有:手機游戲開發(fā)、網絡游戲開發(fā)、計算機圖形學、嵌入式Linux網絡及GUI應用開發(fā)、嵌入式Linux驅動開發(fā)、手持設備軟件開發(fā)等課程。
4 軟件工程專業(yè)培養(yǎng)方案制定與實施
軟件工程專業(yè)培養(yǎng)方案制定是基于軟件與工程的復合,將軟件工程與領域應用相結合,強調計算機科學和數(shù)學基礎的同時,將專業(yè)課程重點放在軟件新技術和軟件工程新技術方面,通過對實踐類課程工程化改造,增設軟件工程項目實訓環(huán)節(jié),開設部分技能課程,試圖使學生的基礎知識、專業(yè)技能、創(chuàng)新能力、工程能力和職業(yè)素質都能得到全面均衡發(fā)展。具體措施如下。
4.1 建立英語為主日語為輔的外語教學體系
根據(jù)IT市場的實際需求,軟件工程專業(yè)培養(yǎng)方案制定,除正常開設四個學期大學英語外,增開兩個學期標準目語和一個學期專業(yè)英語,堅持外語學習四年不斷線,旨在為學生選擇日企或對日外包企業(yè)就業(yè)提供方便。
4.2 建立工程化實踐教學體系
建立“四年不斷線、三個層次相呼應、兩大措施為保障”的工程化實踐教學體系。“四年不斷線”是指實踐環(huán)節(jié)四年不斷線,每個學期至少有一個集中性的實踐教學環(huán)節(jié),體現(xiàn)“全過程”實踐;“三個層次相呼應”主要是從實踐教學內容設計上考慮的,包括第一層次教學實驗,第二層次課程設計及專業(yè)實習,第三層次工程項目實訓與畢業(yè)設計;“兩大措施為保障”主要指教學計劃保障和考核制度保障。
4.3 設置專門的實踐課程
針對工程化軟件人才應具備的個人開發(fā)能力、團隊開發(fā)能力、系統(tǒng)研發(fā)能力和設備應用能力,以必修課和選修課形式,開設四類特色化、階梯狀工程實踐學分課程,即程序設計類實踐課程、軟件工程類實踐課程、項目管理類實踐課程和網絡平臺類實踐課程,構成了系統(tǒng)全面的學生實踐能力訓練體系。
4.4 提高專業(yè)課程教學中的實驗課時量
除個別側重理論教學的專業(yè)課程外,80%以上的專業(yè)課程包含實驗或實習環(huán)節(jié),實驗或實習成績占總成績的30%以上,一部分實踐性較強的課程是以上機考試和答辯作為最終考試方式。
4.5 開設部分技能課程
在技能課程中,與該領域內具有國際領先水平的企業(yè)在課件共享、教師培訓和資源投入等方面展開合作,共同設計、講授和評估課程。鼓勵學生參與企業(yè)提供的專業(yè)認證考試,或參加國家相應的專業(yè)資格考試,對此,學院將計算機網絡、Oracle數(shù)據(jù)庫、J2EE與中間件等認證課程納入本科教學計劃中,全面體現(xiàn)學生的“多證多能”。
關鍵詞:軟件工程;應用型人才培養(yǎng);課程體系;教學改革
1高等院校應用型人才培養(yǎng)模式研究
在互聯(lián)網飛速發(fā)展的今天,開發(fā)實用性強的軟件呈現(xiàn)爆炸式的增長趨勢,軟件人才的培養(yǎng)需求在不斷增加,傳統(tǒng)的軟件專業(yè)技術人才的培養(yǎng)模式過于強調對計算機科學知識體系和計算機領域理論的要求,對于人才技能的培養(yǎng)是否能更好滿足現(xiàn)代化社會發(fā)展的用人需求的分析研究不夠。高等院校必須打破軟件工程專業(yè)人才培養(yǎng)的常規(guī)模式,按照應用型軟件人才的知識需求、學習需求、實踐需求、個人能力發(fā)展需求進行專業(yè)人才培養(yǎng)模式的探索和改革實踐,在實踐中不斷完善、優(yōu)化專業(yè)人才的培養(yǎng)模式。高等院校應用型專業(yè)人才的培養(yǎng)必須要能夠促進地方經濟的發(fā)展、滿足企業(yè)生產的需求,通過對學生實踐應用技能的培養(yǎng)和提升,讓學生能夠綜合運用知識、培養(yǎng)學生的創(chuàng)新能力。按照“企業(yè)環(huán)境、雙導師制、工學結合、創(chuàng)新項目驅動”為主要原則,構建將學校學習與企業(yè)生產實踐融為一體、將學生的學習環(huán)境與工作環(huán)境融為一體、將學校教師與企業(yè)工程專業(yè)融為一體、將教育專業(yè)培訓和學生職業(yè)培訓融為一體的產教有機融合的專業(yè)人才培養(yǎng)模式。高等院校應用型人才的培養(yǎng)模式要以區(qū)域性社會經濟發(fā)展為主,以應用型專業(yè)技術人才為培養(yǎng)目標,加強學校與企業(yè)之間、學校與政府之間、學校與學校之間形成緊密的合作關系,以高等院校的專業(yè)為單元體,實現(xiàn)學校與社會相應企業(yè)之間的無縫對接。高等院校的應用型專業(yè)技術人才培養(yǎng)的專業(yè)設置、招生計劃安排、專業(yè)技術人才培養(yǎng)方案的擬定、教學計劃的擬定及其實施等工作都要廣泛征求合作辦學企業(yè)的意見和建議。高校應用型人才培養(yǎng)必須充分發(fā)揮高等院校和企業(yè)的優(yōu)勢資源,不斷拓展人才的服務能力,將校企合作育人的科技成果轉化為促進地方經濟建設的支持和保障,積極拓展學生的社會實踐活動和專業(yè)實踐平臺,為應用型專業(yè)技術人才的培養(yǎng)提供優(yōu)質條件。
2高等院校應用型軟件工程專業(yè)技術人才培養(yǎng)模式研究
2.1優(yōu)化應用型軟件工程課程體系
2.1.1專業(yè)課程體系設置高等院校的應用型專業(yè)技術人才的培養(yǎng)模式可以采用“3+1”的形式,這種培養(yǎng)模式是學生前三年在學校進行文化課程的學習與實踐,最后一年到企業(yè)進行實習實訓。在這種人才培養(yǎng)模式下,如何進行專業(yè)課程體系建設,如何在學校、企業(yè)、政府與培訓機構之間架構起有效的溝通橋梁,如何建立校企聯(lián)合培養(yǎng)的實踐教學模式,都是高等院校需要解決的問題。高等院校的軟件工程專業(yè)本身就是以廣泛應用于工程建設為主要特征的專業(yè),要想把實踐教學滲透到課程體系的每一個模塊中,必須讓每門專業(yè)課程都為應用型人才的培養(yǎng)進行服務。基于這個原則,高等院??梢葬槍φn程體系建設進行優(yōu)化調整,第一學年的第一個學期可以開設專業(yè)的引導課,第二學期可以開設基礎性專業(yè)課程;第二學年的第一個學期開設強化型專業(yè)課程,第二學期開設基礎性工程課程;第三學年開設專業(yè)核心課及專業(yè)方向課程;第四學年安排學生進行校內、校外實習實訓。將學生學習的四個學年度根據(jù)發(fā)展的需求進行合理調整,將課程設計、軟件項目開發(fā)、校內及校外的專業(yè)技能實習實訓、綜合技能訓練、深入企業(yè)實訓等內容都納入到課程體系建設中。軟件工程專業(yè)的課程體系建設必須要將企業(yè)的文化、生產等內容納入到課程體系建設中,如第一學年可以開設職業(yè)教育課、企業(yè)文化課等,激發(fā)學生的學習興趣,提高教育教學的質量和效果。2.1.2課程資源的開發(fā)高等院校專業(yè)技術人才培養(yǎng)的質量是通過師資隊伍的整體水平、課程體系建設和課程教學質量等方面綜合反映出來的。高等院校的專業(yè)技術人才培養(yǎng)必須要通過課程教學來實現(xiàn),課程體系建設的優(yōu)化與課程資源的有效開發(fā)是民辦高等教育學校實現(xiàn)應用型轉型發(fā)展的關鍵所在。目前,很多民辦高等院校都十分重視課程體系的轉型建設,但是效果并不明顯。課程資源的有效開發(fā)是課程體系轉型發(fā)展建設的關鍵要素,它不僅能夠滿足學生對知識和技能的學習需要,同時還能有效促進教師的專業(yè)成長。課程資源的開發(fā)不能局限在教科書的編寫上,更不能局限在學校內部資源的開發(fā)上,課程資源的開發(fā)建設必須包括基本資源和拓展性資源兩個方面,它是指學生在學習和生活中,涉及對學生成長有利的一切課程實施內容,以促進教育目的的達成。課程資源的形成是課程及教學內容最直接的素材,其包括課程的教學思路、課程教學的內容與方法、教學過程所需要的基本資源等。民辦高等院校的課程資源開發(fā)必須著力于學生的創(chuàng)新意識培養(yǎng)和學生的實踐應用能力的培養(yǎng)與提升。在課程資源的開發(fā)過程中必須要以優(yōu)化工作過程為體系的應用型課程資源開發(fā)為切入點,將軟件工程作為專業(yè)課程的核心重點,建立并完善課程資源的項目開發(fā)標準,不斷改革與創(chuàng)新教學方法和教學模式,創(chuàng)新考核評價方式,通過示范、引領作用全面助推課程體系的轉型建設,構建科學的應用型專業(yè)人才培養(yǎng)體系,打造高素質的專業(yè)技術人才培養(yǎng)模式。
2.2課程評價方式的改革創(chuàng)新
高等院校的軟件工程專業(yè)課程評價體系必須要建構多元化的課程評價方法,將期末的一次性考核變?yōu)閷W生學習過程的多次評價,實行分段教學、多次考核、多樣考核的課程評價體系,確保課程評價體系更加符合學生的成長需求。在日常教育教學中,可將學生的分組研討、實習實訓、技能考核、實戰(zhàn)演練等學習、實踐過程納入學生日常學習考核中,綜合每一階段的考核評價結果作為學年或年度該學生的學習質量評價成績,盡可能減少理論性的試卷考試,尤其是理論性的閉卷考試科目,將閉卷考試與開卷考試相結合,使學生的理論與實踐技能操作相結合,重點考核學生的綜合實踐能力和應用創(chuàng)新能力。
2.3課程教學模式的改革研究
教師在教學中,要將原有的多門類軟件理論課程進行教學資源的重組,將系統(tǒng)化、工程化的制作案例作為教學的主體思路。重點強調各科目理論課程的有效銜接,將理論知識教學融入到工程的開發(fā)與實踐中,實現(xiàn)理論知識與實踐應用相結合、相協(xié)調發(fā)展。軟件工程的課程設計、軟件項目的開發(fā)、校內及校外的專業(yè)技能訓練、學生的綜合技能實習訓練等科目內容要作為學生學習課程的主線,通過深入分析課程教學項目的實際需求,進行創(chuàng)新設計并應用到實際教學中,讓學生在學習過程中將理論知識運用到實踐操作中,并能在實踐操作中深化理解理論知識,更好地促進學生知識、能力與素養(yǎng)間的協(xié)調發(fā)展。
3結語
為了促進民辦高等院校的辦學質量和品質,保證民辦高等院校能夠走健康、可持續(xù)發(fā)展之路,民辦學校的軟件工程專業(yè)必須緊緊把握專業(yè)自身的創(chuàng)新發(fā)展優(yōu)勢,根據(jù)現(xiàn)代化社會的發(fā)展需求,創(chuàng)新專業(yè)人才的培養(yǎng)模式,建立專業(yè)的以培養(yǎng)學生能力為中心的專業(yè)人才培養(yǎng)目標,改革課程體系,充分調動師生教與學的積極性和自主性,切實提升課堂的教學質量,不斷提升學生對問題的獨立思考、分析、解決問題的能力,適應社會和企業(yè)對專業(yè)人才的需求。
參考文獻:
軟件工程專業(yè)高層次應用技術和技能人才數(shù)量嚴重不足,同時應用技術和技能人才培養(yǎng)的學歷層次不高不能滿足企業(yè)實際需求。地方高校軟件工程專業(yè)定位和人才培養(yǎng)目標不明確、教學方式方法缺乏科學性、系統(tǒng)性,實踐教學體系不完善,沒有與行業(yè)就業(yè)有效對接,導致培養(yǎng)的人才無法滿足社會生產實際需求,導致“軟件工程專業(yè)畢業(yè)生無職可就,軟件開發(fā)行業(yè)以及相關軟件應用單位招不到滿意的員工”現(xiàn)狀普遍存在。
2軟件工程專業(yè)課程體系理論設計
以行業(yè)、企業(yè)實際對人才需求為引導,軟件工程專業(yè)畢業(yè)生真實就業(yè)情況調查為依托,地方高校軟件工程專業(yè)課程一線教師眾多教學研究成果為參考,專業(yè)教師在企業(yè)掛職學習經驗體會為借鑒,圍繞地方高校軟件工程專業(yè)課程教學體系存在事實問題,來對地方本科院校軟件工程課程體系建設進行設計建設。設計建議如下:
2.1學科建設
以專業(yè)相關的行業(yè)、企業(yè)人才的實際需求和當前使用的主流開發(fā)工具或技術為依托來不斷調整專業(yè)架構,優(yōu)化專業(yè)人才培養(yǎng)方案,完善人才培養(yǎng)目標,對專業(yè)進行合理定位,系統(tǒng)性調整教學方式方法,從而實現(xiàn)以行業(yè)、企業(yè)對人才的需求來引導地方本科院校軟件工程專業(yè)的學科建設。
2.2校企辦學
學科建設以輸出滿足行業(yè)、企業(yè)需求合格的應用型人才為目標,通過校企聯(lián)合辦學,對學生進行定向培養(yǎng)、訓練,專業(yè)課程體系嵌入資格認證課程模塊,實訓課程以企業(yè)開發(fā)項目方式貫穿培養(yǎng)環(huán)節(jié)以達到提高專業(yè)人才的實際動手能力。
2.3師資建設
采取教師企業(yè)掛職鍛煉參與企業(yè)項目研究開發(fā),共同承接開發(fā)項目等方式鍛煉提高師資隊伍實戰(zhàn)能力。教師在企業(yè)實戰(zhàn)經歷和相關經驗成果帶入到日常的教學環(huán)節(jié),不僅能促進專業(yè)教師學術、科研能力提升,還能夠最大程度豐富、提高專業(yè)學科建設[2]。
3三層結構課程體系建設
軟件工程專業(yè)課程體系建設以工程教育理念為指導,項目實戰(zhàn)為背景,社會需求為導向,提高學生專業(yè)素養(yǎng)、理論知識體系以及實踐能力為宗旨。學生完整地專業(yè)培養(yǎng)環(huán)節(jié)結束后具有程序設計,系統(tǒng)分析,軟件設計、開發(fā),項目管理,網絡和移動通信終端應用開發(fā)能力。課程體系模式結構如圖1所示。
3.1基礎理論由公共基礎課程和專業(yè)基礎課程構成:①公共基礎課程主要涵括地方高校各現(xiàn)行必修公共課程,②專業(yè)基礎課程是專業(yè)課程堅實的理論基礎,專業(yè)必修前導課程,是對軟件工程專業(yè)基本“計算”概念理解、掌握,問題計算求解能力和構建中小規(guī)模軟件系統(tǒng)綜合能力的初步培養(yǎng)。
3.2專業(yè)理論以市場對人才需求為導向、行業(yè)最新前沿技術為引領、專業(yè)骨干課程為核心、專業(yè)素質全面拓展和綜合素養(yǎng)整體提高為目標來對專業(yè)主干課程進行建設[3],主要包括以下幾類課程:
3.2.1面向行業(yè)認知能力培養(yǎng)課程主要包括對行業(yè)、企業(yè)認知學習以及計算機專業(yè)知識學習等專業(yè)認知方面課程。一般包括行業(yè)相關法律、法規(guī),從業(yè)道德規(guī)范,行為準則,經營管理常規(guī)模式,軟件項目開發(fā)流程等認知類課程。
3.2.2計算機編程與算法設計能力課程算法設計類課程主要包含離散數(shù)學、數(shù)據(jù)結構、算法分析以及數(shù)據(jù)結構課程設計等方面的課程;編程課程主要包含C語言程序設計、面向對象程序設計等傳統(tǒng)程序設計語言課,還包括當下企業(yè)應用最為廣泛的,最流行的技術前沿課程。
3.2.3軟件工程專業(yè)系統(tǒng)分析課程系統(tǒng)分析能力課程主要包括操作系統(tǒng)、計算機網絡,軟件工程、數(shù)據(jù)庫原理等系統(tǒng)類課程。
3.2.4系統(tǒng)實現(xiàn)與集成能力課程系統(tǒng)實現(xiàn)與集成能力方面課程主要包括網絡編程、移動互聯(lián)開發(fā)編程、編譯技術、軟件開發(fā)以及軟件測試等課程[4]。
3.3實踐以校企聯(lián)合培養(yǎng)為手段,一至兩學年時長為周期,貼近企業(yè)實際需求為指導,綜合技能全面提高為目的來對專業(yè)學生進行實踐能力培養(yǎng),方式如下:
3.3.1校企共同建設實訓課程以項目介入為主線,企業(yè)實際效益項目和高校產學研項目為實際授課主體。引進企業(yè)優(yōu)秀項目人才或具有企業(yè)項目實戰(zhàn)經驗的教師來對專業(yè)人才展開課程實訓,全面提高學生專業(yè)技能水平,綜合素養(yǎng)。校企共同培養(yǎng)模式不但能夠提高學生工程實踐能力,知識轉化生產實際速度,同時反向激發(fā)學生探究、學習知識的熱情,最終提高就業(yè)競爭力[5]。
3.3.2合作企業(yè)崗位實訓針對畢業(yè)學生和部分專業(yè)老師做崗位綜合實訓:①學生崗位實訓:讓學生真實參與企業(yè)項目實戰(zhàn),充分消化吸收前期所學理論和技能知識,進一步提升學生綜合能力,為就業(yè)夯實基礎。②老師崗位實訓:專業(yè)老師參與企業(yè)項目研發(fā),并將企業(yè)項目開發(fā)經驗和技術進行梳理總結、編纂成冊,運用到實際日常教學環(huán)節(jié),促進教學質量提高,有利于縮短理論轉化實際成果周期。
3.3.3校企合作運用項目方式指導學生做畢業(yè)論文(設計)畢業(yè)論文(設計)是對學生的專業(yè)知識掌握程度與提升高度的一次全面的考核,同時也是培養(yǎng)學生綜合運用所學知識,獨立地分析問題和解決問題的能力的一次全面的實訓。但是傳統(tǒng)的教育模式導致大多地方院校工科專業(yè)學生畢業(yè)論文流于形式,與實際脫節(jié)。通過與企業(yè)合作運用項目方式指導學生做畢業(yè)論文(設計)弱化學生對畢業(yè)論文(設計)的抵觸情緒,可以進一步讓學生了解行業(yè)企業(yè)實際運作規(guī)范及最新技術,進一步加強對學生實踐和技能能力的培養(yǎng),為畢業(yè)后從容就業(yè)夯實基礎。
4結語
軟件工程專業(yè)課程內容豐富,涉及通信工程、計算機技術、計算機教育及文科類經濟管理等學科。除此之外,軟件工程作為全球信息化技術發(fā)展的關鍵技術,要求從事軟件工程相關專業(yè)的人員具備較全面的知識,要從多方面、多角度進行研究,比如技術方法、管理及工具等。我國軟件工程技術發(fā)展較晚,該學科發(fā)展相對緩慢,課程授課模式較為傳統(tǒng),缺乏有效的課堂互動與討論,注重講解理論知識,實踐內容的參與度與規(guī)范性與工程教育標準有一定距離,導致學生掌握的軟件開發(fā)思想和技術與行業(yè)需求有一定差距。隨著軟件工程學科的發(fā)展,新概念、新技術和新方法不斷涌現(xiàn),未來軟件工程專業(yè)的教學發(fā)展趨勢如下。
(1)開放式授課。隨著行業(yè)基礎框架的構成、行業(yè)發(fā)展和技術融合的國際化,軟件工程的授課將不再局限于某本教材或某個案例。
(2)小組式開發(fā)。軟件工程開發(fā)要求開發(fā)人員具有良好的團隊合作能力和溝通能力,因此應將學生設置在以模塊開發(fā)為目標的開發(fā)小組,培養(yǎng)學生分析問題、協(xié)調問題、解決問題的能力。
(3)模塊化集訓。IT環(huán)境復雜度和歷史遺留系統(tǒng)的增加,對軟件工程領域提出新的挑戰(zhàn)。模塊化的思想能夠通過抽象、封裝、分解、層次化等基本的科學方法提高軟件工程靈活性。
(4)真實性案例。軟件工程授課依托于真實案例,可加快學生對軟件工程的感性理解,從而解決學生對軟件產品初始建模、過程開發(fā)、測試運行、質量監(jiān)控、配置與過程的管理有系統(tǒng)性的掌握,鍛煉學生對項目開發(fā)過程的整體把握能力。
2基于項目導向的課程體系構建
合格的軟件工程專業(yè)學生應具備專業(yè)基礎知識、工程技術能力以及良好的職業(yè)素養(yǎng)。教師應結合軟件工程專業(yè)人才培養(yǎng)標準、軟件工程行業(yè)開發(fā)規(guī)范和技術特征,在不同階段將具體項目融入教學,基于項目導向理論知識,培養(yǎng)工程化特征明顯的學生;在項目案例引入各教學階段時,應夯實學生的基礎理論知識與基本實踐技能;在強化工程技術階段,項目案例應涵蓋前端技術課程,工程實訓階段項目案例需引入企業(yè)真實項目。通過3個階段的教學,學生能夠具備軟件工程師的基本編程、綜合設計及工程實訓等能力。我們應分析軟件工程專業(yè)知識體系與課程設置,根據(jù)普通高等院校軟件工程專業(yè)課程規(guī)劃、設置學時,構建層次清晰的教學實踐體系及內容,培養(yǎng)應用型軟件工程專業(yè)人才;同時,在IEEECC2001SE學科的知識體系基礎上結合國內軟件產業(yè)及校內辦學的實際情況,在基礎教學、理論應用、項目實踐3個層次建立軟件工程專業(yè)課程體系,基礎教學部分主要講授軟件工程領域的基礎理論知識,以開發(fā)過程為主線詳細分析和討論軟件的需求分析、結構設計、程序實現(xiàn)、功能測試、變更與維護、軟件項目管理等內容,讓學生對此有感性認知。理論應用部分主要以面向對象程序設計為基礎,鍛煉學生的建模和實現(xiàn)能力。同時,采用實踐案例,讓學生掌握軟件開發(fā)的方法和技術,培養(yǎng)學生的專業(yè)能力、管理能力、團隊協(xié)作能力和職業(yè)精神。項目實踐部分分為基礎技能實訓、專業(yè)技能實訓、綜合設計實訓、科技創(chuàng)新實訓等4個模塊,可以基于項目建立多個小組,讓學生以團隊合作的方式在企業(yè)開發(fā)環(huán)境中實現(xiàn)一定規(guī)模的軟件項目。為培養(yǎng)“理論知識實、實踐能力強”的應用型人才,需將教學計劃與項目實踐環(huán)節(jié)緊密結合?;陧椖繉虻慕虒W體系層次實施步驟如下。
(1)基本知識技能階段:將.NET與JAVA開發(fā)作為實習內容,讓學生了解面向對象開發(fā)的基本知識。
(2)綜合知識實訓階段:讓學生了解并掌握軟件開發(fā)方法,熟悉.NET在軟件項目系統(tǒng)開發(fā)中的具體作用,設計和實現(xiàn)功能界面,實現(xiàn)數(shù)據(jù)庫設計與應用,分析和解決軟件開發(fā)過程中出現(xiàn)的問題,并進行功能測試。
(3)應用能力提高階段:對之前階段開發(fā)完成的軟件項目進行詳細的分析與講解,基于項目開發(fā)的實際應用強化軟件工程的理論知識,讓學生感受所學知識與實踐應用的對應性,加強學生實踐動手能力和團隊溝通合作能力。
(4)職業(yè)技能與素養(yǎng)提升階段:對軟件項目范圍、功能實現(xiàn)、總體進度、軟件質量、管理配置等方面進行開發(fā)訓練,鍛煉學生整體項目的開發(fā)能力,逐步培養(yǎng)學生的職業(yè)技能,結合項目開發(fā)對學生進行測試與評價,培養(yǎng)和提高學生的職業(yè)素養(yǎng)。
3基于情景的教學方法實施
情景教學能讓學生對知識有感性認識,提高對課堂內容的理解效率,因此需要在一個通用的軟件開發(fā)環(huán)境中進行項目開發(fā)的學習。構建符合軟件工程專業(yè)課程項目開發(fā)的開發(fā)環(huán)境是提升軟件工程教學效果的關鍵。情景模式授課能讓學生在模擬的軟件工程項目中實戰(zhàn)訓練,通過層次提升效率,激發(fā)學生的學習興趣,達到最佳教學效果。教師在情景模式的授課過程中擔任項目總監(jiān)或技術顧問的角色,組織學生進行技術交流、成果驗證、變更審核等活動;學生會依據(jù)項目不同階段的情景扮演不同職位,提升自身項目開發(fā)技術及管理能力,培養(yǎng)個性化思維和團隊合作思維相結合的思考模式。基于情景模式的軟件工程專業(yè)課程教學過程。在具體的教學實施過程中,教師利用項目導出教學內容,圍繞項目案例設計教學情景,依據(jù)情景設計安排學生在項目團隊中的不同角色,盡量讓學生體驗真實的項目開發(fā)流程。借助項目情景模式增強了課程內容的趣味性,最大限度地調動學生的主觀能動性。項目導向下的情景模式教學需要對項目選定、教學內容設定、項目進程安排、學生角色安排、項目成果鑒定等方面進行管理?;谇榫澳J降慕虒W要求,學生以項目團隊的方式組成項目小組(一般由3人組成),開發(fā)具有一定規(guī)模且功能較為豐富的軟件系統(tǒng),側重培養(yǎng)學生在項目開發(fā)過程中發(fā)現(xiàn)問題、分析問題、解決問題的能力,培養(yǎng)學生的團隊合作精神,使學生體驗軟件開發(fā)的全過程。專業(yè)課程教學內容應把軟件開發(fā)分解為項目前期準備、中期分析與設計、功能測試和軟件交付等三大部分,具體內容為:
(1)項目準備階段:教師在課程初始階段,將軟件項目需求告知學生,選定項目開發(fā)小組,制定開發(fā)范圍和計劃。
(2)分析設計階段:項目開發(fā)小組基于需求和開發(fā)計劃,編制需求規(guī)格說明書。依據(jù)項目的總體結構,逐步設計項目所需功能,并編寫相應文檔。
(3)測試與交付階段:開發(fā)團隊對完成的功能模塊進行整合,測試功能性和穩(wěn)定性,調試并完善軟件系統(tǒng),最終形成達到項目需求的軟件集成系統(tǒng)。
(4)軟件交付:教師運行集成的完整系統(tǒng),組織學生交叉驗收。驗收管理是各團隊共同檢驗工程是否達到預定目標并進行最終確認的重要一環(huán),每位學生必須高度重視,支持項目驗收工作。在情景式的軟件工程環(huán)境中,學生真正體驗到一種有序的、可控的、協(xié)作的軟件開發(fā)過程,在分析問題、解決問題、協(xié)調沖突、消除矛盾的過程中享受軟件開發(fā)成功的成就感。項目導向的情景模式教學可以讓學生在團隊中練習,在練習中學習,鍛煉學生獨立開發(fā)與合作開發(fā)項目的能力。
4結語
軟件工程課程是專業(yè)核心課程,涉及內容廣泛,是其他專業(yè)課程的基礎,也是整個軟件開發(fā)過程流程的基礎,主要內容包括軟件需求提取、分析、設計、測試、維護變更管理以及軟件質量控制、軟件項目管理、軟件開發(fā)配置變更管理、軟件開發(fā)標準以及軟件開發(fā)方法。軟件測試貫穿軟件開發(fā)過程的始終,包括用戶需求的確認、用戶界面的確認以及單元測試、集成測試、系統(tǒng)測試、Alpha/Beta測試、評審、驗收等內容。用戶界面設計主要包括軟件界面設計理論、原則和規(guī)范,在實際軟件開發(fā)過程中,是圖2中的系統(tǒng)概要設計/用戶界面驅動分析部分,通過與用戶反復溝通確認需求,是測試的基礎,同時也是軟件編碼階段、評審、驗收階段的依據(jù)。軟件項目管理主要對軟件的質量、成本和進度進行管理和控制,同時考慮如何在軟件開發(fā)過程中避免不必要的風險或者降低風險的影響。面向對象的軟件開發(fā)方法著重于軟件開發(fā)過程中面向對象的需求分析和設計,包括用戶分析、界面設計、類模型、動態(tài)模型、狀態(tài)模型等一系列的分析和設計。這5門專業(yè)課程從不同的側面講解軟件項目的開發(fā)過程和方法,各有特點。但是對于為什么要學習這幾門課程,以及它們在軟件開發(fā)過程中處于什么樣的位置,起到什么樣的作用,是教師在教學之初就應該明確的。
2整體項目模式下系列課程的教學
根據(jù)整體項目模式原理,實踐項目應貫穿到各專業(yè)課程之中,系列課程最好使用同一項目,這樣更能加強學生理解軟件開發(fā)過程的不同方面。該項目在專業(yè)課程開始之前就必須存在,即已經完成或正在進行中的實踐項目,因此,系列課程必須是相互聯(lián)系并且能基于同一項目案例,這和傳統(tǒng)的項目教學方式雖然模式一致,但是效果卻有本質的不同。圖3為系列專業(yè)課程的項目案例、課程和學生實踐案例示意圖,5門課程都基于同一實際項目案例,學生根據(jù)自己所做的項目,按照不同專業(yè)課程要求的格式和內容書寫相關文檔。
2.1先案例后理論的案例驅動教學模式
軟件工程專業(yè)的特點是實踐性非常強,軟件工程的很多理論都來源于對實踐的總結和歸納。因此,教師在教學過程中采用先案例后理論的案例驅動教學模式,符合軟件工程專業(yè)的授課特點。首先,教師要講解實際項目案例的文檔,該文檔是一套完整的、從不同側面反映軟件開發(fā)過程的實際文檔。對于每一門專業(yè)課,教師首先講解需求提取、需求分析過程、功能提取、系統(tǒng)功能結構框圖等,讓學生明確該系統(tǒng)的背景和要解決的問題,以及需要具備什么樣的功能以實現(xiàn)目標。其次,教師要聯(lián)系實際項目案例,講解課本上的理論,將每個理論知識點與實際的項目案例相結合,讓學生充分理解理論。在實際講解過程中,對于新開課,新教師若碰到教學學時偏少的狀況,可以言簡意賅地講解重點知識;實踐經驗豐富的教師,碰到學時偏少的情況可以精簡案例功能,講解1~2個功能即可。最后,教師必須強調實踐的重要性并給出標準的文檔規(guī)范,要求學生按照自己的實際項目書寫標準的文檔。在每一門課程講解完畢后,教師再一次幫助學生回顧該課程在軟件開發(fā)過程中的位置。以軟件項目管理為例,在正式進入課程教學之前,教師需要做大量的工作,首先需要準備的文檔有項目需求、項目需求分析報告、可行性分析報告、項目開發(fā)計劃書、項目Demo程序演示、軟件項目投標書、軟件項目開發(fā)合同。然后,開始進入軟件開發(fā)項目管理過程教學,軟件項目主要內容有成本管理、進度管理、人員管理、風險控制等理論內容。實際的軟件項目管理主要分為4個階段:IT項目的啟動階段、IT項目的計劃階段、IT項目的執(zhí)行控制階段、IT項目的收尾階段,這在一般的教材中很少提及,但是教師在內容講解中要明確階段任務。IT項目的計劃階段涉及48個文檔;IT項目的執(zhí)行控制階段涉及45個文檔;IT項目的收尾階段涉及14個文檔。教師在講解合同的內容時,可以直接參照“軟件項目開發(fā)合同”進行講解。對于必不可少的合同內容,教師就必須跟學生講清為什么必須要包含這些內容;講解成本計算的時候,根據(jù)文檔“工作包、進度和預算”進行項目的WBS分解以及基本的估算方法??傊?,由于教材先理論后案例的局限性,在聽課之初,學生覺得枯燥乏味。而教師通過先案例的方式能有效調動學生在課堂上的學習積極性,為后面的項目實踐奠定基礎。
2.2學生項目實踐環(huán)節(jié)
每一門專業(yè)課都有上機實踐部分,學生在實踐課上主要是書寫文檔。每門專業(yè)課都有各自不同的文檔,軟件工程課程要求學生必須完成標準的13個文檔;軟件測試課程需要軟件測試報告文檔;軟件項目管理課程有127個文檔;面向對象的軟件分析方法課程有包含9大部分內容的軟件項目分析與設計文檔。每一門課程的文檔內容非常多,要求每個學生最好獨立完成,主要訓練每一個學生的文檔書寫和理解能力。需要強調的是,學生書寫的項目文檔一定要給出標準的、規(guī)范的文檔格式,包括目錄、段落、標題、字體等排版之類的要求。項目模板可以采用軟件工程國標文檔或者相關的其他標準文檔,最好和某一軟件公司的案例文檔格式相一致。筆者在軟件公司任職過程中,很多剛參加工作的大學生書寫文檔的水平非常差,主要是文檔格式、結構和內容混亂,往往給人留下非常不好的印象。整體項目驅動模式下的課程教學,首先強調的就是文檔格式和正確的文檔排版,其次才是內容的正確性與完整性。在學生項目實踐中,任課教師最好跟蹤指導。學生每次在實驗課上必須完成相應的實驗,并把實驗的電子文檔通過教學資源管理系統(tǒng)或以電子郵件的方式提交給教師。電子文檔的批改能快速糾正學生文檔格式不規(guī)范以及內容方面的錯誤,但這個工作量往往很大,每一次電子作業(yè)批改的工作量往往是學生數(shù)量的3~4倍。這是因為學生按照批改意見進行修改后又會返回給教師,最終達到合格標準的電子文檔往往會被修改2~4次。
2.3考核方式
完成每門課程的項目文檔是學生對文檔書寫熟練程度以及課程內容理解的直接反映,也是培養(yǎng)軟件開發(fā)過程中需要具備的素養(yǎng)和習慣的有效途徑,克服學生疏于或懶于書寫文檔的缺陷。因此,教師需要對學生書寫的項目文檔進行考核并將其反映在學生成績上。項目文檔的成績占學生總成績比例的30%~50%較為合理。
2.4教學效果
筆者經過近2年的教學實踐,取得了良好教學效果。以中南民族大學軟件工程專業(yè)2008級學生為例,首先,學生很順利地完成了各自的軟件項目,包括中南民族大學學生基金項目;其次,學生能很好地書寫申請軟件項目著作權系列文檔以及畢業(yè)論文,書寫的文檔格式規(guī)范,只需稍加修改就能將文檔立即轉化成學術論文并發(fā)表。這表明學生無論是在文檔格式還是在內容編排上都取得了進步,進一步提高了在軟件開發(fā)過程中應有的素質。這也是軟件工程專業(yè)學生和計算機其他專業(yè)學生之間非常明顯的差別。就前2屆學生的就業(yè)情況,筆者回訪了2家用人單位,他們對中南民族大學軟件工程專業(yè)畢業(yè)的學生刮目相看,稱贊學生書寫的項目文檔很規(guī)范。
3結語