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

        ?

        在軟件工程實驗教學(xué)中引入敏捷方法的探索

        2008-12-31 00:00:00
        計算機教育 2008年24期

        摘要:本文通過分析軟件工程課程的特點和學(xué)生的實踐背景,指出了本課程傳統(tǒng)實驗教學(xué)過程中存在的一些局限性。針對這些不足,本文提出了在實驗教學(xué)中引入敏捷方法,并結(jié)合案例教學(xué)和團隊開發(fā)等教學(xué)手段和方法來提高學(xué)生的實踐能力。

        關(guān)鍵詞:敏捷方法;Ruby on Rails;案例教學(xué)

        中圖分類號:G64 文獻標(biāo)識碼:A

        1軟件工程課程的特點

        “軟件工程”是一門工程實踐性較強的課程,目標(biāo)是讓學(xué)生掌握求解軟件的基本思想、工具、技術(shù)、過程和方法,為后續(xù)的專業(yè)知識學(xué)習(xí)以及今后從事計算機軟件開發(fā)、測試與維護奠定良好的基礎(chǔ)。但本課程內(nèi)容較難講授,學(xué)生學(xué)習(xí)起來感到較抽象,有些空洞。其主要原因有:

        (1) 學(xué)生實踐經(jīng)驗不足,動手能力不強。本課程是屬于實用工程學(xué)科,課本內(nèi)容采用將知識點從具體到抽象、對實踐經(jīng)驗進行概括總結(jié)的方法加以敘述,但是學(xué)生對實例并不了解,難以理解所講述的實踐經(jīng)驗和知識。而且授課對象是大二的學(xué)生,掌握的開發(fā)技術(shù)和工具很有限,動手能力有待提高。

        (2) 課程的綜合性強。軟件開發(fā)是一項綜合性和系統(tǒng)性很強的工程,需要開發(fā)者具有程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、數(shù)據(jù)庫系統(tǒng)和開發(fā)工具環(huán)境等多方面知識和綜合運用能力。而學(xué)生學(xué)習(xí)的只是單一的課本知識,而且沒有系統(tǒng)化。

        (3) 學(xué)生獨立性較強,不善于團隊合作和溝通。在程序設(shè)計和數(shù)據(jù)結(jié)構(gòu)等先修課程中主要是培養(yǎng)學(xué)生獨立的邏輯思考和編程能力,而忽視了溝通、交互與團隊合作。

        通過收集以往選修該課程的學(xué)生反饋來看,不少同學(xué)反映對后續(xù)兩年在校期間的軟件項目開發(fā)幫助不大,所學(xué)的軟件工程的方法和技術(shù)并沒有得到很好的應(yīng)用。因此,應(yīng)該對實驗教學(xué)內(nèi)容進行適當(dāng)調(diào)整。通過引入敏捷Web開發(fā)框架、結(jié)對編程和測試驅(qū)動開發(fā)等敏捷方法,并結(jié)合案例教學(xué)和團隊開發(fā)等教學(xué)手段和教學(xué)方法,來培養(yǎng)學(xué)生開發(fā)軟件系統(tǒng)的工作能力、實際操作能力以及溝通能力。

        2敏捷方法以及Ruby on Rails

        在2001年召開的研討軟件過程未來發(fā)展趨勢的一次會議上,17位業(yè)界專家就什么是“敏捷”達(dá)成一致意見,成立了“敏捷聯(lián)盟”并發(fā)布了聯(lián)盟敏捷宣言。這份聯(lián)盟敏捷宣言是“敏捷軟件開發(fā)”價值和目標(biāo)的濃縮定義,并通過許多共同的原則進行了細(xì)化。敏捷的價值觀是:個體和交互勝過過程和工具;可以工作的軟件勝過面面俱到的文檔;客戶合作勝過合同談判;響應(yīng)變化勝過遵循計劃。敏捷方法強調(diào)應(yīng)加強開發(fā)人員之間的交互,加強與客戶的交互,注重有可工作的軟件和完善、不過分的文檔,積極、快速應(yīng)對客戶的需求變化,而不是回避。

        Ruby on Rails是一個具備了敏捷特性的Web開發(fā)框架,使Web應(yīng)用的開發(fā)、部署和維護變得更容易。該框架非常強調(diào)人和交互,鼓勵用戶與開發(fā)團隊合作。Rails強烈要求遵循“不要重復(fù)你自己”和“慣例重于配置”兩個原則,使得當(dāng)需求變化時,Rails應(yīng)用需要修改的代碼量比用其它框架開發(fā)的應(yīng)用要少得多。Rails應(yīng)用是用Ruby編寫的,而Ruby能夠準(zhǔn)確、簡煉地描述程序概念,因此變化也更加容易地被限制在一個小模塊內(nèi)部,并且代碼修改也更容易。該框架強烈重視單元測試和功能測試。Rails的這些特點使該框架能很好地響應(yīng)變化。

        3實驗教學(xué)改革及實施過程

        通過分析敏捷方法的主要特征以及Rails框架的敏捷特性,在軟件工程課程實驗教學(xué)中引入敏捷方法有助于綜合提高學(xué)生對敏捷軟件工程關(guān)鍵性技術(shù)的全過程實踐與應(yīng)用,理解軟件需求與軟件測試、軟件開發(fā)的緊密關(guān)系,掌握現(xiàn)場需求捕捉、單元/功能/系統(tǒng)測試等方面的技術(shù)。因此,在軟件工程課程中的后期以案例驅(qū)動的方式講授應(yīng)用Rails進行敏捷Web開發(fā)。在實驗教學(xué)中,主講教師要求學(xué)生以分組的形式完成自擬作業(yè)題系統(tǒng)的敏捷Web開發(fā),并全程指導(dǎo)應(yīng)用結(jié)對編程、測試驅(qū)動開發(fā)等敏捷方法,鼓勵并促進小組成員之間的溝通與合作。

        具體實施包括以下三個環(huán)節(jié):案例學(xué)習(xí)及重現(xiàn)、分組系統(tǒng)開發(fā)和系統(tǒng)評審環(huán)節(jié)。

        (1) 案例學(xué)習(xí)及重現(xiàn)

        在軟件工程教學(xué)中引入案例教學(xué)能有效地提高教學(xué)效果。在這個環(huán)節(jié)中,學(xué)生首先在課余時間認(rèn)真閱讀案例,并進行分析。老師同步在課堂上講授案例,包括一些主要任務(wù)、技術(shù)以及開發(fā)工具,然后學(xué)生在實驗課按照案例中步驟重現(xiàn)案例中的系統(tǒng)開發(fā)過程,最后總結(jié)歸納。

        采用的案例是depot應(yīng)用系統(tǒng),該系統(tǒng)是一個采用Ruby on Rails實現(xiàn)的網(wǎng)上購書系統(tǒng),包括了貨品維護、分類顯示、購物車、結(jié)算、發(fā)貨以及用戶權(quán)限管理等功能。該案例真實、生動,且具有普遍性。學(xué)生在深入剖析該案例后,能模仿該案例來開發(fā)其他Web應(yīng)用系統(tǒng)。

        學(xué)生先利用課余時間對案例進行一定的分析,教師則在課程上同步講授案例,以迭代開發(fā)的方式不斷改進depot應(yīng)用系統(tǒng)。在講授過程中,根據(jù)敏捷方法的特點,一開始進行了適當(dāng)?shù)男枨蠓治龊驮O(shè)計,包括數(shù)據(jù)建模、業(yè)務(wù)流程分析和對象建模,并撰寫了必要的文檔,包括了ER圖、活動圖以及類圖,然后進行系統(tǒng)實現(xiàn)。在實現(xiàn)過程中,教師既要充當(dāng)開發(fā)人員又要充當(dāng)客戶,從客戶的角度來看待系統(tǒng)。具體來看,先找到當(dāng)前首要任務(wù)進行迭代開發(fā),并從客戶的角度出發(fā)指出系統(tǒng)當(dāng)前的主要問題,然后立即按客戶要求進行修改。

        在實驗課堂上,重點是按照老師講授的步驟重現(xiàn)depot系統(tǒng)開發(fā)。由于學(xué)生對于開發(fā)語言和工具不熟悉,所以實驗課上教師應(yīng)全程指導(dǎo),重點解決操作和代碼理解方面的問題。在實驗課上,學(xué)生也可以按照分組來進行討論,集體交流。

        總結(jié)歸納是本環(huán)節(jié)的最后階段,要求學(xué)生總結(jié)在重現(xiàn)depot系統(tǒng)開發(fā)過程時獲得的經(jīng)驗和教訓(xùn),為以后開發(fā)新系統(tǒng)做準(zhǔn)備。

        (2) 分組系統(tǒng)開發(fā)

        本環(huán)節(jié)是實施過程中最重要的環(huán)節(jié),主要目標(biāo)是讓學(xué)生體驗敏捷軟件開發(fā)的全過程,且學(xué)會與他人合作,培養(yǎng)團隊精神。在本環(huán)節(jié)中,強調(diào)結(jié)對編程、測試驅(qū)動開發(fā)等敏捷方法的應(yīng)用。學(xué)生在此環(huán)節(jié)處于主導(dǎo)地位,教師只起輔助作用。學(xué)生按要求分成開發(fā)小組(每組最多不超過4人)。各個小組由小組長負(fù)責(zé)組織、分工、控制進度等,對小組成員的最終實驗成績有一定分?jǐn)?shù)浮動調(diào)整權(quán);組長帶領(lǐng)全組順利完成任務(wù),總評可以加一定分?jǐn)?shù)。在實踐中注意滿足學(xué)生的受“尊重的需要”和“自我實現(xiàn)的需要”,采取“角色扮演法”,根據(jù)每個同學(xué)的特點,盡可能發(fā)揮其在技術(shù)或管理方面的長處。

        所有的小組都要求用Ruby on Rails開發(fā)自擬作業(yè)題系統(tǒng),這樣在評審時可以相對客觀地比較各組的成果。該系統(tǒng)的必需功能需求統(tǒng)一指定,但是各小組可以擴展功能,從而使得各小組有一定的開發(fā)自由度。

        小組完成項目之后,除遞交系統(tǒng)和文檔外,還必須完成一份報告。報告中應(yīng)該包括項目分工情況說明、組員的貢獻以及他們參與系統(tǒng)開發(fā)過程的心得體會,讓學(xué)生自己在總結(jié)中學(xué)習(xí)知識,提高水平。

        (3) 系統(tǒng)評審

        每個小組都將匯報,展示自己的成果。所有小組構(gòu)成一個環(huán)來進行匯報和評審,匯報的順序由抽簽決定。匯報完的一組的組員將評審下一組的匯報,第一組的匯報由最后匯報的一組的組員來評審。教師先提前公布評分標(biāo)準(zhǔn),并在匯報現(xiàn)場準(zhǔn)備好評分表。在學(xué)生評審的同時,教師也應(yīng)該對每個小組的匯報情況、系統(tǒng)的質(zhì)量、文檔以及報告進行評審、打分,并寫出評語,但不能影響學(xué)生的評審。教師評定成績占小組成績的70%,學(xué)生評定的平均成績占30%。最后,教師要對小組的表現(xiàn)進行總結(jié)點評,幫助學(xué)生整理敏捷開發(fā)過程中的技術(shù)內(nèi)容,鼓勵積極性,但也要適當(dāng)?shù)刂赋鱿到y(tǒng)開發(fā)中的不足。

        4結(jié)束語

        目前,在軟件工程專業(yè)方向的“軟件工程”課程實驗教學(xué)中已經(jīng)引入了敏捷方法。當(dāng)引入敏捷方法后,學(xué)生普遍反映開始能夠較好地理解并掌握軟件工程項目的開發(fā)理論和方法。和前期和中期的教學(xué)相比,后期的教學(xué)內(nèi)容和方式更容易讓人接受。而且在實驗經(jīng)驗和專業(yè)知識有限的前提下,學(xué)生能夠參與完成一個具體的Web系統(tǒng)開發(fā)項目,能極大地激發(fā)學(xué)習(xí)興趣和主動性,增強在今后的學(xué)習(xí)過程中開發(fā)中小型軟件項目的專業(yè)能力和信心。

        總結(jié)起來,經(jīng)探索提出的該教學(xué)方案,其主要特色可以歸納為三方面:

        (1) 在學(xué)生實踐經(jīng)驗不足和專業(yè)知識不全面的前提下,通過引入敏捷方法能降低學(xué)生開發(fā)一個實用軟件系統(tǒng)的門檻,使學(xué)生能在開發(fā)實用系統(tǒng)的同時自覺應(yīng)用軟件工程思想,包括敏捷軟件開發(fā)的原則來分析問題和解決問題,從而激發(fā)了學(xué)生的學(xué)習(xí)熱情。

        (2) 采用案例學(xué)習(xí)、重現(xiàn)系統(tǒng)開發(fā)以及開發(fā)新系統(tǒng)相結(jié)合的教學(xué)手段,使學(xué)生在深入理解案例的基礎(chǔ)上能效仿該案例,運用其中的技術(shù)來開發(fā)新系統(tǒng)。

        (3) 在分組系統(tǒng)開發(fā)過程中,鼓勵學(xué)生通過角色扮演、組內(nèi)討論交流以及網(wǎng)絡(luò)途徑找到獲取需求以及解決一些技術(shù)難題的辦法。

        參考文獻

        [1] 李勁華,楊厚俊. 普通高?!败浖こ獭闭n程教學(xué)的探索與實踐[J]. 計算機教育,2007,(10):29-31.

        [2] 沈備軍,陳誠,居德華. 敏捷軟件過程的研究[J]. 計算機研究與發(fā)展,2002,39(11):1456-1463.

        [3] Dave Thomas, David Hansson 著. 林芷薰譯. 應(yīng)用Rails進行敏捷Web開發(fā)[M]. 北京:電子工業(yè)出版社,2006.

        [4] 葉俊民,胡金柱,李蓉. 軟件工程案例教學(xué)研究[J]. 計算機教育,2007,(7):19-21.

        [5] 張引,楊小虎,陳越. “軟件工程”課程實踐中激勵機制的探索[J]. 計算機教育,2007,(5):30-32.

        成人全视频在线观看免费播放| 国产内射999视频一区| 免费一区在线观看| 国产福利一区二区三区视频在线看| 亚洲av色福利天堂久久入口| 国模冰莲极品自慰人体| 亚洲色大成网站www永久一区| 亚洲av成人在线网站| 亚洲中文字幕一区av| 人妻丰满熟av无码区hd| 免费人成无码大片在线观看| 久久与欧美视频| 国产美女高潮流白浆视频| 国产精品视频一区二区三区不卡| 亚洲熟妇丰满大屁股熟妇| 亚洲欧洲日产国码无码| 国产一区二区三区男人吃奶| 中文字幕乱码高清完整版| 鲁一鲁一鲁一鲁一澡| 国产一级片内射在线视频| 日本午夜理论片在线观看| 中文字幕+乱码+中文字幕一区| 8av国产精品爽爽ⅴa在线观看| 92自拍视频爽啪在线观看| 豆国产96在线 | 亚洲| 色悠久久久久综合欧美99| 99久久国语露脸国产精品| 亚洲精品98中文字幕| 妺妺窝人体色www聚色窝| 国产一区a| 亚洲av第二区国产精品| 久久亚洲中文字幕精品一区| 吃奶摸下的激烈视频| 天堂av无码大芭蕉伊人av孕妇黑人| a黄片在线视频免费播放| 免费人成网ww555kkk在线| 亚洲精品亚洲人成在线下载| 美女和男人一起插插插| 亚洲日韩av无码一区二区三区人| 久久精品波多野结衣中文字幕| 一区二区三区在线日本|