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

基于群體化方法的軟件工程課程實踐教學

2018-12-30 11:56:27毛新軍尹良澤
計算機教育 2018年7期
關鍵詞:課程教學學生

毛新軍,尹良澤,尹 剛,王 濤,余 躍,盧 遙

(國防科技大學 計算機學院,湖南 長沙 410073)

0 引 言

如何培養高素質的軟件工程人才、如何根據新工科建設的要求[1-2]加強軟件工程人才的能力培養是當前軟件工程專業教育面臨的重要挑戰。軟件工程是一門實踐性很強的課程,實踐教學是課程教學的一項必備環節。為了滿足產業和經濟發展對軟件工程專業人才的迫切需求,我們需要從人才培養角度深層次思考這門課程實踐教學的建設目標、方法和手段,以期取得所需的人才培養效果。

首先,如何認識軟件工程課程實踐教學的目標?不同于其他的專業課程(如操作系統、編譯原理等),軟件工程課程將諸多“工程”要素融合到課程實踐中以系統性地培養學生工程實踐能力、訓練其工程素養。因此,加強這門課程實踐教學的建設對于提高人才培養質量、提升工程實踐能力具有重要的價值。

第二,如何達成教學目標并解決面臨的問題?軟件工程課程實踐教學面臨的一個普遍性問題是學生經常抱怨實踐沒有參考對象,不知道如何去做以及做的對不對;一個突出的現象是學生經常遇到多樣化問題,老師難以做到一一解答。這就需要針對軟件工程課程實踐教學的特點和問題,尋找有效的解決方法。

第三,如何提供科學的考評手段并以此促進人才培養?考評是一個指揮棒,引導學生按照要求來開展工作;也是一個基準線,告訴學生按照什么樣的要求和標準來評定其成效和成績;同時也是一個推進劑,以評促改,幫助學生不斷改進其實踐成果,在此過程中培養能力、提升素養和積累經驗。因此,這就需要從能力培養的角度來正確認識考評的目的、制定科學的考評標準和合理的考評手段。

1 改革目標和要求

軟件工程課程實踐教學需要為學生的工程實踐和創新能力培養創造條件、明確要求和提供指南,這就需要精心設計課程實踐的內容,分解和細化課程實踐的要求,形成課程實踐的具體技術指標。結合軟件工程專業和技術的發展,考慮當前軟件系統的形態和特征,軟件工程課程實踐內容須滿足以下的要求。

(1)規模性。課程實踐待開發的軟件系統必須具備一定規模。只有通過對一定規模軟件系統的開發實踐才能讓學生領悟軟件工程中的“工程”要素并運用工程化的手段來解決問題。這里的規模可以表現為代碼的長度、功能點的數量,也可是構成系統的要素等。

(2)交叉性。當前大部分的軟件系統不再是一個純粹的技術系統,而是融合領域知識(如教育、航空等)、交叉相關專業知識(如AI、移動計算等)的一類復雜系統。軟件工程課程實踐的內容需要體現軟件系統開發的知識、技能等方面的綜合性和交叉性。

(3)集成性。互聯網時代的軟件系統通常不再是單一、集中和封閉的系統,而是要與諸多系統和設備進行集成和交互。課程實踐中應考慮將軟件系統與其他系統和設備相結合來解決問題。

(4)高質量。質量是工程的基本要素。因此,課程實踐必須重視質量,培養學生的質量意識(如編程規范、模型一致性等),掌握高質量軟件產品的開發能力。

(5)創新性。有創意的軟件才有價值,才能激發學生的實踐熱情和激情,幫助學生獲得成就感。因此,課程實踐要創造機會、提供空間來讓學生進行各種創意和構思,從而培養學生的創新意識和能力。

(6)先進性。軟件工程相關技術發展很快,業界所采用的技術不斷變化,除了要訓練學生的基本軟件開發技能之外,課程實踐要盡可能地采用業界的主流技術,如開發方法、實現語言、支撐平臺和工具等,確保課程實踐技術手段的先進性。

2 基于群體化的課程實踐教學理念和思想

要達成上述目標是一項極具挑戰性的工作。一方面,對老師的知識、經驗和教學投入提出很高的要求。另一方面,對學生開展課程實踐所需的知識結構、開發技能、工具使用、實踐結果等提出了更高的要求。當前基于互聯網的群體化方法及其在軟件工程等諸多領域的成功實踐為上述問題的解決提供新穎的思路和獨特的方法,可以借助于互聯網上的群體(如軟件開發人員),利用他們的智慧(如開發經驗)和產品(如開源軟件)來開展課程實踐,以克服老師、助教和學生在知識、經驗、閱歷和認識等方面的局限性和有限性,達成工程實踐和能力培養的目標。

(1)借助互聯網群體的智慧。互聯網連接了大量的人群,其中不乏高手和能人。它們擁有多樣的軟件工程知識,具有豐富的軟件開發經驗和技能。開源軟件社區提供了靈活的機制來支持他們之間的交流、溝通和討論,從而來分享他們的智慧和經驗[3-4]。課程實踐可以借助于互聯網群體的力量和智慧,運用互聯網社區的運行機制和手段,讓互聯網群體成為課程實踐的指導者和貢獻者,幫助和指導學生解答問題、提供資源、給出建議、反饋經驗等。

(2)利用互聯網群體的作品。互聯網上匯聚了大量的開源軟件,他們是互聯網群體實踐活動的結晶,其中不乏高水平、高質量[5]的作品。重用開源軟件成為目前重要的軟件開發方式和手段。軟件工程課程實踐的規模性、高質量、交叉性、集成性等要求意味著讓學生從頭開始、全新開發這樣的軟件系統是不現實的。基于開源的軟件開發方法將開發軟件與重用開源軟件二者相結合不僅可以滿足課程實踐教學的目標和要求,而且可以幫助學生掌握主流的軟件開發技術。

概括起來,軟件工程課程實踐教學可借助互聯網群體的智慧和力量,依托他們的軟件開發知識、經驗和作品,指導學生的課程實踐,解決軟件開發中遇到的種種問題,重用開源軟件來實現特定功能,從而來達成和實現實踐教學的目標和要求。

3 實踐教學改革的關注點及解決方法

針對上述目標和要求,我們開展了基于群體化的軟件課程實踐教學探索。整個實踐采用分組方式,每組由3~4位同學組成,他們共同完成實踐任務,包括需求創意、軟件設計、編碼實現、軟件測試等。課程實踐要求學生提交分析和設計模型、軟件文檔、程序代碼等軟件產品。為了落實人才培養目標、加強工程實踐和創新能力培養,踐行群體化的實踐教學方法,課程實踐特別關注以下幾個方面的工程實踐問題,并采取了一組行之有效的實施方法。

1)軟件需求創意。

要求學生借助群體的智慧和力量,做有創意的課程實踐,具體表現為軟件系統欲解決的問題、軟件需求以及實現技術手段要有新意。鼓勵學生參考往屆學生的作品,依托基于互聯網的實踐教學平臺Trustie,與往屆學生進行交流和溝通,分享他們的經驗和感悟,從而獲得創意的靈感和想法。要求學生加入到開源社區,通過對已有開源軟件的分析以及與社區中群體的交流來獲得有關創意的意見、建議和想法。這兩種方法的本質都是希望擴大學生的視野、獲取他人的智慧、聽取他人的建議、獲得更多的知識,并依此來構想軟件需求。在此過程中,老師主要起到引導、評價、建議、把關、促進再思考等作用。

2)分布式協同開發和版本管理。

要求學生基于Git開發、管理軟件。每個項目團隊創建各自的軟件版本庫,負責人基于Issue管理工具來安排和發布任務,成員間基于Git來開展交流和解決沖突,每個成員利用Git提交各自的作品(如程序代碼),并利用Pull-request機制將其合并到整個課程實踐項目中。它不僅可以幫助學生掌握基于互聯網的軟件開發模式(如任務分配、作品發布、作品的本地開發和分布式提交等),而且有助于獲取學生個體的課程實踐情況,搜集第一手課程實踐數據,從而對學生的實踐情況(如參與程度、所作出的貢獻、產品質量等)進行科學和客觀的評價。

3)迭代開發。

由于課程實踐對軟件的創意、規模和知識交叉性等提出了更高要求,對于學生而言要一次性地開發出如此復雜的軟件系統是非常困難的,他們常常面臨需求創意難以想清楚、一些復雜功能難以實現等問題。為此我們采用迭代的方法來開展課程實踐,在整個課程實踐過程中要求學生分若干次迭代來完成整個課程實踐任務,每次迭代關注的角度和評價的要求不同。

4)以評促改。

課程實踐要求學生周期性地匯報課程實踐的成果(平均每周一次),老師根據學生的匯報對學生的課程實踐進行“點評”,幫助學生發現問題并提供建議,目的是引導學生對課程實踐成果持續改進和提高,從而起到以“評”促“改”的功效。針對學生的調查問卷結果表明,課堂點評最受學生歡迎,并對學生改進和提高課程實踐水平起到關鍵性的作用。

5)重用開源軟件。

課程實踐鼓勵學生根據構想的軟件需求,到開源軟件托管網站(如SourceForge、Github、Stack Overf l ow、開源中國、CodeProject等)去尋找支撐其關鍵需求的開源軟件,并將其集成到整個課程實踐的軟件項目之中。為了鼓勵學生重用開源,我們明確要求學生在課程實踐中要重用至少5 000行開源軟件。

6)借助開源社區。

課程實踐要求學生加入到相關的開源社區中,學生通過檢索獲取相關討論或者在社區中提出問題獲得所需的解答。此外,我們還通過實踐教學平臺收集了每一屆學生開展課程實踐所遇到的問題、解決問題的方法、軟件開發經驗等,學生也可以通過分享這些智慧來促進相關問題的解決。

7)持續檢查。

課程實踐要求學生采用持續檢查(continuous inspection)來確保所開發軟件系統的質量,借助持續集成系統Jenkins將SonarQube質量分析工具集成到Trustie平臺,實現了對學生提交到版本庫代碼的自動化質量檢查,并要求學生對問題代碼進行修復后,才可合并到項目倉庫中。

8)考評方法。

采用定性和定量、主觀和客觀、過程和結果相結合的考評方法,針對多個方面(如參與度、質量、貢獻等)給出一個詳盡的實踐考核評價要素,借助于課程實踐教學平臺Trustie以及諸多軟件開發工具(如Git和SonarQube),搜集學生在課程實踐過程中的參與和貢獻信息(如提出問題、提供建議、參與討論、提交作品等的數量),對課程實踐結果(如代碼質量)進行定量的分析,盡可能做到基于數據、綜合實踐過程和結果、統籌實踐的工作量和質量、團隊匯報和個體問答相結合的方式來進行考評,從而通過考評方法的改變來驅動學生更為獨立、自主、積極地開展實踐。

9)工具和平臺支持。

為了幫助老師和學生高效地開展課程實踐,跟蹤實踐情況和效果,科學客觀地評價實踐成績,課程實踐教學借助一系列的工具和平臺,包括分布式協同開發平臺Trustie-Forge、開源軟件檢索和分析平臺Trustie-OSSEAN、開源代碼閱讀和標注工具Trustie-Codepedia等。

4 教學成效分析

基于上述實踐教學方法,針對軟件工程專業的學生開展了2年的探索,每年大約有24名學生參與,采用小班教學模式,配備2~3名助教。課程實踐延續一年時間,覆蓋了4門課程的實踐教學任務,包括軟件工程、軟件體系結構與設計、軟件項目管理以及軟件課程綜合實踐。整體上看軟件工程實踐教學改革取得了以下成果:

(1)學生通過課程實踐所開發的軟件系統代碼規模平均超出10 000行。2個年級課程實踐提交的代碼統計結果表明,課程實踐的各項目開發程序代碼量平均超出5 000行,重用開源軟件超出5 000行(見表1)。

(2)軟件系統的集成性和綜合性。所開發的軟件系統大部分是基于互聯網的分布式系統,許多軟件系統集成了機器人、無人系統、智能手機、Web服務等系統和設備,交叉了模式識別、移動計算、數據分析等相關知識。

(3)軟件質量意識和水平得到提升。學生軟件開發的質量意識得到加強,運用各種技術(如持續檢查、軟件測試等)和工具(如Junit、SonarQube等)來開發高質量軟件系統的能力得到提升,分析結果表明學生開發的軟件產品的質量處于較高水平。

(4)軟件工程綜合素養獲得提升。課程實踐過程中學生持續進行總結、報告和討論,制作宣傳彩頁、視頻和匯報PPT,撰寫產品手冊、凝練創新點,因而學生的總結、分析、表達、匯報、交流、討論等方面的綜合素養得到了顯著提升。

(5)學生掌握了基于互聯網的現代軟件工程技術和工具,學會了借助于開源軟件的軟件開發技能(如查找、閱讀、分析和集成開源軟件等)、依托開源社區獲得群體智慧的方法(如提出和發布問題、查詢解答等),運用基于互聯網的CASE工具來進行協同開發。

(6)課程實踐成果的創新性得到認可。兩年來學生構思了許多有創意的軟件作品,包括無人值守的圖書館、家庭接待機器人、多無人機聯合搜尋系統、Baby安保助手等,這些軟件作品獲得了計算機作品比賽、機器人比賽等多項全國性獎項,包括金獎1項、銀獎2項、省賽區特等獎3項和一等獎1項。

5 結 語

實踐教學是軟件工程系列課程教學的重要環節,如何改革軟件工程課程實踐教學,克服當前實踐教學理念、實施方法、評價手段等方面的局限性是一項極為緊迫的任務。基于互聯網的連接、共享和開放思想,借助以開源軟件和開源社區為代表的群體化思想,結合主流的軟件工程技術和工具,針對軟件工程實踐教學中的突出矛盾和瓶頸問題,開展了以提升工程實踐和創新能力為目標的實踐教學改革,取得了積極的成效,為加強軟件工程專業人才的培養做出了積極的探索,極大提高了學生開發大規模、高質量軟件系統的自信心。兩年的教學實踐表明,在互聯網時代我們應該采用更為開放的思維來尋找解決實踐教學問題的方法,應該充分發揮互聯網的優勢和力量來彌補當前實踐教學中存在的問題和不足,應該通過教學和科研相結合、滿足產業發展需要以及貼近主流的技術來落實實踐教學改革。

猜你喜歡
課程教學學生
數字圖像處理課程混合式教學改革與探索
微課讓高中數學教學更高效
甘肅教育(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
學生寫話
學生寫的話
跨越式跳高的教學絕招
體育師友(2013年6期)2013-03-11 18:52:18
主站蜘蛛池模板: 亚洲大尺码专区影院| 亚洲精品无码av中文字幕| 色婷婷电影网| 国产在线拍偷自揄观看视频网站| 国产成人免费视频精品一区二区 | 国产成熟女人性满足视频| 极品国产一区二区三区| 亚洲另类色| 亚洲一区二区三区麻豆| 国内精自线i品一区202| 欧美五月婷婷| 中文字幕欧美成人免费| 久久久久免费精品国产| 沈阳少妇高潮在线| 免费观看成人久久网免费观看| 久久a级片| 亚洲一级毛片免费观看| 国产成人免费手机在线观看视频 | 欧美a网站| 日本午夜精品一本在线观看| 久久网综合| 2021国产精品自拍| P尤物久久99国产综合精品| 99热这里只有精品在线观看| 91福利一区二区三区| 日日噜噜夜夜狠狠视频| 欧美精品亚洲精品日韩专区va| 亚洲美女AV免费一区| 制服丝袜 91视频| 老司机久久99久久精品播放| 亚洲国产成人综合精品2020| 91小视频在线观看| 五月综合色婷婷| 激情网址在线观看| 伊人无码视屏| 国产91精品最新在线播放| 国产白浆在线观看| 亚洲一级毛片在线观播放| 亚洲综合日韩精品| 久久精品电影| 永久免费无码成人网站| 成人国产精品视频频| 中文成人在线| 亚洲精品男人天堂| AⅤ色综合久久天堂AV色综合| 四虎成人免费毛片| 亚洲精品无码久久毛片波多野吉| 久久9966精品国产免费| 91精品在线视频观看| 国产精品一区不卡| 国产精品女同一区三区五区| 日韩在线永久免费播放| 114级毛片免费观看| 亚洲天堂精品在线观看| 91人妻日韩人妻无码专区精品| 特级精品毛片免费观看| 精品一区二区三区视频免费观看| 中文字幕人妻av一区二区| 最新国产高清在线| 免费一级大毛片a一观看不卡| 国内精自视频品线一二区| 中文无码日韩精品| 亚洲乱码视频| 亚欧美国产综合| 久久免费成人| 欧美日韩中文国产va另类| 国产在线自乱拍播放| 亚洲精品视频免费观看| 亚洲毛片网站| 美女内射视频WWW网站午夜 | 亚洲女同一区二区| 国产精品福利尤物youwu | 这里只有精品国产| 亚洲第一色网站| h视频在线观看网站| 亚洲三级影院| 久久综合一个色综合网| 国产精品自在拍首页视频8 | 国产精品不卡永久免费| 在线观看国产小视频| 欧美成人二区| 亚洲男人天堂久久|