【文章內(nèi)容簡介】
Entity class name Entity class name entity Microsoft Architect 2020 56 定義實(shí)體類 NounVerbAdjective (NVA) 方法分析使用案例文檔,尋找潛在的實(shí)體類 –確定使用案例的場景,在文檔描述中確定句子的主語(名詞) –將潛在的實(shí)體類列出 –檢查使用案例的其他要求或數(shù)據(jù)字典已確定是否有附加的實(shí)體類 –與客戶以及開發(fā)人員共同確定最后清單 Microsoft Architect 2020 57 對(duì)象的例子 任務(wù)序列 對(duì)象 前臺(tái)服務(wù)員 查找 顧客 的預(yù)定記錄 前臺(tái)服務(wù)員,顧客,預(yù)定記錄 系統(tǒng) 提取出空余的 房間 系統(tǒng),房間 將該 房間 分配給 客人 房間,客人 前臺(tái)服務(wù)員 發(fā)放給客人房間 鑰匙 前臺(tái)服務(wù)員,鑰匙 Microsoft Architect 2020 58 服務(wù)的例子 任務(wù)序列 服務(wù) 前臺(tái)服務(wù)員 查找 顧客的預(yù)定記錄 查看預(yù)定記錄 系統(tǒng) 提取 出空余的房間 提取空余的房間 將該房間 分配 給客人 分配房間 前臺(tái)服務(wù)員 發(fā)放 給客人房間鑰匙 發(fā)放鑰匙 Microsoft Architect 2020 59 屬性的例子 敘述 屬性 顧客有姓名 和地址 姓名,地址 顧客通過各種類型的預(yù)定 預(yù)定類型 客人所屬的公司 公司 顧客抽煙不? 抽煙否 Microsoft Architect 2020 60 UML 中類圖表的表示 類的關(guān)聯(lián)與關(guān)系:關(guān)聯(lián)描述了對(duì)象之間的協(xié)作關(guān)系。 –集合與合成 –概括 –實(shí)現(xiàn) 關(guān)聯(lián)的屬性:描述了類的關(guān)聯(lián)的細(xì)節(jié)。 –名稱 –腳色 –瀏覽方向 Microsoft Architect 2020 61 關(guān) 聯(lián) 表示了類之間的使用關(guān)系 包括了兩類: –” uses a” – “knows of a” 方向表示了數(shù)據(jù)之間的交換性 用戶 賬號(hào) 單向關(guān)聯(lián) 地址 雙向關(guān)聯(lián) Microsoft Architect 2020 62 議程 軟件架構(gòu)與模式 UML: 通用建模語言 – OODA: 面對(duì)對(duì)象的分析與設(shè)計(jì) – UML介紹 –使用案例視圖 –類圖表 –交互圖表與行為圖表 –模塊與組件 組件設(shè)計(jì) Microsoft Architect 2020 63 交互圖表 表示對(duì)象類型之間的協(xié)作關(guān)系 對(duì)應(yīng)一個(gè)使用案例 兩種格式 –順序圖表 –協(xié)作圖表 表示單一順序過程 , 無復(fù)雜的條件和循環(huán)分支 Microsoft Architect 2020 64 交互圖表 順序圖表強(qiáng)調(diào)事件間的次序 , 表示對(duì)象類的激活和消滅 協(xié)作圖表強(qiáng)調(diào)對(duì)象類之間的靜態(tài)聯(lián)系 弱點(diǎn) –對(duì)對(duì)象類的行為描述不能深入 –狀態(tài)圖表 Microsoft Architect 2020 65 順序圖表 描述在某一個(gè)場景下消息在對(duì)象之間按時(shí)間順序的流動(dòng) 消息 –對(duì)象之間的交流 –只是出消息的流動(dòng)方向 –轉(zhuǎn)化為類的方法 Microsoft Architect 2020 66 順序圖表的產(chǎn)生 確定使用案例場景的開始 分步確定在使用案例場景的事件流: –創(chuàng)建對(duì)象 –根據(jù)步驟創(chuàng)建對(duì)象之間的消息 –確定消息的原型 –確定消息的參數(shù) –說明消息的輸出 Microsoft Architect 2020 67 順序圖表 Microsoft Architect 2020 68 順序圖表:另一種形式 Microsoft Architect 2020 69 協(xié)作圖表 以對(duì)象為中心的觀點(diǎn) 描述對(duì)象之間協(xié)作的信息 設(shè)計(jì)者可以看到對(duì)象所有接受以及發(fā)送的消息 Rational Rose:可以根據(jù)順序圖表自動(dòng)創(chuàng)建 Microsoft Architect 2020 70 協(xié)作圖表 UML 符號(hào)表示 參加者:動(dòng)作序列的初始點(diǎn) 連接:定義了消息在對(duì)象之間傳遞的路徑。 : Customer : Account 1: Create 2: Validate 參加者 對(duì)象 消息名稱 Link Microsoft Architect 2020 71 協(xié)作圖表的創(chuàng)建 自動(dòng) –從順序圖表自動(dòng)產(chǎn)生協(xié)作圖表 手工 –在使用案例場景中確定對(duì)象 –創(chuàng)建對(duì)象 –定義對(duì)象之間的連接 –定義對(duì)象之間的消息 –定義消息的原型 –定義消息的參數(shù) Microsoft Architect 2020 72 協(xié)作圖表 Microsoft Architect 2020 73 狀態(tài)轉(zhuǎn)變圖表 表示特定對(duì)象的所有可能的狀態(tài)和引起對(duì)象狀態(tài)變化的事件及其條件 . 在面向?qū)ο蟪绦蛟O(shè)計(jì)中 , 狀態(tài)圖表通常用來描述某一對(duì)象類的全部的行為 變化標(biāo)簽 : 事件 [條件 ] / 行動(dòng) 狀態(tài)行為標(biāo)簽 : 做 / 行為 其他關(guān)鍵詞 : –總狀態(tài) superstate , 之后 after, 當(dāng) .. when, 入口 entry, 出口 exit, 自遷移 selftransition, Microsoft Architect 2020 74 狀態(tài)轉(zhuǎn)變圖表 Microsoft Architect 2020 75 行為圖表 描述了行為的順序 , 可以描述復(fù)雜的選擇性的或并行性的行為 是狀態(tài)圖表的一個(gè)變化 類似于流程圖 關(guān)鍵詞 分支 brance,合并 merge,并行分支 fork, 并行合并 join Microsoft Architect 2020 76 行為圖表 P i c k a s h o wS c h e d u l e a s h o wP u b l i c i z e s h o wS e l l t i c k e t sB u y s c r i p t s a n d m u s i cH i r e a r t i s t sr e h e a r s a lD e s i g n l i g h t i n gD e s i g n s e t sM a k e c o s t u m e sD r e s s e d r e h e a r s a lp e r f o r mMicrosoft Architect 2020 77 議程 軟件架構(gòu)與模式 UML: 通用建模語言 – OODA: 面對(duì)對(duì)象的分析與設(shè)計(jì) – UML介紹 –使用案例視圖 –類圖表 –交互圖表與行為圖表 –模塊與組件 組件設(shè)計(jì) Microsoft Architect 2020 78 模塊圖表 o r d e r i n gP r i c i n gs e a tS e l e c t i o nK i o s k S e l e c t i o nC l e r k S e l e c t i o nS e a t D BC r e d i t S e r v i c e s u b s y s t e m T i c k e t i n gA b s t r a c t p a c k a g eT h e r e a r e v a r i a t i o n s o f t h e s e a t s e l e c t i o np a c k a g eMicrosoft Architect 2020 79 模塊圖表 模塊 ,幾個(gè)聯(lián)系緊密的對(duì)象類組成的單元 模塊圖表 Package Diagram 在較高層次上表現(xiàn)對(duì)象類 , 或組成部分間的依賴關(guān)系 . 依賴 –一個(gè)組成部分的變化決定與另一個(gè)組成部分的變化 –消息聯(lián)系 ,數(shù)據(jù)關(guān)系 ,參數(shù) –無傳遞性 Microsoft Architect 2020 80 定義模塊的指南 找到邏輯上有關(guān)聯(lián)的“類” – 例如: 集合或合成關(guān)系 考慮外在的系統(tǒng)接口 檢測系統(tǒng)構(gòu)造 – 層 – 節(jié)點(diǎn) 決定元件的版面設(shè)計(jì) Microsoft Architect 2020 81 模塊和其體系結(jié)構(gòu) 子系統(tǒng)可以用在項(xiàng)目的早期階段 – 定義高層次應(yīng)用的體系結(jié)構(gòu) – 支持“從上到下”的設(shè)計(jì)方式 系統(tǒng)的系統(tǒng) – 包含多樣化引用的系統(tǒng) – 每一種引用是整個(gè)系統(tǒng)的一個(gè)子系統(tǒng) Microsoft Architect 2020 82 組件 元件 – 物理的、可用二進(jìn)制表示的應(yīng)用程序,其中壓縮了數(shù)據(jù)和資料的 動(dòng)態(tài)鏈接的數(shù)據(jù)庫 (DLL) 可執(zhí)行的 (EXE) – 可運(yùn)行一個(gè)或以上的界面 – 包含一個(gè)或以上的類別 Microsoft Architect 2020 83 組件圖表 Microsoft Architect 2020 84 部署圖表 :描述圖 T i c k e t O f f i c eC r e d i t C a r d C h a r g e M a n a g e r I n t e