• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Spring Cloud架構(gòu)的“分布式微服務(wù)”課程開發(fā)研究

    2020-09-15 16:30:34楊驍盧滌非
    計(jì)算機(jī)時(shí)代 2020年8期
    關(guān)鍵詞:軟件開發(fā)項(xiàng)目化教學(xué)

    楊驍 盧滌非

    摘要:根據(jù)互聯(lián)網(wǎng)行業(yè)發(fā)展和企業(yè)崗位需求,分析微服務(wù)人才必備的知識(shí)結(jié)構(gòu),以及技能和素質(zhì)要求,提出“分布式微服務(wù)”課程的主要內(nèi)容為Spring Cloud架構(gòu)及其技術(shù)?;赟pring Cloud開發(fā)框架,以企業(yè)級(jí)的電商后臺(tái)項(xiàng)目為載體,引入真實(shí)的企業(yè)軟件開發(fā)流程,實(shí)施企業(yè)項(xiàng)目化教學(xué),培養(yǎng)學(xué)生未來工作所需的能力及素質(zhì)。

    關(guān)鍵詞:分布式微服務(wù);Spring Cloud;企業(yè)級(jí)電商后臺(tái);軟件開發(fā);項(xiàng)目化教學(xué)

    中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1006-8228(2020)08-91-04

    0 引言

    隨著互聯(lián)網(wǎng)業(yè)務(wù)規(guī)模的迅速發(fā)展,軟件服務(wù)和系統(tǒng)的復(fù)雜度也快速增長。由于傳統(tǒng)的單體架構(gòu)無法滿足快速迭代、持續(xù)交付、系統(tǒng)擴(kuò)展性等需求,因此需要將原來的系統(tǒng)拆分為獨(dú)立的服務(wù)單元,形成多個(gè)微服務(wù)。而微服務(wù)之間難免會(huì)存在依賴關(guān)系,這就需要使用分布式技術(shù)來解決系統(tǒng)拆分后遇到的問題,因此,企業(yè)對(duì)分布式微服務(wù)人才的需求愈來愈迫切。分布式微服務(wù)課程旨在培養(yǎng)計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)專業(yè)學(xué)生從事Java Web開發(fā)與應(yīng)用所需的技能。本文結(jié)合計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)專業(yè)人才培養(yǎng)目標(biāo)和Java Web開發(fā)工程師資格標(biāo)準(zhǔn),探討分布式微服務(wù)課程開發(fā)路徑、內(nèi)容構(gòu)建及Spring Cloud在企業(yè)級(jí)項(xiàng)目教學(xué)中的應(yīng)用。

    1 分布式微服務(wù)課程的開發(fā)思路

    1.1 開發(fā)路徑

    課程的開發(fā)與設(shè)計(jì)是教學(xué)的重點(diǎn)[1],從工作需要出發(fā)是課程開發(fā)的起點(diǎn)嘲。根據(jù)對(duì)計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)專業(yè)畢業(yè)生的就業(yè)情況分析、市場(chǎng)調(diào)查和社會(huì)招聘需求分析,確定該課程對(duì)應(yīng)的職業(yè)崗位為Java Web后臺(tái)開發(fā)工程師,而這一崗位普遍提出了對(duì)分布式微服務(wù)技術(shù)的要求,其典型工作任務(wù)為需求分析、系統(tǒng)方案設(shè)計(jì)、軟件開發(fā)、系統(tǒng)調(diào)試、系統(tǒng)部署及維護(hù),從而可以歸納出行動(dòng)領(lǐng)域要求的相應(yīng)的專業(yè)能力、方法能力和社會(huì)能力,最后轉(zhuǎn)化為對(duì)課程教學(xué)內(nèi)容的選取和學(xué)習(xí)情境的設(shè)計(jì)。課程開發(fā)思路如圖1所示。

    1.2 Java Web開發(fā)技術(shù)棧

    專業(yè)技術(shù)棧是從事專業(yè)某個(gè)崗位(群)所需要掌握的一系列技能的組合。結(jié)合本課程對(duì)應(yīng)的以Java Web為核心的分布式微服務(wù)開發(fā)工程師的技術(shù)需求,可歸納出該職業(yè)崗位所需要的專業(yè)技術(shù)棧(如圖2所示)。

    技術(shù)棧中的Java語言基礎(chǔ)、Java Web基礎(chǔ)知識(shí)、Java Web框架對(duì)應(yīng)的前導(dǎo)課程分別是“Java程序語言設(shè)計(jì)”、“Java Web開發(fā)”和“Java EE企業(yè)級(jí)應(yīng)用開發(fā)”。而Java分布式微服務(wù)技術(shù)就是“分布式微服務(wù)”這門課程所要培養(yǎng)的技能。

    2 分布式微服務(wù)課程內(nèi)容的構(gòu)建

    2.1 課程內(nèi)容構(gòu)建的原則

    課程內(nèi)容的構(gòu)建是課程建設(shè)與改革的重點(diǎn)與難點(diǎn)。課程內(nèi)容的選取要以技術(shù)領(lǐng)域和職業(yè)崗位(群)的任職要求,參照相關(guān)職業(yè)資格標(biāo)準(zhǔn),重視其“針對(duì)性”和“適用性”;也要兼顧技術(shù)領(lǐng)域的更新和學(xué)生的可持續(xù)發(fā)展,突出其“發(fā)展性”。此外,課程內(nèi)容的組織應(yīng)以真實(shí)工作任務(wù)及其工作過程為依據(jù),或以典型項(xiàng)目為依托,以能力為主線,對(duì)學(xué)習(xí)情境(或項(xiàng)目、或主題單元)進(jìn)行結(jié)構(gòu)化、系統(tǒng)化的設(shè)計(jì),課程各模塊之間有合理的邏輯結(jié)構(gòu)[3],體現(xiàn)其“邏輯性”。

    2.2 Spring Cloud架構(gòu)及其內(nèi)容

    根據(jù)上述課程內(nèi)容構(gòu)建的原則要求,通過對(duì)主流的分布式微服務(wù)框架進(jìn)行分析,從而將分布式微服務(wù)開發(fā)框架Spring Cloud及其相關(guān)技術(shù)明確為微服務(wù)課程的主要教學(xué)內(nèi)容。

    當(dāng)系統(tǒng)由單體應(yīng)用拆分成分布式服務(wù)后,單體應(yīng)用中的各個(gè)模塊被劃分到了各個(gè)子系統(tǒng),各個(gè)模塊之間的相互調(diào)用變成子系統(tǒng)之間的網(wǎng)絡(luò)交互。Spring Cloud提供了一系列框架來進(jìn)行分布式服務(wù)的構(gòu)建,如圖3所示:分布式注冊(cè)中心Eureka、負(fù)載均衡組件Ribbon、分布式網(wǎng)關(guān)Zuul、聲明式調(diào)用組件Feign和熔斷器Hystrix。

    3 Spring Cloud在企業(yè)級(jí)項(xiàng)目化教學(xué)中的應(yīng)用

    3.1 企業(yè)級(jí)電商后臺(tái)項(xiàng)目

    面向企業(yè)真實(shí)生產(chǎn)環(huán)境的項(xiàng)目化教學(xué)模式是“引企入教”課程改革思想的生動(dòng)實(shí)踐,有利于教學(xué)做一體化的實(shí)施,有利于提高學(xué)生的應(yīng)用能力和學(xué)習(xí)積極性。本課程選擇電商項(xiàng)目作為載體主要基于兩點(diǎn)考慮:首先,學(xué)生在生活中經(jīng)常使用過淘寶、京東等電商平臺(tái),是電商產(chǎn)品的用戶,在業(yè)務(wù)理解上相對(duì)容易。其次,該電商項(xiàng)目由多個(gè)模塊組成,且各模塊之間有信息交互,具有一定的復(fù)雜度和綜合性,適合使用分布式微服務(wù)技術(shù)來構(gòu)建系統(tǒng)。

    電商后臺(tái)可以拆分為商品中心、訂單中心、支付中心、會(huì)員中心等子系統(tǒng)。在一個(gè)完整的交易鏈路上,需要各個(gè)子系統(tǒng)之間相互交互,因此各個(gè)子系統(tǒng)都需要采用Spring Cloud來進(jìn)行構(gòu)建。

    3.2 企業(yè)軟件開發(fā)真實(shí)流程的引入

    3.2.1 真實(shí)企業(yè)級(jí)項(xiàng)目引入教學(xué)的優(yōu)勢(shì)

    傳統(tǒng)項(xiàng)目式教學(xué)的不足在于,學(xué)生往往實(shí)現(xiàn)的只是具體的某項(xiàng)功能;而在實(shí)際工作中,需面對(duì)的卻是現(xiàn)實(shí)生活中的各種需求;從現(xiàn)實(shí)需求到具體要實(shí)現(xiàn)的功能的轉(zhuǎn)化需要對(duì)業(yè)務(wù)的理解和抽象。引入企業(yè)級(jí)項(xiàng)目式教學(xué)模式,不僅在項(xiàng)目學(xué)習(xí)內(nèi)容上模擬企業(yè)級(jí)的軟件產(chǎn)品,而且在軟件開發(fā)流程上也與真實(shí)的企業(yè)環(huán)境保持一致,讓學(xué)生可以體驗(yàn)到真實(shí)的工作場(chǎng)景,熟悉軟件開發(fā)流程,掌握各種實(shí)際工作所需的實(shí)用技術(shù)。

    3.2.2 軟件開發(fā)的主要流程及其描述

    基于軟件開發(fā)工作流程,分析崗位對(duì)應(yīng)的工作任務(wù)是分布式微服務(wù)課程開發(fā)的重要技術(shù)。這就要求在課程開發(fā)者有一定的企業(yè)工作經(jīng)歷,熟悉企業(yè)真實(shí)開發(fā)流程,同時(shí)能有效地根據(jù)工作任務(wù)重組課程內(nèi)容體系,從而有針對(duì)性地培養(yǎng)學(xué)生完成實(shí)際項(xiàng)目所需的各項(xiàng)技能及相應(yīng)的專業(yè)能力、方法能力和社會(huì)能力。下面分別從軟件開發(fā)流程的開發(fā)前、開發(fā)中和開發(fā)后三個(gè)階段進(jìn)行描述(如圖4所示)。

    開發(fā)前:在這里的企業(yè)級(jí)項(xiàng)目中,分配給學(xué)生的是需求而不是具體要實(shí)現(xiàn)的功能。首先引導(dǎo)學(xué)生進(jìn)行需求分析,在準(zhǔn)確理解用戶和項(xiàng)目需求后,來確定系統(tǒng)需要實(shí)現(xiàn)的功能,從而培養(yǎng)學(xué)生的業(yè)務(wù)理解能力和抽象能力。在系統(tǒng)分析時(shí)明確當(dāng)前系統(tǒng)在整理系統(tǒng)中的位置和上下游依賴關(guān)系,劃分功能邊界,培養(yǎng)學(xué)生站在項(xiàng)目整體的高度去架構(gòu)系統(tǒng)的能力;此外,實(shí)現(xiàn)一個(gè)功能的方案通常有多種,引導(dǎo)學(xué)生通過系統(tǒng)分析權(quán)衡各種實(shí)現(xiàn)方案之間的適用場(chǎng)景和利弊,來選擇最優(yōu)的方案,從而培養(yǎng)學(xué)生的思維擴(kuò)展能力和系統(tǒng)分析能力。在正式開發(fā)之前,需要先定義好與上下游系統(tǒng)進(jìn)行的交互協(xié)議,并與對(duì)應(yīng)的負(fù)責(zé)人進(jìn)行協(xié)議評(píng)審,確保協(xié)議的合理性和完整性。引導(dǎo)學(xué)生進(jìn)行前后端協(xié)議文檔的書寫,可以培養(yǎng)學(xué)生的思維嚴(yán)密性和工程規(guī)范意識(shí)。開發(fā)前的最后一步是數(shù)據(jù)庫設(shè)計(jì)。由于電商后臺(tái)是重業(yè)務(wù)、重邏輯的后臺(tái),數(shù)據(jù)庫設(shè)計(jì)的合理性和擴(kuò)展性,在一定程度上就決定了系統(tǒng)本身的正確性和擴(kuò)展性。引導(dǎo)學(xué)生進(jìn)行數(shù)據(jù)庫的設(shè)計(jì),可以鍛煉學(xué)生系統(tǒng)設(shè)計(jì)的能力。

    開發(fā)中:在開發(fā)過程中,因?yàn)閷W(xué)生實(shí)現(xiàn)的子系統(tǒng)只是完整系統(tǒng)的一部分,必然需要依賴其他系統(tǒng)才能完成完整的功能,而在真實(shí)項(xiàng)目中,各個(gè)子系統(tǒng)之間的開發(fā)進(jìn)度往往是并行的,因此需要自己去Mock依賴接口來完成開發(fā)中的自測(cè)。更進(jìn)一步,可以引導(dǎo)學(xué)生設(shè)計(jì)完善的單元測(cè)試用例,之后進(jìn)行測(cè)試驅(qū)動(dòng)開發(fā),培養(yǎng)其良好的軟件開發(fā)習(xí)慣。在各個(gè)子系統(tǒng)開發(fā)完成之后,與別的同學(xué)進(jìn)行系統(tǒng)聯(lián)調(diào),這個(gè)階段往往可以發(fā)現(xiàn)一些前面各個(gè)階段考慮不周引起的問題。通過相互協(xié)作解決這些問題的過程,可以培養(yǎng)學(xué)生的溝通能力、合作能力和處理問題的能力。在系統(tǒng)聯(lián)調(diào)之后,各組之間相互進(jìn)行測(cè)試,列出出現(xiàn)的缺陷( bugs)。讓學(xué)生站在另一個(gè)角度去審視整個(gè)系統(tǒng),培養(yǎng)思維的嚴(yán)密性。通過代碼評(píng)審來發(fā)現(xiàn)代碼中存在的編碼規(guī)范問題、代碼結(jié)構(gòu)問題、實(shí)現(xiàn)問題等,引導(dǎo)學(xué)生進(jìn)行代碼重構(gòu),提高代碼質(zhì)量。

    開發(fā)后:在系統(tǒng)開發(fā)后,首先需要進(jìn)行系統(tǒng)容量評(píng)估,確定系統(tǒng)的吞吐量、最大并發(fā)量等數(shù)據(jù),從而明確系統(tǒng)的性能瓶頸。然后引導(dǎo)學(xué)生將服務(wù)部署到云服務(wù)上。在服務(wù)部署后,還需要配置服務(wù)相關(guān)的監(jiān)控和告警,以便及時(shí)發(fā)現(xiàn)線上系統(tǒng)的問題,并能在系統(tǒng)出現(xiàn)問題后,對(duì)問題排查和修復(fù)。在開發(fā)后進(jìn)行的對(duì)系統(tǒng)的容量評(píng)估、部署、監(jiān)控和維護(hù)工作可以提高學(xué)生實(shí)際的工程應(yīng)用能力、問題解決能力,培養(yǎng)學(xué)生的責(zé)任意識(shí)。

    4 結(jié)束語

    課程是教育供給社會(huì)的重要產(chǎn)品,課程建設(shè)是高等教育內(nèi)涵建設(shè)的核心[4],工作過程是課程開發(fā)與設(shè)計(jì)的起點(diǎn),能力培養(yǎng)是課程開發(fā)的指向目標(biāo),企業(yè)要素是課程開發(fā)的關(guān)鍵元素[5],真實(shí)項(xiàng)目是課程開發(fā)的生動(dòng)素材?;赟pring Cloud架構(gòu)的“分布式微服務(wù)”課程,源于企業(yè)真實(shí)項(xiàng)目,再現(xiàn)企業(yè)真實(shí)工作流程與場(chǎng)景,融合相關(guān)知識(shí)和技能,有效培養(yǎng)了學(xué)生的程序思維和應(yīng)用能力,為后續(xù)專業(yè)課程的學(xué)習(xí)和可持續(xù)發(fā)展打下了堅(jiān)實(shí)基礎(chǔ)。由于課程學(xué)習(xí)質(zhì)量是課程開發(fā)的出發(fā)點(diǎn)和落腳點(diǎn),本課程還需根據(jù)“崗證課融通”的原則,逐步完善其多元評(píng)價(jià)標(biāo)準(zhǔn)。

    參考文獻(xiàn)(References):

    [1]盧滌非.“互聯(lián)網(wǎng)+”時(shí)代的高職實(shí)訓(xùn)課程移動(dòng)學(xué)習(xí)平臺(tái)探討[J].計(jì)算機(jī)時(shí)代,2019.12:79-80,84

    [2]姜大源.世界職教課程改革的基本走勢(shì)及啟示[J].前沿,2008.11:4-10

    [3]徐國慶.職業(yè)教育項(xiàng)目課程開發(fā)指南[M].華東師范大學(xué)出版社.2009.

    [4]劉雪琪.實(shí)現(xiàn)內(nèi)涵發(fā)展要發(fā)揮專業(yè)建設(shè)作用[J].中國高等教育,2017. 21: 59-60

    [5]覃川.I+X證書制度:促進(jìn)類型教育內(nèi)涵發(fā)展的重要保障[J].中國高教研究,2020.1:104-108

    基金項(xiàng)目:浙江省自然科學(xué)基金,浙江省基礎(chǔ)公益研究計(jì)劃項(xiàng)目(LGG19H180001)

    作者簡介:楊驍(1990-),男,湖北南漳人,碩士研究生,工程師,主要研究方向:分布式技術(shù)與大數(shù)據(jù)。

    通訊作者:盧滌非(1972-),男,浙江東陽人,博士研究生,教授,主要研究方向:圖形圖像技術(shù)和教學(xué)。

    猜你喜歡
    軟件開發(fā)項(xiàng)目化教學(xué)
    信息安全環(huán)境下的計(jì)算機(jī)軟件開發(fā)研究
    建模技術(shù)在軟件開發(fā)中的應(yīng)用
    高職《管理學(xué)》課程實(shí)行項(xiàng)目化教學(xué)改革與實(shí)踐策略
    芻議項(xiàng)目化教學(xué)法在本科動(dòng)漫實(shí)訓(xùn)課程中的探索與應(yīng)用
    眾籌模式引入工業(yè)產(chǎn)品設(shè)計(jì)項(xiàng)目化教學(xué)的思考與探索
    《UG NX機(jī)械產(chǎn)品設(shè)計(jì)》課程項(xiàng)目化教學(xué)的改革研究
    科技視界(2016年18期)2016-11-03 21:50:03
    核電廠定期試驗(yàn)管理軟件開發(fā)
    科技視界(2016年21期)2016-10-17 20:50:03
    FPGA軟件開發(fā)過程中編碼規(guī)范的作用
    科技視界(2016年20期)2016-09-29 13:35:10
    大荔县| 葫芦岛市| 景宁| 临夏市| 盐山县| 上林县| 腾冲县| 洪洞县| 富源县| 安图县| 石嘴山市| 丹寨县| 昆山市| 桂林市| 兴隆县| 海宁市| 新竹市| 曲阳县| 奉贤区| 南汇区| 海南省| 麟游县| 红桥区| 星子县| 清远市| 阳新县| 合肥市| 福清市| 安阳县| 杭锦后旗| 犍为县| 云浮市| 塘沽区| 衡东县| 手机| 方城县| 竹北市| 新巴尔虎左旗| 渭南市| 洛隆县| 灵寿县|