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