張 毅 陳 林 陳蜀宇
摘要:本文在論述軟件項(xiàng)目實(shí)踐教學(xué)目的和教學(xué)內(nèi)容的基礎(chǔ)上,闡述了軟件項(xiàng)目實(shí)踐的教學(xué)方式及考核指標(biāo),并分析了教學(xué)效果、存在的問題及改進(jìn)的思路。
關(guān)鍵詞:項(xiàng)目實(shí)踐;軟件項(xiàng)目;教學(xué)方法;系列課程
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:B
1引言
“軟件項(xiàng)目實(shí)踐”系列課程是一門實(shí)踐性教學(xué)課程,以培養(yǎng)鍛煉學(xué)生在軟件項(xiàng)目開發(fā)上的實(shí)際工程能力為目標(biāo),并以現(xiàn)代軟件工程理論和規(guī)范化的軟件過程標(biāo)準(zhǔn)和規(guī)范為課程教學(xué)的內(nèi)容框架。該課程通過三個(gè)階段的教學(xué),使學(xué)生的工程實(shí)踐能力與規(guī)范化的軟件過程得到全面的培養(yǎng)和鍛煉。
2軟件項(xiàng)目實(shí)踐的教學(xué)目的
對(duì)于軟件工程專業(yè)而言,實(shí)際的編程能力,應(yīng)用軟件工程方法分析問題和解決問題的能力是極其重要的,“軟件項(xiàng)目實(shí)踐”系列課程就是為此目的而設(shè)置的。
該課程的開設(shè),旨在引導(dǎo)學(xué)生在學(xué)習(xí)軟件工程領(lǐng)域前沿知識(shí)的同時(shí),更加注重對(duì)實(shí)際應(yīng)用能力的培養(yǎng),提高學(xué)生的學(xué)習(xí)興趣和學(xué)習(xí)熱情,培養(yǎng)創(chuàng)新精神,使學(xué)生積極主動(dòng)參與其中,而不是被動(dòng)地接受課堂教學(xué)。
軟件項(xiàng)目實(shí)踐以其注重實(shí)用性不同于計(jì)算機(jī)專業(yè),但也不是簡單地類似于職業(yè)培訓(xùn)課。它要求的是學(xué)習(xí)知識(shí)的系統(tǒng)性、結(jié)構(gòu)化,與其他專業(yè)知識(shí)的結(jié)合。
通過本課程的學(xué)習(xí),使學(xué)生能夠真正經(jīng)歷到軟件開發(fā)的全過程,體會(huì)到它的科學(xué)性,而不僅僅是掌握一些程序設(shè)計(jì)技巧。
3軟件項(xiàng)目實(shí)踐的教學(xué)內(nèi)容
本文通過了解國內(nèi)外的一些著名大學(xué)的軟件工程專業(yè)培養(yǎng)計(jì)劃,特別是查閱了美國、加拿大、英國、澳大利亞等國高水平大學(xué)的相關(guān)資料,加以綜合整理,為我所用,設(shè)計(jì)了軟件項(xiàng)目實(shí)踐課程的教學(xué)內(nèi)容。對(duì)于該系列課程作如下考慮:共分三學(xué)期進(jìn)行,加上畢業(yè)設(shè)計(jì),構(gòu)成了四個(gè)環(huán)節(jié)。
首先,培養(yǎng)學(xué)生扎實(shí)的軟件編碼能力和分析實(shí)際的編程技術(shù),訓(xùn)練學(xué)生規(guī)范化的軟件編碼風(fēng)格,能寫出具有商業(yè)級(jí)代碼質(zhì)量的軟件代碼和軟件代碼技術(shù)文檔。
其次,鍛煉學(xué)生的軟件設(shè)計(jì)與軟件測(cè)試能力,能運(yùn)用常用的設(shè)計(jì)與測(cè)試工具與方法進(jìn)行軟件的設(shè)計(jì)和測(cè)試,培養(yǎng)學(xué)生能按照面向?qū)ο蟮乃枷敕治鰧?shí)際工程問題,合理套用常用的設(shè)計(jì)模式解決實(shí)際的過程設(shè)計(jì)問題,訓(xùn)練學(xué)生按規(guī)范化的要求編寫技術(shù)文檔。
第三,培養(yǎng)學(xué)生能按照規(guī)范化的軟件過程標(biāo)準(zhǔn)開展軟件項(xiàng)目,以規(guī)范的軟件過程標(biāo)準(zhǔn)為指導(dǎo)原則來組織整個(gè)軟件生命周期的各個(gè)子階段,熟悉和掌握基本的軟件過程配置環(huán)境的建立與實(shí)際應(yīng)用的技能,能夠運(yùn)用一定的工程管理方法和風(fēng)險(xiǎn)預(yù)防措施來進(jìn)行團(tuán)隊(duì)組織和項(xiàng)目風(fēng)險(xiǎn)控制。
以上三個(gè)階段的教學(xué)內(nèi)容朝著培養(yǎng)學(xué)生規(guī)范的完整軟件過程能力目標(biāo)逐步推進(jìn)。第一個(gè)階段的教學(xué)目標(biāo)和實(shí)踐內(nèi)容主要包括軟件過程的軟件構(gòu)造子過程的規(guī)范實(shí)踐工程能力鍛煉;第二個(gè)階段主要側(cè)重軟件設(shè)計(jì)和軟件測(cè)試子過程的規(guī)范實(shí)踐工程能力培養(yǎng);第三個(gè)階段則覆蓋整個(gè)規(guī)范化軟件過程的實(shí)踐工程能力的訓(xùn)練。
最后,以畢業(yè)設(shè)計(jì)作為綜合練習(xí),全面應(yīng)用所學(xué)知識(shí)。這樣,就做到了注重課程體系結(jié)構(gòu)的連續(xù)性。
4軟件項(xiàng)目實(shí)踐的教學(xué)方式
軟件項(xiàng)目實(shí)踐課程與專業(yè)課的課程設(shè)計(jì)不同,在一學(xué)期的開學(xué)初,即進(jìn)行布置,讓學(xué)生盡早開始考慮,并貫穿于整個(gè)學(xué)期,從而更好地保證其質(zhì)量。
下面以第一階段為例,介紹一下具體做法。
關(guān)于具體項(xiàng)目,由教師提出本學(xué)期的基本要求,讓學(xué)生按照本階段課程設(shè)置來提出其感興趣題目或方向,再加以綜合,形成多個(gè)不同的但與基本要求相聯(lián)系的具體項(xiàng)目。
然后將學(xué)生分為多個(gè)小組,給每一組指定其應(yīng)完成的項(xiàng)目。雖然每一組將完成同樣的題目,但每一學(xué)生應(yīng)獨(dú)立完成。
為每一組指定一名指導(dǎo)教師,指導(dǎo)教師的職責(zé)是管理、監(jiān)督其指導(dǎo)的小組,以保證項(xiàng)目實(shí)踐的順利實(shí)施,并幫助其開展討論,指導(dǎo)其編寫報(bào)告以及演示等。但指導(dǎo)教師沒有義務(wù)具體參與軟件分析及設(shè)計(jì),與此相反,教師有時(shí)還可擔(dān)任用戶的角色,提出項(xiàng)目需求。
每一組應(yīng)每周進(jìn)行一次討論,它是為了了解各學(xué)生的進(jìn)展情況,并共同討論一些技術(shù)問題,每一學(xué)生需要對(duì)此作記錄,這將作為最終報(bào)告的一部分。
學(xué)期末,每一名學(xué)生均應(yīng)提交其解決方案及最終報(bào)告,并作演示。解決方案要求能正確地編譯、連接、運(yùn)行,并能滿足該項(xiàng)目解決的最低要求。所有報(bào)告要求用英文編寫,并上交電子版和書面版。
最終考核采用綜合考察學(xué)生對(duì)于每一次討論的記錄,最終的項(xiàng)目報(bào)告以及項(xiàng)目演示情況等的方式。
另外兩個(gè)階段將以團(tuán)隊(duì)形式進(jìn)行實(shí)踐,學(xué)生之間,團(tuán)隊(duì)之間相互檢查、監(jiān)督,讓每一個(gè)學(xué)生體會(huì)到在團(tuán)隊(duì)合作中軟件工程各個(gè)方面的應(yīng)用,包括開展討論、做出決定、合理分配時(shí)間、有效管理人員、演示以及編寫報(bào)告等。經(jīng)過實(shí)際訓(xùn)練,學(xué)生們將能夠主持并記錄討論會(huì),有效地參與到軟件工程團(tuán)隊(duì)中,作簡短的技術(shù)報(bào)告和演示,合作編寫技術(shù)報(bào)告。在此課程中學(xué)到的團(tuán)隊(duì)精神、管理能力和演示技巧將會(huì)有助于將來成為一名專業(yè)軟件工程師。
5軟件項(xiàng)目實(shí)踐的考核指標(biāo)
該課程根據(jù)各階段的教學(xué)目標(biāo)不同設(shè)立具體不同內(nèi)容和側(cè)重點(diǎn)的考核指標(biāo)體系。各階段的考核指標(biāo)體系分為學(xué)生團(tuán)隊(duì)考核、學(xué)生個(gè)人考核和項(xiàng)目考核三個(gè)方面。
學(xué)生團(tuán)隊(duì)考核是對(duì)學(xué)生在項(xiàng)目實(shí)踐中的實(shí)踐能力和參與態(tài)度的考核為目標(biāo),包括:團(tuán)隊(duì)成員之間的協(xié)作能力、是否有明確的職責(zé)劃分和個(gè)人職責(zé)體現(xiàn)、是否有好的組織管理制度、技術(shù)學(xué)習(xí)與攻關(guān)能力、團(tuán)隊(duì)過程管理及改進(jìn)、每個(gè)成員的自我價(jià)值認(rèn)同程度等。
學(xué)生個(gè)人考核是以團(tuán)隊(duì)成員是否明確團(tuán)隊(duì)的目標(biāo),能否與團(tuán)隊(duì)成員進(jìn)行高效的協(xié)作交流,并能積極展示自己的成果為考核目標(biāo),包括對(duì)團(tuán)隊(duì)目標(biāo)的認(rèn)同、與團(tuán)隊(duì)成員的交流能力及展現(xiàn)能力、對(duì)團(tuán)隊(duì)領(lǐng)導(dǎo)的合理安排的服從與團(tuán)隊(duì)組織和管理制度的遵守、工程規(guī)范掌握、團(tuán)隊(duì)軟件過程遵守、技術(shù)熟練程度及應(yīng)用能力、任務(wù)完成的效率及質(zhì)量等。
項(xiàng)目考核是以對(duì)軟件項(xiàng)目實(shí)踐的規(guī)范性進(jìn)行約束及考核為目標(biāo),重在考核每個(gè)學(xué)生分組的軟件過程的各項(xiàng)規(guī)范指標(biāo)和項(xiàng)目成果是否達(dá)到了和滿足規(guī)范性的軟件過程要求,包括項(xiàng)目計(jì)劃及管理機(jī)制、項(xiàng)目的執(zhí)行控制及過程規(guī)范、項(xiàng)目質(zhì)量保障及評(píng)測(cè)、軟件功能及非功能性特征、答辯組織及演示實(shí)際效果等。
6教學(xué)效果
經(jīng)過幾年教學(xué)實(shí)踐,該系列課程已經(jīng)取得了一定的成績。
(1) 調(diào)動(dòng)了積極性
由于以學(xué)生為主體開展軟件項(xiàng)目實(shí)踐,并鼓勵(lì)學(xué)生積極提出自己的建議,一起來搞好該課程建設(shè),使學(xué)生從被動(dòng)學(xué)習(xí)自覺轉(zhuǎn)變進(jìn)入主動(dòng)學(xué)習(xí)狀態(tài)。許多同學(xué)在參與過程中,不斷提出自己的想法和體會(huì),都希望能從中學(xué)到更多更實(shí)用的知識(shí)和技能。
(2) 培養(yǎng)了自我學(xué)習(xí)的能力,增強(qiáng)了自信心
由于軟件開發(fā)用于實(shí)際應(yīng)用領(lǐng)域,所做項(xiàng)目涉及某些領(lǐng)域知識(shí),學(xué)生們通過查閱資料進(jìn)行學(xué)習(xí),并應(yīng)用到項(xiàng)目實(shí)踐中,使每一位學(xué)生都看到了自己在參與實(shí)際軟件項(xiàng)目中的不足,同時(shí)也相信只要勤奮努力,一定能克服困難。
(3) 軟件開發(fā)能力及程序設(shè)計(jì)水平顯著提高
特別是一些只重視書本知識(shí),不愿意動(dòng)手編程的學(xué)生,通過實(shí)踐,已基本上能跟上教學(xué)進(jìn)度,為進(jìn)一步的學(xué)習(xí)打下了堅(jiān)實(shí)的基礎(chǔ)。
7存在問題及改進(jìn)思路
由于這是軟件項(xiàng)目實(shí)踐課程是一個(gè)全新的實(shí)踐性課程,在教學(xué)中還存在一些問題和不足之處。教學(xué)大綱及教學(xué)形式均無先例可循,需要在教學(xué)實(shí)踐中不斷改進(jìn)。在軟件項(xiàng)目設(shè)計(jì)中必然產(chǎn)生這樣那樣的問題,如不同項(xiàng)目之間存在難易程度不同的問題。對(duì)于此問題,可在實(shí)踐中逐步積累,逐步完善。最終目標(biāo)是提供實(shí)際軟件項(xiàng)目,讓學(xué)生參與其中。
此外,由于學(xué)生普遍存在缺乏相關(guān)工程背景知識(shí),將通過講座形式,讓學(xué)生了解軟件應(yīng)用各方面的領(lǐng)域知識(shí),以利于其參與軟件項(xiàng)目實(shí)踐。
8結(jié)束語
綜上所述,通過三個(gè)階段的軟件項(xiàng)目實(shí)踐系列課程,
加上畢業(yè)設(shè)計(jì)環(huán)節(jié),可有效地彌補(bǔ)大學(xué)生在校學(xué)習(xí)期間實(shí)踐環(huán)節(jié)相對(duì)不足的缺陷,提高學(xué)生的適應(yīng)能力和競爭能力,從而在畢業(yè)后能更快地適應(yīng)工作的要求。
參考文獻(xiàn):
[1] 張引,楊小虎,陳越.“軟件工程”課程實(shí)踐中激勵(lì)機(jī)制的探索[J]. 計(jì)算機(jī)教育,2007(5).
[2] 駱斌,張大良,邵棟. 軟件工程專業(yè)的課程體系設(shè)計(jì)[J]. 中國大學(xué)教學(xué),2005(1).
[3] 張冰峰,王羽,邢桂林. 基于ISO 9000和CMM的關(guān)鍵實(shí)踐的應(yīng)用軟件開發(fā)項(xiàng)目監(jiān)理規(guī)范[J]. 北京聯(lián)合大學(xué)學(xué)報(bào):自然科學(xué)版, 2004(3).
[4] 湯書昆,李健. 企業(yè)軟件工程項(xiàng)目管理案例解析[J]. 華東經(jīng)濟(jì)管理,2002(5).
[5] 陳瑩,梁艷明,蕭澤新. 基于價(jià)值工程的項(xiàng)目團(tuán)隊(duì)人員配置的構(gòu)件化管理[J]. 價(jià)值工程,2007(1).
[6] 李勇華,駱啟武,付春燕. 基于問題管理提升軟件項(xiàng)目過程質(zhì)量的實(shí)踐[J]. 計(jì)算機(jī)與現(xiàn)代化,2007(4).