999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于敏捷開發的軟件體系結構教學研究

2018-01-31 07:49:42
計算機教育 2018年1期
關鍵詞:方法課程教學

丁 箐

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

0 引 言

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

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

1 敏捷開發方法在教學中的應用

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

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

2 課程內容

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

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

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

3 實施方法

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

1)開始Scrum。

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

2)Sprint迭代。

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

(1)開展迭代會議。

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

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

評審會議,評估本次Sprint完成情況,為進入下一個Sprint做準備,根據上次完成的結果修改產品訂單,重新確定優先級。

反思會議要求每個小組必須每天進行代碼回顧,及早發現問題,通過對代碼進行重構,反思得失。

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

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

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

要求各小組在迭代的各個階段完成相應的視圖。

表1 教學實踐案例框架表

3)發布產品。

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

4 結 語

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

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

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

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

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

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

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

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

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

[8]顧家銘. 敏捷開發在物聯網實踐教學中的探索[J]. 軟件導刊(教育技術版), 2016, 15(4): 19-21.

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

猜你喜歡
方法課程教學
數字圖像處理課程混合式教學改革與探索
微課讓高中數學教學更高效
甘肅教育(2020年14期)2020-09-11 07:57:50
軟件設計與開發實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
為什么要學習HAA課程?
“自我診斷表”在高中數學教學中的應用
東方教育(2017年19期)2017-12-05 15:14:48
對外漢語教學中“想”和“要”的比較
唐山文學(2016年2期)2017-01-15 14:03:59
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
跨越式跳高的教學絕招
體育師友(2013年6期)2013-03-11 18:52:18
主站蜘蛛池模板: av手机版在线播放| 性色在线视频精品| 亚洲精品不卡午夜精品| 国产精彩视频在线观看| 伊人成人在线| 色欲综合久久中文字幕网| 欧美爱爱网| 国产无码网站在线观看| 91系列在线观看| 综合色88| 免费观看无遮挡www的小视频| 高潮毛片免费观看| 国产99免费视频| yjizz视频最新网站在线| 国产精品亚洲专区一区| 成人一级免费视频| 成年A级毛片| 国产综合另类小说色区色噜噜 | 亚洲欧美不卡| 亚洲第一精品福利| 欧美19综合中文字幕| 2021精品国产自在现线看| 欧美在线一二区| 国产女同自拍视频| 99视频只有精品| 欧美特黄一级大黄录像| 青草国产在线视频| 99久久无色码中文字幕| 亚洲男人天堂2018| 国产精品亚洲欧美日韩久久| 日韩a级毛片| 亚洲午夜18| 又猛又黄又爽无遮挡的视频网站 | 国产靠逼视频| 4虎影视国产在线观看精品| 亚洲人成影院午夜网站| 国产永久在线观看| 久久9966精品国产免费| 午夜啪啪网| 中文字幕 91| 亚洲无码四虎黄色网站| 中文字幕精品一区二区三区视频| 欧美国产日产一区二区| 777午夜精品电影免费看| 亚洲免费黄色网| 女人av社区男人的天堂| 精品人妻一区二区三区蜜桃AⅤ| 亚洲视屏在线观看| 亚洲AV一二三区无码AV蜜桃| 日本高清在线看免费观看| 日本不卡在线播放| 午夜福利在线观看入口| 国产视频大全| 国产精品无码制服丝袜| 国产午夜在线观看视频| 日韩不卡高清视频| 亚洲一区免费看| 久久久久88色偷偷| 国产精品亚洲片在线va| 在线观看国产黄色| 亚洲无码A视频在线| 亚洲美女视频一区| 亚洲一区二区在线无码| 视频一区亚洲| 一级片一区| 国产一区成人| 国产一区二区影院| 亚洲午夜久久久精品电影院| 亚洲精品中文字幕午夜| 亚洲高清中文字幕在线看不卡| 亚洲一级毛片在线观| 亚洲av综合网| 视频一本大道香蕉久在线播放| 777午夜精品电影免费看| 激情综合激情| 久久综合国产乱子免费| 色婷婷综合在线| 九九热精品在线视频| 999国产精品永久免费视频精品久久| 精品一区二区久久久久网站| 国产视频a| 亚洲无限乱码|