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