亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        融合CDIO.OBE的軟件工程教學(xué)案例探索

        2022-11-21 15:20:29陳國明李振鵬張嘉琛周如旗陳強(qiáng)朱雄泳
        關(guān)鍵詞:軟件工程教學(xué)

        陳國明 李振鵬 張嘉琛 周如旗 陳強(qiáng) 朱雄泳

        關(guān)鍵詞:軟件工程;Spring Cloud;教學(xué);CDIO-OBE

        1引言

        高校課程改革的一個重要目標(biāo)就是培養(yǎng)應(yīng)用型人才,因此以成果教育為導(dǎo)向(Outcome BasedEducation,OBE)的模式蓬勃發(fā)展。OBE是以最終成果為導(dǎo)向的一種工程教育模式,旨在培養(yǎng)掌握專業(yè)知識、專業(yè)技能,能夠快速融人社會的畢業(yè)生。OBE的基本理念在于實(shí)施課程時(shí)把握反向設(shè)計(jì)方法,以軟件工程的課程內(nèi)容、結(jié)構(gòu)和典型成果為基礎(chǔ),選擇教學(xué)內(nèi)容,使學(xué)生深入理解知識,能夠綜合應(yīng)用各方面知識解決實(shí)際問題。其中,課程實(shí)施過程包括學(xué)習(xí)成果呈現(xiàn)方式和對成果的評價(jià)方法。學(xué)習(xí)過程應(yīng)注重基礎(chǔ)知識的掌握和環(huán)境工具的使用,以實(shí)踐操作為中心,綜合應(yīng)用知識,提升創(chuàng)新能力。

        在教學(xué)案例整體設(shè)計(jì)中,要合理銜接專業(yè)知識與社會需求,引導(dǎo)學(xué)生掌握科學(xué)的思維方法,辨明研究方向。通過“案例項(xiàng)目驅(qū)動”的教學(xué)模式,培養(yǎng)學(xué)生由被動學(xué)習(xí)到主動創(chuàng)新研發(fā)的能力:借助線上線下多種學(xué)習(xí)媒介,提高學(xué)生的學(xué)習(xí)能力和創(chuàng)新意識。CDIO工程教育模式代表構(gòu)思(Conceive)、設(shè)計(jì)(Design)、實(shí)現(xiàn)(Implement)和運(yùn)作(Operate),符合軟件行業(yè)對應(yīng)用型人才的培養(yǎng)要求,被廣泛應(yīng)用到軟件工程教學(xué)改革實(shí)踐中。

        CDIO-OBE工程教育模式有利于提高學(xué)生的學(xué)習(xí)、模仿、探索、分析、創(chuàng)新等能力。以學(xué)生為中心的教學(xué)實(shí)踐,有利于學(xué)生獲得操作體驗(yàn)與知識技能,進(jìn)而促進(jìn)學(xué)生能力的發(fā)展。根據(jù)軟件行業(yè)技術(shù)發(fā)展的實(shí)際需要和企業(yè)工作所需要具備的技能、知識、素養(yǎng)要求,重構(gòu)教學(xué)案例,讓學(xué)生明確掌握重要知識,并學(xué)會如何適應(yīng)這些知識,為學(xué)生的可持續(xù)發(fā)展以及就業(yè)奠定良好的基礎(chǔ)。教學(xué)內(nèi)容需要緊跟時(shí)代發(fā)展步伐,強(qiáng)調(diào)科技創(chuàng)新的新技術(shù)、新方法,同步課程改革內(nèi)容,按照內(nèi)容分解任務(wù)重構(gòu)教學(xué)案例,培養(yǎng)學(xué)生的創(chuàng)新精神。引入CDIO-OBE工程教育模式理念,優(yōu)化軟件工程課程的教學(xué)資源案例,既能夠提升學(xué)生解決實(shí)際問題的能力,也能培養(yǎng)學(xué)生的創(chuàng)新精神。

        20BE和CDIO教育理念的融合

        OBE起源于1990年前后,是由美國教育家威廉.G.斯派迪提出的教學(xué)教育以學(xué)生為導(dǎo)向,以結(jié)果為導(dǎo)向的教育教學(xué)模式。目前,OBE已在新西蘭、美國、澳大利亞等國家進(jìn)行實(shí)施,并取得了良好的教學(xué)反饋。在中國,OBE被稱為以結(jié)果為導(dǎo)向的教育模型,它強(qiáng)調(diào)的三個核心概念模型是面向輸出的、以學(xué)生為中心的、連續(xù)的改進(jìn),這些概念代表了工程教育改革方向和先進(jìn)教育理念。

        CDIO工程教育模式是一種體現(xiàn)時(shí)代創(chuàng)新特性,以工程教育為背景的教學(xué)模式。最初由麻省理工學(xué)院和瑞典皇家理工學(xué)院通過長期研究、探索和教學(xué)實(shí)踐創(chuàng)建的。作為新興的教育模式和教學(xué)理念,伴隨著信息技術(shù)的飛速發(fā)展,CDIO成為工程教育的一次深刻變革。CDIO代表了構(gòu)思(Conceive)、設(shè)計(jì)(Design)、實(shí)現(xiàn)(Implement)和運(yùn)作(Operate)[3]。以軟件需求到軟件運(yùn)維的生命周期為載體,讓學(xué)生親自操作,親身經(jīng)歷情景,以直接體驗(yàn)為基礎(chǔ),強(qiáng)調(diào)全程參與,以邊做邊學(xué)的方式進(jìn)行工程學(xué)習(xí)。CDlO注重培養(yǎng)學(xué)生的工程基礎(chǔ)知識與專業(yè)技能、強(qiáng)調(diào)團(tuán)隊(duì)合作能力,培養(yǎng)學(xué)生因用科學(xué)思維方法完成軟件的構(gòu)思、設(shè)計(jì)、實(shí)現(xiàn)和運(yùn)作,使其成為符合時(shí)代需要,能應(yīng)對未來挑戰(zhàn),實(shí)現(xiàn)終身發(fā)展的創(chuàng)新型工程人才。

        在OBE的理念下,專業(yè)訓(xùn)練計(jì)劃遵循回溯原則設(shè)計(jì),通過設(shè)置期望學(xué)習(xí)輸出來設(shè)計(jì)教學(xué)案例。期望學(xué)習(xí)輸出來自對專業(yè)職位、職責(zé)和軟件開發(fā)能力的調(diào)查。以學(xué)生為中心建立課程案例,在實(shí)地調(diào)研學(xué)生實(shí)習(xí)的單位或企業(yè)的基礎(chǔ)上,根據(jù)現(xiàn)實(shí)需求探索軟件工程教學(xué)案例改革,基于OBE-CDIO的教育理念來設(shè)計(jì)教學(xué)案例。課程案例對應(yīng)課程培養(yǎng)的能力和知識,明確每個人的期望學(xué)習(xí)輸出,嚴(yán)格執(zhí)行CDIO教育示范工程,保證工程教學(xué)效果。課堂教學(xué)以學(xué)生為中心,教師在課堂積極答疑,通過設(shè)計(jì)教學(xué)過程來指導(dǎo)學(xué)生完成項(xiàng)目,并監(jiān)控工程質(zhì)量。課程案例采用多種教學(xué)方法,引導(dǎo)學(xué)生積極學(xué)習(xí),培養(yǎng)良好的學(xué)習(xí)習(xí)慣,并在各個階段進(jìn)行定期總結(jié)、反思以及評估實(shí)際學(xué)習(xí)輸出與期望學(xué)習(xí)輸出,科學(xué)分析實(shí)施過程出現(xiàn)的問題,及時(shí)調(diào)整計(jì)劃并改進(jìn)教學(xué)策略。

        2.1軟件工程案例教學(xué)模塊的設(shè)計(jì)

        軟件工程的課程案例是以一個餐飲信息管理系統(tǒng)為主線,根據(jù)CDIO-OBE模式特征,圍繞課程理論知識與實(shí)踐內(nèi)容,還需要更好地體現(xiàn)以學(xué)生為中心的自主學(xué)習(xí)方式[6]。在課程教學(xué)案例的設(shè)計(jì)中,強(qiáng)調(diào)各個知識模塊之間的相互作用,通過模塊的系統(tǒng)學(xué)習(xí),學(xué)生應(yīng)該掌握軟件工程項(xiàng)目實(shí)施的基本方法。教師上課之前對照知識點(diǎn)模塊,可以很清楚地把握教學(xué)內(nèi)容。軟件工程案例的教學(xué)按照知識模塊一共劃分為四個模塊,即餐飲信息管理系統(tǒng)軟件結(jié)構(gòu)的設(shè)計(jì)與數(shù)據(jù)模型設(shè)計(jì)(設(shè)計(jì)Design)、MVVM方案的構(gòu)思(構(gòu)思Conceive)、Spring Cloud框架(運(yùn)作Operate)、實(shí)現(xiàn)網(wǎng)頁前端(實(shí)現(xiàn)Implement)。在該教學(xué)案例中,各個模塊的學(xué)習(xí)成果可以通過可視化的形式展現(xiàn)出來,因此可在此基礎(chǔ)上進(jìn)行教學(xué)評價(jià)與質(zhì)量檢測。

        2.2餐飲信息管理系統(tǒng)軟件結(jié)構(gòu)設(shè)計(jì)以及數(shù)據(jù)模型設(shè)計(jì)(設(shè)計(jì),Design)

        在融合OBE和CDIO的教學(xué)案例設(shè)計(jì)中,前期信息系統(tǒng)需求分析包括系統(tǒng)功能建模、系統(tǒng)對象建模、系統(tǒng)動態(tài)建模。以數(shù)據(jù)模型設(shè)計(jì)(提供餐飲信息管理系統(tǒng)的數(shù)據(jù)模型)為例,通過建立基本的概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型以及物理數(shù)據(jù)模型,在CDIO中強(qiáng)調(diào)設(shè)計(jì)(Design)的理念,范例中的數(shù)據(jù)模型可供學(xué)生參考,并由學(xué)生提出改進(jìn)方案。

        本案例中初始的數(shù)據(jù)庫設(shè)計(jì)概念模型如圖1所示,主要涉及菜品種類表(category)、菜品信息表(product_info)、訂單概述表(order_summary)、訂單詳情表(order_detail)以及用戶表(dinner_user)。其中,菜品種類和菜品信息為一對多關(guān)系,訂單概述與訂單詳情是一對多關(guān)系,訂單詳情與菜品信息是一對一關(guān)系。

        2.3MVC模式與MVVM模式(構(gòu)思,Conceive)

        2.3.1MVC模式

        構(gòu)思是設(shè)計(jì)過程中的一種模式,在這種模式中,學(xué)生將精力集中在構(gòu)思的產(chǎn)生上。CDIO中的構(gòu)思比較抽象,學(xué)生難以迅速集中注意力進(jìn)行訓(xùn)練,學(xué)習(xí)難度較大。良好的案例有助于學(xué)生對工程設(shè)計(jì)內(nèi)容的理解,突破難點(diǎn),改善訓(xùn)練環(huán)境。好的設(shè)計(jì)模式還能使軟件更容易修改和維護(hù),其結(jié)構(gòu)經(jīng)過長期發(fā)展形成解決方案,體現(xiàn)出創(chuàng)作構(gòu)思的整體性。這種構(gòu)思在實(shí)施可行的基礎(chǔ)上具有一定的創(chuàng)新性。

        所謂MVC模式,即模型一視圖一控制器(Model-View-Controller)模式,三個部分分別對應(yīng)內(nèi)部數(shù)據(jù)、數(shù)據(jù)表示和輸入/輸出控制部分,把它們分開獨(dú)立設(shè)計(jì),其過程是:首先,控制器接收用戶的請求,并決定調(diào)用哪個模型進(jìn)行處理;然后,模型用業(yè)務(wù)邏輯來響應(yīng)用戶的請求并返回?cái)?shù)據(jù):最后,控制器用視圖來表示模型返回的數(shù)據(jù),將其呈現(xiàn)給用戶。模型側(cè)重?cái)?shù)據(jù)和功能,視圖側(cè)重?cái)?shù)據(jù)顯示,控制器側(cè)重用戶輸入,其優(yōu)點(diǎn)是把數(shù)據(jù)和業(yè)務(wù)規(guī)則分開表示。

        (1)模型對象

        模型對象是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分,其變化通過事件處理通知視圖和控制器對象。

        (2)視圖對象

        視圖對象代表GUI對象,并且以用戶需要的格式表示模型狀態(tài),是交互系統(tǒng)與外界的接口。它包含子視圖,子視圖用于顯示模型的不同部分。通常而言,每個視圖對象對應(yīng)一個控制器對象。

        (3)控制器對象

        控制器對象代表事件,主要處理用戶的輸入行為,給模型發(fā)送業(yè)務(wù)事件,將其解析為模型執(zhí)行的動作。同時(shí),模型的更新與修改經(jīng)由控制器通知視圖,實(shí)現(xiàn)各視圖與模型的一致。

        2.3.2MVVM模式

        MVVM模式改進(jìn)了MVC模式,更好地分離了視圖和模型。MVVM的組成結(jié)構(gòu)如下。

        (1)模型層(Model):指數(shù)據(jù)模型,或指代表內(nèi)容的數(shù)據(jù)訪問層,在前后端分離的架構(gòu)中,可以理解為后端往前端傳遞的數(shù)據(jù)。

        (2)視圖層(View):即用戶界面。

        (3)視圖模型層(ViewModel):該層主要負(fù)責(zé)Model層與View層的通信以及數(shù)據(jù)與視圖之間的綁定。可以將數(shù)據(jù)封裝并傳遞至視圖層,或?qū)⒁晥D的行為與狀態(tài)的變換傳遞到Model層。

        本文的課程案例采用前后端分離的架構(gòu)開發(fā)。在該架構(gòu)中,后端對應(yīng)MVVM模式中的Model層,圍繞數(shù)據(jù)庫系統(tǒng)進(jìn)行業(yè)務(wù)邏輯的處理,封裝數(shù)據(jù)(主要為JSON格式)并傳輸至前端。前端對應(yīng)MVVM模式中的ViewModel層和View層。前端從后端獲取的數(shù)據(jù)通過JavaScript代碼進(jìn)行二次封裝,以生成符合View層使用預(yù)期的視圖數(shù)據(jù)模型,以HTML加CSS的形式進(jìn)行展示。當(dāng)視圖發(fā)生變化時(shí),前端根據(jù)與后端約定好的接口規(guī)則,通過JavaScript代碼向后端發(fā)起請求。而MVVM模式降低了模塊之間的耦合度,前后端分離架構(gòu)提高了開發(fā)效率。

        2.3.3CDIO中的構(gòu)思

        以學(xué)生為中心的教學(xué)模式,強(qiáng)調(diào)學(xué)生個性化學(xué)習(xí)。在前后端分離的技術(shù)應(yīng)用中,項(xiàng)目里有很多代碼都是重復(fù)的。例如,幾乎每個基礎(chǔ)模塊的代碼都有增刪改查的功能,而這些功能都大同小異,如果這些功能都要自己去寫,將會降低開發(fā)的效率[8]。啟發(fā)學(xué)生積極思考,自己尋求解決方法,這種重復(fù)性的代碼可以使用代碼生成(前后端代碼的生成Java,html,xml,sql),也就是通過統(tǒng)- JSON數(shù)據(jù)格式設(shè)計(jì),通過導(dǎo)人數(shù)據(jù)庫的表來生成代碼。

        2.4Spring aoud微服務(wù)框架(運(yùn)作,Operate)

        2.4.1CDIO的運(yùn)作(Operate)與Spring Cloud微服務(wù)框架

        利用有限的時(shí)間將難懂的專業(yè)術(shù)語向?qū)W生描述清楚,使學(xué)生在操作的過程中因加深了對知識的理解而收獲成就感,從而增強(qiáng)學(xué)生的主動性、創(chuàng)造性和實(shí)踐能力。并且.教師通過設(shè)計(jì)詳細(xì)的運(yùn)作文檔把過程中每一步的配置操作都記錄下來:學(xué)生通過對典型案例進(jìn)行閱讀、思考、分析、討論、交流和操作復(fù)現(xiàn),提高其分析問題和解決問題的能力[9]。學(xué)生掌握后端Spring Cloud微服務(wù)框架基本的運(yùn)作,通過對SpringCloud的部署以及對環(huán)境的設(shè)置,使得項(xiàng)目得以正常運(yùn)作。其運(yùn)作的成果如圖2所示,基礎(chǔ)的點(diǎn)餐服務(wù)的各組件可以正常運(yùn)行以及展示。

        Spring Cloud Netflix微服務(wù)框架作為后端架構(gòu),在學(xué)生了解MVC設(shè)計(jì)模式、前后端分離技術(shù)以及SpringBoot框架的基礎(chǔ)上,為學(xué)生介紹分布式應(yīng)用架構(gòu)設(shè)計(jì)理念。微服務(wù)架構(gòu)就是將原來單體應(yīng)用,按照一定粒度拆分為多個獨(dú)立的服務(wù),從而降低項(xiàng)目耦合度,實(shí)現(xiàn)快速擴(kuò)容和彈性伸縮。本案例使用VM Ware虛擬機(jī)進(jìn)行后端本地部署,操作系統(tǒng)使用CentOS 8,同時(shí)需要啟動餐飲信息管理系統(tǒng)所需要的各個組件。將相關(guān)組件啟動后,運(yùn)行啟動腳本,即可完成部署,所有注冊成功的微服務(wù)都可以在Eureka注冊中心中進(jìn)行查看。

        2.4.2主要類圖與項(xiàng)目流程簡介

        Controller類圖(API接口)如圖3所示,Service類圖(業(yè)務(wù)實(shí)現(xiàn)類)如圖4所示。以添加菜品為例,前端按照后端接口文檔給定參數(shù),包括菜品名(name)、菜品圖標(biāo)(icon)、菜品介紹(desc)、菜品價(jià)格(price)、菜品狀態(tài)(status)和菜品庫存(stock),并將其封裝成JSON對象,根據(jù)路由發(fā)送到后端。數(shù)據(jù)會先經(jīng)過Zuul網(wǎng)關(guān),判斷用戶是否登錄以及請求路徑是否合法等,然后會根據(jù)請求路徑分發(fā)到對應(yīng)服務(wù)的Controller接口并轉(zhuǎn)換成對應(yīng)的DTO對象進(jìn)行數(shù)據(jù)校驗(yàn)。在接口中會調(diào)用Service的方法進(jìn)行業(yè)務(wù)邏輯處理,如果沒有出現(xiàn)錯誤,則會將DTO對象轉(zhuǎn)換為持久層(Mapper)對象,并調(diào)用持久層相應(yīng)的添加方法將數(shù)據(jù)寫入數(shù)據(jù)庫中,完整的請求調(diào)用鏈可以通過Zipkin等分布式鏈路追蹤工具進(jìn)行查看。

        2.4.3服務(wù)組成結(jié)構(gòu)

        項(xiàng)目部署架構(gòu)如圖5所示。

        (1) DINNER-SERVER

        Eureka注冊中心,提供服務(wù)注冊服務(wù),其本身也屬于一個服務(wù),各個節(jié)點(diǎn)啟動后,會在Eureka Server中進(jìn)行注冊。Eureka Server不需要注冊自身,且不需要拉取配置文件。Eureka會定時(shí)刪除不健康的服務(wù)節(jié)點(diǎn),當(dāng)大批服務(wù)節(jié)點(diǎn)宕機(jī)時(shí),Eureka會認(rèn)為自身網(wǎng)絡(luò)故障,便會開啟自我保護(hù)模式,不再刪除節(jié)點(diǎn),在該項(xiàng)目中將該功能關(guān)閉。并且,Eureka具有服務(wù)緩存的功能,當(dāng)某個服務(wù)節(jié)點(diǎn)宕機(jī)時(shí),微服務(wù)的Provider和Consumer仍可以依托緩存繼續(xù)通信。

        (2) DINNER-CONFIG-SERVER

        分布式配置中心,集中管理每個微服務(wù)的配置文件,使用Citee統(tǒng)一存儲,實(shí)現(xiàn)配置文件的版本控制。在配置文件中填人Gitee相關(guān)參數(shù),當(dāng)項(xiàng)目啟動時(shí),Config Server會從遠(yuǎn)程倉庫中拉取相關(guān)配置文件。

        (3) MANACER-CATEWAY

        餐飲信息管理系統(tǒng)賣家端人口,采用Spring CloudZuul作為API網(wǎng)關(guān),可以根據(jù)訪問的路由將請求分發(fā)到相應(yīng)的服務(wù),自定義白名單對訪問名單內(nèi)路由的所有請求直接放行。Hytrix為Spring Cloud Netflix的容錯組件,當(dāng)遠(yuǎn)程調(diào)用超出所設(shè)置的時(shí)間時(shí),Hytrix將會執(zhí)行相應(yīng)的保護(hù)措施。Ribbon為Spring Cloud Netflix的負(fù)載均衡組件,當(dāng)連接超出所設(shè)置的時(shí)間時(shí),Ribbon將會根據(jù)相應(yīng)的負(fù)載均衡算法,重新選擇服務(wù)節(jié)點(diǎn),在本案例的多數(shù)服務(wù)中都有相關(guān)配置。

        (4) CUSTOMER-CATEWAY

        餐飲信息管理系統(tǒng)買家端的人口,同樣采用Spring Cloud Zuul作為API網(wǎng)關(guān),其主要配置與MANACER-CATEWAY基本相同。在CUSTOMER-GATEWAY中對訂單服務(wù)等服務(wù)配置了服務(wù)降級處理,當(dāng)遠(yuǎn)程調(diào)用超時(shí)或錯誤時(shí),將會返回托底數(shù)據(jù),避免服務(wù)雪崩。

        (5) DINNER-PRODUCT

        菜品服務(wù),買家端能夠查看菜品信息,賣家端能夠?qū)Σ似沸畔⑦M(jìn)行增刪改查等操作。在需要拉取配置文件的服務(wù)中編寫bootstrap.yml文件,編寫要獲取的配置文件的相關(guān)參數(shù),Spring Boot會優(yōu)先讀取該文件,然后訪問DINNER-CONFIG-SERVER獲取相應(yīng)的配置文件,并使之生效。

        (6) DINNER-ORDER

        訂單服務(wù),為買家提供下單功能,賣家能夠?qū)τ唵涡畔⑦M(jìn)行增刪改查等操作。

        (7) DINNER-USER

        用戶服務(wù),提供買家與賣家用戶信息的各種操作。

        (8) DINNER-AUTH

        認(rèn)證服務(wù),負(fù)責(zé)賣家與買家的賬號登錄以及退出等操作。

        案例提供Spring Cloud Netflix相關(guān)資料,可以讓學(xué)生可以更深入地了解Spring Cloud Netflix的相關(guān)知識。而項(xiàng)目的詳細(xì)結(jié)構(gòu)、業(yè)務(wù)實(shí)現(xiàn)以及代碼邏輯等板塊,則可以讓學(xué)生自行閱讀源代碼進(jìn)行研究[10]。

        2.5網(wǎng)頁前端的實(shí)現(xiàn)(實(shí)現(xiàn),Implement)

        網(wǎng)頁前端的實(shí)現(xiàn)模塊提供美觀的圖形化網(wǎng)頁操作界面,屬于人機(jī)交互的界面接口設(shè)計(jì)以及CDIO的實(shí)現(xiàn)部分( Implement)??晒W(xué)生運(yùn)行以及調(diào)試的網(wǎng)頁前端界面成果如圖6所示。

        本案例前端技術(shù)采用React框架,UI框架使用Ant Design Pro,修改Nginx服務(wù)器配置文件,啟動Nginx即可完成前端部署。本案例前端架構(gòu)基于AntDesign Pro框架開發(fā),采用了TypeScript,React,Umi.js等前端技術(shù)棧,實(shí)現(xiàn)前后端分離的模式進(jìn)行開發(fā)。通過React構(gòu)建View層視圖以及ViewModel層的業(yè)務(wù)邏輯,利用Umi.js完整的插件體系與webpack進(jìn)行前端工程化的模塊開發(fā)。其中,后臺管理界面采用的是ProComponents頁面組件進(jìn)行構(gòu)建,而權(quán)限管理、數(shù)據(jù)流、網(wǎng)絡(luò)請求服務(wù)、跨域代理、mock數(shù)據(jù)等業(yè)務(wù)則是通過Umi的各種播件進(jìn)行開發(fā)。

        2.6教學(xué)過程概述

        (1)在課堂上為學(xué)生介紹項(xiàng)目基本情況,包括項(xiàng)目主題、項(xiàng)目模塊、相關(guān)技術(shù)等,并為學(xué)生提供所需要用到的軟件工具、基本項(xiàng)目代碼以及操作手冊。操作手冊提供圖文并茂的項(xiàng)目介紹、運(yùn)行環(huán)境的安裝、項(xiàng)目部署步驟以及相關(guān)技術(shù)的參考資料[11]。但考慮到學(xué)生的能力水平不一致,需要鼓勵學(xué)生組隊(duì)合作,按照操作手冊的指示完成項(xiàng)目的部署。

        (2)要求學(xué)生在課下認(rèn)真研讀項(xiàng)目源碼,必要時(shí)可以根據(jù)操作手冊提供的資料對相關(guān)技術(shù)進(jìn)行學(xué)習(xí)。教師需要收集學(xué)生在項(xiàng)目部署以及閱讀源碼時(shí)遇到的問題,在教學(xué)社群或課堂上予以解答。另外,建議學(xué)生根據(jù)技術(shù)偏好進(jìn)行分工,如前端開發(fā)、后端開發(fā)、項(xiàng)目測試與項(xiàng)目運(yùn)維,讓學(xué)生真實(shí)地了解軟件項(xiàng)目的開發(fā)流程以及生命周期,并應(yīng)用軟件工程相關(guān)知識撰寫項(xiàng)目手冊,在課堂上進(jìn)行展示和考查。

        (3)在初次教學(xué)實(shí)踐中,有學(xué)生反饋項(xiàng)目部署與運(yùn)行方面的問題。此后的教學(xué)中將會收集相關(guān)問題以及解決方案,不斷迭代操作手冊的內(nèi)容。在成果展示中發(fā)現(xiàn)有更為優(yōu)秀的項(xiàng)目,能夠作為新的項(xiàng)目模板進(jìn)行教學(xué),完成對教學(xué)案例的迭代。

        3基于OBE和CDIO的實(shí)施要點(diǎn)

        案例的基本簡化模塊已經(jīng)在對計(jì)算機(jī)學(xué)院軟件工程專業(yè)學(xué)生的教學(xué)中進(jìn)行實(shí)施,并提供了一定設(shè)計(jì)構(gòu)建的經(jīng)驗(yàn),通過在課程中注入模塊來加強(qiáng)學(xué)生對產(chǎn)品系統(tǒng)生命周期的了解。課程案例及實(shí)踐項(xiàng)目需要緊跟軟件行業(yè)的發(fā)展趨勢,學(xué)生的學(xué)習(xí)成果需要適應(yīng)企業(yè)要求,通過教學(xué)案例改革,培養(yǎng)學(xué)生的軟件工程應(yīng)用能力、軟件項(xiàng)目開發(fā)與測試能力、專業(yè)素質(zhì)等,使學(xué)生熟悉軟件項(xiàng)目開發(fā)流程和規(guī)范,不僅要開發(fā)出好的軟件,還要培養(yǎng)良好的開發(fā)習(xí)慣。而且,通過教學(xué)案例提高了學(xué)生使用所學(xué)知識的能力以及根據(jù)實(shí)際情況解決具體問題的能力,也能培養(yǎng)學(xué)生的創(chuàng)新意識和團(tuán)隊(duì)合作精神。更重要的是,學(xué)生可以通過案例接觸到最前沿的新技術(shù),不會出現(xiàn)“閉門造車”的現(xiàn)象,能有效促進(jìn)學(xué)生的成長[12]。

        可見,理論和實(shí)踐是教學(xué)過程的兩個重要方面,兩者缺一不可,相輔相成。軟件開發(fā)的實(shí)踐體系要緊跟軟件產(chǎn)業(yè)的發(fā)展,注重軟件人才的綜合素質(zhì)和創(chuàng)新意識的培養(yǎng)。因此,軟件開發(fā)的實(shí)際系統(tǒng)應(yīng)該是分層的。首先,將課程案例劃分為知識塊,為每個知識模塊提供教學(xué)、模仿、升級、綜合項(xiàng)目。其次,這些項(xiàng)目是CDIO的項(xiàng)目,階段之間是多個知識塊的綜合應(yīng)用。課堂以學(xué)生為中心,通過設(shè)計(jì)項(xiàng)目案例模塊,完善每個模塊的詳細(xì)操作指引文檔,引導(dǎo)學(xué)生按照文檔步驟完成各個模塊的任務(wù),細(xì)心引導(dǎo)、幫助、培養(yǎng)學(xué)生完成任務(wù),提高學(xué)生的學(xué)習(xí)興趣,耐心點(diǎn)撥學(xué)生困惑,使學(xué)生不斷進(jìn)步。教師在教學(xué)的過程中要注重教育,讓學(xué)生享受成功的喜悅。最后,學(xué)生需要在課前根據(jù)教學(xué)微視頻提前完成知識學(xué)習(xí),而教師需要在課堂上進(jìn)行基礎(chǔ)項(xiàng)目的教學(xué),引導(dǎo)學(xué)生從簡單到復(fù)雜,前后銜接,使得教學(xué)更深入、更徹底。

        隨著項(xiàng)目實(shí)踐的增加,大部分學(xué)生都能在學(xué)習(xí)中自行解決問題,循序漸進(jìn)地總結(jié),最終形成理論。應(yīng)用CDIO教育理念,設(shè)計(jì)項(xiàng)目教學(xué)環(huán)節(jié),目的是激發(fā)學(xué)生的興趣、好奇心和熱情,帶動學(xué)生團(tuán)隊(duì)和個人努力探索新知識。因此,闖關(guān)流程分為個人級別和團(tuán)隊(duì)級別、強(qiáng)制級別和可選級別。案例項(xiàng)目的設(shè)計(jì)要滿足學(xué)生的個體差異,引導(dǎo)學(xué)生積極學(xué)習(xí)新知識。

        4結(jié)束語

        本文探討了CDIO-OBE教育模式下的軟件工程教學(xué)案例模塊的設(shè)計(jì)與實(shí)施。軟件工程案例的教學(xué)按照知識模塊一共劃分為四個模塊,即餐飲信息管理系統(tǒng)軟件結(jié)構(gòu)的設(shè)計(jì)與數(shù)據(jù)模型設(shè)計(jì)(設(shè)計(jì)Design)、MVVM方案的構(gòu)思(構(gòu)思Conceive)、Spring Cloud框架(運(yùn)作Operate)和網(wǎng)頁前端的實(shí)現(xiàn)(實(shí)現(xiàn)Implement),并在案例各模塊充分展現(xiàn)基于成果的教育(OBE)。在案例中,項(xiàng)目的學(xué)習(xí)成果可以通過可視化的形式展現(xiàn)出來。同時(shí),以CDIO-OBE為導(dǎo)向,教學(xué)內(nèi)容緊跟時(shí)代發(fā)展步伐,強(qiáng)調(diào)科技創(chuàng)新的新技術(shù)和新方法,同步課程改革內(nèi)容,按照內(nèi)容分解任務(wù),重構(gòu)教學(xué)案例,并為每個模塊設(shè)計(jì)詳細(xì)實(shí)現(xiàn)文檔,然后布置相應(yīng)的案例任務(wù)來指導(dǎo)學(xué)生按照文檔內(nèi)容逐步去實(shí)現(xiàn)。通過期望學(xué)習(xí)輸出,使學(xué)生清晰地了解學(xué)習(xí)課程后將要達(dá)到的學(xué)習(xí)成果,提高課程的教學(xué)質(zhì)量,為學(xué)生就業(yè)打下良好的基礎(chǔ)?;贑DIO-OBE的工程教育模式理念能夠培養(yǎng)學(xué)生的創(chuàng)新精神,也能提升學(xué)生解決實(shí)際問題的能力,是強(qiáng)化實(shí)踐的有效手段。從審查及評價(jià)結(jié)果可以看出,采用此教學(xué)理念模式的教學(xué)效果明顯,具有一定的理論價(jià)值與應(yīng)用價(jià)值。

        猜你喜歡
        軟件工程教學(xué)
        微課讓高中數(shù)學(xué)教學(xué)更高效
        甘肅教育(2020年14期)2020-09-11 07:57:50
        “自我診斷表”在高中數(shù)學(xué)教學(xué)中的應(yīng)用
        東方教育(2017年19期)2017-12-05 15:14:48
        對外漢語教學(xué)中“想”和“要”的比較
        依托工作室的軟件工程實(shí)踐教學(xué)研究
        基于工程教育認(rèn)證的《軟件工程》課程教學(xué)質(zhì)量建設(shè)研究 
        關(guān)于提高軟件工程實(shí)踐教學(xué)質(zhì)量的幾點(diǎn)思考
        關(guān)于如何創(chuàng)新和完善計(jì)算機(jī)軟件工程管理的探討
        跨越式跳高的教學(xué)絕招
        體育師友(2013年6期)2013-03-11 18:52:18
        国产一区二区三区视频了 | 国产在线观看一区二区三区av | 无码天堂在线视频| 亚洲中文字幕一二区精品自拍| 91精品国产综合久久久密臀九色| 无套中出丰满人妻无码| 男女车车的车车网站w98免费| 无码人妻丰满熟妇精品区| 欧美亚洲另类国产18p| 亚洲国产女同在线观看| 国产在线一区二区三区四区| 国产成人精品午夜二三区波多野| 亚洲爆乳少妇无码激情| 最新国产美女一区二区三区| 少妇我被躁爽到高潮在线影片| 洲色熟女图激情另类图区| 国产精品久久久国产盗摄| 国产乱子伦精品免费无码专区| 欧美人与物videos另类| 懂色av一区二区三区网久久| 草草影院ccyy国产日本欧美| 少妇粉嫩小泬喷水视频www| 亚洲另类自拍丝袜第五页| 国产精品国产三级国产av主| 蜜桃久久综合一区二区| 亚洲av无码专区国产不卡顿| 人妻中文无码久热丝袜| 国产精品亚洲专区在线播放| 粗一硬一长一进一爽一a视频| av日韩高清一区二区| 波多野42部无码喷潮在线| 曰本无码人妻丰满熟妇5g影院| 人妻少妇喷水意淫诱惑| 国产精品国产自产拍高清| 亚洲日韩精品一区二区三区| 真人二十三式性视频(动)| 蜜桃视频中文在线观看| 91盗摄偷拍一区二区三区| 色欲网天天无码av| 国产成人精品一区二区视频| 看黄色亚洲看黄色亚洲|