前言:本站為你精心整理了多層架構設計管理范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。
在電子商務應用中,越來越多的使用多層架構,因為基于兩層架構的程序結構只適用于規模較小的任務,其開發、維護、成本以及在代碼重用、靈活性、可維護性等方面都不能讓人滿意。
一、三層架構
1.概述
使用多層應用程序結構,能使用戶界面代碼和業務邏輯代碼分離,方便了應用程序中代碼的修改,具有良好的解耦性。將業務邏輯集中到一個類庫中,從而方便了開發和維護。在數據庫數據的操作中,避免了代碼的重復,提高了重用性。可以隨時將組件分離到不同的物理計算機上。具有靈活的擴展性。多層構架主要分為:表示層、業務層和數據層。
(1)表示層(PresentationLayer)。表示層提供應用程序的用戶界面(UI),在中頁面是UI的表現形式,在WindowsForm里,窗體是主要的表現形式。表現層是系統與用戶溝通的惟一渠道,是系統功能的展示。
(2)業務層(BusinessLogicLayer)。業務層實現應用程序的功能。在.NET中,通常以類庫的形式封裝系統需要的業務邏輯。業務邏輯是開發過程當中主要的任務。
(3)數據訪問層(DataAccessLayer)。數據訪問層中包含了與數據存儲進行交互的類庫。這些類在功能上和業務邏輯層相互獨立。數據訪問層實現所有業務邏輯所需要的數據訪問功能。
2.0Framework支持多層構架
在.NET2.0中出現了一系列的新的控件來支持多層構架。
二、系統開發目標
1.銷售流程實現SOP
本文以銷售公司為例,SOP(StandardOperationProcedure),即標準作業程序,就是將某一事件的標準操作步驟和要求以統一的格式描述出來,用來指導和規范日常的工作。SOP的精髓,就是將細節進行量化,用更通俗的話來說,SOP就是對某一程序中的關鍵控制點進行細化和量化。
優化企業的銷售流程。量化銷售過程當中的每一個關鍵因素,增加了銷售過程的可控性。
三、概要設計和業務流程分析
1.系統設計流程
系統開發的流程如下:
圖1系統開發流程
首先,根據需求分析,設計系統總體架構;隨后設計數據庫、設計數據表;然后一個一個模塊進行開發。模塊的開發采用三層B/S結構,分層的步驟如下:設計數據層、建立業務邏輯層、設計表示層。
2.業務流程
為了實現銷售流程的SOP,首先要對業務流程進行分析:
銷售公司將作為網絡交互的中心,每一個用戶想使用系統的功能首先必須通過系統的身份驗證。
一般情況下,銷售公司的流程如下:
(1)銷售人員獲得新的業務機會。如果新的業務對應的客戶在客戶關系管理CRM(CustomerRelationshipManagement)中不存在,銷售人員首先要在CRM中添加該客戶的信息,再創建業務機會。銷售人員會根據和客戶的商談狀況隨時更改業務機會的狀態(進行中、失敗或者成功等)。
(2)當銷售人員在贏得一個業務機會后,需要生成銷售訂單。雖然銷售人員事先已經查看了產品庫存情況,但某些突發事件可能導致創建銷售訂單時庫存不足。只有當訂單中的產品庫存滿足要求時,創建銷售訂單的請求才能被發送給財務人員處理。
(3)財務人員會收到一個手機短信,告知他有一個銷售訂單需要處理,同時日程表中自動添加一項新的事務,要求他處理這個銷售訂單。如果不滿足要求,則訂單被凍結。銷售人員被通知不能提交訂單。當產品庫存滿足要求時,系統會發短信通知銷售人員重新提交訂單。
3.系統設計
系統架構:銷售公司在銷售流程中,銷售人員是持有移動設備的,可以很方便的攜帶,方便地和公司財務系統、庫存管理系統、生產系統獲得聯系。財務系統、庫存系統、生產系統使用的都是終端。系統和系統之間可以相互通信。
設計數據層:
數據訪問邏輯組件:代表調用程序提供對數據庫執行以下任務的方法:
在數據庫中創建記錄(Create)
讀取數據庫中的記錄并把業務實體數據返回給調用程序(Read)
使用調用程序提供的修改后的業務實體數據更新數據庫中的記錄(Use)
刪除數據庫中的記錄(Delete)
執行上述任務的方法通常稱為“CRUD”方法,這是由各項任務的首字母組成的一個縮寫詞。
數據層的實現我們可以采用MicrosoftApplicationBlock中的DataAccessBlock它提供了封裝好了的數據庫操作功能,實現了包括Oracle,SQLServer等數據庫的操作。也可以使用一些開源(OpenSource)的O/RMapping的框架,如NHibernate等。
表示業務實體:每個數據訪問邏輯組件都處理一種特定類型的業務實體。它主要用于表示數據存儲中的持久對象。是對數據庫的一個強類型的映射。這些實體在數據層和業務邏輯層相互獨立。
例如在系統中會有Client(客戶信息表),其數據庫設計如下:
那么它的業務實體的類圖就應該如下圖,它實際上就是Client數據表的一個映射。
業務邏輯層:業務邏輯是任務的重點。因為數據層并沒有對業務實體進行邏輯上的處理,只是實現了CRUD方法,而業務邏輯層則提供對業務實體的邏輯操作,這些操作完全取決于企業的業務邏輯。這一層也是今后工作最容易更改、升級的部分。
表現層:本系統采用的是B/S的結構,所以在表現層使用,也就是Web頁面。主要考慮的是用戶的交互問題,即系統應有,一個友好的圖形界面,Microsoft提供給用戶豐富的人機交互手段。用戶可以很容易地使用系統。Microsoft最近推出的MicrosoftAjax(原名:Atlas)提供給開發者方便實現高效交互的實現方法,在這種高效的交互下,彌補了B/S結構相對C/S結構的弱處,加強了用戶的交互體驗。
四、單元測試
在一個軟件項目中,需要做多種測試。有些測試需要用戶的參與;而有些則需要專門的質量保證小組來進行;或者需要其他的昂貴的資源。為了平衡成本和時間等因素,項目中采用了單元測試。單元測試并不是在這個項目快完成時才進行的,而是在設計的過程中就必須進行單元測試。
在.Net中可以由程序員編寫單元測試的代碼,但是容易出錯。為了解決這個問題,有一些開源的單元測試軟件可以供程序員選擇,在.Net中比較常用的單元測試軟件有NUnit,它提供了一套測試框架和一個測試運行程序。
在MicrosoftVisualStudio2005中,VisualStudio2005為開發人員提供了一個全新的測試環境。開發人員可以很輕松的開始測試編碼,調試測試編碼,管理測試用例等。
五、部署和維護
一個軟件項目開發完成后需要部署到運行環境當中,模塊的數量多少和復雜程度就決定了部署的難度。通常需要確定一個目錄結構,哪些目錄下放置哪些文件,這些細節都是在開發中必須定義的,運行環境必須嚴格按照文檔來部署。如果模塊數量多、復雜程度高,那么每一次的部署的工作量都會很大,而且容易出錯。
在.Net中,仍然有很多提供部署功能的軟件產品可以供選擇。比如:NAnt,它是一個自動構建、部署的工具,可以根據用戶的定義,部署多層結構的系統。
在.Net2.0中,Framework2.0提供了一個叫MSBuild的工具,MSBuild引入了一種新的基于XML的項目文件格式,這種格式容易理解、易于擴展并且完全受Microsoft支持。MSBuild項目文件的格式使開發人員能夠充分描述哪些項需要生成,以及如何利用不同的平臺和配置生成這些項。另外,項目文件的格式還使開發人員能夠創作可重用的生成規則,這些規則可以分解到不同的文件中,以便可以在產品內的不同項目之間一致地執行生成。
六、結束語
本文簡要介紹了在.Net環境下構建多層結構的一種方法,如果讀者對本文有任何的問題和建議,請發電子郵件與我們聯系xiaomeizi74@或allenlecn@。(文中源代碼下載請訪問:/layerappdemo)
參考文獻:
[1]PaulD.Sheriff《設計.NET應用程序》
[2]郝剛等:《2.0開發指南》人民郵電出版社,2006.5
[3]龔赤兵:《2.0網站開發實例教程》人民郵電出版社2006.7
[4][美]AndrewHunt,DavidThomas著,陳偉柱,陶文譯《單元測試之道C#版:使用NUnit--程序員修煉三部曲》