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

        ?

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

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

        丁 箐

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

        0 引 言

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

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

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

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

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

        2 課程內(nèi)容

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

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

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

        3 實施方法

        整個課程的Scrum實施過程包括以下幾大部分。

        1)開始Scrum。

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

        2)Sprint迭代。

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

        (1)開展迭代會議。

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

        站立會議中開發(fā)團隊成員匯報進展和困難,更新完成每項任務(wù)的剩余時間,Scrum主管據(jù)此更新任務(wù)看板上的燃盡圖。

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

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

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

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

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

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

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

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

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

        4 結(jié) 語

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

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

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

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

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

        [4]田曉盼. 基于敏捷開發(fā)的移動APP用戶體驗設(shè)計研究[D]. 上海: 華東理工大學(xué), 2015.

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

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

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

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

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

        猜你喜歡
        方法課程教學(xué)
        數(shù)字圖像處理課程混合式教學(xué)改革與探索
        微課讓高中數(shù)學(xué)教學(xué)更高效
        甘肅教育(2020年14期)2020-09-11 07:57:50
        軟件設(shè)計與開發(fā)實踐課程探索與實踐
        計算機教育(2020年5期)2020-07-24 08:53:38
        為什么要學(xué)習(xí)HAA課程?
        “自我診斷表”在高中數(shù)學(xué)教學(xué)中的應(yīng)用
        東方教育(2017年19期)2017-12-05 15:14:48
        對外漢語教學(xué)中“想”和“要”的比較
        可能是方法不對
        用對方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        捕魚
        国产又色又爽无遮挡免费动态图 | 女同性恋精品一区二区三区| 国内精品嫩模av私拍在线观看 | 中文字幕精品亚洲无线码二区 | 亚洲一区二区三区精品| 久久天天躁狠狠躁夜夜av| 久久97精品久久久久久久不卡 | 色爱区综合五月激情| 日韩国产有码在线观看视频| 日本高清视频一区二区| 色综合久久久无码中文字幕| 精品国产乱码久久久软件下载| 最新欧美一级视频| 亚洲精品美女中文字幕久久| 亚洲人精品午夜射精日韩| 国产无套护士在线观看| 欧美人与动牲交片免费| 美女露出奶头扒开内裤的视频| 国模吧无码一区二区三区| 欧美va亚洲va在线观看| 久久高潮少妇视频免费| 久久一道精品一区三区| 国产深夜男女无套内射| 亚洲欧洲日产国码无码AV一| 看中文字幕一区二区三区| 99久久精品免费看国产一区二区三区| 国产精品va在线观看无码| 狼色在线精品影视免费播放| 亚洲成人精品在线一区二区| 日本乱偷人妻中文字幕| 成年女人a级毛片免费观看| 精品香蕉久久久午夜福利| 欧美亚洲另类国产18p| 久久综合久久综合久久| 少妇aaa级久久久无码精品片| 无码精品国产va在线观看| 日韩毛片久久91| 亚洲精品久久蜜桃av| 99视频30精品视频在线观看| 国产成人免费a在线视频| 国产自拍高清在线观看|