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