




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件系統設計軟件系統的組成物理結構邏輯結構軟件系統設計的原則掌握設計、部署用戶表示層掌握設計、部署業務邏輯層掌握設計、部署數據層實例演示(.NET平臺)訓練:訂單管理系統的實現掌握數據傳輸對象(DTO)模式的設計與.NET實現企業級應用程序部署振陽軟件技術培訓中心剖析軟件系統的結構軟件系統由什么組成:程序代碼、控件、數據庫、文檔服務器、客戶機我們關注軟件系統內部結構物理結構有多少類臺機器?它們的職責的是什么?如何分布?部署的問題系統架構邏輯結構軟件系統內部如何組織?軟件(應用)架構的振陽軟件技術培訓中心軟件系統物理結構發展史單主機方式單機-IBM AS400客戶機-服務器(C/S)方式PB,
2、Delphi, VB6.0,FoxPro應用程序客戶機-服務器客戶機-服務器(B/S)方式WEB-BASE應用程序客戶機-WEB/應用服務器-數據庫服務器四層結構目前最為常用的部署結構客戶機-WEB服務器-應用服務器-數據庫服務器振陽軟件技術培訓中心物理結構-單主機方式特點:由單主機完成所有功能主機昂貴,并發數量有限伸縮性差,應用范圍有限用戶界面交互性差啞終端數據顯示,數據輸入示例:IBM Mainframe振陽軟件技術培訓中心物理結構- C/S結構(二節點)客戶機數據表示/輸入/驗證業務邏輯服務器數據存儲業務邏輯特點:豐富的用戶交互界面部署困難(目前向智能客戶端方面發展)兩種實現:胖客戶端、
3、痩客戶端振陽軟件技術培訓中心客戶端/服務器的實現痩客戶端業務邏輯在服務端實現存儲過程、觸發器數據庫移可植性好客戶端配置要求一般胖客戶端業務邏輯有客戶端實現程序可植性好客戶端配置要求高振陽軟件技術培訓中心物理結構- B/S結構(三節點)客戶機數據表示/輸入/驗證WEB/應用服務器業務邏輯系統服務數據服務器數據存儲業務邏輯特點:簡化部署問題好的響應能力服務器成為系統瓶頸伸縮性不太好用戶界面交互能力差(AJAX方向發展)振陽軟件技術培訓中心物理結構- B/S結構(四節點)客戶機數據表示/輸入/驗證WEB服務器系統服務應用服務器業務邏輯數據服務器數據存儲業務邏輯特點:簡化部署問題更好的響應能力伸縮性好
4、交互能力取決于客戶端是目前最為經典的結構振陽軟件技術培訓中心軟件系統邏輯結構解決問題:軟件系統由哪件些部件組成?各個部件成什么樣的功能?各個部件如何協作、通信?系統邏輯分層原理軟件系統邏輯分層軟件系統的部件經典的三層結構振陽軟件技術培訓中心系統邏輯分層(Layered)原理問題”分而治之”的處理方式職責分配原理相互協作,向上服務的原理示例:ISO/OSI模型Windows系統振陽軟件技術培訓中心系統分層的分類分類Strictly layered只能調用下層提供的服務Relaxed layered可以跨層調用Layer Super type(超層)每一層的公用行為,可以由所有層調用抽象接口每一層
5、的部件對外的名稱上一層通過這個名稱調用請求服務振陽軟件技術培訓中心關健概念服務應用邏輯的分散單元把基于消息、適合通過網絡訪問的接口展示出來基于服務的架構允許非常靈活的部署戰略服務可以用來平衡網絡計算資源,面不要求所有的數據的邏輯駐在一臺計算機上企業應用-發展新模式面向服務體系結構SOA振陽軟件技術培訓中心面向服務結構-軟件部件的分類把功能相同/或相似的組件組織成了“層“(Layer)如我們常見的三層結構:表示層業務邏輯層數據層系統服務層振陽軟件技術培訓中心經典的三層結構表示層用戶界面和界面處理數據驗證,輸入,數據顯示Windows Form(或智能客戶)、Web Form 邏輯層業務邏輯處理業
6、務流程控制數據層訪問外部數據源(數據庫、XML etc)振陽軟件技術培訓中心三層結構的組成部件表示層用戶界面部件(UIC)用戶界面處理部件(UPC)業務邏輯層業務部件(BC)業務工作流(BWF)業務實體業務接口數據層數據訪問組件服務代理振陽軟件技術培訓中心表示層用戶界面部件(UIC)按鈕、文本框、下拉列表等控件Win formSystem.Windows.Forms and controlsWeb formSystem.Web.UI.WebControlsSystem.Web.UI.HtmlControls用戶處理部件(UPC)分隔用戶界面和業務邏輯下一步,執行什么?Front Control
7、ler, Application Controller模式參考振陽軟件技術培訓中心業務邏輯層業務組件處理特定的業務問題-封裝了業務邏輯/規則業務工作流協調多個業務組件,共同完成某個業務處理過程業務實體是數據容器表示業務邏輯里的一個對象業務工作流和業務組件過業務實體交互DTO的一個用法服務接口業務外觀層外部調用接口振陽軟件技術培訓中心數據層數據訪問邏輯組件隔離數據源和業務邏輯層業務層不在依賴于數據庫配置性和維護性服務代理調用外部服務接口振陽軟件技術培訓中心回顧把功能相同/或相似的組件組織成了“層“(Layer)如我們常見的三層結構:表示層業務邏輯層數據層系統服務層振陽軟件技術培訓中心軟件系統設計
8、的原則標識出您系統中所需要的部件每個部件中,保持設計一致性部件間低耦合、部件內高內聚部件間統一的數據交換格式XML, Serialized objects, DataReader應用程序邏輯盡可以能抽象/使用接口可以有不同的實現開始設計時,決定層件調用規則振陽軟件技術培訓中心零售系統-示例場景振陽軟件技術培訓中心設計表現層設計用戶接口部件設計用戶接口處理部件簡單系統UI 部件Win Form & Web Form復雜系統使用UPC用戶交互有流程如向導程振陽軟件技術培訓中心設計表現層-零售系統電子商務網站外部用戶Win Form 應用程序內部銷售代表執行相同的任務查看產品、產品購買、付款結帳振陽
9、軟件技術培訓中心設計用戶界面部件用戶接口-管理用戶的交互顯示數據數據輸入-文字、圖片、聲音、等解釋用戶動作不參與事務處理可以封裝數據顯示和操作控制振陽軟件技術培訓中心設計用戶界面部件數據輸入數據輸入提示數據輸入限制數據輸入驗證捕獲用戶動作事件數據顯示數據值的對照可以使用單獨部件進行數據緩存可以使用單獨部件進行分頁處理振陽軟件技術培訓中心設計用戶界面部件數據顯示調用業務層數據層獲取數據數據格式化數據本地化獲取的數據通常是業務實體,需要一些額外的代碼(UPC)去解析自定義數據展示愛好可以使用單獨部件進行數據緩存可以使用單獨部件進行分頁處理振陽軟件技術培訓中心用戶接口調用示例private void
10、 addItem_Click(object sender, System.EventArgs e) AddItemToBasket(selectedProduct, selectedQuantity) public void AddItemToBasket(int ProductID, int Quantity) / code to add the item to the basket振陽軟件技術培訓中心用戶接口部件的交互訪問業務部件訪問用戶處理部件訪問數據訪問邏輯組件盡管違反分層原理,但現實是存在的需要將數據訪問組件與UI一起部署振陽軟件技術培訓中心用戶與系統的交互會按照一個特定流程例如銷售
11、系統中的購買流程輸入購買的產品和數量計算產品金額輸入付款信息輸入收貨地址購買流程中包含了多個步驟使用用戶處理部件完成這個購買流程設計用戶處理部件振陽軟件技術培訓中心設計用戶處理部件用戶處理組件用類來實現UI可以調用用戶處理組件類UPC類中方法封裝了:完成一個流程所需的動作示例:結帳處理PurchaseUserProcess.cs振陽軟件技術培訓中心表示層設計將用戶交互分成用戶界面和用戶界面處理特點:更好的管理用戶交互-如可以撤消操作多個用戶界面可以重用相同的處理處理并發用戶的活動振陽軟件技術培訓中心設計UIC和UPC標識出用戶交互要處理的業務處理標識出業務處理所需要的數據標識出用記交互過程中狀
12、態的變化設計出用戶交互流程ASP.NET的實現Session 表示用戶交互流程的變化-購物車Windows Form的實現成員變量振陽軟件技術培訓中心用戶處理組件設計振陽軟件技術培訓中心UPC設計建議確定是否需要用戶處理組件如果用戶處理過程長中間狀態需要應該保存數據庫中如果用戶處理過程短中間狀態需要應該保存在內存/會話中將用戶處理組件設計支持序列化,可以支持成多種數據存儲振陽軟件技術培訓中心振陽軟件技術培訓中心業務層設計業務組件業務實體服務接口業務工作流振陽軟件技術培訓中心業務組件/業務工作流是否需要業務工作流?業務處理包括多個步驟?是否包括多個業務組件去完成一個業務處理?保存業務處理中間狀態
13、?使用BizTalk服務器什么時候不需要業務工作流?不需要維護業務處理中間狀態業務組件可以被多個業務處理重用振陽軟件技術培訓中心零售系統-訂單生成多個步驟信用卡驗證付款安排交貨交貨確認按照一定的秩序完成的每一個步驟是由單獨的業務組件完成的振陽軟件技術培訓中心設計業務部件業務部件具有最基本的事務性封裝使用業務規則/業務邏輯被表現層/業務工作流調用/服務接口調用數據層/數據訪問邏輯COM/COM+部署在應用服務器上振陽軟件技術培訓中心 .NET業務部件設計由類的方法實現業務組件處理事務數據輸入/輸出的驗證調用數據訪問數據層/服務代理起動業務工作流異常處理業務部件可以被以下:服務接口用戶處理部件業務
14、工作流其它業務部件振陽軟件技術培訓中心典型的業務部件業務組件可以被表示層調用可以被服務接口調用可以調用DALC可以服務代理層外部服務振陽軟件技術培訓中心數據傳輸方式XMLDataReaderDataSetTyped DataSetCustom object(業務實體)振陽軟件技術培訓中心業務實體設計能過屬性來訪問(Get和Set)集合數據使用索引也可用系統內置的DataTable業務實體成員的命名Validate, Save, HasCheckedOut, IsLogged通過方法使用的業務實體提高可維護性、擴展性根據系統象命名業務實體名稱OrderCustomer振陽軟件技術培訓中心業務實體
15、設計建議考慮是否需要業務實體增加編碼工作量所有的業務實體繼承一個基類業務實體需要串行化為業務實體建個一個通用的實體接口如: Save, Load, Delete, IsDirty, andValidate.業務實體驗證數據業務實體依賴于數據訪問層而不是數據庫不要在這里寫SQL振陽軟件技術培訓中心業務層設計回顧業務組件業務實體服務接口業務工作流振陽軟件技術培訓中心振陽軟件技術培訓中心設計數據層用什么做數據存儲關系數據庫消息數據庫文件系統XML文件數據訪問邏輯部件部件間傳輸格式振陽軟件技術培訓中心數據訪問邏輯部件提供inserting, deleting, updating, retrieving
16、 分頁、排序使用data access helper管理數據連接,特定的數據庫操作可以使用存儲程/觸發器性能和可維護性振陽軟件技術培訓中心數據訪問邏輯部件示例OrderData.cspublic void UpdateOrder(DataSet updatedOrder) / code to update the database/ Data in as a parameter of type dataset振陽軟件技術培訓中心數據訪問邏輯部件設計建議返回僅需要的數據使用數據庫完成數據密集型的操作使用存儲過程/觸發器封裝存儲邏輯:insert, read, update, and find 功
17、能不同有客戶端使用一致的數據接口如果需要,數據加密操作/解密操作僅在需要的地方使用事務管理振陽軟件技術培訓中心設計數據訪問助理件DAOHelper重用數據庫連接,操作隔離數據庫身份認證隔離源信息簡化數據訪問代碼針對不同數據庫需要不同的DADOHelper振陽軟件技術培訓中心振陽軟件技術培訓中心演示 Sample客戶訂單查詢功能層次結構用戶界面層WinForm/Web Form業務邏輯層數據層DAO Helper振陽軟件技術培訓中心 Sample Page振陽軟件技術培訓中心Demo Step數據公用服務層數據層業務邏輯層用戶界面層(Web Form)使用DataSet 作為數據傳輸對象重用業務
18、邏輯層Win Form振陽軟件技術培訓中心項目管理數據公用服務層DAOHelperLayer數據層DataLayer業務邏輯層BusinessLayer用戶界面層(Web Form)WebFormProejct振陽軟件技術培訓中心DAOHelperLayerStirng connectionStringGetDataSet(string selectSql)GetDataRader(string dataReader)void executeSql()振陽軟件技術培訓中心數據DataLayerGetCustomerOrderByID(string customerID)生成 SQL 連接語句“
19、Select * from customer where customer ID = ” + customerID + “”;調用DAOHelper振陽軟件技術培訓中心BusinessLayer-業務層GetCustomerOrderByID(string customerID)生成 SQL 連接語句“Select * from customer where customer ID = ” + customerID + “”;調用數據層振陽軟件技術培訓中心表示層 用戶界面組件(UI)ASPX用戶處理部件(UPC)CS/VB振陽軟件技術培訓中心重用表示層Windows Form Project振陽軟件技術培訓中心
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國PVC樹脂粉數據監測研究報告
- 2025至2030年中國音箱網數據監測研究報告
- 2025至2030年中國苧亞麻交織布數據監測研究報告
- 2025至2030年中國硯數據監測研究報告
- 2025至2030年中國滑環內裝式電纜卷筒數據監測研究報告
- 智慧商城全渠道應用整合解決方案
- 電廠運行安全知識
- 寶坻脫硫塔防腐施工方案
- 畫松樹美術課件
- 硬筆書法公開課
- 2025年北京市西城區高三一模物理試卷(含答案)
- 八年級數學下冊 第2章 單元綜合測試卷(湘教版 2025年春)
- 【MOOC期末】《創新創業與管理基礎》(東南大學)中國大學慕課答案
- 《中醫體重管理臨床指南》
- 《肝衰竭診治指南(2024版)》解讀
- DB11-T 527-2021配電室安全管理規范
- 法學概論的試題及答案
- 福建省水文地質圖
- JZLX輸電線路工程專業監理實施細則(架線工程)
- TSG T7007-2022 電梯型式試驗規則
- 專科電子商務畢業論文范文
評論
0/150
提交評論