鄭智紅
(廣州科技職業技術大學,廣東 廣州 510550)
UML軟件模型的建模并不是學完理論知識后立即就能對任意給出的軟件系統進行建模的,是通過動腦分析+動手實踐練會的。UML模型設計本身是一個迭代的過程,要不斷循環往復修改、細化和優化才能完成,并且同一個系統需求最后完成的結果也會因人而異,不同的設計在最后實現也不同。
筆者在教學中發現,高職院校的學生很多都不愿意自主動手去做、動腦分析,需要教師“手把手”式的教導,因為本身技能和知識基礎差,英語能力也較差,遇上學習過程中需要使用純英文工具時,更是束手無策,不會自主根據提示信息定位問題和解決問題。為提高教學質量,讓學生真正領悟UML軟件建模的步驟以及各種模型的功能和作用,提升學生的就業競爭力,UML軟件建模教學勢必需要進行新方法的探索和形式的改革。
任務驅動式教學法(task-based teaching method),是一種拋錨式的教學方法,學生通過親身體驗或角色扮演方式來感受問題并解決問題,它強調學生在完成任務的過程中必須以“任務”為主線,實際是要求學生必須聯合自己的經驗、生活和實踐等所學的知識和技能,來綜合解決完成任務過程中遇見的問題,從而達到知識學習、技能獲得、能力形成的目的,這樣學生的綜合能力和信息素養也就自然而然提升了。
在采用任務驅動式教學方法的過程中,教師在下發任務前將教學內容劃分為多個的小任務,這些任務隱含著要求學生必須學會或者必須懂的知識點在里面。學生通過對任務的分析和討論,可以明確需要涉及哪些知識點和操作要領技巧,在教師的幫助和引導下,主動融合應用已獲取到的學習資料和資源,采用自主探索和互助協作,找出完成任務的方法,最后完成有意義的建構,將完成任務過程中解決問題的方法、知識和技巧內化為知識點的掌握。在該教學方法實施過程中,學生通過完成任務來獲得知識和成就感,同時也激發了他們的求知欲,以此形成一種良好的學習態度和方法,達到“授人以漁”的教學效果。
任務驅動式教學方法的概念中提到,教師把需要學生學到的知識隱含地分布在各個“小任務”中,表面是要學生完成任務,實則是要求學生學會這些任務完成過程中需要用到的知識和技能,還需要學生自己會定位問題、解決問題,那么我們可以看出此教學方法具有這么幾個明顯的特點:
(1)能夠讓學生更明確學習目標,并使學習目標更具體。采用任務驅動式教學方法的過程中,如果教師的教學思路非常清晰,能根據學生個體情況,將各個任務的難易程度設計的合理,并適當的布置一些拓展任務,那么學生可以依據自身的能力選擇完成自己能夠完成的任務,這樣學生的學習目的非常明確,有益于學習內容的掌握。
(2)能夠調動學生學習的積極性,有利于培養自主學習的好習慣。教師下發給學生的任務通常不是能夠直接從書本上找到答案的,需要學生結合書本上的知識技能以及自己親身體驗經歷或已有的知識綜合給出結果的,通過這種方式來完成任務,學生既修得了課程學分,同時任務又跟自己的體驗有關系,因此,學生會更加自愿更加積極地參與到這種教學方式中,變成了學習的主體。
(3)能夠培養學生的實踐能力和思考能力。因為這些任務不是直接能從書本上找到答案的,因此需要學生自己動手實踐,親身體驗任務的完成過程,這就需要學生開動大腦,勇于想象,自己實踐自己探索,這一過程正好培養了學生的實踐能力和思考能力。
(4)能夠培養學生的團隊協作精神。一般這些任務是以一個大項目的形式進行的,學生可以以小組形式來完成,組內同學一起分析和討論問題,并將問題解決,這培養了學生的團隊協作能力,為將來走出校門走上社會工作崗位提前打了一些基礎。
使用任務式驅動教學法時,教師應根據學習內容和學生的個體情況,將各個任務的難易程度設計的合理些,設定任務完成的評分標準,對學生進行成績判定。學生根據學習到的前導知識和教師的指導來完成任務,在完成任務過程中可以獨立自主完成,也可以以小組合作方式來完成。在此基礎上,可以借鑒網絡上已有的模型或者是身邊的實體模型來分析和探索,給出每個任務完成的結果,直到所有任務都完成,最后對學生完成的結果進行展示和評分,并讓學生互相點評和交流。教師在學生的任務完成過程中只需給出很少的時間來答疑。
在本文中,以陳承歡編寫的《UML軟件建模任務驅動教程(第2版)》教材“單元2用戶登錄模塊建模”為教學內容,教師先講解UML用例圖的相關理論知識(UML用例圖的功能、用例圖的組成元素、用例圖中的關系類型、如何識別系統的使用者、系統提供的用例,它們之間的關系),及在Rational Rose中建立用例圖模型的操作技巧和要領,結合課本上的例子進行分析和設計,完成用例圖的建模。再對教材中本單元“引例探析”中的第2小題電梯系統的用例圖進行分析和講解,要求學生結合自己居住的小區或者使用過的電梯情況,完成本系統的需求調研和分析,輸出需求文檔并建立相關用例圖模型。該項目的任務設計如表1所示。
表1 任務設計示例
在這些任務中,容易給學生造成認知沖突的是:學生明白用例圖的功能、用例圖的組成元素、Rational Rose建模工具的使用,但是對于用例圖中的參與者和用例功能是如何分析出來的就掌握不了,那么教師提示學生借鑒書上已有的例子列出的用例,引導學生參考書本上的參與者和用例分析步驟,結合身邊實際情況再補充或者修改。學生完成任務,最后師生一起評價學生成果,計入平時成績。
通過本次任務驅動來完成實訓任務,讓學生對UML建模技術有了更深刻的認識,讓其都能明白建模是個不斷優化、修改和細化的過程,并且同一個軟件需求由不同的人建模,結果都不盡相同,同時也帶動了學生團隊協作和討論分析的積極性。本次實訓相對于沒有采用任務驅動式教學法的教學內容來講,任務完成的質量要高很多,建立的模型圖相對來講比較正確也比較完整,需求文檔的寫作比較規范,內容也比較全。任務驅動式教學方法在高職院校的UML軟件建模課程教學中的運用起到了重要的作用,也收到了良好的效果。
采用任務驅動式教學法時,在實際操作過程中教師的任務設置和成績評價很重要,在激發學生求知欲的同時,將學習的主動權交給學生,給學生預留足夠的學習空間。如果整個課程都采用此教學方法,相信在課程結束時學生都能掌握一定的系統需求分析、設計和建模的一套完整方法和技能。