劉丹 張銳銳
摘 要:《軟件工程》課程作為培養(yǎng)學(xué)生軟件工程能力的一門核心課程,通過構(gòu)建先進的課程體系、工程化案例,將抽象的軟件工程方法具體化、實例化,使學(xué)生更好地理解軟件工程基本原理和方法;通過個人實踐項目和團隊合作項目開發(fā),全面激發(fā)學(xué)生的學(xué)習(xí)樂趣,使學(xué)生增加實踐經(jīng)驗,提高動手能力和團隊協(xié)作能力,體驗軟件項目開發(fā)中的崗位角色;通過這些方式方法,更深入的促進《軟件工程》教學(xué)改革。
關(guān)鍵字:軟件工程 教學(xué)改革 驅(qū)動式教學(xué)
軟件工程是綜合運用計算機理論和技術(shù)以及工程管理的原則和方法,按照用戶需求及設(shè)定的預(yù)算和進度,實現(xiàn)特定功能的軟件產(chǎn)品的定義、設(shè)計、開發(fā)、測試、發(fā)布和維護的工程或以之為研究對象的學(xué)科。由此可見,學(xué)科特點決定了軟件人才的培養(yǎng)需要兼顧系統(tǒng)的理論知識掌握和綜合的工程實踐鍛煉。然而,軟件工程人才培養(yǎng)普遍存在重理論、輕實踐,理論學(xué)習(xí)不系統(tǒng)、實踐鍛煉不完整,以及考核標準不科學(xué)等問題,難以達到社會對軟件開發(fā)人才的需求標準。軟件工程課程的改革思路和建設(shè)效果對學(xué)生工程實踐能力和創(chuàng)新意識具有重要的影響作用,為了達到對軟件人才培養(yǎng)的較高要求,需要對該課程的教學(xué)內(nèi)容、實踐流程、指導(dǎo)方法和考核方式進行了全方位的改革。
一、構(gòu)建完整課程體系
IEEE 發(fā)布的軟件工程知識體系包括10 個知識領(lǐng)域:軟件需求、軟件設(shè)計、軟件構(gòu)造、軟件測試、軟件維護、軟件配置管理、軟件工程工具和方法、軟件工程過程和軟件質(zhì)量。參考這10個領(lǐng)域知識,根據(jù)教學(xué)目標,結(jié)合基礎(chǔ)知識、先進技術(shù)和工程實踐等方面組織整個課程內(nèi)容,建立基于知識、應(yīng)用、實踐和綜合型軟件項目開發(fā)四維一體的課程教學(xué)體系結(jié)構(gòu)。應(yīng)用體系包括用例圖、類圖、狀態(tài)圖、順序圖、Rational Rose、能力成熟度模型、軟件重用和軟件構(gòu)件。實踐體系包括三個具體的小規(guī)模軟件的設(shè)計和開發(fā)。綜合型軟件2組開發(fā)體系包括兩個具體的中等規(guī)模軟件的設(shè)計與開發(fā)。
二、實施項目驅(qū)動式教學(xué)
軟件工程的理論和方法是從眾多軟件開發(fā)實踐中總結(jié)出來的,但是對于缺乏軟件開發(fā)實際經(jīng)驗的本科生來說,單純地講授理論知識往往使學(xué)生感到枯燥無味且難以理解。
1.對于知識內(nèi)容,引入一些經(jīng)典案例進行教學(xué)。諸如愛國者導(dǎo)彈、網(wǎng)絡(luò)病毒攻擊、ARIANE 5 火箭等,從這些經(jīng)典案例出發(fā),了解軟件危機產(chǎn)生的原因,逐漸了解到軟件危機的產(chǎn)生不僅僅只是程序代碼的錯誤,更多的是設(shè)計上的缺陷,認識到軟件工程的重要性,也了解到軟件工程要解決的主要問題,即以軟件工程的原理和方法為指導(dǎo),嚴格遵循軟件過程規(guī)范和步驟。在這個過程中,案例的選擇非常重要。案例選得過于簡單,不能突出軟件工程的重要性,案例選得過于復(fù)雜,又不能提高學(xué)生的學(xué)習(xí)興趣。所以,應(yīng)選擇一些有代表性的,突出反映軟件工程某一方面且又帶有一定趣味性的案例。
在軟件項目管理方面,引入項目管理的思想,通過諸如微軟公司和 IBM 公司等的人員組織與項目管理,使學(xué)生了解到成本、人員、進度、質(zhì)量、風(fēng)險等因素在軟件開發(fā)過程中的重要性,弄清項目管理中人員、產(chǎn)品、過程和項目之間的關(guān)系,特別強調(diào)在后期的團隊協(xié)作和項目溝通中這些因素的重要性。
2.在軟件工程的應(yīng)用方面,設(shè)計針對性的案例。重點介紹 UML 知識,并結(jié)合 Rational Rose 講解其具體應(yīng)用,還應(yīng)介紹 CMM 軟件的重用技術(shù)、軟件構(gòu)件等知識,引導(dǎo)學(xué)生自學(xué)新知識、新技能。
3.對于軟件工程的實踐教學(xué),對于每一個具體軟件過程階段,應(yīng)設(shè)計具體的應(yīng)用案例。如: 銀行計算機存儲系統(tǒng);機票預(yù)訂系統(tǒng);患者監(jiān)護系統(tǒng)等。這些具體的應(yīng)用案例,雖說不是一個完整的軟件工程開發(fā),但是通過這些具體的應(yīng)用案例,學(xué)生能夠更好的理解和掌握軟件開發(fā)每一個階段的具體任務(wù)和方法,也對軟件項目管理有一定的認識。
4. 綜合型軟件項目開發(fā)是對軟件工程知識的綜合應(yīng)用,結(jié)合成績管理系統(tǒng)、圖書管理系統(tǒng)、問卷調(diào)查系統(tǒng)、視頻游戲軟件等教學(xué)案例,論述各個系統(tǒng)在需求分析、體系結(jié)構(gòu)設(shè)計、用戶界面設(shè)計、詳細設(shè)計、軟件測試和軟件維護等等方面所做的具體工作和設(shè)計的技術(shù)問題。
三、構(gòu)建合理開發(fā)團隊
實踐教學(xué)是本課程中一個重要的組成部分,一般在指導(dǎo)老師的帶領(lǐng)下以團隊的方式進行,要求一個團隊通常由3-5人組成,開發(fā)一個實際的具有一定規(guī)模的軟件系統(tǒng),包括實驗準備、分析設(shè)計、編程測試和軟件交付等環(huán)節(jié),最終要提交軟件、開發(fā)文檔和進行答辯。通過實踐環(huán)節(jié),側(cè)重培養(yǎng)學(xué)生發(fā)現(xiàn)問題、獨立分析問題和解決問題的能力以及團隊合作精神,使學(xué)生初步體會到一個軟件開發(fā)項目全過程。同時,在實踐過程中,也要注重將小組協(xié)作、過程管理、成本因素與參與興趣相結(jié)合,使學(xué)生在一個規(guī)范可控的過程中完成實驗項目的開發(fā)。
對于軟件工程課程實踐環(huán)節(jié)來說,僅僅提供一個軟件開發(fā)項目是遠遠不夠的,學(xué)生還需要一個適合協(xié)作式項目開發(fā)的軟件工程環(huán)境。這個環(huán)境應(yīng)提供軟件開發(fā)所需要的相關(guān)硬件和軟件。營造一個適合軟件工程課程實踐項目的軟件工程環(huán)境是軟件工程實踐教學(xué)取得良好效果的關(guān)鍵。因此,應(yīng)專門編寫軟件工程的實驗指導(dǎo)書,包括開發(fā)過程模型、系列文檔模板、軟件編碼規(guī)范、階段評審標準等,使實驗和實踐環(huán)節(jié)規(guī)范有序; 同時將常用的軟件工程工具引入到課程實驗項目中,使用配置管理工具將所產(chǎn)生的各種制品控制在有序管理之下,使用建模工具和測試工具進行軟件的分析、設(shè)計和測試。
四、設(shè)置多元化考評方式
傳統(tǒng)考評方式越發(fā)不能體現(xiàn)學(xué)生軟件開發(fā)等實際操作能力,而且和多元教學(xué)模式也越發(fā)不配套,為此采取多元化考評方式才是科學(xué)有效的,考評環(huán)節(jié)應(yīng)當(dāng)包括筆試、設(shè)計課程、角色扮演與項目總結(jié)等諸多方面。為此,評分比例可考慮按如下幾方面安排與改進: 一是筆試可規(guī)劃占據(jù)整體成績 50% 的比例,主要針對學(xué)生理論知識掌握與學(xué)習(xí)效果進行考核;二是課后的角色扮演占據(jù)整體成績 25% 左右的比例。教師按照學(xué)生角色扮演表現(xiàn)給予評分,按如下三部分取得平均值:即整體項目成績、自主完成文檔成績、小組其它成員完成文檔平均成績;三是項目總結(jié)與心得體會比例也大約占據(jù) 25% 左右。按照學(xué)生軟件研發(fā)時撰寫收獲教訓(xùn)或經(jīng)驗成長報告,小組成員構(gòu)建開發(fā)日志情況互相評分,以此作為整體考核成績的第三部分。
五、結(jié)束語
伴隨著軟件開發(fā)行業(yè)的迅速發(fā)展,《軟件工程》的教學(xué)改革也勢在必行,創(chuàng)新教學(xué)理念,構(gòu)建先進的課程體系;創(chuàng)新教學(xué)方法,推動案例化探索式教學(xué);創(chuàng)新教學(xué)模式,全面激發(fā)學(xué)生的學(xué)習(xí)樂趣, 通過多種方式全方面促進《軟件工程》教學(xué)改革發(fā)展。
參考文獻
[1]《軟件工程》課程的教學(xué)改革探索[J]. 金淑娟,楊滋榮. 教育教學(xué)論壇. 2015(31)
[2]《軟件工程》實踐教學(xué)改革探討[J]. 任小娟. 軟件工程. 2017(10)
[3] 基于校企合作的應(yīng)用型高?!盾浖こ獭氛n程教學(xué)改革[J]. 陽建中,胡俐蕊,黃東,李賢陽,陳慧蓉. 現(xiàn)代計算機(專業(yè)版). 2017(18)
[4]基于就業(yè)的軟件工程課程教學(xué)改革[J]. 李小榮,疏志年,朱愛國. 巢湖學(xué)院學(xué)報. 2014(06)