劉欣 趙瑩瑩
摘 要 針對(duì)獨(dú)立學(xué)院強(qiáng)調(diào)培養(yǎng)學(xué)生動(dòng)手能力及實(shí)際應(yīng)用能力的要求出發(fā),將軟件工程實(shí)驗(yàn)中原來(lái)的虛擬客戶改變?yōu)樵诒驹簝?nèi)以實(shí)際用戶作為調(diào)研對(duì)象,采集各個(gè)部門(mén)的實(shí)際需求,并最終生成相關(guān)的需求分析文檔。這種教學(xué)方式的改進(jìn)大大提高了學(xué)生參與的積極性,效果良好,為后續(xù)課程的改革提供了經(jīng)驗(yàn)和參考。
關(guān)鍵詞 獨(dú)立學(xué)院 軟件工程 案例驅(qū)動(dòng)
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A
軟件工程是計(jì)算機(jī)專(zhuān)業(yè)學(xué)生的一門(mén)專(zhuān)業(yè)必修課。軟件工程學(xué)是將計(jì)算機(jī)科學(xué)理論與現(xiàn)代工程方法論相結(jié)合,著重研究軟件過(guò)程模型、設(shè)計(jì)方法、工程開(kāi)發(fā)技術(shù)和工具,指導(dǎo)軟件生產(chǎn)和管理的一門(mén)新興的、綜合性的應(yīng)用科學(xué)。隨著計(jì)算機(jī)科學(xué)和軟件產(chǎn)業(yè)的迅猛發(fā)展,軟件工程學(xué)已成為一個(gè)重要的計(jì)算機(jī)分支學(xué)科,正在不斷涌現(xiàn)新方法、新技術(shù),蓬勃地發(fā)展著。
對(duì)于應(yīng)用型本科的計(jì)算機(jī)專(zhuān)業(yè)學(xué)生來(lái)說(shuō),軟件工程更是一門(mén)起到重要指導(dǎo)性作用的學(xué)科。在軟件開(kāi)發(fā)過(guò)程中,從調(diào)研、可行性分析(技術(shù)可行、經(jīng)濟(jì)可行、法律可行性)、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試、以及最后的產(chǎn)品維護(hù)和提交。這里每一個(gè)階段的工作都要在軟件工程思想的指導(dǎo)下才能最大程度的保證軟件產(chǎn)品的開(kāi)發(fā)進(jìn)度及產(chǎn)品質(zhì)量。
1 軟件工程實(shí)驗(yàn)改革的現(xiàn)實(shí)依據(jù)
軟件開(kāi)發(fā)實(shí)踐過(guò)程問(wèn)題較多,且并不因軟件開(kāi)發(fā)工具的完善而有大的改善,軟件工程控制的重要性越來(lái)越被重視。軟件開(kāi)發(fā)過(guò)程的問(wèn)題常有如下幾種:
(1)在開(kāi)發(fā)項(xiàng)目的初始階段,對(duì)系統(tǒng)進(jìn)行的調(diào)研工作及可行性分析不夠充分,導(dǎo)致對(duì)軟件開(kāi)發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。
(2)在需求分析階段,一方面,是客戶與技術(shù)開(kāi)發(fā)人員之間的矛盾:對(duì)于客戶來(lái)說(shuō),由于對(duì)技術(shù)行業(yè)的不了解,往往會(huì)提出遠(yuǎn)遠(yuǎn)超越技術(shù)所能實(shí)現(xiàn)范圍內(nèi)的要求,而對(duì)于技術(shù)人員來(lái)說(shuō),由于行業(yè)的限制,對(duì)用戶的需求理解不清,從而導(dǎo)致用戶對(duì)“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;另一方面,需求的可測(cè)性較低,導(dǎo)致后期項(xiàng)目的測(cè)試驗(yàn)收較困難。
(3)在軟件產(chǎn)品的概要設(shè)計(jì)階段,架構(gòu)設(shè)計(jì)比較難。
(4)在軟件產(chǎn)品的編碼設(shè)計(jì)階段,代碼的編寫(xiě)不夠規(guī)范。
(5)由于前期需求的不充分,軟件產(chǎn)品的質(zhì)量往往靠不住,導(dǎo)致軟件使用過(guò)程中的維護(hù)工作相對(duì)困難。
(6)軟件通常沒(méi)有適當(dāng)?shù)奈臋n資料。
(7)軟件開(kāi)發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢(shì)。
以上問(wèn)題當(dāng)中,最突出的是與需求分析相關(guān)的問(wèn)題,如果需求分析沒(méi)有做好,將影響整個(gè)項(xiàng)目的實(shí)施和完成??梢?jiàn)需求分析在整個(gè)軟件生存周期中的重要性。
除此之外,對(duì)于應(yīng)用型本科的計(jì)算機(jī)專(zhuān)業(yè)學(xué)生來(lái)說(shuō),在整個(gè)大學(xué)四年的教學(xué)計(jì)劃中,課程設(shè)計(jì)的內(nèi)容貫穿始終,從以往的完成情況來(lái)看,我們的學(xué)生在設(shè)計(jì)的過(guò)程中往往對(duì)課題的內(nèi)容在設(shè)計(jì)階段過(guò)于簡(jiǎn)單化,并沒(méi)有從實(shí)際客戶的角度來(lái)思考問(wèn)題。輕設(shè)計(jì)重開(kāi)發(fā),導(dǎo)致最終形成的作品缺乏實(shí)用價(jià)值。
鑒于以上的諸多問(wèn)題,我們將軟件工程的理論與實(shí)踐相結(jié)合,以實(shí)際項(xiàng)目案例為驅(qū)動(dòng)的方式,讓學(xué)生分小組合作完成軟件工程的實(shí)踐課程,讓學(xué)生采用軟件工程的思想作為指導(dǎo),工程化、規(guī)范化地模擬和實(shí)踐軟件生存期內(nèi)的需求分析階段,并形成需求分析階段的成果及相關(guān)文檔。對(duì)學(xué)生軟件工程理論思想的提升和實(shí)踐能力的提高有著重要的意義。
2 軟件工程實(shí)驗(yàn)改革計(jì)劃
2.1 教學(xué)方式的改進(jìn)
原有的實(shí)驗(yàn)內(nèi)容是在參照各個(gè)高等院校的實(shí)驗(yàn)內(nèi)容以及相應(yīng)的實(shí)驗(yàn)教程,經(jīng)過(guò)篩選整合之后,形成的一套以針對(duì)軟件生存周期各個(gè)階段所涉及的CASE工具的使用為目標(biāo)的指導(dǎo)書(shū)。應(yīng)用性較強(qiáng),重點(diǎn)在于掌握一些主流軟件工程工具的基本使用方法。相對(duì)來(lái)說(shuō),由于內(nèi)容比較分散,各個(gè)實(shí)驗(yàn)環(huán)節(jié)之間相關(guān)性不夠,在指導(dǎo)性方面則比較弱。鑒于原有內(nèi)容的不足之處,現(xiàn)在擬將軟件工程工具的使用分布到實(shí)際的工程項(xiàng)目案例中來(lái),轉(zhuǎn)變?yōu)橐皂?xiàng)目案例為驅(qū)動(dòng)的方式,讓學(xué)生帶著開(kāi)發(fā)設(shè)計(jì)項(xiàng)目的目標(biāo)將各種工具的使用聯(lián)系起來(lái),對(duì)軟件生命周期中需求分析階段的工作有全面系統(tǒng)的認(rèn)識(shí)。
2.2 教學(xué)內(nèi)容的改進(jìn)
原來(lái)的項(xiàng)目題庫(kù)中的題目主要是參照各個(gè)高等院校的實(shí)驗(yàn)內(nèi)容以及從現(xiàn)有的圖書(shū)館及網(wǎng)絡(luò)參考資料中得來(lái)?,F(xiàn)在擬由教師根據(jù)實(shí)際需求,設(shè)計(jì)項(xiàng)目題庫(kù),如:實(shí)驗(yàn)室系統(tǒng)、宿舍系統(tǒng)、超市系統(tǒng)等等。這些題目主要從學(xué)校實(shí)際應(yīng)用的角度出發(fā),特點(diǎn)是實(shí)踐性強(qiáng)、目標(biāo)明確、需求方便獲取,使學(xué)生能夠在校內(nèi)各部門(mén)進(jìn)行調(diào)研工作,與相關(guān)工作人員交流,面對(duì)真實(shí)的客戶完成需求分析階段的資料收集和整理工作。本項(xiàng)目所做的工作可以為其他相關(guān)課程的課程設(shè)計(jì)所用,為完成一個(gè)優(yōu)秀的課程設(shè)計(jì)提供了必要的參考及指導(dǎo)。
2.3 教學(xué)過(guò)程的改革
從原來(lái)的獨(dú)立完成的設(shè)計(jì)型實(shí)驗(yàn),改為分小組協(xié)作完成的設(shè)計(jì)型、綜合型實(shí)驗(yàn)。鍛煉學(xué)生的團(tuán)隊(duì)協(xié)作能力、組織能力、溝通能力和表達(dá)能力。
2.4 考核方式的改革
在課程結(jié)束之后,由真實(shí)客戶的代表及專(zhuān)業(yè)相關(guān)老師組成評(píng)審小組,學(xué)生以小組為單位將所做的需求分析結(jié)果進(jìn)行陳述,再由評(píng)審小組進(jìn)行點(diǎn)評(píng)和打分。最終,總評(píng)成績(jī)由平時(shí)成績(jī)和評(píng)審成績(jī)組成,其中平時(shí)成績(jī)占總評(píng)成績(jī)的70%,平時(shí)成績(jī)占總評(píng)成績(jī)的30%。
3 軟件工程實(shí)驗(yàn)改革實(shí)施效果
在本次教學(xué)改革實(shí)施的過(guò)程當(dāng)中,得到的學(xué)校各部門(mén)相關(guān)老師積極配合,為改革的實(shí)施提供了真實(shí)的訪問(wèn)客戶。同時(shí),對(duì)于這種真實(shí)客戶的訪問(wèn)方式,學(xué)生積極地參與到調(diào)查訪問(wèn)當(dāng)中,為設(shè)計(jì)出實(shí)用的軟件作品提供了大量的素材,改變了原來(lái)單一的封閉的需求分析模式。學(xué)生在與真實(shí)客戶交流的過(guò)程中,也鍛煉了自己的溝通和表達(dá)能力。根據(jù)客戶給出的各項(xiàng)需求,要進(jìn)行歸納整理,最終形成整個(gè)系統(tǒng)的基本功能。
通過(guò)本課程的實(shí)踐教學(xué)改革,使學(xué)生將數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫(kù)、程序設(shè)計(jì)語(yǔ)言、UML建模等課程的知識(shí)全面聯(lián)系起來(lái),讓學(xué)生對(duì)計(jì)算機(jī)專(zhuān)業(yè)課程有了全面的理解、認(rèn)識(shí)和掌握。
4 教學(xué)改革的創(chuàng)新點(diǎn)及成果
4.1 教學(xué)改革的創(chuàng)新點(diǎn)
本次教學(xué)改革的創(chuàng)新之處有以下幾點(diǎn):
(1)傳統(tǒng)的軟件工程實(shí)驗(yàn)只注重了各種輔助軟件的使用,各個(gè)實(shí)驗(yàn)內(nèi)容的相關(guān)性不夠緊湊。本項(xiàng)目的創(chuàng)新之處,正是為了解決這些問(wèn)題,以一個(gè)實(shí)際的案例為線索,貫穿整個(gè)實(shí)驗(yàn)的始終,讓學(xué)生對(duì)軟件設(shè)計(jì)的過(guò)程有一個(gè)整體的認(rèn)識(shí),了解軟件工程思想的指導(dǎo)性作用,并在每一次實(shí)驗(yàn)的過(guò)程當(dāng)中加強(qiáng)對(duì)自己本課題更深層次的了解。
(2)本教改項(xiàng)目的工作,旨在讓學(xué)生對(duì)軟件開(kāi)發(fā)的需求分析階段有更深入的了解和掌握,并最終形成文檔用于指導(dǎo)軟件開(kāi)發(fā)的后期工作。因此,學(xué)生所做的需求分析工作可以為其他相關(guān)課程的課程設(shè)計(jì)所用,為完成一個(gè)優(yōu)秀的課程設(shè)計(jì)提供了必要的參考及指導(dǎo),對(duì)后期課程建設(shè)有著重要的意義。
(3)學(xué)生通過(guò)本實(shí)踐課程的學(xué)習(xí),可以繼續(xù)完成一個(gè)可展示的、規(guī)范的完整作品,對(duì)后期課程的學(xué)習(xí)是個(gè)極大的鼓舞,并可以增強(qiáng)學(xué)生學(xué)習(xí)的自信,對(duì)畢業(yè)后走向工作崗位有一定的幫助。
4.2 教學(xué)改革的成果
從原來(lái)學(xué)生自己做需求,自己開(kāi)發(fā)的單一封閉的方式轉(zhuǎn)變?yōu)橐詫?shí)際案例為驅(qū)動(dòng)的設(shè)計(jì)開(kāi)發(fā)模式,極大的提高了學(xué)生的學(xué)習(xí)興趣。也在與外界交流的過(guò)程當(dāng)中,發(fā)現(xiàn)自己原來(lái)的不足之處。在形成了最終的軟件分析文檔之后,部分動(dòng)手能力較強(qiáng)的學(xué)生將項(xiàng)目進(jìn)行了后期的開(kāi)發(fā)工作,形成了可以實(shí)際應(yīng)用的成果,并且投入到了相關(guān)部門(mén)當(dāng)中去使用,達(dá)到了良好的使用效果。為校園的網(wǎng)絡(luò)化建設(shè)提供了前期的準(zhǔn)備工作。
5 結(jié)束語(yǔ)
以實(shí)際案例為驅(qū)動(dòng)的軟件工程實(shí)驗(yàn)?zāi)J?,能夠讓學(xué)生獲得一種全面的、切實(shí)有效的教育。目前,我國(guó)傳統(tǒng)的學(xué)科課程理念根深蒂固,真正與實(shí)際案例相結(jié)合的項(xiàng)目課程開(kāi)發(fā)還處在實(shí)踐探索的階段,本次教改項(xiàng)目身先士卒,希望能夠起到拋磚引玉的作用,為后續(xù)課程的改革提供經(jīng)驗(yàn)和參考。