軟件工程實(shí)踐教學(xué)中的應用案例論文
摘 要:針對當前計算機專(zhuān)業(yè)碩士軟件工程實(shí)踐教學(xué)偏向“粗放型”、缺乏個(gè)性滿(mǎn)足、過(guò)程管理及考核不完善的教學(xué)實(shí)際,分析專(zhuān)題教學(xué)模式的特點(diǎn)及專(zhuān)業(yè)碩士軟件工程實(shí)踐教學(xué)目標和內容,探討如何以“原型法需求分析實(shí)踐”為例開(kāi)展軟件工程專(zhuān)題實(shí)踐教學(xué),提出基于專(zhuān)題教學(xué)的軟件工程實(shí)踐教學(xué)方案。
關(guān)鍵詞:專(zhuān)業(yè)碩士;專(zhuān)題;軟件工程;實(shí)踐教學(xué);原型法;需求分析
0引 言
隨著(zhù)計算機技術(shù)在各專(zhuān)業(yè)領(lǐng)域的廣泛應用,軟件工程成為軟件分析、設計、測試、維護和管理等的核心課程。該課程的學(xué)科交叉性、工程性及領(lǐng)域相關(guān)性等帶來(lái)的復雜性使得其教學(xué)需采取循序漸進(jìn)、多層次的模式。本科層次主要培養軟件工程的基礎知識和基本實(shí)踐能力;研究生層次主要培養軟件工程理論基礎、技術(shù)和方法[1],其中學(xué)術(shù)型碩士專(zhuān)注于理論創(chuàng )新的培養,工程型碩士專(zhuān)注于技術(shù)和方法應用的培養。對于工程應用型的計算機專(zhuān)業(yè)碩士而言,軟件工程課程的培養目標是在本科層次教育的基礎上,一方面從軟件開(kāi)發(fā)方法和技術(shù)上著(zhù)重于學(xué)生軟件分析、設計、構造、實(shí)施及維護等能力的培養和提升,另一方面從軟件工程組織和管理上著(zhù)重于學(xué)生工程能力的培養和提升。因此,在加深理論教學(xué)的同時(shí),加強實(shí)踐教學(xué)是計算機專(zhuān)業(yè)碩士軟件工程課程教學(xué)的核心內容。
1計算機專(zhuān)業(yè)碩士軟件工程實(shí)踐教學(xué)現狀
當前計算機專(zhuān)業(yè)碩士軟件工程實(shí)踐教學(xué)主要存在以下問(wèn)題。
。1)實(shí)踐教學(xué)體系偏向“粗放型”[2]。實(shí)踐教學(xué)主要采取基于項目的分組實(shí)踐模式,即課堂授課結束后,學(xué)生自由組隊形成項目組,選擇一個(gè)軟件項目來(lái)完成后提交給教師檢查,這種模式缺乏針對軟件生命周期各階段的實(shí)踐訓練,未能實(shí)現分析、設計、構造、實(shí)施及維護等軟件工程各階段的精細鍛煉和培養。
。2)教學(xué)模式不能滿(mǎn)足學(xué)生個(gè)性需求。隨著(zhù)專(zhuān)業(yè)學(xué)位碩士的擴招,來(lái)自不同本科院校的計算機專(zhuān)業(yè)碩士生軟件工程實(shí)踐能力水平參差不齊,有的學(xué)生已經(jīng)接受過(guò)較多的軟件項目實(shí)踐訓練,具備較好的實(shí)踐基礎,而有的較少或幾乎沒(méi)有參與過(guò)軟件項目實(shí)踐,實(shí)踐基礎薄弱。目前的實(shí)踐教學(xué)模式未能針對各種層次學(xué)生的實(shí)際情況,因材施教,使每個(gè)學(xué)生能在自己原有的實(shí)踐基礎上有更大的提高。
。3)實(shí)踐教學(xué)過(guò)程管理及考核模式不完善。當前實(shí)踐教學(xué)過(guò)程教師參與度較低,未能對實(shí)踐過(guò)程進(jìn)行合理的跟蹤和引導,實(shí)踐過(guò)程經(jīng)常變成由項目組核心的一兩個(gè)成員完成整個(gè)項目,而其他成員參與較少。教學(xué)考核模式未能針對學(xué)生的方法、技術(shù)、實(shí)踐能力及工程組織和管理能力對學(xué)生進(jìn)行精準的評定。
2基于專(zhuān)題的軟件工程實(shí)踐教學(xué)
專(zhuān)題教學(xué)[2-3]是根據教學(xué)目的和重點(diǎn)內容,將教學(xué)內容歸納成若干個(gè)專(zhuān)題,然后圍繞每個(gè)專(zhuān)題展開(kāi)深入分析和講解的一種教學(xué)方式,適合內容繁雜、知識點(diǎn)多的文科類(lèi)課程及已經(jīng)具備本科專(zhuān)業(yè)基礎的研究生的課程教學(xué)。與傳統按章節體系順序教學(xué)的扁平模式相比,專(zhuān)題教學(xué)以教學(xué)重點(diǎn)內容為核心,圍繞核心內容深入透徹地展開(kāi),屬于精講、“集約型”[2]的縱深模式教學(xué)。結合軟件工程知識體[4](SWEBOK)及計算機專(zhuān)業(yè)碩士培養目標,軟件工程實(shí)踐教學(xué)劃分為7個(gè)專(zhuān)題:軟件需求分析實(shí)踐、軟件設計實(shí)踐、軟件測試實(shí)踐、軟件過(guò)程實(shí)踐、軟件質(zhì)量實(shí)踐、軟件管理實(shí)踐、軟件綜合實(shí)踐。在教學(xué)學(xué)時(shí)較充分的情況下,將教學(xué)內容較多的專(zhuān)題進(jìn)一步劃分為子專(zhuān)題,盡量提高教學(xué)的精細度。專(zhuān)題教學(xué)模式要求每個(gè)專(zhuān)題的教學(xué)目標明確,教學(xué)具體內容和安排設計準確,根據不同教學(xué)內容特點(diǎn),采取多元化教學(xué)模式,達到精益求精的效果。
3基于專(zhuān)題的軟件工程實(shí)踐教學(xué)案例設計
精準需求分析是軟件開(kāi)發(fā)成功的核心環(huán)節,在眾多需求分析方法中,原型法在實(shí)踐中是最為有效的一種需求分析[5-6]方法。與瀑布模型等其他方法相比,原型法可以有效解決用戶(hù)需求不明或變更而造成的開(kāi)發(fā)效率低下、失敗及成本增加等問(wèn)題,是需求工程開(kāi)展的最佳實(shí)踐方法之一,因此在軟件需求分析實(shí)踐專(zhuān)題中,該方法需要精講,使學(xué)生理解透徹并能熟練應用。以“原型法需求分析實(shí)踐子專(zhuān)題”為例說(shuō)明基于原型法的需求分析專(zhuān)題實(shí)踐教學(xué)方案的詳細設計。
3.1教學(xué)目標
“軟件需求分析實(shí)踐教學(xué)專(zhuān)題——原型法需求分析實(shí)踐子專(zhuān)題”的教學(xué)目標:①學(xué)生既能夠掌握該方法的原理及運用,又能夠熟悉需求分析的全過(guò)程;②學(xué)生能夠領(lǐng)會(huì )該方法與其他需求分析方法的異同點(diǎn)、優(yōu)缺點(diǎn),發(fā)現應用該方法的關(guān)鍵環(huán)節及注意事項;③學(xué)生在專(zhuān)題實(shí)踐中鍛煉以下工程實(shí)踐能力:用戶(hù)溝通和引導能力,團隊協(xié)作能力,人際溝通、交流能力,產(chǎn)品業(yè)務(wù)分析能力、需求文檔撰寫(xiě)能力,經(jīng)驗交流分享能力,問(wèn)題質(zhì)疑和解決能力,產(chǎn)品觀(guān)察發(fā)現及開(kāi)發(fā)能力,智能思維和創(chuàng )新能力等。
3.2內容和安排
基于原型法的需求分析方法實(shí)踐教學(xué)方案總體設計思路如圖1所示,包括組隊、選題、原型法需求調研、撰寫(xiě)需求規格說(shuō)明書(shū)、總結及評價(jià)6個(gè)實(shí)踐環(huán)節,其中原型法需求調研又包含快速用戶(hù)調研、構造試用原型界面系統及運行修改原型界面系統3個(gè)子環(huán)節。
3.2.1組隊
學(xué)生根據興趣、愛(ài)好等自由組隊,3~5人組成一隊共同完成一個(gè)選題,每組推選1個(gè)組長(cháng)全面負責和協(xié)調各項活動(dòng)開(kāi)展,小組設定項目經(jīng)理、需求分析師、業(yè)務(wù)評審員等角色,并在項目推進(jìn)過(guò)程中進(jìn)行角色輪換,使每個(gè)學(xué)生都盡量嘗試不同角色,獲得相應鍛煉和體驗。通過(guò)團隊合作,培養學(xué)生的協(xié)作能力、交流和溝通等工程能力。為了使需求分析實(shí)踐能夠正確、順利、有效地開(kāi)展,指導教師選定1個(gè)小組,對該組的各項實(shí)踐活動(dòng)進(jìn)行示范和指導。教師未參與的其他小組的組長(cháng)需先參與到教師示范小組中進(jìn)行觀(guān)摩。示范小組的各項實(shí)踐活動(dòng)都比其他小組先開(kāi)展,其他小組的相應活動(dòng)在組長(cháng)觀(guān)摩完畢后開(kāi)展,示范小組在各項實(shí)踐活動(dòng)中產(chǎn)生的文檔及原型界面系統作為各小組的示范模版。
3.2.2選題
選題由學(xué)生自主進(jìn)行。教師在該環(huán)節的任務(wù)是進(jìn)行選題引導和質(zhì)量審核,這樣有利于滿(mǎn)足學(xué)生的興趣、愛(ài)好等自身需求以激發(fā)學(xué)習興趣,也為學(xué)生后續階段的研究和創(chuàng )新活動(dòng)準備一些基礎題目,教師僅需對選題進(jìn)行質(zhì)量把控。選題內容原則上要和學(xué)生的學(xué)習和生活相關(guān),這樣不僅可以減少學(xué)生在了解專(zhuān)業(yè)領(lǐng)域知識上所花費的時(shí)間,還可以培養學(xué)生的產(chǎn)品挖掘能力、智能思維能力及創(chuàng )新能力等。教師通過(guò)設置“在你的學(xué)習、研究和生活中(可以分為學(xué)校以?xún)群蛯W(xué)校以外)你發(fā)現哪個(gè)方面還不夠便利,需要做一個(gè)軟件來(lái)幫助提高效率?”“在你目前常用的軟件中你發(fā)現哪個(gè)軟件做得不夠好,需要做一個(gè)更好的?”“在你的興趣愛(ài)好里,有沒(méi)有可能做一個(gè)軟件使其相關(guān)處理變得更便捷或完美?”等相關(guān)問(wèn)題引導和啟發(fā)學(xué)生選題。學(xué)生初步選題后,為了保證選題質(zhì)量,要寫(xiě)一個(gè)簡(jiǎn)單的選題報告,說(shuō)明選題目的、意義和主要功能并提交給指導教師。教師根據選題報告確定選題是否通過(guò),對過(guò)于復雜或簡(jiǎn)單、意義欠缺等不合理的選題,教師和學(xué)生討論后進(jìn)行修改或更換題目。選定的題目稱(chēng)為項目,用戶(hù)主要為學(xué)校某個(gè)部門(mén)的管理人員、教師、同學(xué)等。endprint
3.2.3需求調研
基于原型的需求調研與瀑布模型不同,調研結果不是一次形成,而是漸進(jìn)、增量式形成。該方法首先通過(guò)快速用戶(hù)調研獲取項目基本需求,然后根據基本需求構造具有用戶(hù)交互性能的試用原型界面系統,最后通過(guò)用戶(hù)運行試用原型界面系統,修改和補充基本需求和試用原型界面系統,最終得到滿(mǎn)足用戶(hù)需求的完整的原型界面系統。用戶(hù)需求獲取迭代過(guò)程與敏捷開(kāi)發(fā)需求獲取過(guò)程相似;谠偷男枨笳{研實(shí)踐活動(dòng),要求學(xué)生不僅要掌握該方法的實(shí)施過(guò)程,還要理解該方法與瀑布模型等其他方法的異同點(diǎn)和優(yōu)缺點(diǎn),實(shí)踐結束后教師要在總結環(huán)節中引導學(xué)生展開(kāi)討論。
。1)快速用戶(hù)調研。本階段的任務(wù)不考慮用戶(hù)次要需求,先獲取項目核心需求,目的是能盡快開(kāi)始構造原型界面系統。開(kāi)始時(shí)要求各小組成員共同編制基本需求調研計劃,包括系統主要用戶(hù)、業(yè)務(wù)文檔收集、核心問(wèn)題調查問(wèn)題表和調查方式等內容;拘枨笳{研計劃完成后需提交指導教師審查,教師對不合理之處和學(xué)生一起討論修改和完善;拘枨笳{研計劃確定后,按計劃開(kāi)展調研。初始調研主要是為了獲得一個(gè)原始需求的輪廓,因此僅需針對主要用戶(hù)展開(kāi)調研,選取其核心需求。初始調研的方法是先收集用戶(hù)的紙質(zhì)資料或電子文檔資料并進(jìn)行分析,從中獲取用戶(hù)關(guān)鍵業(yè)務(wù)流及輸入和輸出數據流,然后通過(guò)與用戶(hù)交談、向用戶(hù)群體發(fā)放調查問(wèn)卷等方式完成核心問(wèn)題調查問(wèn)題表,快速確定業(yè)務(wù)主體流程及其輸入和輸出數據流。
。2)構造試用系統原型。本階段的任務(wù)是根據用戶(hù)的基本需求盡快建立一個(gè)能運行的交互式界面原型應用系統。系統特點(diǎn)是:①具有完整的基礎數據;②具有可導航性、人機交互的動(dòng)態(tài)效果 ;③僅有展示系統基本功能的界面,不需要實(shí)現系統功能。構造系統原型實(shí)踐要求學(xué)生學(xué)會(huì )應用建模工具Axure[7]來(lái)完成。本階段要求項目組能夠將用戶(hù)需求轉換成系統原型界面,可以鍛煉學(xué)生的需求建模、項目分工協(xié)作等工程能力。
。3)運行、修改系統原型。本階段的`任務(wù)是將系統試用原型交給用戶(hù)并指導其試用,引導用戶(hù)對原型提出補充和修改意見(jiàn)。這個(gè)階段是開(kāi)發(fā)人員與用戶(hù)溝通最為頻繁的階段,是發(fā)現問(wèn)題和解決問(wèn)題的重要階段。用戶(hù)在計算機上運行和試用原型系統得到親身感受并受到啟發(fā),通過(guò)反映和評價(jià)向開(kāi)發(fā)者提供反饋,細化和明確系統各項功能需求和性能需求。這個(gè)階段要求分析員與用戶(hù)要建立良好的合作關(guān)系,可以鍛煉學(xué)生的人際溝通和交流能力。在實(shí)踐中需要學(xué)生靈活應用多種調查方法,如與用戶(hù)交談、向用戶(hù)提問(wèn)題、向用戶(hù)群體發(fā)調查問(wèn)卷、參觀(guān)用戶(hù)的工作流程、觀(guān)察用戶(hù)的操作和聽(tīng)取同行專(zhuān)家意見(jiàn)等。在用戶(hù)確實(shí)不能明確真正需求的情況下,學(xué)生還需要通過(guò)分析已經(jīng)存在的同類(lèi)軟件產(chǎn)品、行業(yè)標準及規則等,對用戶(hù)進(jìn)行有效的需求引導,從而提取需求修改意見(jiàn)。項目組根據用戶(hù)的意見(jiàn)對原型加以改進(jìn)和完善,通過(guò)“原型構造→試用運行→評價(jià)反饋→分析修改”的多次循環(huán),系統試用原型逐步演變?yōu)橄到y正式原型。
3.2.4撰寫(xiě)需求規格說(shuō)明書(shū)
本階段的任務(wù)是根據正式原型界面系統撰寫(xiě)需求規格說(shuō)明書(shū),作為用戶(hù)和項目組共同確認的需求(需求合同)。根據和用戶(hù)確定的正式原型界面系統,各項目組按照老師給出的模板撰寫(xiě)項目需求規格說(shuō)明書(shū),經(jīng)項目組內部審查、修改并確認后,請用戶(hù)評審此需求規格說(shuō)明報告。項目組再根據用戶(hù)評審進(jìn)一步修改和完善項目需求規格說(shuō)明報告,以確保報告內容準確完整地表達用戶(hù)需求,最后形成需求規格說(shuō)明書(shū)正式版。本階段主要是鍛煉學(xué)生需求規格說(shuō)明書(shū)編寫(xiě)能力。
3.2.5總結
項目完成后開(kāi)展實(shí)踐活動(dòng)總結有利于學(xué)生交流和分享成功經(jīng)驗,發(fā)現不足,提出改進(jìn)方法,獲得實(shí)踐及理論認識的提升?偨Y由教師組織開(kāi)展,形式可以是課堂集體或小組討論、做總結報告等。教師的主要任務(wù)是指出各環(huán)節指導和跟蹤所發(fā)現的不足之處,如選題意義、用戶(hù)溝通方式、小組協(xié)作、用戶(hù)數據和業(yè)務(wù)分析整理、建模工具Axure應用、原型界面系統構建修改迭代次數控制等關(guān)鍵環(huán)節的不足,引導學(xué)生思考和討論,總結并提出改進(jìn)方法。學(xué)生則要在教師組織下,分享某個(gè)實(shí)踐環(huán)節的體會(huì )和收獲,如Axure原型界面開(kāi)發(fā)技巧、不同類(lèi)型用戶(hù)溝通方式體會(huì )、項目小組成員合作經(jīng)驗分享等;或對某個(gè)問(wèn)題提出疑問(wèn),如“如何減少原型界面系統構建迭代次數”“如何引導用戶(hù)明白自己的真正需求”“如何發(fā)現數據流缺漏”等,引發(fā)其他同學(xué)共同討論和分享,找出解決方案。通過(guò)教師總結和學(xué)生總結,學(xué)生進(jìn)一步加深對需求分析各項活動(dòng)的認識,促進(jìn)實(shí)踐水平的提高。
3.2.6考核
課程考核采取綜合評定方式,從教師、用戶(hù)、項目組間及項目組內部4個(gè)維度來(lái)評定,使成績(jì)盡可能客觀(guān)反映每個(gè)學(xué)生的真實(shí)水平。首先是指導教師根據項目組各成員在各實(shí)踐環(huán)節的成果及表現進(jìn)行打分;其次是用戶(hù)給項目組各成員的工作表現進(jìn)行打分;然后是各項目組之間根據原型界面系統展示及總結討論情況給其他項目組打分;最后是各項目組內部成員根據分工合作完成情況相互打分。經(jīng)過(guò)4個(gè)維度的評分后,指導教師將每個(gè)學(xué)生的4個(gè)分數進(jìn)行加權計算,得出學(xué)生成績(jì)等級。
4結 語(yǔ)
針對計算機專(zhuān)業(yè)碩士軟件工程實(shí)踐教學(xué)現狀,結合專(zhuān)題教學(xué)模式的特點(diǎn),我們對專(zhuān)題模式軟件工程實(shí)踐教學(xué)進(jìn)行了探索。文中的專(zhuān)題實(shí)踐教學(xué)方案給出了軟件工程專(zhuān)題實(shí)踐教學(xué)中“軟件需求分析實(shí)踐專(zhuān)題——原型法需求分析實(shí)踐子專(zhuān)題”的教學(xué)目標、各教學(xué)環(huán)節內容及學(xué)生和教師角色任務(wù)、教學(xué)考核的詳細設計,實(shí)現了核心教學(xué)內容、教師對各教學(xué)環(huán)節的跟蹤指導及成績(jì)評定的精細設計。教學(xué)實(shí)踐得到了大多數學(xué)生的好評,學(xué)生的工程實(shí)踐能力明顯提升。同時(shí),本文的實(shí)踐教學(xué)方案,可以在后繼6個(gè)專(zhuān)題中進(jìn)行延續和拓展。
參考文獻:
[1]楊芙清. 軟件工程學(xué)科研究生教育的探索與實(shí)踐[EB/OL]. [2010-07-08]. http://pkunews.pku.edu.cn/xwzh/2010-07/08/content_179388.htmm.
[2]陳鐵夫, 呼東燕. 高校實(shí)施專(zhuān)題教學(xué)的基本理念和利弊評析[J]. 華北科技學(xué)院學(xué)報, 2014 (5): 102-105.
[3]孫昌愛(ài), 王昭順, 王成耀. 基于專(zhuān)題報告的研究性教學(xué): 實(shí)踐、評價(jià)與建議[J]. 計算機教育, 2011(23): 100-105.
[4]沈備軍. 解讀軟件工程知識體系SWEBOK V3[J]. 計算機教育, 2014(7): 1-2.
[5]祝世海, 孟炯, 李勝利, 等. 采用原型法減少軟件需求分析的風(fēng)險[J]. 信息技術(shù), 2002(2): 2-3, 6.
[6]劉繼敏. 基于快速原型方法的需求分析[J]. 硅谷, 2011(14): 23, 46.
【軟件工程實(shí)踐教學(xué)中的應用案例論文】相關(guān)文章:
旅游管理教學(xué)中案例教學(xué)的應用論文07-02
財務(wù)管理教學(xué)中案例教學(xué)的應用論文06-14
淺談案例教學(xué)法在VFP教學(xué)中的應用的論文07-06
案例教學(xué)在傳播學(xué)教育中的應用論文06-15
高職英語(yǔ)網(wǎng)絡(luò )教學(xué)中案例教學(xué)的應用探究論文06-15
案例教學(xué)法在民商法教學(xué)中的應用分析的論文06-14
淺談案例教學(xué)法在中職數學(xué)教學(xué)中的應用論文06-20