• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于敏捷開(kāi)發(fā)的軟件體系結(jié)構(gòu)教學(xué)研究

      2018-01-31 07:49:42
      計(jì)算機(jī)教育 2018年1期
      關(guān)鍵詞:方法課程教學(xué)

      丁 箐

      (中國(guó)科學(xué)技術(shù)大學(xué) 軟件學(xué)院,安徽 合肥 230051)

      0 引 言

      軟件體系結(jié)構(gòu)是軟件學(xué)院針對(duì)工程碩士開(kāi)設(shè)的一門(mén)專(zhuān)業(yè)類(lèi)高級(jí)課程,學(xué)生通過(guò)學(xué)習(xí)該課程,能夠掌握軟件項(xiàng)目開(kāi)發(fā)中的架構(gòu)設(shè)計(jì)知識(shí),了解一個(gè)軟件系統(tǒng)的各種非功能需求如何滿(mǎn)足。該課程必須通過(guò)實(shí)踐操作,才能讓學(xué)生更深入地理解和掌握。

      目前,軟件工程實(shí)踐課程都采用傳統(tǒng)的瀑布模型進(jìn)行授課:首先教師進(jìn)行理論課程知識(shí)點(diǎn)的傳授,然后學(xué)生在實(shí)驗(yàn)課時(shí)內(nèi)根據(jù)上課時(shí)傳授的知識(shí)點(diǎn)進(jìn)行相應(yīng)的項(xiàng)目編程練習(xí),軟件產(chǎn)品的形態(tài)只有到了開(kāi)發(fā)后期才能看到,但是學(xué)生一般沒(méi)有開(kāi)發(fā)經(jīng)驗(yàn),很難一步到位完成任務(wù),而且學(xué)生普遍對(duì)撰寫(xiě)文檔不感興趣,導(dǎo)致教學(xué)效果不佳。敏捷軟件開(kāi)發(fā)以人為導(dǎo)向,主動(dòng)適應(yīng)項(xiàng)目需求的變化,因此本質(zhì)上來(lái)說(shuō)敏捷方法更加適合這類(lèi)課程的教學(xué)[1-4]。

      1 敏捷開(kāi)發(fā)方法在教學(xué)中的應(yīng)用

      敏捷開(kāi)發(fā)是目前在IT公司中使用最多的軟件開(kāi)發(fā)過(guò)程,其開(kāi)發(fā)模型適合中、小型軟件系統(tǒng),能在短時(shí)間內(nèi)開(kāi)發(fā)出可運(yùn)行的系統(tǒng),因此得到了廣泛的研究,例如唐涌等[1]討論了全球化開(kāi)發(fā)團(tuán)隊(duì)的敏捷開(kāi)發(fā)模式;季鐵等[2]通過(guò)對(duì)比以用戶(hù)為中心的設(shè)計(jì)和敏捷開(kāi)發(fā)存在的共性和特性,結(jié)合實(shí)際項(xiàng)目提出了將以人為中心的設(shè)計(jì)整合到敏捷開(kāi)發(fā)過(guò)程中的方法;榮國(guó)平等[3]通過(guò)調(diào)研和分析嵌入式系統(tǒng)開(kāi)發(fā)過(guò)程中敏捷方法的應(yīng)用狀況,研究如何通過(guò)擴(kuò)展和改進(jìn)敏捷方法,更好地適應(yīng)嵌入式系統(tǒng)開(kāi)發(fā);田曉盼[4]則關(guān)注敏捷思想的理念與用戶(hù)體驗(yàn)設(shè)計(jì)的結(jié)合,從而引出敏捷用戶(hù)體驗(yàn)設(shè)計(jì)的概念,并將之應(yīng)用到移動(dòng)APP的設(shè)計(jì)和開(kāi)發(fā)中。

      在軟件工程實(shí)踐類(lèi)課程中,引入敏捷開(kāi)發(fā)方法可以更好地調(diào)動(dòng)學(xué)生的積極性,使學(xué)生能夠更好地適應(yīng)未來(lái)工作中開(kāi)發(fā)軟件產(chǎn)品的流程,增強(qiáng)學(xué)生的合作意識(shí)和團(tuán)隊(duì)精神,并且針對(duì)學(xué)生群體差異調(diào)整教學(xué)內(nèi)容。近年來(lái),不少教育工作者在如何將敏捷開(kāi)發(fā)方法應(yīng)用到計(jì)算機(jī)類(lèi)課程的教學(xué)中進(jìn)行了有益的探索,其中部分研究者集中于軟件工程課程。例如管林挺等[5]討論了當(dāng)前軟件工程在教學(xué)中遇到的問(wèn)題,提出了基于敏捷開(kāi)發(fā)組織教學(xué)內(nèi)容和教學(xué)實(shí)踐的方法,并分析了這種方法的優(yōu)點(diǎn);樸勇[6]通過(guò)分析傳統(tǒng)開(kāi)發(fā)過(guò)程和敏捷開(kāi)發(fā)過(guò)程在軟件工程課程教學(xué)中的不同特點(diǎn),提出了敏捷開(kāi)發(fā)的教學(xué)要點(diǎn)、相應(yīng)的支持工具;白魚(yú)秀等[7]針對(duì)傳統(tǒng)瀑布模型在軟件工程實(shí)踐課程教學(xué)中的不足,基于敏捷開(kāi)發(fā)方法提出一種適合軟件工程實(shí)踐課程的教學(xué)方法,并給出了相應(yīng)的實(shí)施方法。另一些學(xué)者則將敏捷方法應(yīng)用到其他的計(jì)算機(jī)領(lǐng)域課程的探索,如顧家銘[8]針對(duì)物聯(lián)網(wǎng)專(zhuān)業(yè)實(shí)踐課程中存在的問(wèn)題,采用敏捷開(kāi)發(fā)思想,引入Scrum開(kāi)發(fā)模式,并改革成績(jī)考核方式;肖小聰?shù)萚9]將敏捷開(kāi)發(fā)思想融入數(shù)據(jù)庫(kù)課程設(shè)計(jì)中,提出了基于敏捷開(kāi)發(fā)的數(shù)據(jù)庫(kù)課程設(shè)計(jì)的總體思路、實(shí)驗(yàn)框架以及具體實(shí)施辦法。然而,對(duì)于如何在軟件體系結(jié)構(gòu)課程中應(yīng)用敏捷方法目前還沒(méi)有相關(guān)文獻(xiàn)。

      2 課程內(nèi)容

      敏捷軟件開(kāi)發(fā)在實(shí)際應(yīng)用中有很多具體的實(shí)施方法,如極限編程(XP)、精益開(kāi)發(fā)(Lean Development)、Scrum等。在教學(xué)實(shí)踐上,首先需要選定一種方法作為實(shí)施工具。經(jīng)過(guò)多方比較,筆者選擇了Scrum,它是一個(gè)迭代增量框架,采用周期方式完成產(chǎn)品開(kāi)發(fā),周期性工作稱(chēng)為Sprint,因此課程內(nèi)容圍繞 Sprint的設(shè)計(jì)來(lái)開(kāi)展。

      如表1,軟件體系結(jié)構(gòu)課程共50理論學(xué)時(shí),分為6個(gè)階段任務(wù)。每個(gè)Sprint開(kāi)始時(shí),項(xiàng)目團(tuán)隊(duì)從階段任務(wù)列表中選擇需要完成的項(xiàng)目,并在該Sprint結(jié)束前完成這些需求。Sprint期間團(tuán)隊(duì)成員簡(jiǎn)要匯報(bào)彼此的進(jìn)度,Sprint結(jié)束后,項(xiàng)目團(tuán)隊(duì)演示他們所做的工作,并且反饋需要融入下次Sprint的工作。課程關(guān)聯(lián)的項(xiàng)目是一個(gè)分布式系統(tǒng)里監(jiān)控系統(tǒng)機(jī)群的智能監(jiān)管系統(tǒng),不指定具體的開(kāi)發(fā)技術(shù),僅要求需要完成的功能以及需要滿(mǎn)足的各項(xiàng)非功能需求。課程的內(nèi)容以軟件體系架構(gòu)的各種視圖和質(zhì)量屬性為主,聯(lián)系J2EE框架的各個(gè)組成部分,學(xué)生在每個(gè)Sprint中可以選擇J2EE框架各層的相應(yīng)技術(shù)完成本階段的任務(wù)。Sprint3之前的開(kāi)發(fā)技術(shù)為必須完成的任務(wù),考慮到學(xué)生間差異較為明顯,Sprint4和Sprint5的相關(guān)技術(shù)為選做內(nèi)容,開(kāi)發(fā)進(jìn)度較快的學(xué)生可以采用這些技術(shù)對(duì)開(kāi)發(fā)項(xiàng)目進(jìn)行再次迭代,并比較不同技術(shù)對(duì)所開(kāi)發(fā)項(xiàng)目各種非功能需求的影響。

      Scrum團(tuán)隊(duì)一般由產(chǎn)品負(fù)責(zé)人(Product Owner)、Scrum主管(Scrum Master)和開(kāi)發(fā)團(tuán)隊(duì)(Scrum Team)組成。產(chǎn)品負(fù)責(zé)人收集來(lái)自客戶(hù)、項(xiàng)目團(tuán)隊(duì)等各方面的需求信息,追求商業(yè)價(jià)值最大化,輸出需求優(yōu)先列表,該軟件在軟件體系結(jié)構(gòu)的教學(xué)中由任課老師擔(dān)任;開(kāi)發(fā)團(tuán)隊(duì)是軟件的實(shí)現(xiàn)者,決定最終提交產(chǎn)品的質(zhì)量,本案例中開(kāi)發(fā)團(tuán)隊(duì)的規(guī)模是4人左右,選擇一人作為Scrum主管,負(fù)責(zé)引導(dǎo)團(tuán)隊(duì)使用好Scrum;一般來(lái)說(shuō)軟件項(xiàng)目中的開(kāi)發(fā)團(tuán)隊(duì)包括分析師、開(kāi)發(fā)者、接口設(shè)計(jì)者、測(cè)試員等,案例中團(tuán)隊(duì)內(nèi)部的職責(zé)劃分由學(xué)生實(shí)施,但建議每名學(xué)生既承擔(dān)開(kāi)發(fā)任務(wù),又承擔(dān)測(cè)試任務(wù)。

      3 實(shí)施方法

      整個(gè)課程的Scrum實(shí)施過(guò)程包括以下幾大部分。

      1)開(kāi)始Scrum。

      即Sprint0階段,教師介紹課程基本情況,列舉項(xiàng)目所有產(chǎn)品需求,根據(jù)全部需求明確優(yōu)先級(jí),形成產(chǎn)品訂單,開(kāi)始Sprint 迭代。

      2)Sprint迭代。

      即Sprint1到Sprint4階段,主要包括:

      (1)開(kāi)展迭代會(huì)議。

      Sprint計(jì)劃會(huì)議(Sprint planning meeting)要確定本次迭代結(jié)束按照優(yōu)先級(jí)順序需要提交的需求項(xiàng)以及評(píng)估小組在此次迭代中完成任務(wù)需要的時(shí)間,按優(yōu)先級(jí)分解為任務(wù),并在團(tuán)隊(duì)成員中分配。

      站立會(huì)議中開(kāi)發(fā)團(tuán)隊(duì)成員匯報(bào)進(jìn)展和困難,更新完成每項(xiàng)任務(wù)的剩余時(shí)間,Scrum主管據(jù)此更新任務(wù)看板上的燃盡圖。

      評(píng)審會(huì)議,評(píng)估本次Sprint完成情況,為進(jìn)入下一個(gè)Sprint做準(zhǔn)備,根據(jù)上次完成的結(jié)果修改產(chǎn)品訂單,重新確定優(yōu)先級(jí)。

      反思會(huì)議要求每個(gè)小組必須每天進(jìn)行代碼回顧,及早發(fā)現(xiàn)問(wèn)題,通過(guò)對(duì)代碼進(jìn)行重構(gòu),反思得失。

      (2)持續(xù)集成,小組每天進(jìn)行一次代碼集成。不同迭代階段涉及同一層上采用不同技術(shù)開(kāi)發(fā)的相同功能,在不影響程序正確性和功能的前提下,可以部分集成,并行開(kāi)發(fā)。

      (3)技術(shù)講座,課程開(kāi)展過(guò)程中結(jié)合課程內(nèi)容會(huì)安排幾次講座,主要涉及目前流行的各種開(kāi)發(fā)框架,學(xué)有余力的學(xué)生可以嘗試采用這些框架在迭代中更換某些系統(tǒng)層。

      (4)文檔編寫(xiě),采用敏捷開(kāi)發(fā)的教學(xué)也需要部分文檔的支持,本課程主要集中在軟件體系結(jié)構(gòu)中各種視圖的展現(xiàn),針對(duì)解決問(wèn)題的不同角度,

      要求各小組在迭代的各個(gè)階段完成相應(yīng)的視圖。

      表1 教學(xué)實(shí)踐案例框架表

      3)發(fā)布產(chǎn)品。

      各小組提交最終產(chǎn)品,進(jìn)行課程項(xiàng)目最終的考核評(píng)價(jià)。小組進(jìn)行項(xiàng)目答辯,小組項(xiàng)目考核分?jǐn)?shù)由教師評(píng)定分和其他小組評(píng)定分綜合決定。考核的依據(jù)主要是系統(tǒng)的完成程度和功能(40%)、項(xiàng)目的難度(20%)、文檔的正確性(20%)以及答辯表述(20%)。小組中每個(gè)學(xué)生的成績(jī)由項(xiàng)目小組的分?jǐn)?shù)和其在項(xiàng)目小組中的貢獻(xiàn)率綜合評(píng)定,最后結(jié)合課程理論考試的分?jǐn)?shù),得到該學(xué)生的最終成績(jī)。

      4 結(jié) 語(yǔ)

      針對(duì)軟件體系結(jié)構(gòu)這門(mén)軟件工程碩士專(zhuān)業(yè)的專(zhuān)業(yè)類(lèi)高級(jí)課程,由于涉及大量的架構(gòu)類(lèi)理論知識(shí),對(duì)沒(méi)有大量編程訓(xùn)練的學(xué)生來(lái)說(shuō),要想較好地理解這些概念具有很大的難度。因此,通常來(lái)說(shuō)該門(mén)課程需要增加項(xiàng)目練習(xí)來(lái)輔助學(xué)生理解概念。然而,采用傳統(tǒng)瀑布模型,學(xué)生很難一步到位圓滿(mǎn)地完成各個(gè)階段的任務(wù),導(dǎo)致教學(xué)質(zhì)量普遍欠佳。

      通過(guò)調(diào)研敏捷開(kāi)發(fā)方式在軟件工程以及其他一些計(jì)算機(jī)課程中的應(yīng)用,筆者發(fā)現(xiàn)敏捷開(kāi)發(fā)是基于適應(yīng)的,通過(guò)主動(dòng)適應(yīng)項(xiàng)目需求的變化,從本質(zhì)上來(lái)說(shuō)更適合軟件體系結(jié)構(gòu)課程的教學(xué)。因此,根據(jù)課程的具體內(nèi)容,筆者采用Scrum精心設(shè)計(jì)了各個(gè)Sprint的階段任務(wù)、需要提交的內(nèi)容和對(duì)應(yīng)的理論知識(shí),并根據(jù)該課程的特點(diǎn)制定了相應(yīng)的實(shí)施方法,在實(shí)際的教學(xué)中起到了很好的效果,根據(jù)學(xué)生的反饋,對(duì)掌握該課程的各知識(shí)點(diǎn)有較大的幫助。

      [1]唐涌, 馬振勇, 張道林. 全球化團(tuán)隊(duì)的敏捷開(kāi)發(fā)模式[J]. 東華理工大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版), 2014, 33(1): 87-93.

      [2]季鐵, 謝琪, 陳憲濤. 將以用戶(hù)為中心引入敏捷開(kāi)發(fā)的方法探究[J]. 包裝工程, 2013, 34(6): 50-54.

      [3]榮國(guó)平, 劉天宇, 謝明娟, 等. 嵌入式系統(tǒng)開(kāi)發(fā)中敏捷方法的應(yīng)用研究綜述[J]. 軟件學(xué)報(bào), 2014, 25(2): 267-283.

      [4]田曉盼. 基于敏捷開(kāi)發(fā)的移動(dòng)APP用戶(hù)體驗(yàn)設(shè)計(jì)研究[D]. 上海: 華東理工大學(xué), 2015.

      [5]管林挺, 顧沈明. 基于敏捷軟件開(kāi)發(fā)的軟件工程教學(xué)研究[J]. 計(jì)算機(jī)時(shí)代, 2009(8): 45-46.

      [6]樸勇. 敏捷過(guò)程在軟件工程課程中的教學(xué)實(shí)踐[J]. 計(jì)算機(jī)教育, 2015(24): 78-80.

      [7]白魚(yú)秀, 鄭歡歡. 敏捷開(kāi)發(fā)在軟件工程實(shí)踐課程中的應(yīng)用[J]. 計(jì)算機(jī)時(shí)代, 2017(1): 85-86.

      [8]顧家銘. 敏捷開(kāi)發(fā)在物聯(lián)網(wǎng)實(shí)踐教學(xué)中的探索[J]. 軟件導(dǎo)刊(教育技術(shù)版), 2016, 15(4): 19-21.

      [9]肖小聰, 曹步清, 龔波. 基于敏捷開(kāi)發(fā)的數(shù)據(jù)庫(kù)系統(tǒng)課程設(shè)計(jì)教學(xué)研究與實(shí)踐[J]. 當(dāng)代教育理論與實(shí)踐, 2016, 8(1): 37-39.

      猜你喜歡
      方法課程教學(xué)
      數(shù)字圖像處理課程混合式教學(xué)改革與探索
      微課讓高中數(shù)學(xué)教學(xué)更高效
      甘肅教育(2020年14期)2020-09-11 07:57:50
      軟件設(shè)計(jì)與開(kāi)發(fā)實(shí)踐課程探索與實(shí)踐
      為什么要學(xué)習(xí)HAA課程?
      “自我診斷表”在高中數(shù)學(xué)教學(xué)中的應(yīng)用
      東方教育(2017年19期)2017-12-05 15:14:48
      對(duì)外漢語(yǔ)教學(xué)中“想”和“要”的比較
      可能是方法不對(duì)
      用對(duì)方法才能瘦
      Coco薇(2016年2期)2016-03-22 02:42:52
      四大方法 教你不再“坐以待病”!
      Coco薇(2015年1期)2015-08-13 02:47:34
      捕魚(yú)
      留坝县| 出国| 紫金县| 苏尼特左旗| 山东| 万宁市| 富源县| 托克逊县| 乳源| 广昌县| 苗栗市| 昌宁县| 昆明市| 石渠县| 包头市| 修武县| 寿光市| 萝北县| 成安县| 都兰县| 曲阳县| 彭州市| 霍山县| 乌苏市| 津南区| 巴中市| 锦州市| 稷山县| 健康| 苍溪县| 珠海市| 云和县| 深州市| 惠东县| 海安县| 揭东县| 海晏县| 大竹县| 普格县| 福泉市| 井陉县|