蒲曉妮
摘要:該文通過(guò)對(duì)當(dāng)前高職軟件開(kāi)發(fā)技術(shù)類課程教學(xué)中存在的問(wèn)題的分析,提出軟件開(kāi)發(fā)技術(shù)類課程教學(xué)項(xiàng)目的選擇與設(shè)計(jì)思路,具體以《軟件工程與UML》課程為例,研究教學(xué)項(xiàng)目的選擇,課程內(nèi)容的設(shè)計(jì)以及雙向工程在課程教學(xué)中的應(yīng)用,經(jīng)實(shí)踐應(yīng)用教學(xué)效果有了很大的提升,具有很大的推廣應(yīng)用價(jià)值。
關(guān)鍵詞:軟件技術(shù);教學(xué)項(xiàng)目雙向工程
中圖分類號(hào):G642? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)22-0152-02
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 前言
軟件開(kāi)發(fā)技術(shù)從開(kāi)始有軟件的開(kāi)發(fā)就一直在發(fā)展,從開(kāi)始的嚴(yán)格的軟件生存周期到現(xiàn)在比較流行的面向?qū)ο蟮乃枷牒头椒夹g(shù),高等職業(yè)教育中相關(guān)課程的教學(xué)內(nèi)容也從純理論變?yōu)榘咐降慕虒W(xué)。雖然教學(xué)內(nèi)容的和其體現(xiàn)方法是發(fā)生了很大的變化,但是對(duì)于高職學(xué)生來(lái)說(shuō)此類課程學(xué)習(xí)起來(lái)還是比較困難。主要體現(xiàn)在以下幾點(diǎn)。第一點(diǎn):軟件開(kāi)發(fā)技術(shù)涉及理論知識(shí)比較多,特別是對(duì)于現(xiàn)在以單招為主的高職學(xué)生來(lái)說(shuō)學(xué)習(xí)起來(lái)有一定的困難;第二點(diǎn):雖然也有很多理實(shí)一體化的教程和教學(xué)案例,但是大多數(shù)教學(xué)案例選擇的是學(xué)生接觸少,或者沒(méi)有接觸到行業(yè)或應(yīng)用,學(xué)生們很難理解;第三點(diǎn):對(duì)于部分教學(xué)案例學(xué)生能夠理解,可是教學(xué)內(nèi)容安排大多數(shù)是為了知識(shí)點(diǎn)的講解而設(shè)置的,內(nèi)容缺乏系統(tǒng)性和連貫性。第四點(diǎn):教學(xué)研究側(cè)重于過(guò)程,沒(méi)有完整的實(shí)現(xiàn)了的項(xiàng)目,缺乏完整性。
基于以上幾點(diǎn),軟件開(kāi)發(fā)技術(shù)類課程雙向工程教學(xué)項(xiàng)目的研發(fā)的主要目的將雙向工程的思想通過(guò)教學(xué)項(xiàng)目的設(shè)計(jì)與實(shí)現(xiàn)體現(xiàn)在教學(xué)過(guò)程中,并且對(duì)教學(xué)項(xiàng)目進(jìn)行嚴(yán)格的篩選,選擇出學(xué)生平時(shí)生活中會(huì)接觸到的,且基本理解了其應(yīng)用過(guò)程的應(yīng)用系統(tǒng)為教學(xué)項(xiàng)目。在教學(xué)過(guò)程中同時(shí)使用正向工程項(xiàng)目和逆向工程項(xiàng)目?jī)蓚€(gè)教學(xué)項(xiàng)目,最終選擇合適的語(yǔ)言實(shí)現(xiàn),測(cè)試和試用。使學(xué)生親身體驗(yàn)一個(gè)軟件項(xiàng)目從提出到投入使用所要經(jīng)歷的過(guò)程,更好地掌握軟件開(kāi)發(fā)技術(shù)的相關(guān)知識(shí),為以后更好更快地投入工作中打好基礎(chǔ)。
2 教學(xué)項(xiàng)目的選擇與設(shè)計(jì)原則
針對(duì)當(dāng)前高學(xué)生學(xué)習(xí)特點(diǎn)學(xué)生的學(xué)習(xí)積極性、主動(dòng)性和自主學(xué)習(xí)能力都明顯下降。外在表現(xiàn)就是學(xué)生上課習(xí)慣性遲到、早退,無(wú)故曠課,上課注意力不集中,睡覺(jué)和玩手機(jī)的人數(shù)比較多,學(xué)生對(duì)課程沒(méi)興趣,對(duì)成績(jī)不關(guān)心,對(duì)專業(yè)不熱愛(ài)。所以選擇學(xué)生感興趣的內(nèi)容,具體應(yīng)用過(guò)程學(xué)生容易理解的項(xiàng)目就跟加重要了。課題教學(xué)項(xiàng)目的選擇與設(shè)計(jì)原則:
(1)選擇了學(xué)生感興趣,且容易理解的應(yīng)用。通過(guò)跟學(xué)生交流,調(diào)研最后選擇學(xué)生熟悉并且比較了解其執(zhí)行流程的項(xiàng)目。教學(xué)項(xiàng)目是一學(xué)生在學(xué)校常用到的學(xué)生選課系統(tǒng)為實(shí)例,配套練習(xí)項(xiàng)目為日常記賬應(yīng)用。這兩個(gè)項(xiàng)目對(duì)于學(xué)生來(lái)說(shuō)經(jīng)常能夠接觸到,容易理解,可以更好地激發(fā)學(xué)生的學(xué)習(xí)興趣。
(2)保證教學(xué)項(xiàng)目的可行性和完整性。如何在有限的教學(xué)課時(shí)內(nèi),完整的體現(xiàn)軟件的產(chǎn)生過(guò)程,并生產(chǎn)出軟件產(chǎn)品,教學(xué)設(shè)計(jì)很重要,還有就是實(shí)現(xiàn)的語(yǔ)言必須是學(xué)生學(xué)習(xí)過(guò)的,需要結(jié)合學(xué)生學(xué)習(xí)過(guò)的并且掌握較好的語(yǔ)言作為實(shí)現(xiàn)代碼語(yǔ)言,所以對(duì)于學(xué)生選課系統(tǒng)和“日常記賬”應(yīng)用這兩個(gè)項(xiàng)目,分別使用的設(shè)計(jì)語(yǔ)言為Java語(yǔ)言和Android Studio開(kāi)發(fā)??紤]到學(xué)生綜合應(yīng)用能力的提高,以及所學(xué)知識(shí)的綜合應(yīng)用,在有限的課時(shí)內(nèi)實(shí)現(xiàn)系統(tǒng)應(yīng)用。
(3)正向工程和逆向工在教學(xué)案例中的完美結(jié)合。正向工程是通過(guò)根據(jù)對(duì)問(wèn)題的分析和設(shè)計(jì)而把模型轉(zhuǎn)換為實(shí)現(xiàn)的過(guò)程。逆向工程是根據(jù)已有的東西和結(jié)果,通過(guò)分析來(lái)推導(dǎo)出具體的實(shí)現(xiàn)過(guò)程。使用Rational Rose可以使模型導(dǎo)出代碼,使用逆向工程可以是已經(jīng)實(shí)現(xiàn)的代碼導(dǎo)出對(duì)應(yīng)的模型及其他們之間的關(guān)系。可是如何很好地結(jié)合,如何在問(wèn)題開(kāi)發(fā)的過(guò)程中關(guān)聯(lián)使學(xué)生更好地掌握知識(shí)技能,這也是本課題研究的一個(gè)重點(diǎn)和難點(diǎn)。
3 教學(xué)內(nèi)容的設(shè)計(jì)
課題研究以《軟件開(kāi)發(fā)技術(shù)及UML》課程為例,在教學(xué)內(nèi)容的設(shè)計(jì)主導(dǎo)思想是強(qiáng)化實(shí)踐,在實(shí)踐的過(guò)程中對(duì)需要的理論知識(shí)進(jìn)行適當(dāng)?shù)难a(bǔ)充。課程教學(xué)項(xiàng)目的選擇以學(xué)生們?cè)趯W(xué)校必須使用的選課系統(tǒng)和日常記賬應(yīng)用為教學(xué)載體,將軟件設(shè)計(jì)的理論知識(shí),UML各種圖以及關(guān)系的作用使用簡(jiǎn)單易懂,學(xué)生容易接受的方式表現(xiàn)出來(lái)。通過(guò)課程學(xué)習(xí)使得學(xué)生能夠理解掌握軟件開(kāi)發(fā)的過(guò)程和軟件開(kāi)發(fā)過(guò)程中用到的理論知識(shí)與實(shí)踐技能,并能夠?qū)崿F(xiàn)簡(jiǎn)單應(yīng)用從問(wèn)題提出到分析設(shè)計(jì),最終測(cè)試發(fā)布的整個(gè)過(guò)程。
具體內(nèi)容包括,軟件設(shè)計(jì)基礎(chǔ)知識(shí),Rational Rose工具的應(yīng)用,用例分析,用例圖及其關(guān)系,靜態(tài)設(shè)計(jì)的類圖和對(duì)象圖以及其關(guān)系,動(dòng)態(tài)的狀態(tài)圖,活動(dòng)圖,時(shí)序圖和協(xié)作圖,最終的組件圖和部署圖。
4 雙向工程在整個(gè)教學(xué)過(guò)程中的應(yīng)用
以系統(tǒng)的用例分析為例來(lái)說(shuō),課程教學(xué)正向工程使用的是“學(xué)生日常記賬”項(xiàng)目,逆向工程使用的是“學(xué)生選課系統(tǒng)”。首先提出“學(xué)生日常記賬”項(xiàng)目,學(xué)生在開(kāi)始不能正確的分析系統(tǒng)需求。所以通過(guò)使用學(xué)生在學(xué)校經(jīng)常要用到的選課系統(tǒng)應(yīng)用,讓學(xué)生運(yùn)行分析得出總結(jié)自己使用系統(tǒng)都做什么,還有其他什么人使用此系統(tǒng)來(lái)完成什么工作,以此來(lái)整理系統(tǒng)的需求,繪制軟件開(kāi)發(fā)中的用例圖。接下來(lái),引導(dǎo)學(xué)生分析出來(lái)正常操作以外,還有哪些擴(kuò)展的操作。從而整理出完整的系統(tǒng)用例和用例之間的相互關(guān)系。接下來(lái)對(duì)系統(tǒng)用例進(jìn)行用例描述,通過(guò)用例描述,明確用例的初始條件,執(zhí)行結(jié)果,詳細(xì)描述用例的執(zhí)行過(guò)程,以及可能出現(xiàn)的分支,詳盡的描述用例為后面的設(shè)計(jì)打好基礎(chǔ)。用例分析的過(guò)程中考慮當(dāng)前所有系統(tǒng)的不足,針對(duì)不足來(lái)完善當(dāng)前的系統(tǒng)的功能。學(xué)生掌握的用例分析的實(shí)質(zhì)后,再來(lái)分析“學(xué)生日常記賬”項(xiàng)目的使用對(duì)象,應(yīng)用功能,各功能之間的相互關(guān)系。這樣通過(guò)已經(jīng)實(shí)現(xiàn)的和需要實(shí)現(xiàn)的系統(tǒng)的對(duì)比使學(xué)生能更好地理解掌握軟件需求分析的作用,目標(biāo)為后面的工作打下好的基礎(chǔ)。其他部分學(xué)習(xí)的內(nèi)容的設(shè)計(jì)類似與此過(guò)程。
5 結(jié)論
以軟件開(kāi)發(fā)技術(shù)類課程教學(xué)項(xiàng)目研發(fā)針對(duì)當(dāng)前高職學(xué)生特點(diǎn),課程內(nèi)容的選擇與設(shè)計(jì)上使用完整教學(xué)項(xiàng)目,解決以前存在的大多數(shù)學(xué)生大作業(yè)完不成,存在大量半成品項(xiàng)目的問(wèn)題,保證了項(xiàng)目實(shí)施的完整性。通過(guò)課程的學(xué)習(xí)使學(xué)生掌握了軟件開(kāi)發(fā)必備的知識(shí)與技能,實(shí)現(xiàn)有效的課程教學(xué),在實(shí)施中取得了良好了效果,對(duì)于當(dāng)前高職軟件開(kāi)發(fā)類課程的教學(xué)具有極大的推廣應(yīng)用價(jià)值。
參考文獻(xiàn):
[1] 鄭春紅,劉志敏,董海山.高職院?!盾浖こ獭氛n程項(xiàng)目教學(xué)法的探索與實(shí)踐[J].現(xiàn)代計(jì)算機(jī)(專業(yè)版),2018,17.
[2] 宋玉宏,??∮?高職院校工作過(guò)程導(dǎo)向?qū)I(yè)課程的開(kāi)發(fā)研究與實(shí)踐[J].教育教學(xué)論壇,2018,13.
[3] 楊杰.軟件再工程研究與應(yīng)用[D].安徽大學(xué),2011.
【通聯(lián)編輯:代影】