第七章面向?qū)ο笤O(shè)計_第1頁
第七章面向?qū)ο笤O(shè)計_第2頁
第七章面向?qū)ο笤O(shè)計_第3頁
第七章面向?qū)ο笤O(shè)計_第4頁
第七章面向?qū)ο笤O(shè)計_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、軟軟件工程件工程中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院OOD方法及示例方法及示例七、面向?qū)ο笤O(shè)計七、面向?qū)ο笤O(shè)計Logo第第7 7章章 面向?qū)ο笤O(shè)計面向?qū)ο笤O(shè)計n軟件設(shè)計概述軟件設(shè)計概述n面向?qū)ο笤O(shè)計建模面向?qū)ο笤O(shè)計建模n系統(tǒng)架構(gòu)設(shè)計系統(tǒng)架構(gòu)設(shè)計n系統(tǒng)元素設(shè)計系統(tǒng)元素設(shè)計n面向?qū)ο笤O(shè)計示例面向?qū)ο笤O(shè)計示例中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.1 7.1 軟件設(shè)計概述軟件設(shè)計概述n“怎么做怎么做”的問題,最富活力和創(chuàng)造力的階段的問題,最富活力和創(chuàng)造力的階段n兩種主流設(shè)計方法兩種主流設(shè)計方法n結(jié)構(gòu)化程序設(shè)計SDn面向?qū)ο蟪绦蛟O(shè)計OOD中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo

2、典型的軟件生存周期典型的軟件生存周期典型的軟件生存周期需求分析軟件分析軟件設(shè)計編碼(測試)軟件測試運(yùn)行維護(hù)計劃開發(fā)運(yùn)行(可行性研究和)計劃詳細(xì)設(shè)計(模塊設(shè)計)系統(tǒng)分析總體設(shè)計(概要設(shè)計)中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo回憶:結(jié)構(gòu)化設(shè)計回憶:結(jié)構(gòu)化設(shè)計從從SASA模型導(dǎo)出模型導(dǎo)出SDSD模型模型PSPEC數(shù)據(jù)對象描述CFDDFDE-RDDCSPEC過程設(shè)計 接口設(shè)計體系結(jié)構(gòu)設(shè)計數(shù)據(jù)設(shè)計中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon什么是模塊?什么是模塊?模塊是一個有明確定義的輸入、輸出和特性的模塊是一個有明確定義的輸入、輸出和特性的程序?qū)嶓w程序?qū)嶓w。C語言中的語言中的函數(shù)函數(shù)

3、、Java中的中的類類都是模塊都是模塊n什么是模塊化?什么是模塊化?把大型軟件把大型軟件劃分為劃分為一個個一個個較小的較小的、相對獨(dú)立但又互相關(guān)聯(lián)相對獨(dú)立但又互相關(guān)聯(lián)的的模塊。模塊。分解分解和和模塊的獨(dú)立性模塊的獨(dú)立性,是重點(diǎn),是重點(diǎn)n什么是模塊的什么是模塊的獨(dú)立性獨(dú)立性?軟件系統(tǒng)中每個模塊軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的子功能只涉及軟件要求的具體的子功能, 而和而和軟件系統(tǒng)中其它的模塊的軟件系統(tǒng)中其它的模塊的接口是簡單的接口是簡單的。n如何度量模塊的獨(dú)立性?如何度量模塊的獨(dú)立性?模塊的模塊的內(nèi)聚內(nèi)聚和和耦合耦合掌握掌握內(nèi)聚和耦合的應(yīng)用原則內(nèi)聚和耦合的應(yīng)用原則7.1 7.1 軟件設(shè)計概

4、述軟件設(shè)計概述中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo什么是模塊什么是模塊(Module)“模塊模塊”,又稱,又稱“組件組件”。它一般具有如下三個基本屬性。它一般具有如下三個基本屬性:n功能功能:描述該模塊實(shí)現(xiàn)什么功能:描述該模塊實(shí)現(xiàn)什么功能n邏輯邏輯:描述模塊內(nèi)部怎么做:描述模塊內(nèi)部怎么做n狀態(tài)狀態(tài):該模塊使用時的環(huán)境和條件:該模塊使用時的環(huán)境和條件7.1 7.1 軟件設(shè)計概述軟件設(shè)計概述中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo怎樣描述一個模塊(結(jié)構(gòu)化為例)怎樣描述一個模塊(結(jié)構(gòu)化為例)n在在描述一個模塊時,還必須按模塊的描述一個模塊時,還必須按模塊的外部特性外部特性與與內(nèi)部

5、特內(nèi)部特性性分別描述分別描述n模塊的模塊的外部特性外部特性n 模塊的模塊的模塊名模塊名、參數(shù)表參數(shù)表、其中的輸入?yún)?shù)和輸出參數(shù)、其中的輸入?yún)?shù)和輸出參數(shù),以及給程序以至整個系統(tǒng)造成的影響,以及給程序以至整個系統(tǒng)造成的影響n模塊的模塊的內(nèi)部特性內(nèi)部特性n 完成其功能的完成其功能的程序代碼程序代碼和僅供該模塊內(nèi)部使用的和僅供該模塊內(nèi)部使用的數(shù)據(jù)數(shù)據(jù)7.1 7.1 軟件設(shè)計概述軟件設(shè)計概述中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo什么是模塊獨(dú)立性?怎樣度量?什么是模塊獨(dú)立性?怎樣度量?n 模塊獨(dú)立性模塊獨(dú)立性,是是指軟件系統(tǒng)中每個模塊只涉及軟件要求指軟件系統(tǒng)中每個模塊只涉及軟件要求的的具體的子

6、功能具體的子功能, 而和軟件系統(tǒng)中其它的模塊的而和軟件系統(tǒng)中其它的模塊的接口是接口是簡單簡單的的。n 例如例如, 若一個模塊只具有單一的功能且與其它模塊沒有若一個模塊只具有單一的功能且與其它模塊沒有太多的聯(lián)系太多的聯(lián)系, 則稱此模塊具有則稱此模塊具有模塊獨(dú)立性模塊獨(dú)立性n 一般采用兩個準(zhǔn)則度量模塊獨(dú)立性。即模塊間一般采用兩個準(zhǔn)則度量模塊獨(dú)立性。即模塊間耦合耦合和模和模塊塊內(nèi)聚內(nèi)聚7.1 7.1 軟件設(shè)計概述軟件設(shè)計概述中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon衡量標(biāo)準(zhǔn)衡量標(biāo)準(zhǔn)n模塊模塊本身本身的內(nèi)聚的內(nèi)聚o模塊內(nèi)部內(nèi)部各個成分之間的聯(lián)系o又稱塊內(nèi)聯(lián)系或模塊強(qiáng)度n模塊模塊間間的耦合的耦合

7、o一個模塊與其他模塊之間之間的聯(lián)系o又稱塊間聯(lián)系n模塊獨(dú)立性越高,塊內(nèi)聯(lián)系越強(qiáng),塊間聯(lián)系越弱模塊獨(dú)立性越高,塊內(nèi)聯(lián)系越強(qiáng),塊間聯(lián)系越弱。n模塊模塊獨(dú)立性比較強(qiáng)的模塊應(yīng)是獨(dú)立性比較強(qiáng)的模塊應(yīng)是高內(nèi)聚低耦合高內(nèi)聚低耦合的模塊。的模塊。7.1 7.1 軟件設(shè)計概述軟件設(shè)計概述中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo c n.偶然性內(nèi)聚偶然性內(nèi)聚 功能無關(guān)功能無關(guān)n.邏輯性內(nèi)聚邏輯性內(nèi)聚 邏輯功能相似邏輯功能相似n.時間性內(nèi)聚時間性內(nèi)聚 同一時間執(zhí)行同一時間執(zhí)行n.過程性內(nèi)聚過程性內(nèi)聚 一組任務(wù)特定次序執(zhí)行一組任務(wù)特定次序執(zhí)行n.通訊性內(nèi)聚通訊性內(nèi)聚 同一輸入或同一輸出同一輸入或同一輸出n.順

8、序性內(nèi)聚順序性內(nèi)聚 順序執(zhí)行順序執(zhí)行n.功能性內(nèi)聚功能性內(nèi)聚 單一功能單一功能模塊獨(dú)立性模塊獨(dú)立性- -內(nèi)聚內(nèi)聚中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo低內(nèi)聚低內(nèi)聚n偶然性偶然性內(nèi)聚內(nèi)聚n塊內(nèi)各組成部分在功能上是互不相關(guān)的。塊內(nèi)各組成部分在功能上是互不相關(guān)的。n模塊內(nèi)部成分的組合模塊內(nèi)部成分的組合純屬偶然純屬偶然。n時間性內(nèi)聚時間性內(nèi)聚n模塊所包含的成分,是由模塊所包含的成分,是由相同的執(zhí)行時間相同的執(zhí)行時間將他們將他們連接到一起。連接到一起。n要求在同一時間內(nèi)執(zhí)行。要求在同一時間內(nèi)執(zhí)行。模塊獨(dú)立性模塊獨(dú)立性- -內(nèi)聚內(nèi)聚中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon邏輯性內(nèi)聚邏輯

9、性內(nèi)聚n由若干個邏輯功能相似的成分組成。n執(zhí)行時須從模塊外引入判斷量,增大塊間耦合。讀入分?jǐn)?shù)讀入分?jǐn)?shù)平均平均/最高最高?計算平均分計算平均分計算最高分計算最高分輸出結(jié)果輸出結(jié)果模塊獨(dú)立性模塊獨(dú)立性- -內(nèi)聚內(nèi)聚中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo中內(nèi)聚中內(nèi)聚n過程過程性內(nèi)性內(nèi)聚聚模塊模塊中包含的一組任務(wù)必須按照某一個中包含的一組任務(wù)必須按照某一個特定的次序特定的次序執(zhí)行。執(zhí)行。建立方程組系數(shù)矩陣建立方程組系數(shù)矩陣高斯消去法高斯消去法回回 代代模塊獨(dú)立性模塊獨(dú)立性- -內(nèi)聚內(nèi)聚中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logon通信性內(nèi)聚通信性內(nèi)聚n模塊內(nèi)部的各成分使用模塊內(nèi)部的各成分

10、使用同一種數(shù)據(jù)輸入同一種數(shù)據(jù)輸入,或產(chǎn)生,或產(chǎn)生同一同一個數(shù)據(jù)輸出個數(shù)據(jù)輸出。n他們靠他們靠公用數(shù)據(jù)公用數(shù)據(jù)連接在一起。連接在一起。開領(lǐng)書單登記售書發(fā)票領(lǐng)書單售書登記表刪除修改文 件模塊獨(dú)立性模塊獨(dú)立性- -內(nèi)聚內(nèi)聚中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo高內(nèi)聚高內(nèi)聚n順序順序性內(nèi)聚性內(nèi)聚/信息內(nèi)聚信息內(nèi)聚n各個功能都在各個功能都在同一數(shù)據(jù)結(jié)構(gòu)同一數(shù)據(jù)結(jié)構(gòu)上操作,每項(xiàng)功能有唯一的上操作,每項(xiàng)功能有唯一的入口點(diǎn)。如對符號表有入口點(diǎn)。如對符號表有查找、登錄、刪除、修改查找、登錄、刪除、修改等操作等操作,把查找、登錄、刪除、修改等功能設(shè)計在一個模塊中,把查找、登錄、刪除、修改等功能設(shè)計在一個

11、模塊中,以實(shí)現(xiàn)信息的隱蔽。,以實(shí)現(xiàn)信息的隱蔽。n功能性內(nèi)聚功能性內(nèi)聚n模塊中的所有的成分結(jié)合在一起,用于完成一個單一的模塊中的所有的成分結(jié)合在一起,用于完成一個單一的功能。功能。n塊內(nèi)聯(lián)系塊內(nèi)聯(lián)系最強(qiáng)的最強(qiáng)的一類模塊。一類模塊。模塊獨(dú)立性模塊獨(dú)立性- -內(nèi)聚內(nèi)聚中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo使用內(nèi)聚的使用內(nèi)聚的原則原則n功能性內(nèi)聚最強(qiáng)功能性內(nèi)聚最強(qiáng),與其他模塊聯(lián)系少,最優(yōu),與其他模塊聯(lián)系少,最優(yōu)n其他的其他的高內(nèi)聚和中內(nèi)聚模塊高內(nèi)聚和中內(nèi)聚模塊也可以使用也可以使用n低內(nèi)聚模塊盡量避免低內(nèi)聚模塊盡量避免使用使用模塊獨(dú)立性模塊獨(dú)立性- -內(nèi)聚內(nèi)聚中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)

12、學(xué)院院Logo模塊獨(dú)立性模塊獨(dú)立性- -耦合耦合1.非直接耦合無信息傳遞非直接耦合無信息傳遞2.數(shù)據(jù)耦合簡單變量數(shù)據(jù)耦合簡單變量3.特征耦合數(shù)據(jù)結(jié)構(gòu)特征耦合數(shù)據(jù)結(jié)構(gòu)4.控制耦合控制耦合 開關(guān)值或標(biāo)志量開關(guān)值或標(biāo)志量5.外部耦合外部耦合 訪問相同全局變量訪問相同全局變量6.公共耦合公共耦合 訪問相同數(shù)據(jù)結(jié)構(gòu)訪問相同數(shù)據(jù)結(jié)構(gòu)7.內(nèi)容耦合內(nèi)容耦合 調(diào)用其它模塊數(shù)據(jù)或轉(zhuǎn)調(diào)用其它模塊數(shù)據(jù)或轉(zhuǎn)到到 其它其它模塊模塊中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo非直接耦合非直接耦合(Nondirect Coupling) 兩個模塊之間沒有直接關(guān)系,它們兩個模塊之間沒有直接關(guān)系,它們之間之間的聯(lián)系完全是通過

13、主模塊的聯(lián)系完全是通過主模塊的控制的控制和和調(diào)用調(diào)用來實(shí)現(xiàn)的來實(shí)現(xiàn)的。非。非直接耦合直接耦合的的模塊模塊獨(dú)立性獨(dú)立性最強(qiáng)最強(qiáng)。數(shù)據(jù)耦合數(shù)據(jù)耦合 (Data Coupling)一個模塊訪問另一個模塊時,彼此之間是通過一個模塊訪問另一個模塊時,彼此之間是通過簡單數(shù)據(jù)參數(shù)簡單數(shù)據(jù)參數(shù) (不不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量) 來交換輸入、輸出信來交換輸入、輸出信息的。息的。特征特征耦合耦合 (Stamp Coupling)一組模塊通過一組模塊通過參數(shù)表傳遞記錄信息參數(shù)表傳遞記錄信息,就是特征(標(biāo)記)耦合。,就是特征(標(biāo)記)耦合。這個記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不

14、是簡單變量。這個記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡單變量。模塊模塊獨(dú)立性獨(dú)立性- -耦合耦合中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo模塊模塊獨(dú)立性獨(dú)立性- -耦合耦合中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院數(shù)據(jù)耦合數(shù)據(jù)耦合非非直接耦合直接耦合模塊模塊2模塊模塊1模塊模塊4模塊模塊3特征耦合特征耦合(參數(shù)參數(shù)表傳遞數(shù)據(jù)結(jié)表傳遞數(shù)據(jù)結(jié)構(gòu)構(gòu))模塊之間沒模塊之間沒有信息傳遞有信息傳遞調(diào)用時通過調(diào)用時通過參數(shù)表交換參數(shù)表交換簡單變量簡單變量調(diào)用時通過調(diào)用時通過參數(shù)表交換參數(shù)表交換數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)Logo控制耦合控制耦合 (Control Coupling) 如果一個如果一個模塊模塊通過通過傳送

15、傳送開關(guān)開關(guān)、標(biāo)志、標(biāo)志、名字名字等控制信息,等控制信息,明顯地控制明顯地控制選擇選擇另一模塊另一模塊的功能的功能,就是,就是控制控制耦合。耦合。讀入分?jǐn)?shù)讀入分?jǐn)?shù)平均平均/最高?最高?計算平均分計算平均分計算最高分計算最高分輸出結(jié)果輸出結(jié)果控制控制信號信號模塊模塊獨(dú)立性獨(dú)立性- -耦合耦合中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo外部耦合(外部耦合(External Coupling)一組模塊都一組模塊都訪問同一全局簡單變量訪問同一全局簡單變量而不是同一全局?jǐn)?shù)據(jù)結(jié)而不是同一全局?jǐn)?shù)據(jù)結(jié)構(gòu),而且不是通過參數(shù)表傳遞該全局變量的信息,則稱之構(gòu),而且不是通過參數(shù)表傳遞該全局變量的信息,則稱之為外部

16、耦合。為外部耦合。公共耦合(公共耦合(Common Coupling)若一組模塊都訪問若一組模塊都訪問同一個公共數(shù)據(jù)環(huán)境同一個公共數(shù)據(jù)環(huán)境,則它們之間的耦,則它們之間的耦合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。模塊模塊獨(dú)立性獨(dú)立性- -耦合耦合中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院公共耦合圖示公共耦合圖示模塊模塊獨(dú)立性獨(dú)立性- -耦合耦合Logo內(nèi)容耦合內(nèi)容耦合 (Content Coupling(Content

17、Coupling) )如果如果發(fā)生下列情形,兩個模塊之間就發(fā)生了內(nèi)容耦合發(fā)生下列情形,兩個模塊之間就發(fā)生了內(nèi)容耦合 ( (1) 1) 一個模塊直接訪問另一個模塊的一個模塊直接訪問另一個模塊的內(nèi)部數(shù)據(jù)內(nèi)部數(shù)據(jù); ; ( (2) 2) 一個模塊不通過正常入口一個模塊不通過正常入口轉(zhuǎn)到另一模塊內(nèi)部轉(zhuǎn)到另一模塊內(nèi)部; ; ( (3) 3) 兩個模塊兩個模塊有一部分程序代碼重迭有一部分程序代碼重迭( (只可能出現(xiàn)在匯編只可能出現(xiàn)在匯編語言中語言中);); ( (4) 4) 一個模塊有多個入口一個模塊有多個入口。模塊模塊獨(dú)立性獨(dú)立性- -耦合耦合中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo使用耦合的原

18、則使用耦合的原則 對對“耦合耦合”的應(yīng)用原則:的應(yīng)用原則:不在于禁止耦合,而不在于禁止耦合,而是充分了解各種耦合的特點(diǎn)與不足,并在需要時是充分了解各種耦合的特點(diǎn)與不足,并在需要時使用它們并能預(yù)見到可能產(chǎn)生的問題使用它們并能預(yù)見到可能產(chǎn)生的問題。 耦合是影響軟件復(fù)雜程度的一個重要因素。應(yīng)耦合是影響軟件復(fù)雜程度的一個重要因素。應(yīng)該采取下述設(shè)計原則:該采取下述設(shè)計原則: 盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共盡量使用數(shù)據(jù)耦合,少用控制耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合環(huán)境耦合的范圍,完全不用內(nèi)容耦合。中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院模塊模塊獨(dú)立性獨(dú)立性- -耦合耦合Logo7.

19、2 7.2 面向?qū)ο笤O(shè)計建模面向?qū)ο笤O(shè)計建模n面向?qū)ο笤O(shè)計面向?qū)ο笤O(shè)計模型組成?(總結(jié))模型組成?(總結(jié))n系統(tǒng)架構(gòu)層:總體結(jié)構(gòu)系統(tǒng)架構(gòu)層:總體結(jié)構(gòu)n類和對象層:類層次關(guān)系類和對象層:類層次關(guān)系及對象設(shè)計及對象設(shè)計表示表示n消息層:消息模型,內(nèi)外部接口消息層:消息模型,內(nèi)外部接口n責(zé)任層責(zé)任層 :屬性:屬性/數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)/算法算法回憶結(jié)構(gòu)化設(shè)計回憶結(jié)構(gòu)化設(shè)計的內(nèi)容的內(nèi)容n面向?qū)ο笤O(shè)計的任務(wù)面向?qū)ο笤O(shè)計的任務(wù)n系統(tǒng)架構(gòu)設(shè)計系統(tǒng)架構(gòu)設(shè)計n系統(tǒng)元素設(shè)計:子系統(tǒng)系統(tǒng)元素設(shè)計:子系統(tǒng)/包包/類和類和對象對象回憶結(jié)構(gòu)化設(shè)計的任務(wù):回憶結(jié)構(gòu)化設(shè)計的任務(wù): 概要設(shè)計、詳細(xì)設(shè)計概要設(shè)計、詳細(xì)設(shè)計中中國國石油

20、大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院LogoOOAOOA模型轉(zhuǎn)換到模型轉(zhuǎn)換到OODOOD模型模型屬性、操作、協(xié)作者對象-行為模型對象-關(guān)系模型類/對象模型用例模型系統(tǒng)架構(gòu)設(shè)計類及對象設(shè)計消息設(shè)計責(zé)任設(shè)計中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院面向?qū)ο笤O(shè)計模型組成?(總結(jié))面向?qū)ο笤O(shè)計模型組成?(總結(jié))Logo7.3 7.3 系統(tǒng)架構(gòu)設(shè)計系統(tǒng)架構(gòu)設(shè)計n系統(tǒng)高層結(jié)構(gòu)設(shè)計系統(tǒng)高層結(jié)構(gòu)設(shè)計n確定設(shè)計元素確定設(shè)計元素n任務(wù)管理策略任務(wù)管理策略n分布式實(shí)現(xiàn)機(jī)制分布式實(shí)現(xiàn)機(jī)制n數(shù)據(jù)存儲設(shè)計數(shù)據(jù)存儲設(shè)計n人機(jī)交互人機(jī)交互設(shè)計設(shè)計系統(tǒng)架構(gòu)設(shè)計包括哪些內(nèi)容?系統(tǒng)架構(gòu)設(shè)計包括哪些內(nèi)容?中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院

21、院Logo.1系統(tǒng)系統(tǒng)高層結(jié)構(gòu)設(shè)計高層結(jié)構(gòu)設(shè)計 系統(tǒng)高層結(jié)構(gòu)設(shè)計,為后續(xù)設(shè)計提供一個公共的基礎(chǔ)框架,系統(tǒng)高層結(jié)構(gòu)設(shè)計,為后續(xù)設(shè)計提供一個公共的基礎(chǔ)框架,用以承載逐步演進(jìn)和累加的設(shè)計內(nèi)容。用以承載逐步演進(jìn)和累加的設(shè)計內(nèi)容。n應(yīng)用應(yīng)用架構(gòu)模式架構(gòu)模式 n層次架構(gòu)(Layers)n模型-視圖-控制架構(gòu)(Model-View-Control)n管道與過濾器架構(gòu)(Pipes and Filters)n黑板架構(gòu)(Blackboard)n層次架構(gòu)層次架構(gòu): n應(yīng)用子系統(tǒng)應(yīng)用子系統(tǒng):面向用戶,應(yīng)用程序特有的服務(wù)n業(yè)務(wù)專用層業(yè)務(wù)專用層:業(yè)務(wù)專用構(gòu)件n中間件層中間件層:各種復(fù)用構(gòu)件,GUI圖形界面

22、構(gòu)建器,與數(shù)據(jù)庫管理系統(tǒng)的接口,OLE構(gòu)件n系統(tǒng)軟件層系統(tǒng)軟件層:操作系統(tǒng)、數(shù)據(jù)庫、與硬件的接口 越向下越接近于底層中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo.1系統(tǒng)系統(tǒng)高層結(jié)構(gòu)設(shè)計高層結(jié)構(gòu)設(shè)計 n層次層次架構(gòu)架構(gòu): 層層 次次功功 能能特殊特殊一般一般應(yīng)用子系統(tǒng)層應(yīng)用子系統(tǒng)層組成所開發(fā)應(yīng)用的獨(dú)特應(yīng)用子系統(tǒng)業(yè)務(wù)專用層業(yè)務(wù)專用層該應(yīng)用所屬業(yè)務(wù)類型專用的一些可復(fù)用子系統(tǒng)中間件層中間件層提供實(shí)用程序的子系統(tǒng),和為異構(gòu)環(huán)境中分布式對象計算提供獨(dú)立于平臺的服務(wù)等,GUI/OLE/ADO系統(tǒng)軟件層系統(tǒng)軟件層構(gòu)成實(shí)際基礎(chǔ)設(shè)施的軟件,如操作系統(tǒng)、特定硬件的接口、設(shè)備驅(qū)動程序等中中國國石油

23、大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.2 7.3.2 確定確定設(shè)計元素設(shè)計元素 由分析模型,分析現(xiàn)有分析類,確定設(shè)計模型元素由分析模型,分析現(xiàn)有分析類,確定設(shè)計模型元素n映射映射分析類到設(shè)計元素分析類到設(shè)計元素 n一個分析類可以映射為一個設(shè)計類或多個設(shè)計類的組合,也可以將其映射為子系統(tǒng)接口 n三種分析類直接映射為設(shè)計類n分析類復(fù)雜,映射為子系統(tǒng)的接口,子系統(tǒng)的功能代替某個分析類的功能中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.2 7.3.2 確定確定設(shè)計元素設(shè)計元素 由分析模型,分析現(xiàn)有分析類,確定設(shè)計模型元素由分析模型,分析現(xiàn)有分析類,確定設(shè)計模型元素n確定確定子系統(tǒng)子系統(tǒng)

24、 n劃分成幾個子系統(tǒng)需根據(jù)實(shí)際情況來確定n子系統(tǒng)實(shí)際上是一種特殊的包,具有統(tǒng)一的接口n確定子系統(tǒng)的一些指導(dǎo)性參考原則 n定義子系統(tǒng)接口定義子系統(tǒng)接口 n為子系統(tǒng)確定一個備選接口集 n尋找接口之間的相似點(diǎn) n定義接口依賴關(guān)系 n將接口映射到子系統(tǒng) n定義接口所指定的行為中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.3 7.3.3 任務(wù)管理任務(wù)管理策略策略 實(shí)現(xiàn)對實(shí)現(xiàn)對多用戶、多任務(wù)的并行處理多用戶、多任務(wù)的并行處理支持支持n三種解決方案三種解決方案n多處理器多處理器方案-將并發(fā)子系統(tǒng)分配到不同的處理器n操作系統(tǒng)操作系統(tǒng)方案-將并發(fā)子系統(tǒng)分配到相同的處理器并由操作系統(tǒng)提供同步控制n應(yīng)用程

25、序應(yīng)用程序方案-應(yīng)用軟件負(fù)責(zé)在適當(dāng)?shù)臅r間從一個代碼分支切換到另一個代碼分支n引進(jìn)任務(wù)管理部件引進(jìn)任務(wù)管理部件 微型的任務(wù)管理器,考慮的是任務(wù)怎么被激活的。 有些任務(wù)是由事件激活的,有些是由時間驅(qū)動的 舉例:計數(shù)器中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.3 7.3.3 任務(wù)管理任務(wù)管理策略策略 實(shí)現(xiàn)對實(shí)現(xiàn)對多用戶、多任務(wù)的并行處理多用戶、多任務(wù)的并行處理支持支持n基于基于進(jìn)程和線程的控制進(jìn)程和線程的控制 n進(jìn)程和線程建模n確定進(jìn)程的生命周期n在進(jìn)程間分布模型元素通過創(chuàng)建進(jìn)程和線程,為多任務(wù)提供可獨(dú)占使用的內(nèi)存空間以及其他資源。為每一個線程分配需要執(zhí)行的動作流程。中中國國石油大石油

26、大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.4 7.3.4 分布式分布式實(shí)現(xiàn)機(jī)制實(shí)現(xiàn)機(jī)制應(yīng)用程序的不同部件被安裝在多個通過網(wǎng)絡(luò)連接的計算機(jī)上應(yīng)用程序的不同部件被安裝在多個通過網(wǎng)絡(luò)連接的計算機(jī)上,系統(tǒng)運(yùn)行時不同計算機(jī)相互協(xié)作,提供應(yīng)用服務(wù)。,系統(tǒng)運(yùn)行時不同計算機(jī)相互協(xié)作,提供應(yīng)用服務(wù)。n確定確定網(wǎng)絡(luò)拓?fù)渑渲镁W(wǎng)絡(luò)拓?fù)渑渲胣將設(shè)計元素分配到網(wǎng)絡(luò)節(jié)點(diǎn)將設(shè)計元素分配到網(wǎng)絡(luò)節(jié)點(diǎn)n節(jié)點(diǎn)容量(指內(nèi)存量和處理能力) n通信介質(zhì)帶寬(總線、LAN、WAN) n硬件與通信鏈路的可用性、重選路由 n對冗余與容錯能力的要求n響應(yīng)時間要求n吞吐量要求 n設(shè)計分布處理機(jī)制設(shè)計分布處理機(jī)制 n采用RMI實(shí)現(xiàn)分布處理機(jī)制o引入可直接

27、利用的類庫 o建立一些有role標(biāo)識的類,代表實(shí)際設(shè)計元素 o描述分布機(jī)制的靜態(tài)結(jié)構(gòu) 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.5 7.3.5 數(shù)據(jù)數(shù)據(jù)存儲設(shè)計存儲設(shè)計 實(shí)現(xiàn)數(shù)據(jù)的持久性存儲實(shí)現(xiàn)數(shù)據(jù)的持久性存儲n基于基于JDBC的數(shù)據(jù)存儲機(jī)制的數(shù)據(jù)存儲機(jī)制n引入JDBC相關(guān)類庫 (java.sql包中的類 )n構(gòu)造一些具有role標(biāo)識的類,代表設(shè)計元素 n描述持久存儲機(jī)制的靜態(tài)結(jié)構(gòu) n描述機(jī)制的典型應(yīng)用場景 利用利用JDBC,如何實(shí)現(xiàn)數(shù)據(jù)的持久性存儲?,如何實(shí)現(xiàn)數(shù)據(jù)的持久性存儲?中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計 用例

28、模型給出用戶和系統(tǒng)交互情況,系統(tǒng)設(shè)計階段用例模型給出用戶和系統(tǒng)交互情況,系統(tǒng)設(shè)計階段給出人機(jī)交互所有系統(tǒng)成分,給出人機(jī)交互所有系統(tǒng)成分,包括:包括:n用戶如何用戶如何操作操作系統(tǒng)系統(tǒng)n系統(tǒng)如何系統(tǒng)如何響應(yīng)響應(yīng)命令命令n系統(tǒng)系統(tǒng)顯示顯示信息與報表的信息與報表的格式格式具體步驟:具體步驟:n分類分類分析用戶特點(diǎn),設(shè)計不同界面分析用戶特點(diǎn),設(shè)計不同界面 n增加用戶界面專用的類與對象增加用戶界面專用的類與對象 n利用快速原型演示,改進(jìn)界面設(shè)計利用快速原型演示,改進(jìn)界面設(shè)計 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n界面一

29、致性界面一致性n同一系統(tǒng)內(nèi)界面用語保持一致,每種概念和用語只有一種表達(dá)中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院文本 含義和行為 是否出現(xiàn)在按鈕上 是否出現(xiàn)在菜單上 熱鍵 快捷鍵OK 接受輸入的數(shù)據(jù)或顯示的響應(yīng)信息,關(guān)掉窗口 Yes No None or Cancel 不接受輸入的信息,關(guān)掉窗口 Yes No None Esc Close 結(jié)束當(dāng)前的任務(wù),讓程序繼續(xù)進(jìn)行;關(guān)掉數(shù)據(jù)窗口 Yes Yes Alt+C None Exit 推出程序 No Yes Alt+X Alt+F4 Help 調(diào)出程序的幫助信息 Yes Yes Alt+H Fl Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計

30、設(shè)計通過案例體會通過案例體會 n界面一致性界面一致性n同一系統(tǒng)內(nèi)界面風(fēng)格保持一致。每種控件的只有一種樣式:窗口、 按鈕、菜單、對話框等;同一系統(tǒng)內(nèi)字體、顏色、布局、位置、尺寸、間距等盡可能保持一種格式。中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n界面一致性界面一致性n界面風(fēng)格(例:菜單組織、快捷鍵設(shè)計等)與常用軟件、用戶使用習(xí)慣保持一致中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n界面一致性界面一致性n導(dǎo)航一般會在頁面的左側(cè)和上方,界面風(fēng)

31、格與常用軟導(dǎo)航一般會在頁面的左側(cè)和上方,界面風(fēng)格與常用軟件、用戶使用習(xí)慣保持一致件、用戶使用習(xí)慣保持一致中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n快捷方式快捷方式n提供快捷方式,更快的操作入口,以減少查找時間。提供快捷方式,更快的操作入口,以減少查找時間。中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n快捷方式快捷方式n最近頻繁使用列表,更快的操作入口,以減少查找時間最近頻繁使用列表,更快的操作入口,以減少查找時間中中國國石油大石油大學(xué)勝

32、學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n快捷方式快捷方式n操作過程和步驟優(yōu)化,去除不必要的按鈕,以減少交互操作過程和步驟優(yōu)化,去除不必要的按鈕,以減少交互次數(shù)次數(shù)中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n快捷方式快捷方式n提供默認(rèn)值(例:當(dāng)天日期、用戶常用選項(xiàng)等),以減提供默認(rèn)值(例:當(dāng)天日期、用戶常用選項(xiàng)等),以減少不必要的用戶輸入少不必要的用戶輸入中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例

33、體會通過案例體會 n錯誤處理錯誤處理n錯誤預(yù)防、操作限制:不適當(dāng)?shù)牟藛芜x項(xiàng)灰色顯示、限錯誤預(yù)防、操作限制:不適當(dāng)?shù)牟藛芜x項(xiàng)灰色顯示、限制錯誤輸入(例:數(shù)字域限制字母輸入)、可能引起損制錯誤輸入(例:數(shù)字域限制字母輸入)、可能引起損害的操作前的用戶確認(rèn)害的操作前的用戶確認(rèn)中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n錯誤處理錯誤處理n錯誤檢測:檢測到錯誤、明確提示用戶錯誤原因及可能錯誤檢測:檢測到錯誤、明確提示用戶錯誤原因及可能的操作指導(dǎo),讓用戶知道怎么做的操作指導(dǎo),讓用戶知道怎么做中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)

34、院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n錯誤處理錯誤處理n發(fā)現(xiàn)因手誤刪除郵件,可以在已刪除中找回。發(fā)現(xiàn)因手誤刪除郵件,可以在已刪除中找回。中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n信息反饋信息反饋n根據(jù)用戶輸入提供相關(guān)的信息反饋,以減少方便用戶輸根據(jù)用戶輸入提供相關(guān)的信息反饋,以減少方便用戶輸入或減少記憶負(fù)荷入或減少記憶負(fù)荷中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n信息反饋信息反饋n記

35、住用戶的輸入和選擇記住用戶的輸入和選擇中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n信息反饋信息反饋n根據(jù)用戶輸入來猜測用戶意圖根據(jù)用戶輸入來猜測用戶意圖中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n信息反饋信息反饋n界面上提供的反饋和確認(rèn)信息不要打擾用戶的操作流程界面上提供的反饋和確認(rèn)信息不要打擾用戶的操作流程。例:新浪微博“發(fā)布成功”提示信息幾秒后自動消失中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.3.6 7.3.6 人機(jī)交互人

36、機(jī)交互設(shè)計設(shè)計通過案例體會通過案例體會 n有表現(xiàn)力的界面有表現(xiàn)力的界面n經(jīng)典美感。界面外觀清晰、整潔、給人予以愉悅感經(jīng)典美感。界面外觀清晰、整潔、給人予以愉悅感n表達(dá)美感。界面外觀表達(dá)獨(dú)創(chuàng)、新穎,有吸引力。表達(dá)美感。界面外觀表達(dá)獨(dú)創(chuàng)、新穎,有吸引力。n表達(dá)情感。界面通過表情等界面元素來表達(dá)情感狀態(tài)表達(dá)情感。界面通過表情等界面元素來表達(dá)情感狀態(tài)n情感共鳴。界面激起用戶深層次的內(nèi)在情感共鳴。情感共鳴。界面激起用戶深層次的內(nèi)在情感共鳴。中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo54補(bǔ)充了解:軟件架構(gòu)師補(bǔ)充了解:軟件架構(gòu)師角色:軟件角色:軟件架構(gòu)師架構(gòu)師Software Architect定義:

37、定義:主導(dǎo)主導(dǎo)系統(tǒng)全局系統(tǒng)全局分析設(shè)計和實(shí)施、負(fù)責(zé)軟件構(gòu)分析設(shè)計和實(shí)施、負(fù)責(zé)軟件構(gòu)架和關(guān)鍵技術(shù)決策的架和關(guān)鍵技術(shù)決策的角色。角色。Logo55職責(zé)職責(zé)n領(lǐng)導(dǎo)與協(xié)調(diào)領(lǐng)導(dǎo)與協(xié)調(diào)整個項(xiàng)目中的技術(shù)活動(分析、設(shè)計和實(shí)整個項(xiàng)目中的技術(shù)活動(分析、設(shè)計和實(shí)施等)施等)n推動主要的推動主要的技術(shù)決策技術(shù)決策,并最終表達(dá)為軟件構(gòu)架,并最終表達(dá)為軟件構(gòu)架n確定和文檔化系統(tǒng)的相對構(gòu)架而言確定和文檔化系統(tǒng)的相對構(gòu)架而言意義重大意義重大的方面,的方面,包括系統(tǒng)的需求、設(shè)計、實(shí)施和部署等包括系統(tǒng)的需求、設(shè)計、實(shí)施和部署等“視圖視圖”n確定確定設(shè)計元素設(shè)計元素的分組以及這些主要分組之間的的分組以及這些主要分組之間的接口接

38、口n為技術(shù)決策提供為技術(shù)決策提供規(guī)則規(guī)則,平衡各類涉眾的不同關(guān)注點(diǎn),平衡各類涉眾的不同關(guān)注點(diǎn),化解技術(shù)風(fēng)險,并保證相關(guān)決定被有效的傳達(dá)和貫徹化解技術(shù)風(fēng)險,并保證相關(guān)決定被有效的傳達(dá)和貫徹n理解、評價并接收系統(tǒng)理解、評價并接收系統(tǒng)需求需求n評價和確認(rèn)軟件架構(gòu)的評價和確認(rèn)軟件架構(gòu)的實(shí)現(xiàn)實(shí)現(xiàn)補(bǔ)充了解:軟件架構(gòu)師補(bǔ)充了解:軟件架構(gòu)師Logo56專業(yè)技能專業(yè)技能n技術(shù)全面、成熟練達(dá)、洞察力強(qiáng)、經(jīng)驗(yàn)豐富,具備在缺乏技術(shù)全面、成熟練達(dá)、洞察力強(qiáng)、經(jīng)驗(yàn)豐富,具備在缺乏完整信息、眾多問題交織一團(tuán)、模糊和矛盾的情況下,迅完整信息、眾多問題交織一團(tuán)、模糊和矛盾的情況下,迅速抓住問題要害,并做出合理的關(guān)鍵決定的能力。

39、速抓住問題要害,并做出合理的關(guān)鍵決定的能力。n具備戰(zhàn)略性和前瞻性思維能力,善于把握全局,能夠在更具備戰(zhàn)略性和前瞻性思維能力,善于把握全局,能夠在更高抽象級別上進(jìn)行思考。高抽象級別上進(jìn)行思考。n對項(xiàng)目開發(fā)涉及的所有問題領(lǐng)域都有經(jīng)驗(yàn),包括徹底地理對項(xiàng)目開發(fā)涉及的所有問題領(lǐng)域都有經(jīng)驗(yàn),包括徹底地理解項(xiàng)目需求,開展分析設(shè)計之類軟件工程活動等。解項(xiàng)目需求,開展分析設(shè)計之類軟件工程活動等。n具備領(lǐng)導(dǎo)素質(zhì),以在各小組之間推進(jìn)技術(shù)工作,并在項(xiàng)目具備領(lǐng)導(dǎo)素質(zhì),以在各小組之間推進(jìn)技術(shù)工作,并在項(xiàng)目壓力下做出牢靠的關(guān)鍵決策。壓力下做出牢靠的關(guān)鍵決策。n擁有優(yōu)秀的溝通能力,用以進(jìn)行說服、鼓勵和指導(dǎo)等活動擁有優(yōu)秀的溝通

40、能力,用以進(jìn)行說服、鼓勵和指導(dǎo)等活動,并贏得項(xiàng)目成員的信任。,并贏得項(xiàng)目成員的信任。補(bǔ)充了解:軟件架構(gòu)師補(bǔ)充了解:軟件架構(gòu)師Logo57n以目標(biāo)導(dǎo)向和主動的方式來不帶任何感情色彩地關(guān)注項(xiàng)目以目標(biāo)導(dǎo)向和主動的方式來不帶任何感情色彩地關(guān)注項(xiàng)目結(jié)果,構(gòu)架師應(yīng)當(dāng)是項(xiàng)目背后的技術(shù)推動力,而非構(gòu)想者結(jié)果,構(gòu)架師應(yīng)當(dāng)是項(xiàng)目背后的技術(shù)推動力,而非構(gòu)想者或夢想家(追求完美)或夢想家(追求完美)n精通構(gòu)架設(shè)計的理論、實(shí)踐和工具,并掌握多種參考構(gòu)架精通構(gòu)架設(shè)計的理論、實(shí)踐和工具,并掌握多種參考構(gòu)架、主要的可重用構(gòu)架機(jī)制和模式。、主要的可重用構(gòu)架機(jī)制和模式。n具備系統(tǒng)設(shè)計員的所有技能,但涉及面更廣、抽象級別更具備系統(tǒng)

41、設(shè)計員的所有技能,但涉及面更廣、抽象級別更高。高。補(bǔ)充了解:軟件架構(gòu)師補(bǔ)充了解:軟件架構(gòu)師Logo58軟件架構(gòu)師的知識體系軟件架構(gòu)師的知識體系n軟件架構(gòu)師作為整個軟件系統(tǒng)結(jié)構(gòu)的總設(shè)計師,其軟件架構(gòu)師作為整個軟件系統(tǒng)結(jié)構(gòu)的總設(shè)計師,其知識體知識體系、技能和經(jīng)驗(yàn)決定了軟件系統(tǒng)的可靠性、安全性、可維系、技能和經(jīng)驗(yàn)決定了軟件系統(tǒng)的可靠性、安全性、可維護(hù)性、可擴(kuò)展性和可移植性等方面的性能。護(hù)性、可擴(kuò)展性和可移植性等方面的性能。因此一個優(yōu)秀因此一個優(yōu)秀的軟件架構(gòu)師必須具備相當(dāng)?shù)能浖軜?gòu)師必須具備相當(dāng)豐富的知識、技能和經(jīng)驗(yàn)豐富的知識、技能和經(jīng)驗(yàn)。n對比對比軟件架構(gòu)師和系統(tǒng)分析師在軟件開發(fā)中的職責(zé)和軟件架構(gòu)師

42、和系統(tǒng)分析師在軟件開發(fā)中的職責(zé)和角色角色系統(tǒng)分析系統(tǒng)分析師的主要職責(zé)是在師的主要職責(zé)是在需求分析、開發(fā)管理、運(yùn)行維需求分析、開發(fā)管理、運(yùn)行維護(hù)護(hù)等等方面;而方面;而軟件架構(gòu)師的重點(diǎn)工作是在軟件架構(gòu)師的重點(diǎn)工作是在架構(gòu)與設(shè)計架構(gòu)與設(shè)計這兩這兩個關(guān)鍵環(huán)節(jié)上個關(guān)鍵環(huán)節(jié)上。n因此因此在系統(tǒng)分析師必須具備的知識體系中對系統(tǒng)的構(gòu)架與在系統(tǒng)分析師必須具備的知識體系中對系統(tǒng)的構(gòu)架與設(shè)計等方面知識體系的要求就相對低些;而軟件架構(gòu)師在設(shè)計等方面知識體系的要求就相對低些;而軟件架構(gòu)師在需求分析、項(xiàng)目管理、運(yùn)行維護(hù)等方面知識的要求也就相需求分析、項(xiàng)目管理、運(yùn)行維護(hù)等方面知識的要求也就相對低些。對低些。Logo59n成

43、為一名合格的軟件架構(gòu)師必須具備的知識成為一名合格的軟件架構(gòu)師必須具備的知識n信息系統(tǒng)綜合知識體系n軟件架構(gòu)知識體系軟件架構(gòu)師的知識體系軟件架構(gòu)師的知識體系Logo60?nMFC,MSF,MOF,RUP,J2EE,Spring,SOA,JUnit,ORM,.NetnMVC,UML,XML,Corba,MDA,MDD,Web-ServicenRSS,Web2.0,AJAX,Serverlet,HibernatenIOC, AOPnRuby On RailsnRupnBPELnWorkflow EnginenLBSnOraclenCMMInMQnLogo軟件架構(gòu)師在干什么?軟件架構(gòu)師在干什么?n思考

44、、思考、再思考思考、思考、再思考n深入理解、準(zhǔn)確把握建設(shè)的業(yè)務(wù)需求n分析所有可見的問題、障礙、風(fēng)險n充分參考已有的成功方案,降低風(fēng)險n交流、討論、博弈、質(zhì)疑交流、討論、博弈、質(zhì)疑n對構(gòu)思中的方案不斷提出質(zhì)疑,避免漏洞n廣泛聽取各層面的意見,開拓思路n反復(fù)質(zhì)疑、逐步完善已有的設(shè)計構(gòu)思n在動手實(shí)現(xiàn)之前驗(yàn)證設(shè)計方案的正確性在動手實(shí)現(xiàn)之前驗(yàn)證設(shè)計方案的正確性Logo62軟件架構(gòu)師的知識結(jié)構(gòu)軟件架構(gòu)師的知識結(jié)構(gòu)n軟件知識軟件知識n最好要有系統(tǒng)開發(fā)全過程經(jīng)驗(yàn)。最好要有系統(tǒng)開發(fā)全過程經(jīng)驗(yàn)。n對對 IT 建設(shè)生命周期各個環(huán)節(jié)有深入了解,包括:系統(tǒng)建設(shè)生命周期各個環(huán)節(jié)有深入了解,包括:系統(tǒng)/模塊邏輯設(shè)計、物理設(shè)

45、計、代碼開發(fā)、項(xiàng)目管理、測試模塊邏輯設(shè)計、物理設(shè)計、代碼開發(fā)、項(xiàng)目管理、測試、發(fā)布、運(yùn)行維護(hù)等。、發(fā)布、運(yùn)行維護(hù)等。n深入掌握深入掌握1-2種主流技術(shù)平臺上開發(fā)系統(tǒng)的方法。種主流技術(shù)平臺上開發(fā)系統(tǒng)的方法。n了解多種應(yīng)用系統(tǒng)的結(jié)構(gòu)。了解多種應(yīng)用系統(tǒng)的結(jié)構(gòu)。n了解架構(gòu)設(shè)計領(lǐng)域的主要理論、流派、框架。了解架構(gòu)設(shè)計領(lǐng)域的主要理論、流派、框架。Logo63軟件架構(gòu)師的知識結(jié)構(gòu)軟件架構(gòu)師的知識結(jié)構(gòu)n業(yè)務(wù)知識業(yè)務(wù)知識n深入了解系統(tǒng)建設(shè)的業(yè)務(wù)需求。n了解系統(tǒng)的非功能需求和運(yùn)行維護(hù)需求。n了解企業(yè) IT 公共設(shè)施、網(wǎng)絡(luò)環(huán)境、外部系統(tǒng)。Logo64軟件架構(gòu)師的思維方式軟件架構(gòu)師的思維方式n基于框架的思維基于框架的

46、思維n架構(gòu)設(shè)計的層次(Enterprise, Application, etc)nIT 的生命周期(What, Why, Where, How, When, etc)n成功經(jīng)驗(yàn)以及方法論的指導(dǎo)n合理把握技術(shù)細(xì)節(jié)合理把握技術(shù)細(xì)節(jié)n把握各個層次應(yīng)有的內(nèi)容n合理忽略不應(yīng)有的技術(shù)細(xì)節(jié)Logo65軟件架構(gòu)師的思維方式軟件架構(gòu)師的思維方式n風(fēng)險管理意識風(fēng)險管理意識n采用成功經(jīng)驗(yàn)、避免不應(yīng)有的風(fēng)險n多方位的開放思維多方位的開放思維n多維度、多方向、包容性、避免排他性n分析、質(zhì)疑、抽象、歸納n沒有絕對好的架構(gòu)設(shè)計,只有相對優(yōu)秀的方案Logo66軟件架構(gòu)師的任職條件軟件架構(gòu)師的任職條件根據(jù)軟件架構(gòu)師的職責(zé)和角色

47、定位,以及知識體系,從實(shí)踐根據(jù)軟件架構(gòu)師的職責(zé)和角色定位,以及知識體系,從實(shí)踐的角度考慮,合格的軟件架構(gòu)師應(yīng)該具有以下能力和經(jīng)驗(yàn):的角度考慮,合格的軟件架構(gòu)師應(yīng)該具有以下能力和經(jīng)驗(yàn):(1)具有具有8年以上的軟件項(xiàng)目開發(fā)實(shí)際工作經(jīng)驗(yàn),其中至少有年以上的軟件項(xiàng)目開發(fā)實(shí)際工作經(jīng)驗(yàn),其中至少有3年以上的代碼編寫工作經(jīng)驗(yàn),年以上的代碼編寫工作經(jīng)驗(yàn),4年以上的基于面向?qū)ο蠛蜆?gòu)年以上的基于面向?qū)ο蠛蜆?gòu)件開發(fā)方法的軟件產(chǎn)品設(shè)計經(jīng)驗(yàn)。件開發(fā)方法的軟件產(chǎn)品設(shè)計經(jīng)驗(yàn)。 (2)具有具有5個以上大中型開發(fā)項(xiàng)目的總體規(guī)劃、方案設(shè)計經(jīng)驗(yàn)個以上大中型開發(fā)項(xiàng)目的總體規(guī)劃、方案設(shè)計經(jīng)驗(yàn),有大中型應(yīng)用系統(tǒng)開發(fā)和實(shí)施的成功案例。,有

48、大中型應(yīng)用系統(tǒng)開發(fā)和實(shí)施的成功案例。(3)對相關(guān)的技術(shù)標(biāo)準(zhǔn)有深刻的認(rèn)識,對軟件工程標(biāo)準(zhǔn)和規(guī)范對相關(guān)的技術(shù)標(biāo)準(zhǔn)有深刻的認(rèn)識,對軟件工程標(biāo)準(zhǔn)和規(guī)范有良好的把握。有良好的把握。 (4)對對.Net或或Java技術(shù)及整個解決方案有深刻的理解及熟練技術(shù)及整個解決方案有深刻的理解及熟練的應(yīng)用,精通的應(yīng)用,精通Web Service,熟練掌握流行的架構(gòu)。,熟練掌握流行的架構(gòu)。 Logo67(5)對設(shè)計模式有深刻的理解,并能在此基礎(chǔ)上設(shè)計出適合產(chǎn)品對設(shè)計模式有深刻的理解,并能在此基礎(chǔ)上設(shè)計出適合產(chǎn)品特性和質(zhì)量屬性的框架。特性和質(zhì)量屬性的框架。(6)具有面向?qū)ο蟮姆治?、設(shè)計和開發(fā)能力,精通具有面向?qū)ο蟮姆治?、設(shè)

49、計和開發(fā)能力,精通UML和和XML,能熟練使用能熟練使用Rational Rose、PowerDesigner等工具進(jìn)行設(shè)計等工具進(jìn)行設(shè)計。 (7)具有良好的團(tuán)隊意識和協(xié)作精神,有較強(qiáng)的溝通能力和書面具有良好的團(tuán)隊意識和協(xié)作精神,有較強(qiáng)的溝通能力和書面表達(dá)能力。表達(dá)能力。(8)具有旺盛的精力和學(xué)習(xí)能力,能快速掌握新技術(shù)和新方法。具有旺盛的精力和學(xué)習(xí)能力,能快速掌握新技術(shù)和新方法。 軟件架構(gòu)師的任職條件軟件架構(gòu)師的任職條件Logo7.4 7.4 系統(tǒng)元素設(shè)計系統(tǒng)元素設(shè)計 n子系統(tǒng)設(shè)計子系統(tǒng)設(shè)計 n將子系統(tǒng)行為分配給子系統(tǒng)元素將子系統(tǒng)行為分配給子系統(tǒng)元素 n描述子系統(tǒng)元素描述子系統(tǒng)元素 n說明子系

50、統(tǒng)的依賴關(guān)系說明子系統(tǒng)的依賴關(guān)系 n分包設(shè)計分包設(shè)計 n分包的原則分包的原則 n描述包之間的依賴關(guān)系描述包之間的依賴關(guān)系 n包之間的耦合關(guān)系包之間的耦合關(guān)系 n類類/對象設(shè)計對象設(shè)計中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.4 7.4 系統(tǒng)元素設(shè)計系統(tǒng)元素設(shè)計 n子系統(tǒng)子系統(tǒng)設(shè)計設(shè)計子系統(tǒng)內(nèi)部的元素和之間的交互子系統(tǒng)內(nèi)部的元素和之間的交互 n將子系統(tǒng)行為分配給子系統(tǒng)將子系統(tǒng)行為分配給子系統(tǒng)元素元素通過子系統(tǒng)的外部行為(實(shí)現(xiàn)的接口)得到實(shí)現(xiàn)子系統(tǒng)通過子系統(tǒng)的外部行為(實(shí)現(xiàn)的接口)得到實(shí)現(xiàn)子系統(tǒng)的操作所執(zhí)行的行為的操作所執(zhí)行的行為 用用時序時序圖圖表示表示例例7.4“選課系統(tǒng)選課系統(tǒng)”課

51、程目錄子系統(tǒng)課程目錄子系統(tǒng)中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo選課系統(tǒng)選課系統(tǒng)- -課程課程目錄子系統(tǒng)時序圖目錄子系統(tǒng)時序圖 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.4 7.4 系統(tǒng)元素設(shè)計系統(tǒng)元素設(shè)計 n子系統(tǒng)設(shè)計子系統(tǒng)設(shè)計 n將子系統(tǒng)行為分配給子系統(tǒng)元素將子系統(tǒng)行為分配給子系統(tǒng)元素 n描述子系統(tǒng)描述子系統(tǒng)元素元素創(chuàng)建一個或多個創(chuàng)建一個或多個類圖類圖表示子系統(tǒng)包含的元素以及他們之表示子系統(tǒng)包含的元素以及他們之間的關(guān)系間的關(guān)系 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo課程目錄子系統(tǒng)內(nèi)部類圖課程目錄子系統(tǒng)內(nèi)部類圖 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7

52、.4 7.4 系統(tǒng)元素設(shè)計系統(tǒng)元素設(shè)計 n子系統(tǒng)設(shè)計子系統(tǒng)設(shè)計 n將子系統(tǒng)行為分配給子系統(tǒng)元素將子系統(tǒng)行為分配給子系統(tǒng)元素 n描述子系統(tǒng)元素描述子系統(tǒng)元素 n說明子系統(tǒng)的依賴說明子系統(tǒng)的依賴關(guān)系關(guān)系當(dāng)當(dāng)子系統(tǒng)包含的某個元素使用了另一個子系統(tǒng)中的某個子系統(tǒng)包含的某個元素使用了另一個子系統(tǒng)中的某個元素行為時,就在兩個子系統(tǒng)間創(chuàng)建了元素行為時,就在兩個子系統(tǒng)間創(chuàng)建了依賴關(guān)系依賴關(guān)系。 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo子系統(tǒng)間依賴關(guān)系子系統(tǒng)間依賴關(guān)系 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.4 7.4 系統(tǒng)元素設(shè)計系統(tǒng)元素設(shè)計 n子系統(tǒng)設(shè)計子系統(tǒng)設(shè)計 n將子系統(tǒng)行為分配給子

53、系統(tǒng)元素將子系統(tǒng)行為分配給子系統(tǒng)元素 n描述子系統(tǒng)元素描述子系統(tǒng)元素 n說明子系統(tǒng)的依賴關(guān)系說明子系統(tǒng)的依賴關(guān)系 n分包設(shè)計分包設(shè)計 n分包設(shè)計是在層次結(jié)構(gòu)的基礎(chǔ)上,劃分更細(xì)的組分包設(shè)計是在層次結(jié)構(gòu)的基礎(chǔ)上,劃分更細(xì)的組織單元,把設(shè)計元素分別放入特定的包中。體現(xiàn)織單元,把設(shè)計元素分別放入特定的包中。體現(xiàn)高內(nèi)聚低耦合。高內(nèi)聚低耦合。n分包的原則分包的原則 n描述包之間的依賴關(guān)系描述包之間的依賴關(guān)系 n包之間的耦合關(guān)系包之間的耦合關(guān)系 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.4 7.4 系統(tǒng)元素設(shè)計系統(tǒng)元素設(shè)計 n子系統(tǒng)設(shè)計子系統(tǒng)設(shè)計 n將子系統(tǒng)行為分配給子系統(tǒng)元素將子系統(tǒng)行為分配給子

54、系統(tǒng)元素 n描述子系統(tǒng)元素描述子系統(tǒng)元素 n說明子系統(tǒng)的依賴關(guān)系說明子系統(tǒng)的依賴關(guān)系 n分包設(shè)計分包設(shè)計 n分包的分包的原則原則將邊界將邊界類打包類打包將將功能相關(guān)的類打包功能相關(guān)的類打包 【例7.5】應(yīng)用子系統(tǒng)層,Registration包 業(yè)務(wù)專用層,University Artifacts包中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo包的依賴關(guān)系包的依賴關(guān)系 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院LogoUniversity ArtifactsUniversity Artifacts包內(nèi)元素的類圖包內(nèi)元素的類圖 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo7.4 7.4 系統(tǒng)元

55、素設(shè)計系統(tǒng)元素設(shè)計 n子系統(tǒng)設(shè)計子系統(tǒng)設(shè)計 n將子系統(tǒng)行為分配給子系統(tǒng)元素將子系統(tǒng)行為分配給子系統(tǒng)元素 n描述子系統(tǒng)元素描述子系統(tǒng)元素 n說明子系統(tǒng)的依賴關(guān)系說明子系統(tǒng)的依賴關(guān)系 n分包設(shè)計分包設(shè)計 n分包的原則分包的原則 n描述包之間的依賴關(guān)系描述包之間的依賴關(guān)系 n包之間的耦合關(guān)系包之間的耦合關(guān)系 n類類/對象設(shè)計對象設(shè)計 設(shè)計工作的核心,具體最接近實(shí)現(xiàn)設(shè)計工作的核心,具體最接近實(shí)現(xiàn)中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo類類/ /對象設(shè)計對象設(shè)計n設(shè)計設(shè)計初始設(shè)計類初始設(shè)計類n設(shè)計邊界類、實(shí)體類、控制類n定義操作定義操作n研究每個類的職責(zé),為職責(zé)確定操作(參數(shù)、可見性、作用域)n

56、增加一些典型的操作n定義方法定義方法n方法是對操作的實(shí)現(xiàn)(白盒)n定義狀態(tài)定義狀態(tài)n可以創(chuàng)建狀態(tài)圖n定義定義屬性(屬性名、類型、初始值、可見性)屬性(屬性名、類型、初始值、可見性)n定義依賴關(guān)系定義依賴關(guān)系n定義關(guān)聯(lián)關(guān)系定義關(guān)聯(lián)關(guān)系n定義泛化關(guān)系定義泛化關(guān)系n處理非功能需求處理非功能需求中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo類類/ /對象設(shè)計對象設(shè)計n設(shè)計初始類設(shè)計初始類n設(shè)計邊界類、實(shí)體類、控制類中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo類的重新設(shè)計類的重新設(shè)計 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo類類/ /對象設(shè)計對象設(shè)計n設(shè)計初始類設(shè)計初始類n設(shè)計邊界類、實(shí)體類、控制類n定義操作定義操作n研究每個類的職責(zé),為職責(zé)確定操作n增加一些典型的操作n定義方法定義方法n方法是對操作的實(shí)現(xiàn)n定義狀態(tài)定義狀態(tài)n可以創(chuàng)建狀態(tài)圖中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)院院Logo定義操作的類圖定義操作的類圖 中中國國石油大石油大學(xué)勝學(xué)勝利利學(xué)學(xué)

溫馨提示

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

最新文檔

評論

0/150

提交評論