宋呦+勞淑蕾
(唐山學(xué)院)
【摘要】近年來,各個高校的計算機及相關(guān)專業(yè)都開設(shè)了軟件項目管理的課程。軟件項目管理具有比較復(fù)雜的知識構(gòu)成,因此多采用案例化教學(xué)的方式進行授課,然而案例是教學(xué)也存在著一定的問題。針對這些問題,本文分析設(shè)計開發(fā)了基于UML的軟件項目管理教學(xué)軟件為該課程提供了一些新的教學(xué)思路和方法。
【關(guān)鍵詞】軟件項目管理 教學(xué)軟件
1 研究背景
軟件項目管理作為計算機相關(guān)專業(yè)的必修課程,在大部分高校的計算機或軟件工程專業(yè)中均有開設(shè)。該課程從軟件工程專業(yè)培養(yǎng)目標出發(fā),旨在使學(xué)生掌握軟件項目管理的基本理論、方法和技術(shù)并培養(yǎng)學(xué)生的實踐能力。該課程一般都遵循美國項目管理學(xué)會發(fā)布的項目管理知識體系(PMBOK),涉及到的知識領(lǐng)域多,內(nèi)容繁雜。在教學(xué)中,越來越多的高校開始采用案例式教學(xué),結(jié)合我校上課的實際情況,其基本思路為:(一)學(xué)生以分組的形式設(shè)定一個項目團隊,同組同學(xué)設(shè)定不同的團隊成員身份,如項目經(jīng)理、系統(tǒng)分析員、程序員、配置管理員等;(二)在課程初期設(shè)置若干項目,或由團隊成員自己創(chuàng)建項目,確定項目的時間限制,資金限制等;(三)隨著課程的深入,各個團隊以模擬真實的形式進行項目推進,確定項目時間、成本、風(fēng)險、質(zhì)量等等項目管理的主要職能;(四)以分組打分、團隊演示、項目管理報告等形式進行成績考核。案例教學(xué)相比較傳統(tǒng)的教學(xué)方式,在激發(fā)學(xué)生積極性,提高教學(xué)質(zhì)量方面確實起到了很好的作用,但在實際教學(xué)中,依然存在一定的問題。
首先,學(xué)生分組以及分組打分的形式,無論學(xué)生對團隊的貢獻率有多大,很容易造成同組學(xué)生分數(shù)相同,學(xué)生工作量無法統(tǒng)計計算。其次,受到授課課時和上機課時的安排的影響,學(xué)生完成項目報告的進度與上課進度很難做到同步。最后,教師很難在一個學(xué)期的時間里,持續(xù)的關(guān)注所有的學(xué)生的進度,往往只有到項目報告完成的時候才能看到學(xué)生的成果,造成了有錯誤不能及時發(fā)現(xiàn)改進的缺陷。根據(jù)以上在實際應(yīng)用案例教學(xué)法的過程中發(fā)現(xiàn)的問題,結(jié)合常見的項目管理軟件,我們設(shè)計和開發(fā)了一種基于UML的項目管理教學(xué)軟件。
2 系統(tǒng)分析
通過對項目管理教學(xué)軟件的分析,軟件的使用者主要是教師和學(xué)生,其中教師的主要需求為:(1)設(shè)定案例,包括案例基本情況、資金、時間限制、質(zhì)量限制等;(2)設(shè)定學(xué)生分組,限制案例人數(shù)等(3)同步學(xué)生進度(4)與學(xué)生互動交流(5)基本的系統(tǒng)管理職能。學(xué)生的主要需求為:(1)選擇案例(2)設(shè)定成員身份(3)按成員身份完成各自的工作(4)上傳下載相關(guān)資料(5)與教師互動交流(6)基本的管理職能。 系統(tǒng)的主要流程為:教師首先設(shè)定案例,包括案例的基本情況、資金、時間限制、質(zhì)量要求等,同時設(shè)定該案例的學(xué)生人數(shù)要求。學(xué)生根據(jù)自身情況自由結(jié)組并選擇案例,同時設(shè)定組內(nèi)成員身份,確定該身份需要完成的任務(wù)。隨著課程進度的展開,學(xué)生逐步完成任務(wù),在各個時段教師均可以同步學(xué)生進度并給出意見,師生可以進行交流互動。學(xué)生各個階段的任務(wù)完成后,均可以以文檔的形式上傳,教師可以進行下載。
3 系統(tǒng)實施與使用
根據(jù)系統(tǒng)分析的結(jié)果,本系統(tǒng)采用B/S架構(gòu)進行開發(fā),數(shù)據(jù)庫采用免費的輕量級數(shù)據(jù)庫MySQL,使用Navicat將數(shù)據(jù)庫可視化。對于用戶界面來說,主要是使用html網(wǎng)頁作為用戶使用的界面。這種設(shè)計的好處在于能夠比較靈活的改變頁面的樣式,而且還能使用比較優(yōu)秀的前端技術(shù),利如Jquery。系統(tǒng)整體結(jié)構(gòu)就是本著MVC的思想去搭建,做到前臺跟后臺分離。一般來說是前臺作為頁面的展示層用于跟用戶交互。業(yè)務(wù)邏輯層為用戶處理用戶的請求和組織用戶需求的界面。模型層則是一個個實體作為數(shù)據(jù)庫中表的映射。體現(xiàn)出來面向?qū)ο蟮乃枷?,能夠更好的去面向?qū)ο缶幊?。在處理用戶請求分發(fā)請求的時候使用struts2,在處理數(shù)據(jù)存儲和修改以及刪除數(shù)據(jù)的時候使用開源的hibernate框架,hibernate框架是一個很好的OR(ObjectRelationship)框架。能夠讓開發(fā)人員徹底的面向?qū)ο箝_發(fā)。不用去寫SQL語句就能實現(xiàn)數(shù)據(jù)的增刪改查。Spring則負責(zé)將他們整合起來負責(zé)一些bean的注入,直接能夠根據(jù)我的實體對象生成相應(yīng)的數(shù)據(jù)庫表。為了減少代碼的冗余使代碼看起來更加清晰,開發(fā)中使用了java的泛型對常用的增、刪、改、查進行了封裝,只需要分別繼承已經(jīng)寫好的接口與實現(xiàn)類,因此業(yè)務(wù)邏輯層能做到不用寫任何代碼就能調(diào)用相應(yīng)的方法。同時,使用Ajax技術(shù)實現(xiàn)異步刷新來實現(xiàn)前后臺的同步。對于教師同步功能,開發(fā)中使用了Session,無論學(xué)生做何工作,教師都能用抓取Session的方法,獲得同步的權(quán)限,一方面可以遠程監(jiān)控學(xué)生的工作,另一方面也可以用于師生交流。
系統(tǒng)開發(fā)完成后,經(jīng)過學(xué)生試用,反應(yīng)效果良好,突出解決了分組分工無法確定工作量以及師生不能同步的問題,通過本系統(tǒng)的使用也提高了學(xué)生學(xué)習(xí)軟件項目管理課程的興趣,提高了教學(xué)水平。
4 結(jié)語
案例教學(xué)是軟件項目管理教學(xué)中的常用的方法,在實際應(yīng)用中也存在著一定的實際操作的困難,本系統(tǒng)使用了UML作為系統(tǒng)分析和設(shè)計的方法,分析了案例教學(xué)中存在的問題,設(shè)計了解決方案,使用了AJAX等技術(shù)進行實現(xiàn),開發(fā)了B/S的軟件項目管理教學(xué)軟件,在實際教學(xué)中取得了較好的效果。新一代的信息技術(shù)的發(fā)展,給教學(xué)改革提出了新的挑戰(zhàn),也提供了新的機遇,作為教育工作者,我們應(yīng)該順應(yīng)時代的需要,因勢利導(dǎo)地將新的技術(shù)應(yīng)用到教學(xué)中去。
參考文獻:[1]李蓉,葉俊閔,楊艷.基于案例任務(wù)驅(qū)動的軟件項目管理課程實踐[J].計算機教育.2014(14)
[2]王敏.基于J2EE的企業(yè)級Web信息系統(tǒng)快速開發(fā)平臺設(shè)計[M].北京:科學(xué)出版社,2010.5.
[3]姚竟.《軟件項目管理》分組項目實踐教學(xué)方法研究[J].湖北經(jīng)濟學(xué)院學(xué)報(人文社會科學(xué)版).2012(07)
[4]刁成嘉.UML系統(tǒng)建模與分析設(shè)計[M].北京:機械工業(yè)出版社,2007.7