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

軟件開發(fā)類畢業(yè)設(shè)計中敏捷軟件技術(shù)的應(yīng)用

2007-12-31 00:00:00張曉玲周少云
計算機時代 2007年10期

摘 要:提出了在軟件開發(fā)類畢業(yè)設(shè)計中采用敏捷技術(shù)進行過程控制的方法,從實際效果中可以看出,這種方法較好地解決了軟件開發(fā)類畢業(yè)設(shè)計中遇到的各種問題,能夠有效提高軟件開發(fā)類畢業(yè)設(shè)計的質(zhì)量,使學(xué)生在畢業(yè)設(shè)計中得到充分的鍛煉和提高。

關(guān)鍵詞:畢業(yè)設(shè)計;敏捷軟件開發(fā);極限編程;軟件質(zhì)量

0 引言

畢業(yè)設(shè)計是本科教學(xué)中非常重要的一個教學(xué)環(huán)節(jié),是對學(xué)生所學(xué)知識的檢驗和總結(jié),是培養(yǎng)學(xué)生獨立分析和解決問題能力的重要手段,也是學(xué)生進入工作崗位前的最后一次實戰(zhàn)演習(xí);并且,它是本科教學(xué)水平評估指標(biāo)體系的重要指標(biāo)之一,是考核學(xué)校本科教學(xué)水平和質(zhì)量的重要內(nèi)容。

軟件開發(fā)是計算機專業(yè)畢業(yè)設(shè)計中一個重要組成部分。學(xué)生開發(fā)的軟件質(zhì)量直接反映出畢業(yè)設(shè)計質(zhì)量,而指導(dǎo)教師的指導(dǎo)和監(jiān)控對學(xué)生開發(fā)軟件的質(zhì)量高低有很大影響。本文首先介紹了軟件類畢業(yè)設(shè)計的特點、遇到的問題及其原因分析,然后將敏捷軟件開發(fā)技術(shù)應(yīng)用于指導(dǎo)和監(jiān)控軟件類畢業(yè)設(shè)計,最后通過具體的實踐對其進行總結(jié)。

1 目前狀況及問題

1.1 軟件開發(fā)類畢業(yè)設(shè)計的特點

本科計算機專業(yè)畢業(yè)設(shè)計中,軟件開發(fā)占很大比重。而軟件開發(fā)類畢業(yè)設(shè)計與其他專業(yè)的畢業(yè)設(shè)計以及商業(yè)化軟件開發(fā)又有很大不同,主要體現(xiàn)在:

(1)設(shè)計的最終目的是要生成可運行的、實現(xiàn)一定功能的、錯誤率較低的實際軟件產(chǎn)品,而不僅僅是提交一份文檔報告。

(2)設(shè)計小組成員分工合作,要將各人的成果整合,形成完整的軟件;小組每個成員不是完全孤立的,每個人的工作都與其他人息息相關(guān)。

(3)項目小組一般只包括一個人或幾個人,人數(shù)較少,遠少于一般商業(yè)化軟件開發(fā)項目小組的人數(shù)。

(4)小組成員沒有足夠的團隊意識,沒有足夠的軟件工程經(jīng)驗,一般沒有作為一個團隊的成員共同開發(fā)過軟件產(chǎn)品。

(5)項目開發(fā)過程不完全,編碼的結(jié)束即意味著項目的結(jié)束。項目不要求有完整的工程化的分析和設(shè)計文檔。

(6)有些軟件開發(fā)沒有與商業(yè)項目掛鉤,也就沒有真實客戶的需求對其進行功能和性能上的監(jiān)控。

1.2 遇到的問題及原因分析

根據(jù)上面的特點可以看出,普通畢業(yè)設(shè)計的指導(dǎo)方式或是工程化的控制手段,并不能適應(yīng)軟件開發(fā)類畢業(yè)設(shè)計,最終會導(dǎo)致畢業(yè)設(shè)計質(zhì)量低下,學(xué)生得不到真正鍛煉。比較突出的問題主要表現(xiàn)在以下幾個方面:

(1)項目組成員各人任務(wù)不明確,能力參差不齊,并且有時沒有充分地交流設(shè)計思想,最后導(dǎo)致軟件各個功能模塊無法有效整合。

(2)項目需求因為各種原因不斷改變,軟件不斷修改,最終完成的軟件產(chǎn)品達不到設(shè)計要求。

(3)編碼開始后,軟件的錯誤和缺陷不斷涌現(xiàn)、不斷累積,最終無法控制。

這些問題的產(chǎn)生,固然與設(shè)計選題、學(xué)生能力、實驗環(huán)境以及教師的指導(dǎo)力度分不開,最重要的還是與教師的指導(dǎo)和監(jiān)控方式有關(guān)。應(yīng)當(dāng)采用恰當(dāng)?shù)闹笇?dǎo)和監(jiān)控方式,最大化地促進學(xué)生能力的提高,最有效地根據(jù)各個學(xué)生的特點,推動學(xué)生逐步達到畢業(yè)設(shè)計軟件質(zhì)量和功能的要求。

2 敏捷軟件開發(fā)技術(shù)的應(yīng)用

采用適當(dāng)?shù)闹笇?dǎo)和監(jiān)控方式,實際就是要求教師對學(xué)生軟件開發(fā)應(yīng)用適當(dāng)?shù)能浖^程模型,也就是軟件開發(fā)的工程化控制手段。

2.1 敏捷軟件開發(fā)簡介

傳統(tǒng)的軟件工程方法中的架構(gòu)設(shè)計與程序開發(fā)在時間上是先后分離的,這種分離常常導(dǎo)致一些脫離實際的設(shè)計和脫離設(shè)計構(gòu)想的編程,導(dǎo)致最終軟件開發(fā)的不理想甚至是失敗。鑒于以上問題,敏捷軟件開發(fā)技術(shù)應(yīng)運而生。

敏捷軟件開發(fā)以交付而不是以構(gòu)造為核心,它強調(diào)的是交付對客戶有價值的軟件,而不是用戶需求中所描述的軟件。簡言之,就是把一個大項目分為多個相互聯(lián)系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態(tài)。敏捷軟件開發(fā)方法提倡采用先進的技術(shù)和高水平的小型團隊,并輔以人性化的管理,充分發(fā)揮軟件開發(fā)者的才華,建立暢通的交流機制,使軟件開發(fā)團隊水平和軟件質(zhì)量共同提高。

敏捷式開發(fā)采用適應(yīng)性方法,而傳統(tǒng)的軟件工程學(xué)采用的是預(yù)測性方法。敏捷式開發(fā)是以人為主的,而傳統(tǒng)的工程學(xué)是以過程為主的。二者的主要區(qū)別存在于它們對軟件開發(fā)過程的描述中,也就是說,敏捷開發(fā)實現(xiàn)當(dāng)前最需要的功能,然后根據(jù)變化來修正和改進;而傳統(tǒng)軟件工程學(xué)一開始就將軟件的各種架構(gòu)預(yù)測好,然后采用固定的過程來實現(xiàn)這種架構(gòu)。軟件開發(fā)中的變化是不可避免的(通常傳統(tǒng)軟件開發(fā)的失敗主要原因就是不能很好適應(yīng)這種不可預(yù)知的變化),因此就要找到一種新的方法能夠更有效地適應(yīng)變化,這其實也就是敏捷式開發(fā)方法所要達到的效果。

可以看出,上述的敏捷軟件開發(fā)的許多特點正是與軟件開發(fā)類畢業(yè)設(shè)計的許多特點不謀而合,例如,小型的開發(fā)小組,適應(yīng)性(適應(yīng)不可預(yù)測變化)的開發(fā)機制,短期的交付(畢業(yè)設(shè)計一般都在半年甚至更短時間內(nèi)完成軟件的交付),充分發(fā)揮小組成員的特點,建立暢通的交流機制等等。因此,將敏捷開發(fā)思想引入畢業(yè)設(shè)計中的軟件開發(fā),不失為解決后者諸多問題的很好嘗試。

2.2 敏捷軟件開發(fā)應(yīng)用 敏捷軟件開發(fā)技術(shù)包含若干的價值觀、原則和實踐方法。將其用于畢業(yè)設(shè)計的指導(dǎo)和監(jiān)控,主要應(yīng)包含如下原則的應(yīng)用:

2.2.1 增量式開發(fā)

傳統(tǒng)軟件類畢業(yè)設(shè)計采用傳統(tǒng)軟件工程學(xué)指導(dǎo)方法,先進行需求分析,然后根據(jù)需求進行功能模塊劃分,接著開始編程。如果最初階段不能很好地完成分析和設(shè)計任務(wù),后面的軟件開發(fā)將出現(xiàn)嚴重問題。

而在敏捷軟件中,采用的是增量式開發(fā),對于難度較大的軟件設(shè)計,不是一步吃透功能,而是逐步添加功能,在改進的過程中促進學(xué)生能力的提高。在筆者指導(dǎo)的一項畢業(yè)設(shè)計中,要求學(xué)生用Java編制網(wǎng)絡(luò)實時通訊軟件。采用增量式開發(fā)方法,先要求學(xué)生實現(xiàn)基本功能,即發(fā)送字符串到另外一臺計算機,使用Windows的超級終端作為接收機進行測試;接下來要求學(xué)生實現(xiàn)程序互相發(fā)送和接收字符信息;然后,實現(xiàn)聊天室的多人聊天的線程控制;進一步可以實現(xiàn)數(shù)據(jù)庫存儲登錄用戶信息,并進行驗證;最后,實現(xiàn)其他功能,例如網(wǎng)絡(luò)硬盤,文件傳輸?shù)鹊取T陂_發(fā)過程中,增量式設(shè)計能夠讓學(xué)生逐步進入高層次的內(nèi)容,而不是一開始就進行高難度的開發(fā)。并且,通過逐步修改代碼,可以提高學(xué)生閱讀代碼和優(yōu)化代碼的能力,學(xué)生的編程水平得到很好的提高。

2.2.2 可持續(xù)的開發(fā)速度

敏捷開發(fā)技術(shù)不要求團隊一開始就盡全力完成任務(wù),而是盡量保持一種穩(wěn)定的、可持續(xù)的開發(fā)速度;團隊的成員必須始終保持旺盛的精力和警覺的思想。

在很多畢業(yè)設(shè)計中,一開始學(xué)生就以極高的熱情和全力以赴的狀態(tài)去工作,然而隨著進度的延緩,錯誤不斷增多,以及越來越復(fù)雜的需求變化,學(xué)生的熱情迅速減退,最終影響設(shè)計成果。因此,指導(dǎo)老師必須充分調(diào)動學(xué)生的積極性,又不能讓學(xué)生的精力過早地消耗,要保持一個穩(wěn)定的進度。

2.2.3 簡單

敏捷軟件開發(fā)方法采用最簡單的方式實現(xiàn)當(dāng)前最需要的功能。在畢業(yè)設(shè)計中,針對某一個功能,采用盡量簡單的方式去實現(xiàn),不需要考慮為了將來的功能而進行“提前的準(zhǔn)備”。因為這種“提前的準(zhǔn)備”往往會讓學(xué)生考慮問題過多,反而忽略了當(dāng)前最重要的內(nèi)容。

然而,簡單并不代表著功能的縮減,當(dāng)某些功能的實現(xiàn)成為必須的時候,敏捷軟件開發(fā)方法采用在代碼上改進的方式來完成,并且以此為機遇,充分進行反省,讓學(xué)生在改進中得到進一步提高。

2.2.4 結(jié)對編程

結(jié)對編程是敏捷開發(fā)和極限編程(XP)的重要實踐,它是指兩個程序員結(jié)對使用同一臺計算機完成編碼——其中一位控制鍵盤并輸入代碼,另一位觀察輸入的代碼并尋找著代碼中的錯誤和可以改進的地方。這種方式能極大地促進知識在團隊中的傳播,并有效降低代碼的錯誤率。

在畢業(yè)設(shè)計中,根據(jù)學(xué)生的特點,采用結(jié)對編程方式,可以讓學(xué)生充分交流,互補所短,互用所長,互相學(xué)習(xí)。例如,在網(wǎng)頁制作類的軟件開發(fā)中,ASP腳本編程人員和界面設(shè)計人員結(jié)對,能夠充分利用二者的特點,將腳本程序和網(wǎng)頁界面元素有機地結(jié)合起來,形成功能完善,界面美觀的動態(tài)網(wǎng)頁。

2.2.5 適應(yīng)改變

敏捷開發(fā)的一個重要特點就是它能夠很好地適應(yīng)改變,并且歡迎改變。這里的改變主要是指功能需求方面的改變。而敏捷開發(fā)對改變的適應(yīng),主要是通過增量開發(fā),持續(xù)交付以及不斷地改進與反省來實現(xiàn)的。

在畢業(yè)設(shè)計中,設(shè)計題目一經(jīng)給出,主要方向不能變。然而選擇題目的學(xué)生是變化的,個體能力有時候有很大差別,并且在開發(fā)中會碰到很多不能預(yù)知的技術(shù)問題。采用敏捷開發(fā)中的過程控制手段,可以有效地讓畢業(yè)設(shè)計小組更好地應(yīng)對各種變化,不會因為突發(fā)因素導(dǎo)致軟件開發(fā)的失敗。

2.2.6 個體激勵和交流

畢業(yè)設(shè)計的重要目的是促進學(xué)生各方面能力的提高,采用的手段可以有很多。在敏捷設(shè)計中,強調(diào)個人能力在團隊中的充分展示。把這種思想應(yīng)用于畢業(yè)設(shè)計指導(dǎo)中,可以采取定期召開小型交流會議的方式,讓每一個組員充分發(fā)揮自己的能力,以“頭腦風(fēng)暴”的形式對系統(tǒng)當(dāng)前狀態(tài)和改進方式進行暢所欲言的交談。通過這種形式的交流,能夠充分調(diào)動整個小組成員的積極性,及時發(fā)現(xiàn)系統(tǒng)開發(fā)過程中的各種問題,增強整個小組的凝聚力,有效提高學(xué)生的團隊協(xié)作能力。

2.2.7 反省

好的團隊并不只是埋頭工作,他們會思考如何工作和為什么工作。在畢業(yè)設(shè)計指導(dǎo)過程中,指導(dǎo)教師應(yīng)當(dāng)在適當(dāng)?shù)臅r機提醒學(xué)生對開發(fā)工作中各項內(nèi)容進行反省,讓學(xué)生能夠有機會去辨別可能或已經(jīng)發(fā)生的錯誤。反省不僅僅是簡單的思考過程,反省的后面應(yīng)該緊跟著行動,學(xué)習(xí)是反省的行為,要能夠?qū)㈠e誤造成的危害盡早地阻止,并從中學(xué)習(xí),以免同樣錯誤的再次發(fā)生。

2.2.8 其他原則

敏捷軟件開發(fā)技術(shù)還包含其他一些原則,在設(shè)計中包含了面向?qū)ο笤O(shè)計的一些基本原則,例如單一職責(zé)原則(SRP)、開放一封閉原則(OCP)等等。要將這些設(shè)計原則應(yīng)用到具體的軟件開發(fā)中,需要學(xué)生熟悉面向?qū)ο蟪绦蛟O(shè)計的相關(guān)概念和技術(shù)。

將敏捷軟件開發(fā)技術(shù)應(yīng)用到畢業(yè)設(shè)計的指導(dǎo)過程中,需要指導(dǎo)教師本身對它有較為深刻的理解,并且勇于進行大膽的嘗試一畢竟敏捷開發(fā)的很多實踐是與傳統(tǒng)軟件工程學(xué)方法相悖的。指導(dǎo)教師可以先在某一門程序設(shè)計課的課程設(shè)計中采用這種思想,然后進行相應(yīng)的調(diào)整,再將其應(yīng)用于畢業(yè)設(shè)計的指導(dǎo)工作。

3 結(jié)束語

將敏捷軟件開發(fā)技術(shù)應(yīng)用于指導(dǎo)畢業(yè)設(shè)計,能夠充分適應(yīng)軟件類畢業(yè)設(shè)計的特點。在實際采用這種方法對我校的兩組畢業(yè)設(shè)計小組進行指導(dǎo)的過程中,可以看出,這兩組同學(xué)在對語言工具和相關(guān)知識不是很熟悉的情況下,采用漸進的方式,逐步實現(xiàn)設(shè)計要求的功能,并且不斷對代碼進行改進,軟件完成的質(zhì)量比其他小組明顯要高。畢業(yè)答辯中,小組成員能夠很清晰地闡述其軟件開發(fā)進程以及相關(guān)知識的學(xué)習(xí)過程。并且,小組成員通過畢業(yè)設(shè)計加深了交流,團隊協(xié)作能力有了大幅度的提高,小組成員個人的精神面貌也有了較大的改變。

主站蜘蛛池模板: 朝桐光一区二区| 亚洲国产高清精品线久久| 国产va在线观看免费| 久久一本精品久久久ー99| 伊人大杳蕉中文无码| 无码又爽又刺激的高潮视频| 国产精品久久久久鬼色| 在线日韩日本国产亚洲| 国产精品无码久久久久AV| 国产精品免费电影| 久久频这里精品99香蕉久网址| 久久久久亚洲Av片无码观看| 国产乱人乱偷精品视频a人人澡| 亚洲中文字幕精品| 国产在线91在线电影| 成人综合网址| 亚洲一区二区三区麻豆| 干中文字幕| 国模在线视频一区二区三区| 国产女人18毛片水真多1| 国产成人免费手机在线观看视频 | 91精品国产一区自在线拍| 91精品aⅴ无码中文字字幕蜜桃 | 毛片在线播放网址| 亚洲精品麻豆| 国产视频资源在线观看| 亚洲αv毛片| 成年人视频一区二区| 激情无码字幕综合| 亚洲国产成熟视频在线多多| 九色视频线上播放| 不卡午夜视频| 激情综合网激情综合| 四虎永久在线精品国产免费| 日韩欧美中文在线| 91精品小视频| 青青青国产视频| 国产噜噜噜| 欧美区一区二区三| 亚洲精品国产精品乱码不卞| 亚洲 欧美 偷自乱 图片| 天堂网亚洲综合在线| 欧美精品一区在线看| 欧美亚洲欧美| 人人91人人澡人人妻人人爽| 人人看人人鲁狠狠高清| 国产精品视频免费网站| 欧美一级在线| 18禁黄无遮挡免费动漫网站| 久久精品只有这里有| 久久九九热视频| 亚洲系列中文字幕一区二区| 亚洲av无码人妻| 91精品国产91欠久久久久| 在线观看免费黄色网址| 91青青草视频| 国产精品自在自线免费观看| 天天婬欲婬香婬色婬视频播放| AⅤ色综合久久天堂AV色综合| 精品伊人久久久香线蕉| 四虎成人精品在永久免费| 亚洲欧美成人在线视频| 亚洲精品动漫| 喷潮白浆直流在线播放| 看你懂的巨臀中文字幕一区二区 | 欧美黄色a| 99久久精品无码专区免费| 欧美黄网在线| 99热这里只有精品免费| 亚洲无码精彩视频在线观看| 国产屁屁影院| www.精品国产| 爱做久久久久久| 人妻精品久久无码区| 日韩区欧美国产区在线观看| 中文字幕无码电影| 久操中文在线| 99re在线观看视频| 欧洲av毛片| 色综合中文综合网| 中国国产高清免费AV片| 精品视频在线观看你懂的一区|