李志民
(中原工學(xué)院信息商務(wù)學(xué)院,鄭州450007)
《軟件項目管理》課程是高校計算機相關(guān)專業(yè)軟件方向的核心課程,包括了計算機科學(xué)技術(shù)、數(shù)學(xué)模型,以及管理知識等,從計算機技術(shù)角度,需要針對某一領(lǐng)域進行軟件開發(fā),從數(shù)學(xué)角度,需要創(chuàng)建模型進行軟件項目的成本、進度及質(zhì)量估算[1],從管理學(xué)角度,一個項目需要不同角色分工合作完成,需要進行人員管理、溝通管理[2],提高團隊合作能力。作為一門交叉性強的課程,具有較強的工程實踐性,學(xué)習(xí)難度大。以中原工學(xué)院信息商務(wù)學(xué)院為例,通過課程組成員多年的教學(xué)實踐,針對課程的教學(xué)內(nèi)容、教學(xué)平臺、實踐平臺、教學(xué)方法等各方面進行重點建設(shè),取得了較好的成效。
在軟件項目管理課程建設(shè)中,主要的教學(xué)平臺有兩個:一個是我院的精品課程教學(xué)平臺,一個是課程組自建的云平臺,兩個平臺相輔相成,保持資源的持續(xù)完善性和開放性。
在我院精品課程教學(xué)平臺中,包括軟件項目管理課程的相關(guān)教學(xué)資料:
(1)模塊化的理論知識教學(xué)設(shè)計。將各種前導(dǎo)課程如計算機網(wǎng)絡(luò)、操作系統(tǒng)、數(shù)據(jù)庫、開發(fā)語言等,分別處于軟件系統(tǒng)的什么地位、相互之間如何集成,形成一種模塊化的知識體系結(jié)構(gòu)。
(2)課程資源。進一步完善教學(xué)大綱、電子課件、教案等,設(shè)計習(xí)題集,將軟件設(shè)計師題庫,以及中國軟件學(xué)會計算機委員會的相關(guān)文檔、視頻等,作為學(xué)生作業(yè)及自學(xué)資料。
(3)軟件工具庫。包括常用的項目管理工具Project、分析設(shè)計工具Visio、Rational Rose、開發(fā)工具My-Eclipse、測試工具LoadRunner 等。
(4)項目案例庫。將教師的科研項目應(yīng)用到教學(xué)中,提供相應(yīng)的文檔,不斷充實項目案例庫,有效地培養(yǎng)學(xué)生理論聯(lián)系實際和綜合應(yīng)用能力。
(1)課程組錄制的《網(wǎng)上商城》案例視頻。將軟件過程、項目管理與Java 語言結(jié)合,完整講述一個項目的開發(fā)過程,做成一套真實項目的開發(fā)視頻共60 學(xué)時,將一個項目分解成不同的模塊進行開發(fā),每個模塊突出不同知識點,分45 次課講解,存放在云盤上,提供學(xué)生課外自學(xué)和課程參考,加強軟件工程與其他實踐課程的融合,提高學(xué)生的實踐能力。
(2)課程組利用百度云盤、Bmob 云等,存放大量的項目視頻、科研項目文檔等,供學(xué)生自學(xué);課程組還利用學(xué)校公共網(wǎng)絡(luò)平臺,建立了師生教學(xué)互動平臺、QQ群、微信群等,進行教學(xué)的及時溝通交流。
課程組開發(fā)了《基于工作流的軟件項目管理平臺》,該軟件模擬軟件開發(fā)的整個管理過程,將用戶分為項目經(jīng)理、分析師、架構(gòu)師、設(shè)計師、程序員、測試員等不同角色,不同角色具有相對應(yīng)的權(quán)限,如:項目經(jīng)理可以發(fā)布一個項目,規(guī)劃一個項目的人員安排、進度安排、任務(wù)劃分等,上傳《軟件可行性報告》;分析師登錄后,可以下載《軟件可行性報告》,按照規(guī)范化的文檔,提交《軟件需求規(guī)格說明書》;設(shè)計師、程序員、測試員等不同角色具有各自的權(quán)限。
該軟件發(fā)布在云平臺上,能夠清楚地演示項目開發(fā)的過程,用于教學(xué);也可以作為軟件工程綜合課程設(shè)計的項目管理平臺,用于項目開發(fā)與項目管理實踐。
課程組編寫了軟件項目管理綜合實訓(xùn)指導(dǎo)書,通過實踐教學(xué),力求使學(xué)生理解規(guī)范化的軟件開發(fā)過程。
參考文獻[3]中,詳細闡述了課程設(shè)計的目標(biāo)、技術(shù)要求、內(nèi)容及設(shè)計思想,課程設(shè)計時間為一個學(xué)期,分兩個階段進行,前15 周自主上機、后3 周集中在機房開發(fā),中間進行監(jiān)查、指導(dǎo)、及講座。在學(xué)期初教師公布一組實際項目的題目,要求學(xué)生組成項目開發(fā)小組(分配不同的工作職位角色給學(xué)生,以適應(yīng)不同學(xué)生間的個人愛好和特長),自主選題,通過對一個完整項目開發(fā)的全過程實踐,與理論課程的知識點緊密聯(lián)系起來,使學(xué)生深刻體會軟件生存期的各個階段和軟件開發(fā)過程,進一步理解軟件工程的概念、方法和原理等內(nèi)容,同時培養(yǎng)學(xué)生在軟件開發(fā)過程中的團隊精神。
(1)將軟件工程理論與開發(fā)語言課有機結(jié)合,進行理論與實踐的相互驗證。提出將軟件工程理論與Java語言相結(jié)合的教學(xué)理念,用軟件工程的理論去指導(dǎo)Java編程開發(fā),用Java 程序編寫案例,驗證軟件工程的理論,真正學(xué)會規(guī)范的編程。
(2)基于案例驅(qū)動的課程教學(xué)。由于課程實踐要求較高,教師在教學(xué)平臺提供了項目教學(xué)視頻,通過真實案例的分析、建模、設(shè)計等環(huán)節(jié)的講解,用案例貫穿整個課程,供學(xué)生自學(xué),并提供定期的考核與指導(dǎo),定期進行點評,找出軟件系統(tǒng)和文檔中的問題,及時給出下一步工作的建議,保證實踐教學(xué)的順利進行。
(3)通過先進的分析設(shè)計工具,掌握軟件開發(fā)方法與過程。配置IBM Rational Rose 等分析設(shè)計工具,Project 管理工具,兩套經(jīng)典的開發(fā)系列軟件:Windows+.NET+SQL Server+IIS、Linux+Java+MySQL+Tomcat,可以為學(xué)生實驗提供全面地的軟件系統(tǒng)平臺。學(xué)生不僅要理解軟件開發(fā)中必要的工作原理,還要實際應(yīng)用,只有應(yīng)用才能真正理解軟件工程。
(4)基于個性化的實踐教學(xué)。將學(xué)生劃分為項目小組,面向IT 企業(yè)的不同崗位,實施不同類別項目的分組案例教學(xué),如移動開發(fā)項目、Web 開發(fā)項目、桌面開發(fā)項目等,不同類別的項目面向不同的企業(yè)就業(yè)方向,不同組的學(xué)生按照不同方向進行軟件過程與項目開發(fā),適應(yīng)學(xué)生的個性化發(fā)展。
(5)以教學(xué)研究、科學(xué)研究促進教學(xué)方法的改革。課程組教師積極參與各類科研課題的申報與研究,將省廳級項目有機地融入教學(xué)內(nèi)容,開闊了學(xué)生的專業(yè)視野,增強了學(xué)生進行創(chuàng)造性學(xué)習(xí)和研究性學(xué)習(xí)的內(nèi)在動力,激發(fā)了學(xué)生的學(xué)習(xí)興趣與學(xué)習(xí)積極性。
(6)基于線上線下的混合式教學(xué)模式。利用網(wǎng)絡(luò)信息資源平臺,提供課程資源,開展全方位開放式教學(xué),通過課堂教學(xué)、學(xué)生課外自學(xué)、教師指導(dǎo),充分挖掘?qū)W生綜合運用知識的能力和創(chuàng)新能力。
(7)制定規(guī)范化的課程考核標(biāo)準(zhǔn)。學(xué)生在課程完成時,需要提交一份基于GB8567 標(biāo)準(zhǔn)軟件開發(fā)文檔,針對不同類型的項目,寫出分析、設(shè)計與實施過程,每一階段都要有規(guī)范的數(shù)學(xué)模型或者開發(fā)模型,對技術(shù)實現(xiàn)有明確的要求;以項目小組為單位,進行過程管理的分階段考核方式更加公平,提高了學(xué)生對新知識的自學(xué)能力、實踐能力和過程管理能力。
(8)行業(yè)證書。該課程涉及到IT 企業(yè)多個崗位的知識與技能,可以根據(jù)學(xué)生的就業(yè)方向,鼓勵大學(xué)生考取相應(yīng)的行業(yè)證書,如分析師、設(shè)計師、DBA 等,進一步加深對軟件項目過程的理解。
(1)開發(fā)基于工作流的軟件項目管理平臺,模擬軟件開發(fā)過程,提高項目管理能力。
(2)將軟件項目管理知識與Java 語言有機結(jié)合,開發(fā)一個完整的項目教學(xué)視頻,提高學(xué)生實踐能力。
(3)不斷更新項目案例庫(科研項目),利用網(wǎng)絡(luò)平臺開展全方位開放式教學(xué),提高學(xué)生的個性化服務(wù)、以及分析設(shè)計問題的綜合能力。
我院軟件項目管理課程組成員通過多年的教學(xué)實踐,從課程資源建設(shè)、教學(xué)方法以及實踐教學(xué)等方面進行改革,通過兩個教學(xué)平臺進行混合式教學(xué)模式的改革,加強師生的交流,由課程建設(shè)帶動教學(xué)水平的提高,從而提高了學(xué)生的工程實踐能力、文檔規(guī)范化撰寫能力、團隊合作精神,以及自我學(xué)習(xí)能力,取得了較好的教學(xué)效果。