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