邏輯架構(gòu)與UML包圖詳解PPT課件

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

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

15 積分

下載資源

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

資源描述:

《邏輯架構(gòu)與UML包圖詳解PPT課件》由會(huì)員分享,可在線閱讀,更多相關(guān)《邏輯架構(gòu)與UML包圖詳解PPT課件(37頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

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

2、),主要的輸入是補(bǔ)充性規(guī)格說明中記錄的架構(gòu)方面的約束和要點(diǎn),LA定義了包,包中有關(guān)于軟件類的定義,示例,邏輯架構(gòu)(logical architecture),邏輯架構(gòu),是軟件類的宏觀組織結(jié)構(gòu),它將軟件類組織為包(或命名空間)、子系統(tǒng)和層等。,為何稱其為邏輯架構(gòu)?,因?yàn)椴⑽礇Q定如何在不同的操作系統(tǒng)進(jìn)程或網(wǎng)絡(luò)中物理的計(jì)算機(jī)上對(duì)這些元素進(jìn)行部署(后一種決定是部署架構(gòu)的一部分)。,層(Layer),層是對(duì)類、包或子系統(tǒng)的甚為粗粒度的分組,具有對(duì)系統(tǒng)主要方面加以內(nèi)聚的職責(zé)。,層按照,“,較高,”,層(例如UI層)可以調(diào)用,“,較低,”,層的服務(wù),OO,系統(tǒng)中通常包括的層有:,用戶界面,應(yīng)用邏輯和領(lǐng)域?qū)ο?/p>

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

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

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

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

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

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

9、 Swing Jframe(窗體)對(duì)象不應(yīng)該包含計(jì)算稅金或移動(dòng)棋子的邏輯。而應(yīng)用邏輯類不應(yīng)該捕獲UI鼠標(biāo)或鍵盤事件。否則將違反關(guān)系分離和高內(nèi)聚原則(這是基本架構(gòu)原則),將代碼組織映射為層和UML包,/-UI包,/-領(lǐng)域?qū)?/-特定于NextGen項(xiàng)目的包,com.mycompany.nextgen.domain.payments,/-技術(shù)服務(wù)層,/-我們自己的持久(數(shù)據(jù)庫(kù))訪問層,/第三方,/-基礎(chǔ)層,/-我們小組自己創(chuàng)建的基礎(chǔ)包,Java,中稱為包,package,C#,和,C+,中稱為命名空間,namespace,領(lǐng)域?qū)雍皖I(lǐng)域模型之間的關(guān)系,領(lǐng)域?qū)邮擒浖囊徊糠?,領(lǐng)域模型是概念角度分析的一

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

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

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

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

最新文檔

相關(guān)資源

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

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

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


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

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲