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

        ?

        基于敏捷開發(fā)的網(wǎng)絡化運銷管理系統(tǒng)設計與開發(fā)

        2011-06-11 03:35:10邱占芝張斌巨貝貝
        大連交通大學學報 2011年5期
        關鍵詞:代碼框架客戶

        邱占芝,張斌,巨貝貝

        (大連交通大學 軟件學院,遼寧 大連 116028)

        0 引言

        在跨地域大型煤炭集團企業(yè)的生產(chǎn)和經(jīng)營中,煤炭運銷管理業(yè)務主要包括:調(diào)度管理、計劃管理、合同管理、統(tǒng)計管理、結(jié)算管理、地銷管理、煤質(zhì)管理、分公司業(yè)務管理、基礎數(shù)據(jù)管理等一系列相關綜合業(yè)務.隨著企業(yè)經(jīng)營的高節(jié)奏、信息化、遠程化趨勢的快速發(fā)展,建設網(wǎng)絡化的煤炭運銷綜合業(yè)務管理系統(tǒng),對提高企業(yè)的經(jīng)營效益、提升企業(yè)的經(jīng)營水平、促進企業(yè)與國際化接軌具有重要意義.對于跨地域大型煤炭集團企業(yè),由于跨地域、機構(gòu)繁多、管理流程復雜、客戶信息與管理需求多變等特點,往往要求運銷管理系統(tǒng)應具備分布式網(wǎng)絡運行方式、業(yè)務功能完整、操作方便易用、查詢統(tǒng)計靈活、數(shù)據(jù)處理安全、兼容性強、運行穩(wěn)定、支持異構(gòu)環(huán)境等特點.傳統(tǒng)瀑布式的系統(tǒng)開發(fā)模式周期長、無法回溯、無法適應用戶需求多變的情況.為此,本文針對網(wǎng)絡化煤炭運銷管理系統(tǒng)中關鍵業(yè)務需求,使用敏捷開發(fā)方法,設計系統(tǒng)的總體方案、系統(tǒng)構(gòu)架、業(yè)務流程和功能模塊,闡述其關鍵技術(shù)和迭代開發(fā)過程.通過該系統(tǒng)的運行和維護,證明了方案的正確性和開發(fā)方法的有效性.

        1 關鍵技術(shù)

        1.1 敏捷開發(fā)方法

        敏捷開發(fā)方法是一種迭代、循序漸進的開發(fā)方法.在敏捷開發(fā)中,系統(tǒng)項目的構(gòu)建被切分成多個子項目,各個子項目的成果都經(jīng)過測試,具備集成和可運行的特征.敏捷開發(fā)與傳統(tǒng)開發(fā)過程的最大的不同之處在于它強調(diào)以人為核心,團隊有激情,有活力地快速適應需求的不斷變化[1].特點如下:①直接交流.敏捷開發(fā)要求設計人員同客戶直接交流,將客戶作為系統(tǒng)設計的參與者,客戶與開發(fā)者被緊密結(jié)合在一起,能夠及時溝通和反饋從而避免了軟件危機發(fā)生的概率;②短周期迭代.應用敏捷開發(fā)的可伸縮性針對不同業(yè)務部門制定不同的周期,周期通常為1~2周,每次迭代的結(jié)束意味著一次小的交付,而較短周期的交付有效的避免了問題擴散,極大的減少了傳統(tǒng)開發(fā)模式中返工的情況;③代碼重構(gòu).代碼持續(xù)性的重構(gòu)極大加強代碼魯棒性、復用性同時排除不必要的復雜邏輯.以模塊迭代為基本單位,重構(gòu)迭代為框架,在變化中逐漸平衡軟件設計和企業(yè)業(yè)務的關系.

        對于跨地域、多部門的網(wǎng)絡化運銷管理系統(tǒng),由于公司業(yè)務人員各司其職,對整體需求模糊,且項目周期短.因此,采用特制驅(qū)動的敏捷開發(fā)模式,以搭建系統(tǒng)原型的用戶測試代替用例測試,以代碼審核和重構(gòu)代替單元測試,從而更符合當前國內(nèi)企業(yè)信息化開發(fā)的需求和模式.

        1.2 框架取舍,業(yè)務為根本

        隨著當前信息產(chǎn)業(yè)和軟件開發(fā)技術(shù)的發(fā)展,各種可重用性框架日漸增多,使用框架雖然可以使開發(fā)者減少代碼編寫量,將更多精力投入到業(yè)務邏輯中,但開發(fā)者必須對是否使用框架、使用何種框架做出選擇,可以從以下幾個角度考慮:①層次,即框架屬于哪個層次.應用系統(tǒng)從整體上可分為表示層、業(yè)務邏輯層、持久層,應該結(jié)合項目自身特點,在業(yè)務層上靈活應用框架;②量級,根據(jù)企業(yè)規(guī)模和業(yè)務邏輯選擇合適框架,當業(yè)務邏輯要求實時性的情況下舍棄框架會提高程序效率,因此過分依賴框架往往造成舍本逐末的設計;③開源,開源框架不僅使開發(fā)成本降低,同時將框架將內(nèi)核暴露于開發(fā)者,便于開發(fā)人員從底層掌握和改進框架從而更契合定制業(yè)務的邏輯.

        2 系統(tǒng)方案及設計

        2.1 系統(tǒng)構(gòu)架

        煤炭運銷系統(tǒng)所涉及的企業(yè)組織結(jié)構(gòu)主要劃分為銷售公司機關和各礦分公司.公司機關下設調(diào)運科、地銷科、煤質(zhì)科、質(zhì)量信息科、結(jié)算科等,負責整體運銷業(yè)務的管理,業(yè)務邏輯復雜、易改變,業(yè)務量繁重,維護工作量較大;各礦分公司負責本公司所轄各礦的軌道衡/汽車衡稱重數(shù)據(jù)采集及統(tǒng)計管理,地點分布廣泛.公司機關和各分公司所有用戶必須通過網(wǎng)絡登錄系統(tǒng),進行相關業(yè)務的處理.為此,該系統(tǒng)的總體架構(gòu)采用基于B/S和C/S混合模式.公司機關業(yè)務主要是管理職能,系統(tǒng)采用B/S三層結(jié)構(gòu)模式,B/S模式將系統(tǒng)分成客戶端(瀏覽器)、應用服務器和數(shù)據(jù)庫服務器.客戶端負責視圖,應用服務器根據(jù)客戶端提出的請求,調(diào)用相應的業(yè)務邏輯對數(shù)據(jù)庫服務器進行訪問,數(shù)據(jù)庫服務器負責數(shù)據(jù)處理[2].對于各礦分公司業(yè)務,因涉及銷售量的數(shù)據(jù)采集,要求實時性強,信息量相對較少且穩(wěn)定,業(yè)務流程簡單,故分公司銷售數(shù)據(jù)采集系統(tǒng)架構(gòu)采用C/S兩層結(jié)構(gòu).用B/S和C/S混合模式的系統(tǒng)極大地提高了系統(tǒng)的可用性、操作速度與維護效率.

        2.2 軟件平臺的選擇

        (1)開發(fā)工具.考慮跨平臺、維護方便等,項目工程使用java語言開發(fā),以struts1.x為業(yè)務控制框架,同時引入jquery作為表示層框架,以JDBC驅(qū)動方式實現(xiàn)數(shù)據(jù)庫容抗匹配以及事務界定;

        (2)數(shù)據(jù)庫平臺.采用微軟公司的SQL Server2005大型關系數(shù)據(jù)庫管理系統(tǒng),既可以滿足對數(shù)據(jù)處理快速、高效和準確的需要,又保證了數(shù)據(jù)安全、系統(tǒng)維護與升級方便等[3];

        (3)軟件環(huán)境.服務器操作系統(tǒng)選用WindowsServer2003SP2企業(yè)版,WEB服務器選擇tomcat5.5及其以上版本.

        2.3 業(yè)務流程及模塊設計

        公司機關各部門之間業(yè)務聯(lián)系緊密,工作相互依存制約;各礦區(qū)地理位置分散,各自擁有服務器,嚴格事務流程,完成事務性工作.公司機關決定各礦分公司工作目標,各礦分公司定期匯報具體工作情況.整個業(yè)務流程可分為三大部分:調(diào)運管理、煤質(zhì)處理和結(jié)算處理.系統(tǒng)業(yè)務流程圖如圖1所示.

        由企業(yè)業(yè)務流程設計系統(tǒng)模塊,主要分為三個子系統(tǒng):調(diào)運管理、煤質(zhì)管理和結(jié)算管理.

        調(diào)運管理子系統(tǒng)主要完成基礎數(shù)據(jù)的錄入,合同的簽訂,庫存量管理,銷售計劃的制定以及裝車管理.子模塊包括:合同管理、計劃管理和裝車管理.合同管理主要完成合同各項內(nèi)容的基礎設置,合同/協(xié)議簽訂和合同的查詢;計劃管理制定路運/地銷銷售計劃;裝車管理根據(jù)銷售計劃和鐵路計劃下達路運/地銷裝車單,指導調(diào)度作業(yè),出具地衡/軌道衡稱重單.

        煤質(zhì)管理子系統(tǒng)分為化驗管理和質(zhì)量信息管理兩個模塊.化驗管理處理各車煤質(zhì)化驗信息,每日出具商品煤質(zhì)化驗日報表以及維護各礦煤種信息;質(zhì)量信息管理處理客戶對煤質(zhì)的反饋以及到貨煤礦的檢斤記錄.

        結(jié)算管理子系統(tǒng)包括:結(jié)算處理、財務管理、審批對賬處理和客戶回款管理.結(jié)算處理主要完成運費處理和生成結(jié)算單;財務管理處理開具發(fā)票的情況;審批對賬處理由相關部門對不同結(jié)算單進行審批,審批通過后進行對賬;客戶回款管理對客戶回款情況進行記錄.

        圖1 業(yè)務流程圖

        2.4 敏捷開發(fā)過程

        2.4.1 故事原型確立

        以合同管理模塊為例,按照敏捷開發(fā)的生命周期法[4]描述實際過程.

        敏捷開發(fā)強調(diào)現(xiàn)場客戶的參與,以客戶提供的原始文檔為基礎,構(gòu)建用戶故事(User Stories).根據(jù)用戶需求設計合同模塊功能,其結(jié)構(gòu)如圖2所示.

        圖2 合同管理功能模塊圖

        將功能翻譯為用戶故事:①鐵路到站用戶故事:用戶可以設置鐵路到站的名稱和所屬區(qū)域;②客戶管理用戶故事:客戶管理實現(xiàn)客戶的增刪查改,收貨人結(jié)算人關系關聯(lián),并設置相應到站關系;③煤炭指標設置故事:定制煤炭質(zhì)量指標;④合同條款定制用戶故事:為系統(tǒng)定制標準合同模板;⑤合同協(xié)議管理用戶故事:以基礎數(shù)據(jù)部分為基礎提供對合同的增刪查改操作;⑥抹帳協(xié)議管理用戶故事:提供非現(xiàn)金性合同的增刪查改;⑦補充協(xié)議:在合同執(zhí)行期間對合同修改,并對歷史合同進行備份處理.

        根據(jù)初始化用戶故事化,合同管理模塊分為7個子模塊,每個模塊相互滿足弱耦合關系,使用struts作為控制框架并引入DAO設計模式,將模塊分為3層:表示層、業(yè)務邏輯層和持久層,并通過靈活使用框架提高代碼內(nèi)聚度和可變動性,如圖3所示.

        以最初用戶故事模型構(gòu)建功能性的原型模塊,為客戶測試做準備.隨著項目迭代故事的進行,這些用戶故事可能進一步深化或被廢除,最終確立系統(tǒng)模塊.

        圖3 系統(tǒng)結(jié)構(gòu)模塊圖

        2.4.2 迭代開發(fā)

        代碼開發(fā)由一位項目主管和多個小組組成.項目主管負責整個業(yè)務的規(guī)劃、排除開發(fā)阻力等,不直接參與具體問題解決.各小組兩名成員分別負責代碼編寫和審核測試,每日例會向項目主管匯報工作進展.模塊以1~2周為迭代周期,在迭代周期末尾小組成員合作進行代碼重構(gòu),減少代碼冗余、提高代碼質(zhì)量和可讀性.

        迭代交付期間以用戶測試為主,根據(jù)用戶需求不斷更新代碼和數(shù)據(jù)庫結(jié)構(gòu),并不斷重構(gòu)以保證結(jié)構(gòu)上的一致.對交付結(jié)果和新問題采用項目主管、小組成員三人頭腦風暴式討論,提供多種解決方案,并根據(jù)業(yè)務流程選擇最優(yōu)方式,從而為下次迭代提供備選方案.模塊迭代計劃表如附表:

        附表 模塊迭代計劃表

        在迭代周期中根據(jù)用戶需求和反饋,逐步增加部分用戶故事和功能模塊,如下:①客戶數(shù)據(jù)收貨人和買受人區(qū)分.企業(yè)對應客戶信息,根據(jù)合同分為買受人和收貨人,根據(jù)不同狀態(tài)添加客戶時可以選擇性插入狀態(tài),并可修改使兩種狀態(tài)可以相互轉(zhuǎn)化;②錯誤信息的動態(tài)提示,持久層DAO拋出業(yè)務異常并捕獲,將封裝為ErrorMessage類型的對象返還業(yè)務邏輯層,通過控制器直接將錯誤信息顯示與頁面上端,方便客戶與系統(tǒng)的交換交互;③合同管理用戶故事提供審核機制,審核交予高權(quán)限人員負責,審核過后底層人員不能修改或刪除合同;④煤炭指標設置用戶故事提供煤種設置機制,用戶可根據(jù)自己需求動態(tài)調(diào)整各頁面中煤種順序、顯示/隱藏;⑤安全處理功能,為用戶操作提供動作日志記錄.

        運銷管理項目采用小發(fā)布的方式,即結(jié)合業(yè)務邏輯,快速確定下一次發(fā)布范圍,結(jié)合本系統(tǒng)實際開發(fā)情況,第一個版本發(fā)布周期在1~4周,持續(xù)數(shù)次發(fā)布歷時半年實現(xiàn)各模塊的開發(fā)與歸檔.合同管理模塊是開發(fā)的典型案例,以此為基礎每個模塊基本發(fā)布周期為4周時間,期間經(jīng)歷數(shù)次迭代,并單獨歸檔.

        對系統(tǒng)不斷的重構(gòu)、測試和客戶的及時反饋,實現(xiàn)了全部用戶故事,并完成了系統(tǒng)流程.經(jīng)過半年的迭代開發(fā),最終系統(tǒng)得到用戶認可.

        3 結(jié)論

        通過實際項目的設計、開發(fā)、運行與維護表明:采用敏捷開發(fā)方法,設計者和開發(fā)者與客戶直接交流,避免了軟件危機[5]發(fā)生的概率;開發(fā)周期短,避免了需求的不斷變化所帶來的開發(fā)工作量的劇增;代碼持續(xù)性重構(gòu)極大地加強代碼魯棒性、復用性,同時排除不必要的復雜邏輯.敏捷開發(fā)具有高度的靈活性,在追求高效率、高質(zhì)量的同時,更加體現(xiàn)團隊協(xié)作和降低開發(fā)成本.采用敏捷開發(fā)方法所設計和開發(fā)的網(wǎng)絡化煤炭運銷管理系統(tǒng),既實現(xiàn)了公司內(nèi)部經(jīng)營信息的高度共享,并根據(jù)市場變化情況,及時改變銷售策略和產(chǎn)品品種,同時又為領導決策提供了技術(shù)上的支持和保障.

        [1]胡霞.初探敏捷開發(fā)在項目開發(fā)中的應用[J].硅谷,2009,24:66.

        [2]唐紅軍,萬健基.基于B/S結(jié)構(gòu)的分銷資源信息管理系統(tǒng)模型設計與實現(xiàn)[J].電腦開發(fā)與應用,2005,18(4):28-29.

        [3]王會林.軟件定制開發(fā)從代碼到構(gòu)件之探索[J].電腦開發(fā)與應用,2006(4):12-13.

        [4]ALISTAIR COCKBURN.Agile Software Development[M].Boston:Addison Wesley,2002.

        [5]LARMAN CRAIG.Agile and iterative development:A manager’s guide[M].北京:中國電力出版社,2004.

        猜你喜歡
        代碼框架客戶
        框架
        廣義框架的不相交性
        創(chuàng)世代碼
        動漫星空(2018年11期)2018-10-26 02:24:02
        創(chuàng)世代碼
        動漫星空(2018年2期)2018-10-26 02:11:00
        創(chuàng)世代碼
        動漫星空(2018年9期)2018-10-26 01:16:48
        創(chuàng)世代碼
        動漫星空(2018年5期)2018-10-26 01:15:02
        為什么你總是被客戶拒絕?
        如何有效跟進客戶?
        WTO框架下
        法大研究生(2017年1期)2017-04-10 08:55:06
        做個不打擾客戶的保鏢
        山東青年(2016年2期)2016-02-28 14:25:41
        久久综合精品人妻一区二区三区| 白又丰满大屁股bbbbb| 色一情一乱一伦一区二区三区| 国产成人无码A区在线观| 亚洲av永久无码精品成人| 按摩偷拍一区二区三区| 国产三级视频不卡在线观看| 亚洲乱亚洲乱妇无码麻豆| 日韩高清在线观看永久| 91短视频在线观看免费 | 久久久久久国产精品mv| 亚洲 欧美 国产 日韩 精品| 国产伦码精品一区二区| 麻豆成年人视频在线观看| 青青草大香蕉视频在线观看| 男女啪动最猛动态图| 欧美人妻精品一区二区三区| 国产成人久久精品激情91| 亚洲一区二区三区资源| 亚洲tv精品一区二区三区| 窝窝午夜看片| 人体内射精一区二区三区| 久久人妻av不卡中文字幕| 亚洲国产精品自拍成人| 天天躁夜夜躁av天天爽| 国产精品成人国产乱| 亚洲福利天堂网福利在线观看| 国产啪啪视频在线观看| 视频在线观看国产自拍| 亚洲精品一品区二品区三品区| 亚洲精品国偷拍自产在线观看蜜臀| 久久HEZYO色综合| 三级国产自拍在线观看| 高清毛茸茸的中国少妇| 精产国品一二三产区m553麻豆| 人妻有码中文字幕在线不卡| 女同另类专区精品女同| 欧美性猛交aaaa片黑人| 日本50岁丰满熟妇xxxx| 青草青草伊人精品视频| 免费蜜桃视频在线观看|