前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的圖書管理可行性分析報(bào)告主題范文,僅供參考,歡迎閱讀并收藏。
關(guān)鍵詞: 軟件工程; 任務(wù)驅(qū)動(dòng)教學(xué)法; 案例教學(xué)法; 項(xiàng)目驅(qū)動(dòng)教學(xué)法
中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2017)05-50-04
Discussion on teaching model of software engineering course
Li Ling
(Computer Science and Control Engineering Institute, North University of China, Taiyuan, Shanxi 030051, China)
Abstract: Software engineering is a major course in computer specialty, which plays an important role in improving student's abilities of software development, teamwork, communication, innovation and self-learning. Aiming at the problem that the course teaching is emphasis on the technology more than the management, this paper expounds the educational objectives and the teaching contents based off the educational objectives. In order to improve students' interest in learning, the framework for the implementation of task-driven teaching method and case teaching method is put forward, and the application of project-driven teaching method in practice teaching is expounded.
Key words: software engineering; task-driven teaching method; case teaching method; project- driven teaching method
0 引言
軟件工程課程是一門研究用工程化方法構(gòu)建和維護(hù)有效、實(shí)用、高質(zhì)量軟件的學(xué)科,是計(jì)算機(jī)專業(yè)人員必修的一門主干課程。它以數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟪绦蛟O(shè)計(jì)、數(shù)據(jù)庫原理及應(yīng)用、操作系統(tǒng)等課程為先驅(qū),糅合了工程化軟件開發(fā)思想,旨在讓學(xué)生通過本門課程的學(xué)習(xí),理解軟件工程的基本原理、軟件項(xiàng)目開發(fā)各階段的任務(wù),掌握傳統(tǒng)的結(jié)構(gòu)化設(shè)計(jì)方法和面向?qū)ο蟮拈_發(fā)方法,建立以工程化思想管理軟件開發(fā)維護(hù)進(jìn)程。對(duì)提高學(xué)生的軟件開發(fā)能力、解決問題和創(chuàng)新能力以及項(xiàng)目管理、團(tuán)隊(duì)合作能力具有重要意義。
軟件工程一直是高年級(jí)專業(yè)課程中教學(xué)難度較大的一門課程。從對(duì)學(xué)生就業(yè)單位的問卷調(diào)查和訪談結(jié)果來看,教學(xué)效果未達(dá)到理想狀態(tài)。究其原因,有四個(gè)方面。
第一,本課程理論性強(qiáng),如何引發(fā)學(xué)生興趣是重中之重。單純引入案例教學(xué),沒有良好的組織過程,學(xué)生仍未能有“身臨其境”感覺,無法達(dá)到教學(xué)效果[1]。
第二,本課程是一門綜合性課程,起于理論,必須將理論應(yīng)用于實(shí)踐中,理論實(shí)踐相結(jié)合,學(xué)生對(duì)知識(shí)點(diǎn)才會(huì)有深刻體會(huì)。目前教學(xué)仍有重理論輕實(shí)踐特點(diǎn),理論與實(shí)踐有所脫節(jié)。
第三,實(shí)踐過程的組織耗時(shí)耗力,評(píng)價(jià)體系不完善。軟件工程的實(shí)踐環(huán)節(jié)涉及到數(shù)據(jù)結(jié)構(gòu)、程序語言、開發(fā)環(huán)境、數(shù)據(jù)庫等多方面知識(shí),因此實(shí)踐的開展,易受到先驅(qū)課程沒有學(xué)好或沒有拓展、遺忘等影響。需對(duì)學(xué)生知識(shí)狀況進(jìn)行摸底評(píng)估。對(duì)于實(shí)踐過程耗時(shí)長,要考慮如何引導(dǎo)學(xué)生高效工作;如何評(píng)估劃分不同學(xué)生知識(shí)結(jié)構(gòu)的層次;針對(duì)學(xué)生良莠不齊情況合理管理及高效引導(dǎo)實(shí)踐進(jìn)程。而目前對(duì)實(shí)踐過程的評(píng)價(jià),除了印象分,仍是以最終結(jié)果評(píng)價(jià)為主,有失公正性,對(duì)學(xué)生的團(tuán)隊(duì)協(xié)作能力培養(yǎng)也是桎梏。
第四,本課程知識(shí)體系一直存在重技術(shù)輕管理的誤區(qū)?,F(xiàn)工程教育認(rèn)證標(biāo)準(zhǔn)在各大高校逐漸推展開。工程教育認(rèn)證,明確將項(xiàng)目管理能力、承擔(dān)團(tuán)隊(duì)成員以及負(fù)責(zé)人的角色能力、溝通能力等寫入了畢業(yè)要求。加大學(xué)生軟件工程管理能力教育力度,培養(yǎng)符合工程化認(rèn)證標(biāo)準(zhǔn)的人才,是需要我們反復(fù)思考加實(shí)踐來推進(jìn)的。本文從軟件工程課程培養(yǎng)目標(biāo)、教學(xué)內(nèi)容體系、課程教育方法三方面出發(fā),淺談對(duì)軟件工程課程教改的一些思路。
1 件工程課程培養(yǎng)目標(biāo)
本課程旨在培養(yǎng)學(xué)生軟件工程理論知識(shí)、職業(yè)技術(shù)能力、職業(yè)素養(yǎng)三方面的能力。理論知識(shí)方面,要求學(xué)生掌握傳統(tǒng)的結(jié)構(gòu)化開發(fā)和面向?qū)ο箝_發(fā)中各階段的任務(wù)、任務(wù)完成的步驟,以及相關(guān)模型建立的方法。職業(yè)技術(shù)能力方面,要求學(xué)生基本掌握使用Microsoft Project進(jìn)行軟件項(xiàng)目管理,使用visual Source safe進(jìn)行版本控制、使用 Rational Rose和Viso進(jìn)行軟件系統(tǒng)建模,使用JTest進(jìn)行輔助測試、使用loadrunner進(jìn)行壓力測試。職業(yè)素養(yǎng)方面,通過組織學(xué)生進(jìn)行團(tuán)隊(duì)項(xiàng)目開發(fā),培養(yǎng)學(xué)生項(xiàng)目管理能力,談判、溝通、寫作能力及團(tuán)隊(duì)合作能力。
2 軟件工程課程教學(xué)內(nèi)容
工程教育認(rèn)證基本思想是,以社會(huì)需求為導(dǎo)向,革新教學(xué)模式[2]。因此,我們應(yīng)該根據(jù)社會(huì)需求,合理確定知識(shí)結(jié)構(gòu)。基于社會(huì)需求及課程培養(yǎng)目標(biāo),本課程內(nèi)容分為理論和實(shí)踐兩部分。
理論部分主要內(nèi)容如表1所示。
實(shí)踐部分旨在引導(dǎo)學(xué)生將理論應(yīng)用于實(shí)踐中,加深對(duì)理論的理解,并鍛煉學(xué)生的軟件需求分析、設(shè)計(jì)、開發(fā)能力。針對(duì)面向過程軟件工程,設(shè)計(jì)了《期末成績統(tǒng)計(jì)軟件》模擬案例。針對(duì)面向?qū)ο筌浖こ?,設(shè)計(jì)了《小型圖書管理系統(tǒng)》模擬案例。整個(gè)項(xiàng)目實(shí)施過程,以學(xué)生分組形式進(jìn)行,培養(yǎng)學(xué)生的軟件開發(fā)、談判、溝通、寫作能力,團(tuán)隊(duì)合作能力,全面提升學(xué)生的職業(yè)素養(yǎng)。
3 軟件工程課程教學(xué)方法
軟件工程是一門工程化的課程,理論性、實(shí)踐性并重。如果教師采用傳統(tǒng)“填鴨式”教學(xué)方法,以平鋪直敘的方式對(duì)課本內(nèi)容進(jìn)行PPT講解,極易讓學(xué)生失去學(xué)習(xí)興趣,降低教學(xué)質(zhì)量。教師要想讓學(xué)生充分了解并掌握本課程知識(shí),必須具體問題具體分析,不同的教學(xué)內(nèi)容采用不同的教學(xué)模式。例如針對(duì)軟件工程課程各類知識(shí)結(jié)構(gòu)特點(diǎn),采用任務(wù)驅(qū)動(dòng)教學(xué)法、案例教學(xué)法、項(xiàng)目驅(qū)動(dòng)教學(xué)法、自學(xué)等多種方式混合的綜合教學(xué)方法,以此激發(fā)學(xué)生的好奇心和解決問題的好勝心,調(diào)動(dòng)學(xué)生積極性,提升課程教學(xué)效果。
3.1 課堂教學(xué)方法
3.1.1 任務(wù)驅(qū)動(dòng)教學(xué)法
任務(wù)驅(qū)動(dòng)教學(xué)法是建立在建構(gòu)主義學(xué)習(xí)理論基礎(chǔ)上的,有別于傳統(tǒng)教學(xué)的新型教學(xué)方法[3]。建構(gòu)主義是一種關(guān)于知識(shí)和學(xué)習(xí)的理論,強(qiáng)調(diào)學(xué)習(xí)者的主動(dòng)性,認(rèn)為學(xué)習(xí)是學(xué)習(xí)者基于原有的知識(shí)經(jīng)驗(yàn)生成意義、建構(gòu)理解的過程,而這一過程常常是在社會(huì)文化互動(dòng)中完成的。建構(gòu)主義的提出有著深刻的思想淵源,它具有迥異于傳統(tǒng)的學(xué)習(xí)理論和教學(xué)思想,對(duì)教學(xué)設(shè)計(jì)具有重要指導(dǎo)價(jià)值。
任務(wù)驅(qū)動(dòng)教學(xué)法是“以任務(wù)為主線、教師為主導(dǎo)、學(xué)生為主體”的教學(xué)方法。通過巧妙設(shè)計(jì),將教學(xué)知識(shí)點(diǎn)融入到一個(gè)個(gè)具體任務(wù)中,引導(dǎo)學(xué)生通過學(xué)習(xí)新知識(shí)新技能來完成任務(wù),達(dá)到新知識(shí)的理解掌握,并提升學(xué)生分析問題解決問題的能力。在此,簡述本人在面向?qū)ο筌浖こ绦枨蠓治鲭A段教學(xué)中,對(duì)任務(wù)驅(qū)動(dòng)教學(xué)法的運(yùn)用和一些教學(xué)體會(huì)。具體過程如下。
⑴ 描述問題。教師首先提出一個(gè)實(shí)際項(xiàng)目-小型圖書管理系統(tǒng)。對(duì)項(xiàng)目問題定義進(jìn)行簡要闡述。
⑵ 提出需求分析任務(wù)。將教師本人作為客戶,要求學(xué)生獲取小型圖書系統(tǒng)需求。
⑶ 執(zhí)行任務(wù)。學(xué)生根據(jù)自生經(jīng)驗(yàn),通過各種方法獲取需求,并將需求表述。獲取需求過程中,學(xué)生用到的通常的是與教師面對(duì)面溝通方法,溝通方法單一且因?yàn)闇贤ㄆ缌x,會(huì)導(dǎo)致獲取需求與實(shí)際需求矛盾,或只為實(shí)際需求的一部分。教師就此引導(dǎo)學(xué)生,學(xué)習(xí)情境分析、問卷、試用客戶老系統(tǒng)、簡易應(yīng)用規(guī)格說明技術(shù)、快速原型等多種獲取需求方法。獲取需求過程中,要對(duì)需求結(jié)果進(jìn)行表述。學(xué)生通常會(huì)用文字以段落方式長篇大論。這種方式邏輯不嚴(yán)謹(jǐn),且容易產(chǎn)生誤解。教師引導(dǎo)學(xué)生學(xué)習(xí)使用用例圖及用例文檔的表述方式,并讓學(xué)生對(duì)用例圖方式與段落式表述方式比較,達(dá)到對(duì)用例圖的理解、認(rèn)可及掌握。
3.1.2 案例教學(xué)法
案例教學(xué)法是基于一定的教學(xué)目標(biāo),以包含疑難問題的實(shí)際情境的描述即“案例”為載體,教師扮演設(shè)計(jì)者和激勵(lì)者的角色,鼓勵(lì)學(xué)生積極參與討論,運(yùn)用所學(xué)的理論知識(shí)去識(shí)別、分析、解決問題,使學(xué)生達(dá)到對(duì)所學(xué)理論知識(shí)的深入理解及掌握,并提升學(xué)生解決問題的創(chuàng)新能力。在此簡述本人在面向過程軟件工程總體設(shè)計(jì)方面對(duì)案例教學(xué)法的運(yùn)用和一些教學(xué)體會(huì)。具體過程如下。
⑴ 學(xué)習(xí)軟件設(shè)計(jì)原理、模塊內(nèi)聚、耦合、啟發(fā)式規(guī)則。
⑵ 基于《小型考務(wù)處理系統(tǒng)》數(shù)據(jù)流圖,使用面向數(shù)據(jù)流的設(shè)計(jì)方法映射出結(jié)構(gòu)圖,將該結(jié)構(gòu)圖作為案例提供給學(xué)生。要求學(xué)生根據(jù)軟件設(shè)計(jì)原理、技術(shù)等相關(guān)知識(shí)對(duì)結(jié)構(gòu)圖進(jìn)行結(jié)構(gòu)優(yōu)化。
⑶ 個(gè)體準(zhǔn)備。每位學(xué)生獨(dú)立思考,準(zhǔn)備優(yōu)化材料,包含理論來源和結(jié)構(gòu)圖處理方式。
⑷ 分組討論。按3-4人一組對(duì)學(xué)生分組,并進(jìn)行組內(nèi)討論,給出結(jié)構(gòu)圖優(yōu)化的統(tǒng)一意見。
⑸ 按組發(fā)表意見。每組推選一個(gè)代表,敘述本組對(duì)結(jié)構(gòu)圖的逐步優(yōu)化方案及理論來源。
⑹ 總結(jié)階段。留出一定的時(shí)間讓學(xué)生自己進(jìn)行思考和總結(jié)。隨后,教師根據(jù)每小組總結(jié)的結(jié)果,同學(xué)生一起進(jìn)行匯總歸納,并依據(jù)教師自身的優(yōu)化經(jīng)驗(yàn)對(duì)結(jié)論進(jìn)行點(diǎn)評(píng)補(bǔ)充。
3.1.3 自學(xué)
大學(xué)生要具備一定的自學(xué)能力。軟件工程課程要求學(xué)生掌握Microsoft Project、visual Source safe、Rational Rose、Viso多個(gè)軟件的使用。教師可在課堂上對(duì)這些軟件的學(xué)習(xí)做適當(dāng)引導(dǎo),并布置學(xué)習(xí)任務(wù)及作業(yè),及時(shí)檢查并糾正錯(cuò)誤。
3.2 實(shí)踐
軟件工程課程的實(shí)踐環(huán)節(jié),可采用項(xiàng)目驅(qū)動(dòng)教學(xué)法組織實(shí)施。項(xiàng)目驅(qū)動(dòng)教學(xué)法是一種以教師為主導(dǎo)、學(xué)生為主體、項(xiàng)目為媒介,通過實(shí)踐方式完成項(xiàng)目,以提升學(xué)生綜合能力和職業(yè)素質(zhì)為目標(biāo)的系統(tǒng)教學(xué)方法。
項(xiàng)目驅(qū)動(dòng)教學(xué)法用于軟件工程課程的實(shí)踐環(huán)節(jié)。主要實(shí)施過程如下。
⑴ 學(xué)生分組。每個(gè)項(xiàng)目小組,設(shè)組長1名,組員3-4名。為避免學(xué)生自由組隊(duì)強(qiáng)強(qiáng)聯(lián)合造成的“馬太效應(yīng)”,教師發(fā)動(dòng)班干部輔助完成分組工作,M量做到強(qiáng)弱聯(lián)合組隊(duì)。
⑵ 項(xiàng)目布置。教師具有實(shí)際意義的多個(gè)項(xiàng)目問題描述。通過分配或自主選題方式提供給各項(xiàng)目小組。每個(gè)項(xiàng)目在一個(gè)班級(jí)中最多重復(fù)三次,以防小組間抄襲。公布內(nèi)容抄襲處罰辦法,達(dá)到警示作用。
⑶ 項(xiàng)目實(shí)施。項(xiàng)目小組選用合理過程模型。將教師作為模擬客戶,嚴(yán)格按照軟件工程思想完成項(xiàng)目。完成項(xiàng)目過程中,著重從如下幾方面進(jìn)行監(jiān)控。
第一,在項(xiàng)目實(shí)施的各個(gè)階段,必須提交相應(yīng)文檔。具體包含《關(guān)于系統(tǒng)規(guī)模和目標(biāo)的報(bào)告書》、《軟件項(xiàng)目開發(fā)可行性分析報(bào)告》、《需求規(guī)格說明書》、《系統(tǒng)設(shè)計(jì)說明書》、《測試計(jì)劃》、《用戶使用手冊(cè)》。文檔要求符合軟件文檔規(guī)范。
第二,必須運(yùn)用Microsoft Project、visual Source safe、Rational Rose、JTest、loadrunner 等作為軟件工程支撐環(huán)境,輔助進(jìn)行軟件開發(fā)。
第三,堅(jiān)持階段性的考核。
傳統(tǒng)實(shí)踐環(huán)節(jié)考核,通常是項(xiàng)目完成后,以小組答辯形式進(jìn)行的終極考核方式[4]。這種考核方式,無法在實(shí)踐過程早期及中期,發(fā)現(xiàn)學(xué)生項(xiàng)目進(jìn)展的重大問題并及時(shí)糾正。尤其對(duì)某些自我約束能力較差的學(xué)生,也可能出現(xiàn)實(shí)踐前期自由散漫工作進(jìn)度緩慢,后期又無法按時(shí)完成的情況。
猿紙錐渦鑰己朔絞較緣糜任必要??己顺蓡T由教師和項(xiàng)目組長擔(dān)任??己顺煽冇筛麟A段考核成績、最終項(xiàng)目答辯成績按比例計(jì)算。各階段考核中,將小組項(xiàng)目的組織過程、小組成員的參與情況、成員對(duì)項(xiàng)目本階段的貢獻(xiàn)等多個(gè)方面,都作為考核指標(biāo)。通過階段性考核方式,既督促、鼓勵(lì)了學(xué)生的積極參與態(tài)度和團(tuán)體合作精神,又能夠及早讓項(xiàng)目小組認(rèn)識(shí)到本組工作不足并抓緊改進(jìn),最重要的是階段性考核方式較終極考核方式更公正客觀。
4 總結(jié)
根據(jù)本科工程教育認(rèn)證標(biāo)準(zhǔn),現(xiàn)今社會(huì)對(duì)計(jì)算機(jī)相關(guān)專業(yè)人才的能力要求越來越全面。計(jì)算機(jī)專業(yè)人員要具有軟件開發(fā)能力、團(tuán)隊(duì)合作能力、創(chuàng)新能力、自學(xué)能力等多方面綜合能力。根據(jù)多年的教學(xué)經(jīng)驗(yàn),本文從培養(yǎng)目標(biāo)、教學(xué)內(nèi)容、教學(xué)方法三方面闡述了進(jìn)行軟件工程課程教學(xué)改革的一些經(jīng)驗(yàn)。分別論述了任務(wù)驅(qū)動(dòng)教學(xué)法、案例教學(xué)法、項(xiàng)目驅(qū)動(dòng)教學(xué)法等幾種方法在課堂教學(xué)和實(shí)踐教學(xué)中的實(shí)施過程。這些措施激發(fā)了學(xué)生創(chuàng)新意識(shí),調(diào)動(dòng)學(xué)習(xí)積極性,對(duì)提升學(xué)生綜合能力切實(shí)可行,達(dá)到了課程培養(yǎng)目標(biāo)要求。工程教育認(rèn)證的基本準(zhǔn)則是持續(xù)改進(jìn),我們將在軟件工程課程現(xiàn)有教學(xué)方法的基礎(chǔ)上,合理運(yùn)用各種教學(xué)輔助工具,對(duì)新的更合理的教學(xué)方法進(jìn)行長期的不斷的探索。
參考文獻(xiàn)(References):
[1] 王辰尹,衣楊.面向應(yīng)用型IT人才培養(yǎng)的軟件工程教改關(guān)鍵問題研究[J].計(jì)算機(jī)教育,2014.8:27-31
[2] 賈玉祥,陳爭艷.面向工程教育的軟件工程案例分析與實(shí)踐課程[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2015.27:9-12