李尤豐 曾岳
摘要:以金陵科技學(xué)院軟件工程學(xué)院“軟件需求分析”實(shí)驗(yàn)課程開(kāi)展為例,研究探討該課程教學(xué)模式。以USDM平臺(tái)環(huán)境的“需求/設(shè)計(jì)管理工具”為實(shí)驗(yàn)平臺(tái),從軟件需求項(xiàng)目準(zhǔn)備、項(xiàng)目啟動(dòng)、項(xiàng)目展開(kāi)、項(xiàng)目定型、項(xiàng)目評(píng)審五個(gè)環(huán)節(jié)開(kāi)展實(shí)驗(yàn),項(xiàng)目分組,角色輪換。學(xué)生自行提出Dirty Example,通過(guò)課后團(tuán)隊(duì)協(xié)力工作,課中討論和評(píng)審,輔以及時(shí)的檢查考核,并配套實(shí)驗(yàn)教材,細(xì)化各環(huán)節(jié),提出融知識(shí)能力培養(yǎng)與職業(yè)能力培養(yǎng)于一體的工程教育教學(xué)模式。
關(guān)鍵詞:軟件需求分析;USDM;Dirty Example
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2015)48-0131-02
一、引言
需求是軟件系統(tǒng)成功的基礎(chǔ),軟件需求是軟件工程最重要的階段。軟件需求分析實(shí)驗(yàn)是軟件需求分析類課程重要的實(shí)踐環(huán)節(jié),其目的是貫徹理論聯(lián)系實(shí)際,在理解軟件需求工程的過(guò)程、方法、工具的基礎(chǔ)上學(xué)習(xí)掌握實(shí)際軟件項(xiàng)目中的需求分析和需求管理,提高學(xué)生應(yīng)用相關(guān)工具進(jìn)行軟件需求分析和管理的能力。軟件需求分析理論課程枯燥、難理解,如何從有限的學(xué)時(shí)中鞏固學(xué)生對(duì)理論內(nèi)容的理解,并很好地應(yīng)用到實(shí)驗(yàn)環(huán)節(jié),訓(xùn)練學(xué)生的工程能力,是軟件工程專業(yè)人才培養(yǎng)研究的核心問(wèn)題。
金陵科技學(xué)院軟件工程學(xué)院開(kāi)展課程改革,按照“華盛頓協(xié)議”標(biāo)準(zhǔn)要求,開(kāi)展工程教育,培養(yǎng)工程能力強(qiáng)的應(yīng)用型本科人才。目前已編寫出版該課程實(shí)驗(yàn)教材,正積極申報(bào)該課程為校級(jí)優(yōu)秀課程,準(zhǔn)備開(kāi)展建設(shè)MOOC教學(xué)網(wǎng)站等一系列工作。
二、本課程開(kāi)展過(guò)程及內(nèi)容
實(shí)驗(yàn)課的過(guò)程和任務(wù),首先需要分組,每組提出一個(gè)dirty example,要求課題復(fù)雜度適中,解決應(yīng)用型軟件中可能存在的問(wèn)題。然后完成項(xiàng)目的準(zhǔn)備工作,分析功能需求和非功能性需求,編寫項(xiàng)目的前景和范圍文檔,用例說(shuō)明文檔和軟件需求規(guī)格說(shuō)明書。本課程從軟件需求項(xiàng)目準(zhǔn)備、項(xiàng)目啟動(dòng)、項(xiàng)目展開(kāi)、項(xiàng)目定型、項(xiàng)目評(píng)審五個(gè)環(huán)節(jié)開(kāi)展實(shí)驗(yàn)。每個(gè)實(shí)驗(yàn)環(huán)節(jié)均以USDM平臺(tái)環(huán)境的“需求/設(shè)計(jì)管理工具”(下文簡(jiǎn)稱“該工具”)為實(shí)驗(yàn)平臺(tái),并在該環(huán)境下完成相應(yīng)文檔和過(guò)程管理。
(一)USDM平臺(tái)介紹
USDM,全稱Unified Software Data Management System,中文意思為統(tǒng)一軟件數(shù)據(jù)管理系統(tǒng)。它是基于CMM/CMMI模型的企業(yè)級(jí)管理平臺(tái),內(nèi)容覆蓋了從CMM/CMMI最新模型框架1.2的中文學(xué)習(xí)到軟件開(kāi)發(fā)每個(gè)過(guò)程的生命周期,具有完整性、規(guī)范性和實(shí)用性。CMM/CMMI作為當(dāng)前世界上最流行、最實(shí)用的有關(guān)軟件生產(chǎn)過(guò)程的評(píng)價(jià)標(biāo)準(zhǔn),已被國(guó)際軟件產(chǎn)業(yè)界公認(rèn)為軟件企業(yè)進(jìn)入國(guó)際市場(chǎng)的通行證,有效的幫助了軟件企業(yè)規(guī)范其生產(chǎn)效率和保證產(chǎn)品按時(shí)、按質(zhì)、按量完成。本課程各實(shí)驗(yàn)環(huán)節(jié)均在USDM平臺(tái)的“需求/設(shè)計(jì)管理工具”下完成文檔和過(guò)程管理。
該工具支持項(xiàng)目組管理,包括項(xiàng)目團(tuán)隊(duì)的組建、成員角色、權(quán)限管理和維護(hù);崗位角色管理,包括崗位角色設(shè)置、默認(rèn)權(quán)限管理和維護(hù)。每次每個(gè)項(xiàng)目組學(xué)生及角色一目了然,方便教師管理和指導(dǎo),為設(shè)置和輪換學(xué)生在項(xiàng)目團(tuán)隊(duì)中的角色起到記錄、監(jiān)督等管理作用。
該工具是基于UML的軟件開(kāi)發(fā)實(shí)訓(xùn)過(guò)程管理系統(tǒng),有全套的軟件建模工具,軟件需求建模過(guò)程可在該平臺(tái)下輕松完成。
該工具支持跨平臺(tái)。實(shí)驗(yàn)各環(huán)節(jié)文檔可以生成自定義格式,也可生成word等格式,方便導(dǎo)入和導(dǎo)出,方便學(xué)校留存教學(xué)資料,記錄教學(xué)管理過(guò)程。
該工具支持自動(dòng)統(tǒng)計(jì)度量。對(duì)所有項(xiàng)目各階段的生產(chǎn)數(shù)據(jù)進(jìn)行集中、自動(dòng)統(tǒng)計(jì)度量并存儲(chǔ),同時(shí)支持自動(dòng)化和手動(dòng)計(jì)算度量結(jié)果,允許自定義計(jì)算公式,并形成報(bào)表輸出;也可根據(jù)用戶的定義生成報(bào)表。例如,可以對(duì)學(xué)生實(shí)驗(yàn)環(huán)節(jié)產(chǎn)生的用例數(shù)進(jìn)行統(tǒng)一度量,生成評(píng)審報(bào)告等。
該工具支持并行、串行或串并混合工作流程。例如,支持同一時(shí)間段內(nèi)多個(gè)教師同時(shí)在線、離線評(píng)審。該功能是支持實(shí)驗(yàn)各環(huán)節(jié)評(píng)審和同行評(píng)審的重要組件。
(二)課前、課中、課后安排
1.課前準(zhǔn)備。課前準(zhǔn)備的主要工作是組建項(xiàng)目團(tuán)隊(duì),并在USDM平臺(tái)的“需求/設(shè)計(jì)管理工具”中完成角色設(shè)置。后續(xù)的角色輪換工作,也在該工具下實(shí)現(xiàn)記錄和管理。課前準(zhǔn)備要求在理論課上提出。
(1)組隊(duì),每隊(duì)提出dirty example,并多角色工作。具體過(guò)程為每個(gè)小組構(gòu)想或調(diào)研得到一個(gè)需要解決的實(shí)際問(wèn)題,請(qǐng)其他小組提供解決方案。也就是每個(gè)小組提出一個(gè)Dirty example,該Dirty example通過(guò)隨機(jī)選擇的方式,最后由其他小組來(lái)解決,這樣每個(gè)小組最后有了一個(gè)別組提出的Dirty example。該Dirty Example一定是符合本課程的、有問(wèn)題的應(yīng)用型軟件,并且復(fù)雜度適中。如課題過(guò)于復(fù)雜,評(píng)審時(shí),教師指導(dǎo)裁減部分功能,如過(guò)于簡(jiǎn)單,則增加部分功能。例如可以是“××管理系統(tǒng)”或者“××網(wǎng)站設(shè)計(jì)”等。提出Dirty example的小組扮演客戶方,負(fù)責(zé)解決問(wèn)題的小組扮演需求團(tuán)隊(duì),以需求工程團(tuán)隊(duì)為主,完成項(xiàng)目的業(yè)務(wù)需求,建立用戶需求,最終完成系統(tǒng)需求以及每個(gè)工程中的文檔。
自由組隊(duì),建議4人左右一隊(duì),推舉組長(zhǎng),即每個(gè)隊(duì)選擇一個(gè)項(xiàng)目經(jīng)理。每個(gè)小組成員充當(dāng)不同角色,包括客戶方(用戶評(píng)審方)、需求工程師、技術(shù)評(píng)審方。每個(gè)成員都要注意工作中的交流和溝通能力。要求隊(duì)員能力互補(bǔ),各有所長(zhǎng),組內(nèi)能夠有效協(xié)調(diào)。該環(huán)節(jié)較好培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作能力、交流和溝通等職業(yè)能力。多角色工作,真實(shí)模擬實(shí)際企業(yè)工作流程和環(huán)境,與企業(yè)無(wú)縫對(duì)接,幫助學(xué)生適應(yīng)就業(yè)。
Dirty example的來(lái)源,改變了傳統(tǒng)由教師定課題的模式,培養(yǎng)考察學(xué)生的業(yè)務(wù)捕捉能力、生活觀察能力、思維創(chuàng)新能力等。以金陵科技學(xué)院軟件工程專業(yè)2012級(jí)某班學(xué)生本課程提出的Dirty example為例,有“金科通”、“廣播放放”、“記單詞軟件”、“智能規(guī)劃時(shí)間軟件”、“用戶問(wèn)答系統(tǒng)”。很多課題在后續(xù)課程中得到很好的延續(xù)和實(shí)現(xiàn);很多軟件申請(qǐng)了著作權(quán)、專利,參加各類競(jìng)賽,獲得諸多獎(jiǎng)項(xiàng),包括國(guó)家級(jí)獎(jiǎng)項(xiàng);部分優(yōu)質(zhì)軟件,學(xué)院正在推廣,以期商品化、產(chǎn)業(yè)化。學(xué)院為此專門開(kāi)設(shè)創(chuàng)新實(shí)驗(yàn)室,吸引更多學(xué)生將提出的Dirty example在該課程后進(jìn)行實(shí)現(xiàn)。可見(jiàn),學(xué)生的力量是無(wú)限的,教學(xué)就是挖掘?qū)W生的能量,使之釋放,綻放燦爛光芒,為人類科技進(jìn)步努力。
(2)選擇選擇示范小組,有效指導(dǎo)考核。由任課教師挑選一個(gè)示范小組,詳細(xì)跟蹤和考核該小組的各個(gè)實(shí)驗(yàn)環(huán)節(jié),有問(wèn)題及時(shí)溝通解決。該組進(jìn)度比其他組進(jìn)度控制稍快。其他組有問(wèn)題可以和示范組溝通解決,解決不了的可以提請(qǐng)任課教師解決。該過(guò)程使實(shí)驗(yàn)中既有目標(biāo)可以參照,又能使“優(yōu)帶差”,節(jié)省教師的精力,較好完成實(shí)驗(yàn)指導(dǎo)任務(wù)。
(3)強(qiáng)調(diào)實(shí)驗(yàn)規(guī)則。課前對(duì)實(shí)驗(yàn)課程要求部署,并強(qiáng)調(diào)實(shí)驗(yàn)規(guī)則,包括實(shí)驗(yàn)計(jì)劃、注意事項(xiàng),強(qiáng)調(diào)每個(gè)環(huán)節(jié)的度量要求。度量數(shù)據(jù)通過(guò)USDM平臺(tái)工具記錄并自動(dòng)計(jì)算,控制整個(gè)實(shí)驗(yàn)過(guò)程。
2.課中討論評(píng)價(jià)。課堂上主要針對(duì)各實(shí)驗(yàn)環(huán)節(jié)進(jìn)行考核和問(wèn)題解決,并將過(guò)程及文檔記錄到實(shí)驗(yàn)平臺(tái)工具下。課堂形式主要有學(xué)生現(xiàn)場(chǎng)討論、模擬討論、分組討論、報(bào)告發(fā)言、辯論等。教師把控現(xiàn)場(chǎng),評(píng)審學(xué)生實(shí)驗(yàn)結(jié)果,記錄各階段考核結(jié)果,并對(duì)學(xué)生遇到的問(wèn)題進(jìn)行探討解答。該過(guò)程鍛煉和培養(yǎng)學(xué)生的知識(shí)運(yùn)用能力,即實(shí)際工程能力,同時(shí)培養(yǎng)學(xué)生表達(dá)、思維、分析等職業(yè)能力。該過(guò)程真實(shí)有效考核學(xué)生所做工作,并幫助其分析,以得到良好的教學(xué)效果。進(jìn)度慢的要督促,有嚴(yán)重問(wèn)題的要指出,以防偏離方向。過(guò)程、文檔、結(jié)果度量、注意事項(xiàng)均記錄在USDM平臺(tái)工具中。配套實(shí)驗(yàn)教材演示其在USDM中的相應(yīng)完成過(guò)程。
3.課后自主學(xué)習(xí)。每個(gè)實(shí)驗(yàn)環(huán)節(jié)的內(nèi)容都由學(xué)生自主進(jìn)行課后調(diào)研、探討、分析、完成,然后提請(qǐng)課堂討論,針對(duì)課堂討論提出修改意見(jiàn),課后調(diào)整實(shí)驗(yàn)內(nèi)容結(jié)果,最終完成每個(gè)實(shí)驗(yàn)環(huán)節(jié)。該過(guò)程充分調(diào)動(dòng)學(xué)生的自主能動(dòng)性、自學(xué)能力、社交能力、工程能力,能有效使用和反饋理論課堂內(nèi)容,縮短理論和實(shí)踐的距離,增強(qiáng)學(xué)生的學(xué)習(xí)興趣。另外課后時(shí)間自由安排,學(xué)生自主性、自控能力凸顯。
(三)配套實(shí)驗(yàn)教材,細(xì)化各實(shí)驗(yàn)環(huán)節(jié),強(qiáng)調(diào)系統(tǒng)性
本課程市場(chǎng)上很難找到實(shí)驗(yàn)教材,針對(duì)這種情況,金陵科技學(xué)院軟件工程學(xué)院根據(jù)幾年的教學(xué)積累,組織課程組,聯(lián)合企業(yè),合作編寫《軟件需求工程實(shí)驗(yàn)指導(dǎo)》教材,幫助學(xué)生熟悉本課程實(shí)驗(yàn)平臺(tái)環(huán)境,解決學(xué)生對(duì)需求分析文檔來(lái)源、實(shí)現(xiàn)過(guò)程難以理解的問(wèn)題。以實(shí)際企業(yè)項(xiàng)目為案例,指導(dǎo)學(xué)生開(kāi)展每個(gè)實(shí)驗(yàn)環(huán)節(jié),既考慮了各實(shí)驗(yàn)環(huán)節(jié)的細(xì)節(jié)及迭代,又體現(xiàn)教學(xué)的系統(tǒng)性,幫助學(xué)生理解整個(gè)需求分析過(guò)程的各個(gè)環(huán)節(jié)及過(guò)程。
三、結(jié)語(yǔ)
如何較好地開(kāi)展實(shí)驗(yàn)課程,有良好的教學(xué)效果和教學(xué)反饋,培養(yǎng)與實(shí)際企業(yè)無(wú)縫接軌的工程能力和職業(yè)能力一體化的人才,是軟件工程專業(yè)教育的目標(biāo)和方向。目前需求分析方法種類繁多,創(chuàng)新方法也較多,如何針對(duì)每個(gè)案例,采用合適的方法,很好地指導(dǎo)學(xué)生開(kāi)展實(shí)驗(yàn),值得探討。該課程如何與軟件工程專業(yè)后續(xù)課程有效銜接,將學(xué)生提出的Dirty Example課題很好的實(shí)現(xiàn),值得研究。
參考文獻(xiàn):
[1]張勇.電子線路實(shí)驗(yàn)教材編寫研究[J].實(shí)驗(yàn)科學(xué)與技術(shù),2008,(8).
[2]陳昊,等.軟件工程課程群實(shí)驗(yàn)教學(xué)改革探討[J].實(shí)驗(yàn)科學(xué)與技術(shù),2011,(8).
[3]毛利峰.對(duì)軟件需求分析的一些思考[J].計(jì)算機(jī)時(shí)代,2008,(07).