国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于敏捷方法的校友系統(tǒng)開發(fā)

2012-12-17 10:48:24玉溪師范學(xué)院信息技術(shù)工程學(xué)院
電子世界 2012年7期
關(guān)鍵詞:校友業(yè)務(wù)流程實(shí)例

玉溪師范學(xué)院信息技術(shù)工程學(xué)院 楊 揚(yáng) 韓 杰

1.引言

敏捷軟件開發(fā)過(guò)程建側(cè)重于開發(fā)成員的協(xié)作開發(fā)、協(xié)作機(jī)制的建立和實(shí)際的開發(fā)步驟,是基于構(gòu)想、探討和適應(yīng)的基礎(chǔ)之上。敏捷開發(fā)的目標(biāo)不是“重復(fù)”的過(guò)程,而是“可靠”的過(guò)程[1],以上特性使得如今敏捷開發(fā)頗受中小型開發(fā)團(tuán)隊(duì)的青睞。

2.軟件工程與敏捷開發(fā)

2.1 傳統(tǒng)軟件工程與面臨的問(wèn)題

早期的軟件開發(fā)充滿著個(gè)人主觀色彩,缺乏相關(guān)規(guī)范標(biāo)準(zhǔn),但經(jīng)歷了60年代的軟件危機(jī)之后,采用軟件工程原理來(lái)組織開發(fā)軟件項(xiàng)目成為業(yè)內(nèi)一種重要手段。但在隨后的時(shí)間里,軟件工程知識(shí)體系正被不斷發(fā)展和完善,在進(jìn)入90年代以后,卡耐基梅隆大學(xué)軟件學(xué)院推出CMM[2],為軟件開發(fā)過(guò)程提出了明確的管理衡量標(biāo)準(zhǔn)。許多人認(rèn)為,隨著軟件開發(fā)的各個(gè)方面中不斷增多的規(guī)則和方法,程序員能更好的開發(fā)出軟件產(chǎn)品。但隨著越來(lái)越多的規(guī)則和方法的加入,軟件工程變得龐大和復(fù)雜,在現(xiàn)行的實(shí)際環(huán)境下,軟件開發(fā)如果遵循那些詳細(xì)制定的規(guī)則和方法是非常困難的,過(guò)于復(fù)雜且難以理解的開發(fā)流程和規(guī)則,使得完全使用傳統(tǒng)軟件工程方法來(lái)開發(fā)軟件產(chǎn)品變得越來(lái)越難以實(shí)現(xiàn)。為了完成開發(fā)計(jì)劃,開發(fā)者往往會(huì)省略一些流程以節(jié)省時(shí)間,程序員越來(lái)越希望制定出一套更簡(jiǎn)潔的開發(fā)流程和規(guī)則,刪除一些不必要的步驟以應(yīng)對(duì)不同的開發(fā)需求,從而讓軟件開發(fā)變得更靈活、快速,而敏捷開發(fā)正是因此而誕生的。

2.2 敏捷開發(fā)與極限編程

敏捷方法是一種在面對(duì)不斷變化的需求中,采用以人為本、迭代、循序漸進(jìn)的方式快速開發(fā)軟件產(chǎn)品的方法。為獲取這種敏捷性,在開發(fā)過(guò)程中應(yīng)把軟件項(xiàng)目分割為多個(gè)子項(xiàng)目,采用必要的紀(jì)律和反饋實(shí)踐,保證每個(gè)子項(xiàng)目的完整性,具備集成和執(zhí)行的特性,從而體現(xiàn)讓整個(gè)軟件項(xiàng)目具有靈活、適應(yīng)性的設(shè)計(jì)原則和設(shè)計(jì)模式。

當(dāng)前,常見的敏捷方法有極限編程(XP eXtreme Programming)、SCRUM、動(dòng)態(tài)系統(tǒng)開發(fā)方法(DSDM Dynamic System Development Method)、水晶方法(Crystal Methodologies)、自適應(yīng)軟件開發(fā)(ASD Adaptive Software Development)、特征驅(qū)動(dòng)軟件開發(fā)(FDD Feature Driven Development)、開放式源代碼(Open Source)等[3]。其中XP以它特有方式,大受青睞。

1999年,Kent Beek提出了“極限編程(XP)”這一創(chuàng)新理念[4]。進(jìn)入21世紀(jì)以來(lái),極限編程成為最流行的敏捷方法,多使用于為中小企業(yè)開發(fā)需求處于快速變化的軟件。XP提供了一個(gè)全局的、價(jià)值驅(qū)動(dòng)的開發(fā)過(guò)程視圖,體現(xiàn)了4個(gè)價(jià)值目標(biāo):交流(communication),簡(jiǎn)單(simplicity),反饋(feedback)和勇氣(courage),并遵循5個(gè)原則:快速反饋、簡(jiǎn)單假設(shè)、逐步修改、提倡更改和優(yōu)質(zhì)工作[5]。

3.敏捷建模過(guò)程

本次校友網(wǎng)站的開發(fā)是玉溪師范學(xué)院2011年大學(xué)生科研立項(xiàng)的項(xiàng)目之一,筆者作為指導(dǎo)教師首先考慮到的問(wèn)題就是組員均為缺少實(shí)際開發(fā)經(jīng)驗(yàn)的學(xué)生,若采用傳統(tǒng)的軟件開發(fā)方式,極有可能讓學(xué)生在冗長(zhǎng)復(fù)雜的開發(fā)流程中失去興趣,從而影響項(xiàng)目進(jìn)度與質(zhì)量。而極限編程作為一種輕量、高效、低風(fēng)險(xiǎn)、可預(yù)測(cè)且充滿樂趣的軟件開發(fā)方式,更適合作為本次校友網(wǎng)站的開發(fā)模式。校友網(wǎng)站的開發(fā)目的,是為建立一個(gè)能讓各級(jí)校友溝通交流的平臺(tái)。因此開發(fā)出的校友網(wǎng)系統(tǒng)應(yīng)貼切符合學(xué)生的應(yīng)用需求,但在校學(xué)生對(duì)校友網(wǎng)的功能需求是一個(gè)籠統(tǒng)而模糊的概念,并且人數(shù)眾多、喜好各異,若要能短期獲得符合公眾真實(shí)意愿的需求分析是非常不現(xiàn)實(shí)的。而XP中快速反饋、逐步修改的理念正好讓組員能不斷收集完善學(xué)生需求,并修改反饋到系統(tǒng)中去。

圖1 需求分析流程圖

圖2 校友網(wǎng)基本業(yè)務(wù)流程

圖4 后臺(tái)系統(tǒng)管理展示

3.1 需求分析

圖3 校友網(wǎng)系統(tǒng)功能模塊

按照敏捷建模的思路,設(shè)計(jì)了圖1所示的需求分析以及總結(jié)流程。通過(guò)對(duì)各個(gè)模塊的建模應(yīng)用,作為下一階段的建模基礎(chǔ)。通過(guò)模塊間的相互舉證,確保需求獲取的準(zhǔn)確和高效。用戶故事(Story)是極限編程(XP)中的重要方法之一,體現(xiàn)了交流、反饋、簡(jiǎn)單等原則,它通過(guò)精簡(jiǎn)、獨(dú)立、可靠的素材替代描述,提高溝通效果。

在校友網(wǎng)系統(tǒng)的需求收集過(guò)程中,為了使學(xué)生能夠更好地表達(dá)他們的需求,需求獲取分為兩個(gè)階段:第一階段采用問(wèn)卷調(diào)查方式,對(duì)不同專業(yè)和年級(jí)的學(xué)生以及部分教師發(fā)放問(wèn)卷,并抽取問(wèn)卷中類似需求的學(xué)生進(jìn)行歸類;第二階段,通過(guò)整體分析問(wèn)卷,隨機(jī)抽取同一類的部分學(xué)生完成設(shè)計(jì)人員所設(shè)計(jì)的任務(wù),期間不斷溝通,詢問(wèn)用戶的想法和意圖,完善用戶需求。業(yè)務(wù)流程建模在需求獲取后,對(duì)需求信息進(jìn)行分析與細(xì)化,將業(yè)務(wù)流程進(jìn)行提取與整理讓其能體現(xiàn)的整個(gè)系統(tǒng)的業(yè)務(wù)處理過(guò)程,使用戶理解全局的邏輯。用戶也能確認(rèn)是否存在遺漏和特殊流程,從而生成了如圖2所示校友網(wǎng)基本業(yè)務(wù)流程。

3.2 角色設(shè)計(jì)與實(shí)例建模

建模作為敏捷開發(fā)的核心,體現(xiàn)在這里就是關(guān)于角色的規(guī)劃。通過(guò)對(duì)基本業(yè)務(wù)流程進(jìn)行收集整理后,按照特定的角色對(duì)操作整理從而對(duì)產(chǎn)品經(jīng)行實(shí)例建模,根據(jù)圖2進(jìn)行角色設(shè)計(jì),并分析設(shè)計(jì)該系統(tǒng)的三類角色:系統(tǒng)管理員、游客、注冊(cè)校友。

游客,未進(jìn)行系統(tǒng)注冊(cè)的校友或其他在網(wǎng)絡(luò)上瀏覽該系統(tǒng)的人員,游客可以正確瀏覽系統(tǒng)前臺(tái)所有模塊。

注冊(cè)校友,游客通過(guò)在校學(xué)號(hào)進(jìn)行系統(tǒng)注冊(cè)成為注冊(cè)校友,注冊(cè)校友享有游客權(quán)限外,應(yīng)具有個(gè)性化的個(gè)人空間,并且能進(jìn)入后臺(tái)進(jìn)行個(gè)人信息的管理。系統(tǒng)管理員,系統(tǒng)管理員是保障校友網(wǎng)系統(tǒng)運(yùn)行所需要的技術(shù)支持和管理維護(hù)人員,應(yīng)具有對(duì)各管理模塊的管理權(quán)限,從而對(duì)系統(tǒng)前臺(tái)各模塊的內(nèi)容進(jìn)行添加、編輯、刪除。

通過(guò)對(duì)業(yè)務(wù)流程進(jìn)行整理后,按照特定的角色實(shí)施操作整理,就可對(duì)產(chǎn)品的進(jìn)行實(shí)例建模,實(shí)例模型是利用對(duì)實(shí)例和角色的簡(jiǎn)單描述并對(duì)產(chǎn)品需求進(jìn)行模型化解釋,從而確定問(wèn)題領(lǐng)域的作用。在實(shí)例建模過(guò)程后,不需給出任務(wù)操作細(xì)節(jié),含有基本的描述即可。在校友網(wǎng)系統(tǒng)業(yè)務(wù)流程建模后可以發(fā)現(xiàn),除特定的角色的實(shí)例復(fù)雜之外,其余角色用例建模都較為簡(jiǎn)單,在后續(xù)功能模塊的設(shè)計(jì)進(jìn)行上,能夠得到充分的利用,提高效率。最終我們得出了圖3所示整個(gè)校友網(wǎng)的功能流程圖。

4.系統(tǒng)設(shè)計(jì)

在系統(tǒng)開發(fā)過(guò)程中考慮到今后服務(wù)器負(fù)載和開發(fā)與維護(hù)成本,以及基于XP中逐步修改、提倡更改的原則,對(duì)平臺(tái)設(shè)計(jì)采用了基于B/S應(yīng)用的.NET三層架構(gòu)。.NET三層架構(gòu),是在客戶端與數(shù)據(jù)庫(kù)之間加入一個(gè)“中間層”。實(shí)際項(xiàng)目開發(fā)過(guò)程中,整個(gè)項(xiàng)目分為三層架構(gòu)分別包含:表示層(UI)、業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問(wèn)層(DAL)。

表示層(UI):負(fù)責(zé)數(shù)據(jù)展示,將數(shù)據(jù)傳遞給業(yè)務(wù)邏輯層,為用戶提供交互操作界面。

業(yè)務(wù)邏輯層(BLL):負(fù)責(zé)關(guān)鍵業(yè)務(wù)處理和數(shù)據(jù)傳遞。復(fù)雜邏輯判斷和數(shù)據(jù)庫(kù)的數(shù)據(jù)驗(yàn)證都需要在此進(jìn)行處理,并反饋用戶數(shù)據(jù)和相關(guān)邏輯處理。

數(shù)據(jù)訪問(wèn)層(DAL):實(shí)現(xiàn)數(shù)據(jù)保存與讀取,負(fù)責(zé)數(shù)據(jù)庫(kù)數(shù)據(jù)訪問(wèn)。主要為業(yè)務(wù)邏輯層提供數(shù)據(jù),根據(jù)輸入數(shù)據(jù)來(lái)操作數(shù)據(jù)庫(kù)。

為了保證項(xiàng)目開發(fā)效率,我們?cè)陧?xiàng)目中建了BLL,DAL,DBUtility,Model四個(gè)類庫(kù)和一個(gè)web界面。命名為:業(yè)務(wù)邏輯層(Business Logic Layer):BLL,命名空間設(shè)置為Maticsoft.BLL數(shù)據(jù)訪問(wèn)層(Data Access Layer):DAL,命名空間設(shè)置為Maticsoft.DAL數(shù)據(jù)層基類:DBUtility,命名空間設(shè)置為Maticsoft.DBUtility,此外為了保證了數(shù)據(jù)傳遞的效率,添加了一個(gè)類庫(kù),貫穿于整個(gè)三層架構(gòu)中的,命名為Model為實(shí)體類。其中封裝的每個(gè)類對(duì)應(yīng)著一個(gè)實(shí)體類,通常為數(shù)據(jù)庫(kù)中的一個(gè)表,將表中字段都封裝成共有屬性。這樣三層架構(gòu)的搭建完成并有著如下關(guān)系:表示層←業(yè)務(wù)邏輯層←數(shù)據(jù)訪問(wèn)層,他們之間的數(shù)據(jù)傳遞是雙向的,并且通常借助實(shí)體類傳遞數(shù)據(jù)。這樣設(shè)計(jì)有幾個(gè)優(yōu)點(diǎn):

(1)易于項(xiàng)目修改和維護(hù)。

(2)易于擴(kuò)展,今后如有改動(dòng)只需將原有類庫(kù)添加即可。

(3)易于合并和代碼的重復(fù)使用。

圖4展示了開發(fā)完成后的后臺(tái)管理系統(tǒng)界面,其余界面由于篇幅關(guān)系不作展示,目前該項(xiàng)目處于結(jié)題階段,未對(duì)外開放。結(jié)題后可登陸玉溪師范學(xué)院網(wǎng)站(www.yxnu.net)進(jìn)行訪問(wèn)。

5.結(jié)束語(yǔ)

本文介紹了使用敏捷開發(fā)思想快速開發(fā)校友網(wǎng)系統(tǒng)的過(guò)程,確保系統(tǒng)開發(fā)按期完成,并通過(guò)用戶故事和原型迭代分析,完善了系統(tǒng)功能模塊,保證軟件質(zhì)量。實(shí)踐證明:應(yīng)對(duì)開發(fā)過(guò)程中學(xué)生不斷反饋引發(fā)的需求不斷變化,敏捷開發(fā)及極限編程的思想不失為一種明智選擇,由于篇幅關(guān)系,本文未能反映采用敏捷思想的軟件測(cè)試環(huán)節(jié)的過(guò)程,但作為敏捷開發(fā)中一個(gè)重要環(huán)節(jié),不斷的測(cè)試與反饋才能促使系統(tǒng)的改進(jìn)才能保證軟件質(zhì)量。

[1]趙熙朝.敏捷軟件開發(fā)過(guò)程改進(jìn)的行動(dòng)框架[J].Software Engineering and Standardization.2007.

[2]RobertC.Martin.敏捷軟件開發(fā):原則、模式與實(shí)踐[M].北京:清華大學(xué)出版社,2003.

[3]張友生.系統(tǒng)分析師技術(shù)指南[M].北京:清華大學(xué)出版社,2007.

[4]Kent Beck.Extreme Programming Explained[M].北京:機(jī)械工業(yè)出版社,1999.

[5]Sillitti A Succi G.Source Code Repositories and Agile Methods .Extreme programming and Agile Processes in Software Engineering:6th International Conference XP[C].2005.

猜你喜歡
校友業(yè)務(wù)流程實(shí)例
安慶師范大學(xué)優(yōu)秀校友
安慶師范大學(xué)優(yōu)秀校友
RPA機(jī)器人助業(yè)務(wù)流程智能化
校友風(fēng)采
STK業(yè)務(wù)流程優(yōu)化的探究
校友風(fēng)采
海峽姐妹(2018年10期)2018-12-26 01:20:54
企業(yè)財(cái)務(wù)管理、業(yè)務(wù)流程管理中整合ERP之探索
基于財(cái)務(wù)業(yè)務(wù)流程再造的ERP信息系統(tǒng)構(gòu)建探析
完形填空Ⅱ
完形填空Ⅰ
城口县| 长乐市| 雷州市| 蒲城县| 蕲春县| 沙河市| 峡江县| 工布江达县| 灵宝市| 贵德县| 尤溪县| 东平县| 永兴县| 息烽县| 江达县| 平舆县| 旌德县| 繁峙县| 布尔津县| 潞西市| 定南县| 新平| 石阡县| 上饶市| 文水县| 沁阳市| 通化市| 衡南县| 高陵县| 通许县| 北海市| 香河县| 石台县| 宜昌市| 涟源市| 安西县| 邮箱| 西藏| 永仁县| 汨罗市| 凤阳县|