邏輯架構與UML包圖詳解PPT課件

上傳人:陳** 文檔編號:250144892 上傳時間:2024-11-01 格式:PPT 頁數(shù):37 大?。?00KB
收藏 版權申訴 舉報 下載
邏輯架構與UML包圖詳解PPT課件_第1頁
第1頁 / 共37頁
邏輯架構與UML包圖詳解PPT課件_第2頁
第2頁 / 共37頁
邏輯架構與UML包圖詳解PPT課件_第3頁
第3頁 / 共37頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《邏輯架構與UML包圖詳解PPT課件》由會員分享,可在線閱讀,更多相關《邏輯架構與UML包圖詳解PPT課件(37頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,第13章 邏輯架構和UML包圖,目標,介紹使用層的邏輯架構,闡述使用UML包圖的邏輯架構,簡介,現(xiàn)在,我們就從面向分析的工作過渡到軟件設計,典型OO系統(tǒng)設計的基礎是若干架構層,例如UI層、應用邏輯(或,“,領域,”,)層等。,UP制品相互影響,業(yè)務建模,領域模型,需求,用例模型,設想,補充性規(guī)格說明,詞匯表,設計,邏輯架構的包圖,(靜態(tài)視圖),交互圖(動態(tài)視圖),類圖(靜態(tài)視圖),UP制品相互影響,強調的是邏輯架構(LA

2、),主要的輸入是補充性規(guī)格說明中記錄的架構方面的約束和要點,LA定義了包,包中有關于軟件類的定義,示例,邏輯架構(logical architecture),邏輯架構,是軟件類的宏觀組織結構,它將軟件類組織為包(或命名空間)、子系統(tǒng)和層等。,為何稱其為邏輯架構?,因為并未決定如何在不同的操作系統(tǒng)進程或網(wǎng)絡中物理的計算機上對這些元素進行部署(后一種決定是部署架構的一部分)。,層(Layer),層是對類、包或子系統(tǒng)的甚為粗粒度的分組,具有對系統(tǒng)主要方面加以內聚的職責。,層按照,“,較高,”,層(例如UI層)可以調用,“,較低,”,層的服務,OO,系統(tǒng)中通常包括的層有:,用戶界面,應用邏輯和領域對象

3、,技術服務(例如數(shù)據(jù)庫接口或錯誤日志)獨立于應用的,也可在多個系統(tǒng)中復用的服務。,架構分層,在嚴格的分層架構中,層只能調用與其相鄰的下層的服務。這種設計在網(wǎng)絡協(xié)議棧中比較常見,而在信息系統(tǒng)中不太常見。在信息系統(tǒng)中通常使用寬松的分層架構,其中較高層可以調用其下任何層的服務,例如,UI層可以調用與其相鄰的應用邏輯層,也可以調用更下面的技術服務層中的元素,完成日志記錄等工作,邏輯架構并非一定要組織為層。但這種方式極為常用,案例研究中應該關注的層,盡管OO技術可以用于所有級別,但本課程對OOA/D的介紹著重于核心應用邏輯(或,“,領域,”,)層,其次才是對其他層的討論。,軟件架構,軟件架構(宏觀),架

4、構是一種重要決策,其中涉及軟件系統(tǒng)的組織,對結構元素及其組成系統(tǒng)所籍接口的選擇,這些元素特定于其相互協(xié)作的行為,這些結構和行為元素到規(guī)模更大的子系統(tǒng)的組成,以及指導該組織結構的架構風格,這些元素及其接口、協(xié)作、和組成,軟件架構師是做什么的?,軟件架構師的職責,是把需求轉換為軟件世界的模型。4+1視圖中以use case作為核心,其中功能性需求以及部分非功能性需求會被軟件架構師通過分析和設計,映射為各種軟件設計模型。從OOA/OOD角度說,use case 在這個過程中是要轉換為各種UML,其中類圖,序列圖,狀態(tài)圖是最常用到的。這個轉換過程是需要智慧的,use case是目的,各種OO的原則是指

5、導,設計模式是經(jīng)驗,靈活運用是能力。里面蘊涵了設計的美感,我覺得這個過程是衡量一個軟件架構師的最重要的指標。這個過程是需要創(chuàng)造力和想象力的。可能很多人認為這個地方正是軟件架構師體現(xiàn)能力的地方。,UML包圖,UML,包圖通常用于描述系統(tǒng)的邏輯架構,層,子系統(tǒng),包(就,Java,)而言等,層可以建模為,UML包。例如,UI層可以建模為名為UI的包,UML包圖,UML包圖提供了組織元素的方式(類,其他包,用例,,),嵌套包十分常見,UML包是比Java包和.NET命名空間更為通用的概念,如果包內部顯示了其成員,則在標簽上標識包名;否則,可以在包體內標識包名稱,人們通常希望顯示包之間的依賴性(耦合),

6、以便開發(fā)者能夠看到系統(tǒng)內大型事物之間的耦合。,UML的依賴線即可用于此目的,依賴線是有箭頭的虛線,箭頭指向被依賴的包,完全限定的名稱 例如Java:util:Date,UML工具:從代碼逆向工程產(chǎn)生包圖,開發(fā)早期,根據(jù)繪制的UML包圖的草圖來組織代碼;,隨著代碼庫的不斷增長,編程上花費的時間更多,減少了建?;蚶L制UML圖的時間,可以利用UML CASE工具對源代碼進行逆向工程,從而自動生成包圖。,準則:使用層進行設計,使用層時:,將系統(tǒng)的大型邏輯結構組織為獨立的、職責相關的離散層,具有清晰、內聚的關注分離。這樣,,“,較低,”,的層是低級別和一般性服務,較高的層則是與應用相關的。,協(xié)作和耦合是

7、從較高層到較低層進行的,要避免從較低層到較高層的耦合。,設計問題,使用層有助于解決如下問題:,源碼的變更波及整個系統(tǒng)大部分系統(tǒng)是高度耦合的。,應用邏輯與用戶界面交織在一起,因此無法復用于其他不同界面或分布到其他處理節(jié)點之上,潛在的一般性技術服務或業(yè)務邏輯與更特定于應用的邏輯交織在一起,因此無法被復用、分布到其他節(jié)點或方便地使用不同實現(xiàn)替換,不同的關注領域之間的高度耦合。因此難以為不同開發(fā)者清晰地界定和分配任務,典型的層,信息系統(tǒng)邏輯架構中常見的層,使用層的好處,關系分離、高級服務與低級服務分離、特定于應用的服務與一般性服務分離。層可以減少耦合和依賴性、增加內聚性、提高潛在的復用性并且使概念更加

8、清晰,封裝和分解了相關的復雜性,某些層能夠使用新的實現(xiàn)替換。對于較低級的技術服務層或基礎層來說不大可能(例如java.util)但是對UI、應用層和領域層來說是可能的。,較低層包含可復用功能,某些層(主要是領域層和技術服務層)可以是分布式的。,通過邏輯劃分,有助于團隊開發(fā)。,準則:內聚職責;使關系分離,同一層內的對象在職責上應該具有緊密關聯(lián),不同層中對象的職責則不應該混淆,例如,UI層中的對象應該關注于UI工作,例如創(chuàng)建窗口和小部件、捕獲鼠標和鍵盤事件等。應用邏輯或,“,領域,”,層中的對象應該關注應用邏輯,例如計算銷售總額或稅金,或在棋盤上移動棋子;,UI對象不應該處理應用邏輯!例如Java

9、 Swing Jframe(窗體)對象不應該包含計算稅金或移動棋子的邏輯。而應用邏輯類不應該捕獲UI鼠標或鍵盤事件。否則將違反關系分離和高內聚原則(這是基本架構原則),將代碼組織映射為層和UML包,/-UI包,/-領域層,/-特定于NextGen項目的包,com.mycompany.nextgen.domain.payments,/-技術服務層,/-我們自己的持久(數(shù)據(jù)庫)訪問層,/第三方,/-基礎層,/-我們小組自己創(chuàng)建的基礎包,Java,中稱為包,package,C#,和,C+,中稱為命名空間,namespace,領域層和領域模型之間的關系,領域層是軟件的一部分,領域模型是概念角度分析的一

10、部分,它們是不同的。,利用來自領域模型的靈感創(chuàng)建領域層,可以獲得在實現(xiàn)世界和軟件設計之間的,低表示差異,。,例如:領域模型中的Sale領域層中創(chuàng)建的Sale軟件類。,層、層和分區(qū),層在架構中最初表示的是邏輯層,而不是物理節(jié)點,但是現(xiàn)在,這個詞被廣泛用于表示物理進程節(jié)點(或節(jié)點簇),例如,“,客戶層,”,(客戶計算機),架構中的層表示對系統(tǒng)的垂直方向的劃分。,分區(qū)表示對層在水平方向進行劃分,形成相對平行的子系統(tǒng)。例如,技術服務層可以劃分為安全和統(tǒng)計等分區(qū)。,層和分區(qū),準則:不要將外部資源表示為最底層,大部分系統(tǒng)依賴于外部資源或服務,例如MySQL庫存數(shù)據(jù)庫和Novell LDAP命名和目錄服務。

11、物理實現(xiàn)構件非邏輯架構中的層。,將外部資源(如某個數(shù)據(jù)庫)表示為“低于”(例如)基礎層(Foundation)的層,是對邏輯視圖和架構部署視圖的混淆。,就邏輯架構及其層而言,對某個持久數(shù)據(jù)集合(例如庫存數(shù)據(jù))的訪問可以視為,領域層中的子領域庫存子領域,。而提供,數(shù)據(jù)庫訪問的一般性服務,則可以視為,技術服務分區(qū)(Partition),持久性服務。,架構的混合視圖,模型視圖分離原則,其他包應該對UI層具有何種可見性?,非窗口類應該如何與窗口通信?,模型視圖分離原則,原則:,不要將非,UI對象直接與UI對象連接或耦合。,不要在UI,對象方法中加入應用邏輯,模型領域層對象(如,Sale、Payment

12、),視圖UI對象(如:窗口、web頁、applet和reports報表),模型視圖分離原則,模型視圖分離原則規(guī)定,模型(領域)對象不應該直接與視圖(UI)對象連接,對于視圖對象也是如此。,MVC:,M:Model模型指領域層(數(shù)據(jù)對象),V:View視圖指UI層(GUI小部件,web頁),C:Control控制器指應用層的工作流對象。(鼠標、鍵盤事件控制器(句柄),模型視圖分離原則,動機:,支持內聚的模型定義,這些定義只關注領域過程,而不是用戶界面。,允許對模型和用戶界面層分別進行開發(fā)。,使界面的需求變更對領域層的影響最小化。,允許新視圖能夠被方便地連接到現(xiàn)有的領域層之上,而不會對領域層產(chǎn)生影響。,允許對同一模型對象同時使用多個視圖,例如銷售信息同時具有表格和業(yè)務圖表視圖。,允許模型層的運行不依賴于用戶界面層,例如,消息處理或批處理模式的系統(tǒng)。,允許模型層能夠簡便地移植到另一個用戶接口框架下。,SSD、系統(tǒng)操作、層,SSD描述了系統(tǒng)操作,但是隱藏了特定的UI對象。,系統(tǒng)UI層對象捕獲系統(tǒng)操作請求,一般是富客戶端GUI或Web頁面。,

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  sobing.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!