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

        ?

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

        2007-12-31 00:00:00張曉玲周少云
        計(jì)算機(jī)時(shí)代 2007年10期

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

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

        0 引言

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

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

        1 目前狀況及問題

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

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

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

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

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

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

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

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

        1.2 遇到的問題及原因分析

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

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

        (2)項(xiàng)目需求因?yàn)楦鞣N原因不斷改變,軟件不斷修改,最終完成的軟件產(chǎn)品達(dá)不到設(shè)計(jì)要求。

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

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

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

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

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

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

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

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

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

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

        2.2.1 增量式開發(fā)

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

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

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

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

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

        2.2.3 簡(jiǎn)單

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

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

        2.2.4 結(jié)對(duì)編程

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

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

        2.2.5 適應(yīng)改變

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

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

        2.2.6 個(gè)體激勵(lì)和交流

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

        2.2.7 反省

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

        2.2.8 其他原則

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

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

        3 結(jié)束語(yǔ)

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

        曰本人做爰又黄又粗视频| 国产伦一区二区三区久久| 国产精品亚洲一区二区麻豆| 国产卡一卡二卡3卡4乱码| 最好看的最新高清中文视频| 野外三级国产在线观看| 精品人妻av区二区三区| 日韩在线 | 中文| 亚洲av无码专区电影在线观看| 国产系列丝袜熟女精品视频| 亚洲国产av午夜福利精品一区| 国产精品国产三级第一集| 日本牲交大片免费观看| 狠狠躁夜夜躁AV网站中文字幕| 高清少妇一区二区三区| 2021国产精品视频网站| 熟妇人妻无乱码中文字幕| 午夜精品一区二区三区无码不卡 | 无码人妻丰满熟妇片毛片| 91精品91| 国产91在线播放九色快色 | 久久久亚洲经典视频| 国产精品高清一区二区三区人妖| 日韩免费视频| 黑人玩弄漂亮少妇高潮大叫| 久草热这里只有精品在线| 色视频不卡一区二区三区 | 中文字幕乱码亚洲无线精品一区 | 中文字幕午夜精品一区二区三区| 欧美又粗又长又爽做受| 亚洲一区爱区精品无码| 精品日本一区二区视频| 久久伊人这里都是精品| 久久精品女人天堂av| 亚洲国产福利成人一区二区 | 亚洲成av人综合在线观看| 国产午夜三级一区二区三| 亚洲日韩精品AⅤ片无码富二代| 国产成人精品日本亚洲i8| 人人妻人人澡人人爽人人精品97| 二区久久国产乱子伦免费精品|