類圖、時(shí)序圖、狀態(tài)圖-ATM系統(tǒng).ppt
《類圖、時(shí)序圖、狀態(tài)圖-ATM系統(tǒng).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《類圖、時(shí)序圖、狀態(tài)圖-ATM系統(tǒng).ppt(55頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第10章面向?qū)ο蠓治?10 1面向?qū)ο蠓治龅幕具^程10 2需求陳述10 3建立對(duì)象模型10 4建立動(dòng)態(tài)模型10 5建立功能模型10 6定義服務(wù)10 7小結(jié) 10 1面向?qū)ο蠓治龅幕具^程 面向?qū)ο蠓治龀槿『驼碛脩粜枨蟛⒔栴}域精確模型的過程 理解 用戶 分析員和領(lǐng)域?qū)<冶磉_(dá) 需求規(guī)格說明書 對(duì)象模型 動(dòng)態(tài)模型 功能模型 驗(yàn)證 二義性 完善性對(duì)象模型最基本 最重要 最核心 10 1面向?qū)ο蠓治龅幕具^程 3個(gè)子模型對(duì)所解決問題的描述角度進(jìn)行劃分 靜態(tài)結(jié)構(gòu) 對(duì)象模型 3個(gè)子模型交互次序 動(dòng)態(tài)模型 數(shù)據(jù)變換 功能模型 解決問題不同 三個(gè)子模型的重要程度也不同 10 1面向?qū)ο蠓治龅幕具^程 5個(gè)層次 復(fù)雜問題的對(duì)象模型的5個(gè)層次 五個(gè)層次像是對(duì)象模型的5張水平切片 一層比一層顯示出對(duì)象模型的更多細(xì)節(jié) 主題指讀者理解大型 復(fù)雜模型的一種機(jī)制 記憶的7 2原則 面向?qū)ο蠓治龅倪^程尋找類與對(duì)象識(shí)別結(jié)構(gòu)識(shí)別主題定義屬性建立動(dòng)態(tài)模型建立功能模型定義服務(wù) 10 1面向?qū)ο蠓治龅幕具^程 10 2需求陳述 需求陳述是闡明 做什么 而不是 怎樣做 問題范圍功能需求性能需求應(yīng)用環(huán)境假設(shè)條件 ATM機(jī)系統(tǒng)問題描述銀行網(wǎng)絡(luò)中包含柜員和ATM ATM被共享中心所分享 每家銀行利用自己的計(jì)算機(jī)維護(hù)自己的賬戶并處理賬戶所屬的交易 這些交易包括存款和取款 某些銀行擁有自己的柜員站 柜員站直接和該銀行的計(jì)算機(jī)通信 柜員鍵入賬戶數(shù)據(jù)和交易數(shù)據(jù) ATM和中心計(jì)算機(jī)通信 中心計(jì)算機(jī)再和銀行清賬 ATM接受金融卡 要求用戶做些操作后和中心計(jì)算機(jī)通信 執(zhí)行交易給予現(xiàn)金和打印收據(jù) 系統(tǒng)要求保留交易記錄和嚴(yán)守安全規(guī)定 能同時(shí)存取客戶的相同賬戶 10 2需求陳述 自動(dòng)取款機(jī) ATM 系統(tǒng)ATM系統(tǒng) 10 2需求陳述 10 3建立對(duì)象模型 建立對(duì)象模型典型的步驟 確定對(duì)象類和關(guān)聯(lián) 對(duì)于大型復(fù)雜問題還要進(jìn)一步劃分出若干個(gè)主題 給類和關(guān)聯(lián)增添屬性 以進(jìn)一步描述它們 利用適當(dāng)?shù)睦^承關(guān)系進(jìn)一步合并和組織類 10 3建立對(duì)象模型 10 3 1找出候選類與對(duì)象1 找出候選的類與對(duì)象尋找以下五類客觀事物可感知的物理實(shí)體人或組織的角色應(yīng)該記憶的事件兩個(gè)或多個(gè)對(duì)象的相互作用 通常具有交易或接觸的性質(zhì)需要說明的概念 10 3建立對(duì)象模型 10 3 1找出候選類與對(duì)象1 找出候選的類與對(duì)象 續(xù) 名詞解析法從陳述中找出所有名詞 作為類和對(duì)象的初步候選者銀行 自動(dòng)取款機(jī) ATM 系統(tǒng) 中央計(jì)算機(jī) 分行計(jì)算機(jī) 柜員終端 網(wǎng)絡(luò) 總行 分行 軟件 成本 市 街道 營(yíng)業(yè)廳 儲(chǔ)蓄所 柜員 儲(chǔ)戶 現(xiàn)金 支票 賬戶 事物 現(xiàn)金兌換卡 余額 磁卡 分行代碼 卡號(hào) 用戶 副本 信息 密碼 類型 取款額 賬單 訪問 通信鏈路事務(wù)日志 10 3建立對(duì)象模型 10 3 1找出候選類與對(duì)象2 篩選出正確的類與對(duì)象篩選時(shí)主要依據(jù)下列標(biāo)準(zhǔn) 刪除不正確或不必要的類與對(duì)象 1 冗余 2 無關(guān) 3 籠統(tǒng) 4 屬性 5 操作 6 實(shí)現(xiàn) 銀行 自動(dòng)取款機(jī) ATM 系統(tǒng) 中央計(jì)算機(jī)分行計(jì)算機(jī) 柜員終端 網(wǎng)絡(luò) 總行 分行 軟件 成本 市 街道 營(yíng)業(yè)廳 儲(chǔ)蓄所 柜員 儲(chǔ)戶 現(xiàn)金 支票 賬戶 事物 現(xiàn)金兌換卡 余額 磁卡 分行代碼 卡號(hào) 用戶 副本 信息 密碼 類型 取款額 賬單 訪問 通信鏈路事務(wù)日志 儲(chǔ)戶 用戶 現(xiàn)金兌換卡 磁卡和副本 成本 市 街道 營(yíng)業(yè)廳和儲(chǔ)蓄所 銀行 訪問 信息 網(wǎng)絡(luò) 系統(tǒng) 軟件等 現(xiàn)金 支票 取款額 賬單 余額 分行代碼 卡號(hào) 密碼 類型 事務(wù)日志 通信鏈路 10 3建立對(duì)象模型 10 3 1找出候選類與對(duì)象2 篩選出正確的類與對(duì)象ATM 中央計(jì)算機(jī) 分行計(jì)算機(jī) 柜員終端 總行 分行 柜員 儲(chǔ)戶 賬戶 事務(wù) 現(xiàn)金兌換卡 10 3建立對(duì)象模型 10 3 2確定關(guān)聯(lián)1 初步確定關(guān)聯(lián)需求陳述中使用的描述性動(dòng)詞或動(dòng)詞詞組 通常表示關(guān)聯(lián)關(guān)系 直接提取動(dòng)詞短語得出關(guān)聯(lián)需求陳述中隱含的關(guān)聯(lián)根據(jù)問題域知識(shí)得出的關(guān)聯(lián)2 篩選 根據(jù)下述標(biāo)準(zhǔn)刪除候選關(guān)聯(lián) 已刪去的類之間的關(guān)聯(lián)與問題無關(guān)的或在實(shí)現(xiàn)階段考慮的關(guān)聯(lián)瞬時(shí)事件三元關(guān)聯(lián)派生關(guān)聯(lián) 直接提取動(dòng)詞短語得出的關(guān)聯(lián)ATM 中央計(jì)算機(jī) 分行計(jì)算機(jī)及柜員終端組成網(wǎng)絡(luò) 總行擁有多臺(tái)ATM ATM設(shè)在主要街道上 分行提供分行計(jì)算機(jī)和柜員終端 柜員終端設(shè)在分行營(yíng)業(yè)廳及儲(chǔ)蓄所內(nèi) 分行分?jǐn)傑浖_發(fā)成本 儲(chǔ)戶擁有賬戶 分行計(jì)算機(jī)處理針對(duì)賬戶的事務(wù) 分行計(jì)算機(jī)維護(hù)賬戶 柜員終端與分行計(jì)算機(jī)通信 柜員輸入針對(duì)賬戶的事務(wù) ATM與中央計(jì)算機(jī)交換關(guān)于事務(wù)的信息 中央計(jì)算機(jī)確定事務(wù)與分行的對(duì)應(yīng)關(guān)系 ATM讀現(xiàn)金兌換卡 ATM與用戶交互 ATM吐出現(xiàn)金 ATM打印賬單 系統(tǒng)處理并發(fā)的訪問 隱含的關(guān)聯(lián)總行由各個(gè)分行組成 分行保管賬戶 總行擁有中央計(jì)算機(jī) 系統(tǒng)維護(hù)事務(wù)日志 系統(tǒng)提供必要的安全性 儲(chǔ)戶擁有現(xiàn)金兌換卡 中央計(jì)算機(jī)與分行通信 根據(jù)問題域知識(shí)得出的關(guān)聯(lián)現(xiàn)金兌換卡訪問賬戶 分行雇用柜員 10 3建立對(duì)象模型 10 3 2確定關(guān)聯(lián)3 進(jìn)一步完善正名 分解 補(bǔ)充 標(biāo)明重?cái)?shù) ATM系統(tǒng)原始的類圖 10 3建立對(duì)象模型 10 3 3劃分主題在概念上把系統(tǒng)包含的內(nèi)容分解成若干個(gè)范疇?wèi)?yīng)該按問題領(lǐng)域而不是用功能分解的方法來確定主題不同主題內(nèi)的對(duì)象相互間依賴和交互最少的原則總行 總行和中央計(jì)算機(jī) ATM系統(tǒng)分行 分行 分行計(jì)算機(jī) 柜員終端 柜員事務(wù) 柜員和賬戶等 ATM ATM 遠(yuǎn)程事務(wù) 現(xiàn)金兌換卡和儲(chǔ)戶 10 3建立對(duì)象模型 10 3 4確定屬性屬性是對(duì)象的性質(zhì)或特征注意在分析階段不要用屬性來表示對(duì)象間的關(guān)系 使用關(guān)聯(lián)能夠表示兩個(gè)對(duì)象間的任何關(guān)系 而且把關(guān)系表示得更清晰 更醒目 確定屬性的過程包括分析和選擇兩個(gè)步驟 10 3建立對(duì)象模型 10 3 4確定屬性選擇在需求陳述中一般用名詞詞組表示屬性需藉助于領(lǐng)域知識(shí)和常識(shí)才能分析得出屬性屬性對(duì)問題域的基本結(jié)構(gòu)影響很小屬性的確定與問題域和目標(biāo)系統(tǒng)的任務(wù)有關(guān) 不要考慮那些超出所要解決的問題范圍的屬性 先找最重要的屬性 再逐漸把其余屬性增添進(jìn)去 分析階段不考慮那些純粹用于實(shí)現(xiàn)的屬性 10 3建立對(duì)象模型 10 3 4確定屬性分析 1 誤把對(duì)象當(dāng)作屬性同一個(gè)實(shí)體在不同應(yīng)用領(lǐng)域中 到底應(yīng)該作為對(duì)象還是屬性 需要具體分析才能確定 例如 儲(chǔ)戶 賬戶 2 誤把關(guān)聯(lián)類的屬性當(dāng)作對(duì)象的屬性如果某個(gè)性質(zhì)依賴于某個(gè)關(guān)聯(lián)鏈的存在 則該性質(zhì)是關(guān)聯(lián)類的屬性 不應(yīng)該把它作為一般對(duì)象的屬性 例如 帶寬是體現(xiàn)關(guān)聯(lián)的屬性而不是ATM的 10 3建立對(duì)象模型 10 3 4確定屬性分析 3 把限定誤當(dāng)成屬性正確使用限定詞往往可以減少關(guān)聯(lián)的重?cái)?shù) 如果把某個(gè)屬性值固定下來以后能減少關(guān)聯(lián)的重?cái)?shù) 則應(yīng)該考慮把這個(gè)屬性重新表述成一個(gè)限定詞 在ATM系統(tǒng)的例子中 分行代碼 賬號(hào) 雇員號(hào) 站號(hào) 等都是限定詞 4 誤把內(nèi)部狀態(tài)當(dāng)成了屬性如果某個(gè)性質(zhì)是對(duì)象的非公開的內(nèi)部狀態(tài) 則應(yīng)該從對(duì)象模型中刪掉這個(gè)屬性 10 3建立對(duì)象模型 10 3 4確定屬性分析 5 過于細(xì)化在分析階段應(yīng)該忽略那些對(duì)大多數(shù)操作都沒有影響的屬性 6 存在不一致的屬性類應(yīng)該是簡(jiǎn)單而且一致的 如果得出一些看起來與其他屬性毫不相關(guān)的屬性 則應(yīng)該考慮把該類分解成兩個(gè)不同的類 e g 輪 帆 經(jīng)過篩選之后 得到ATM系統(tǒng)中各個(gè)類的屬性 如圖所示 10 3建立對(duì)象模型 建立類間的繼承是為了共享其公共性質(zhì) 屬性 繼承也對(duì)類按層次加以組織 繼承關(guān)系反映出一定深度的領(lǐng)域知識(shí) 需領(lǐng)域?qū)<颐芮信浜喜拍芡瓿?繼承前人的成果是提高效率的重要方法 也是復(fù)用的基礎(chǔ) 10 3 5識(shí)別繼承關(guān)系 兩種建立繼承 即泛化 關(guān)系的方式 1 自底向上 抽象出現(xiàn)有類的共同性質(zhì)泛化出父類 這個(gè)過程實(shí)質(zhì)上模擬了人類歸納思維過程 例如 在ATM系統(tǒng)中 遠(yuǎn)程事務(wù) 和 柜員事務(wù) 是類似的 可以泛化出父類 事務(wù) 類似地 從 ATM 和 柜員終端 泛化出父類 輸入站 2 自頂向下 把現(xiàn)有類細(xì)化成更具體的子類或從已知類派生出一個(gè)新類 這模擬了人類的演繹思維過程 從一般到特殊 帶有形容詞修飾的名詞詞組往往暗示了一些具體類 分析階段應(yīng)該避免過度細(xì)化 增加了繼承關(guān)系之后的ATM對(duì)象模型 一次建模過程很難得到完全正確的對(duì)象模型 有些細(xì)化工作 例如 定義服務(wù) 是在建立了動(dòng)態(tài)模型和功能模型之后才進(jìn)行的 由于面向?qū)ο蟮母拍詈头?hào)在整個(gè)開發(fā)過程中都是一致的 因此遠(yuǎn)比使用結(jié)構(gòu)分析 設(shè)計(jì)技術(shù)更容易實(shí)現(xiàn)反復(fù)修改 逐步完善的過程 建模的步驟并不一定按照前面講述的次序進(jìn)行 它給初學(xué)者提供了一個(gè)指南 下面以ATM系統(tǒng)為例 討論可能做的修改 10 3 6反復(fù)修改 1 分解 現(xiàn)金兌換卡 類 現(xiàn)金兌換卡 有兩個(gè)相對(duì)獨(dú)立的功能 它既是鑒別儲(chǔ)戶及使用ATM的權(quán)限的卡 又是ATM獲得分行代碼和卡號(hào)等數(shù)據(jù)的數(shù)據(jù)載體 因此 把 現(xiàn)金兌換卡 類分解為 卡權(quán)限 和 現(xiàn)金兌換卡 兩個(gè)類 將使每個(gè)類的功能更單一 前一個(gè)類標(biāo)志儲(chǔ)戶訪問賬戶的權(quán)限 后一個(gè)類是含有分行代碼和卡號(hào)的數(shù)據(jù)載體 多張現(xiàn)金兌換卡可能對(duì)應(yīng)著相同的訪問權(quán)限 2 事務(wù) 由 更新 組成一個(gè)事務(wù)可包含對(duì)賬戶的若干次更新 更新指的是對(duì)賬戶所做的一個(gè)動(dòng)作 取款 存款或查詢 更新 有自己的屬性 類型 金額等 應(yīng)該獨(dú)立存在 因此應(yīng)該把它作為類 3 把 分行 與 分行計(jì)算機(jī) 合并區(qū)分 分行 與 分行計(jì)算機(jī) 對(duì)于分析這個(gè)系統(tǒng)來說 并沒有多大意義 為簡(jiǎn)單起見 把它們合并 類似地 應(yīng)該合并 總行 和 中央計(jì)算機(jī) 下圖給出了修改后的ATM對(duì)象模型 與修改前比較起來 它更簡(jiǎn)單 更清晰 修正 總行 分行的通信 儲(chǔ)戶輸入事務(wù) ATM ATM讀卡擁有 通信修改后的ATM對(duì)象模型 對(duì)于僅存儲(chǔ)靜態(tài)數(shù)據(jù)的系統(tǒng) 例如數(shù)據(jù)庫(kù) 來說 動(dòng)態(tài)模型并沒有什么意義 但是若開發(fā)交互式系統(tǒng)時(shí) 動(dòng)態(tài)模型卻起著很重要的作用 例如 收集輸入信息是目標(biāo)系統(tǒng)的主要工作 10 4建立動(dòng)態(tài)模型的方法 建立動(dòng)態(tài)模型的三步 編寫典型交互行為的腳本 不遺漏常見的交互行為 從腳本中提取出事件 確定觸發(fā)每個(gè)事件的動(dòng)作對(duì)象以及接受事件的目標(biāo)對(duì)象 排列事件發(fā)生的次序 確定每個(gè)對(duì)象可能有的狀態(tài)及狀態(tài)間的轉(zhuǎn)換關(guān)系 并用狀態(tài)圖描繪它們 最后 比較各個(gè)對(duì)象的狀態(tài)圖 檢查它們之間的一致性 確保事件之間的匹配 腳本 是指系統(tǒng)在某一執(zhí)行期間內(nèi)出現(xiàn)的一系列事件 腳本功能 描述用戶 或其他外部設(shè)備 與目標(biāo)系統(tǒng)之間的一個(gè)或多個(gè)典型的交互過程 編寫腳本的目的 是保證不遺漏重要的交互步驟 有助于確保整個(gè)交互過程的正確性的和清晰性 編寫腳本內(nèi)容 描寫既可以包括系統(tǒng)中發(fā)生的全部事件 也可以只包括由某些特定對(duì)象觸發(fā)的事件 對(duì)于每個(gè)事件 都應(yīng)該指明觸發(fā)該事件的動(dòng)作對(duì)象 系統(tǒng) 用戶或其他事物 接受事件的目標(biāo)對(duì)象以及該事件的參數(shù) 編寫步驟 編寫正常情況的腳本 考慮特殊情況 例如輸入或輸出的數(shù)據(jù)為最大值 或最小值 考慮出錯(cuò)情況 例如 輸入的值為非法值或響應(yīng)失敗 10 4 1編寫腳本 ATM系統(tǒng)正常和異常腳本 交互行為可以分為應(yīng)用邏輯和用戶界面兩部分 不同界面 例如 命令行或圖形用戶界面 可以實(shí)現(xiàn)同樣的應(yīng)用邏輯 應(yīng)用邏輯是內(nèi)在的 本質(zhì)的內(nèi)容 用戶界面是外在的表現(xiàn)形式 動(dòng)態(tài)模型著重表示應(yīng)用系統(tǒng)的控制邏輯 分析階段不能忽略用戶界面 應(yīng)確定界面的輪廓 可以考慮其他方式 如語音 目的是確保能夠完成全部必要的信息交換 10 4 2設(shè)想用戶界面 事件跟蹤圖有助于畫狀態(tài)圖 它把事件序列以及事件與對(duì)象的關(guān)系 形象 清晰地表示出來 事件跟蹤圖實(shí)質(zhì)上是擴(kuò)充的腳本 是簡(jiǎn)化的UML順序圖 在事件跟蹤圖中 一條豎線代表一個(gè)對(duì)象 每個(gè)事件用一條水平的箭頭線表示 箭頭方向從事件的發(fā)送對(duì)象指向接受對(duì)象 時(shí)間從上向下遞增 下圖是ATM系統(tǒng)正常情況下的事件跟蹤圖 10 4 3畫事件跟蹤圖 如何確定事件通過分析腳本 可從中提取出所有外部事件 事件包括系統(tǒng)與用戶交互的所有信號(hào) 輸入 輸出 中斷 動(dòng)作等等 例如 儲(chǔ)戶插入現(xiàn)金兌換卡 不能遺漏了異常事件和出錯(cuò) 某些事件可以按類組合在一起 例如 吐出現(xiàn)金 是一個(gè)事件類 吐出的具體的現(xiàn)金數(shù)額用參數(shù) 屬性值表達(dá) 區(qū)分出每類事件的發(fā)送對(duì)象和接受對(duì)象 ATM系統(tǒng)正常情況下的事件跟蹤圖 時(shí)間 對(duì)象 事件 消息 順序圖 SequenceDiagram 順序圖也稱為序列圖 它按時(shí)間順序顯示對(duì)象之間的交互 一張狀態(tài)圖描繪一類對(duì)象的行為 它確定了由事件序列引出的狀態(tài)序列 從一張事件跟蹤圖出發(fā)畫狀態(tài)圖時(shí) 僅考慮影響對(duì)象的一類事件 兩個(gè)事件之間的間隔就是一個(gè)狀態(tài) 也可能不變 從豎線射出的箭頭線 常是對(duì)象達(dá)到某個(gè)狀態(tài)時(shí)所做的行為 也常是引起另一類對(duì)象狀態(tài)轉(zhuǎn)換的事件 要把從不同腳本或事件跟蹤圖得到的同一類的狀態(tài)圖合并 10 4 4畫狀態(tài)圖 考慮完正常事件之后再考慮邊界情況和特殊情況 如 用戶要求取消該當(dāng)前事務(wù) 超時(shí) 停電 機(jī) 不能省略對(duì)用戶出錯(cuò)情況的處理 一張覆蓋了腳本中某類對(duì)象的全部事件的狀態(tài)圖仍可能會(huì)一些遺漏的情況 設(shè)想各種可能出現(xiàn)的情況 多問幾個(gè) 如果 則 的問題是一種測(cè)試完整性的方法 盡量給每個(gè)狀態(tài)取個(gè)有意義的名字 10 4 4畫狀態(tài)圖 以ATM系統(tǒng)為例 ATM 柜員終端 總行 和 分行 都是主動(dòng)對(duì)象 它們相互發(fā)送事件 現(xiàn)金兌換卡 事務(wù) 和 賬戶 是被動(dòng)對(duì)象 并不發(fā)送事件 儲(chǔ)戶 和 柜員 雖然也是動(dòng)作對(duì)象 但是 它們都是系統(tǒng)外部的因素 無須在系統(tǒng)內(nèi)實(shí)現(xiàn)它們 ATM的狀態(tài)圖 圖10 10總行類的狀態(tài)圖 各個(gè)類的狀態(tài)圖通過共享事件聯(lián)系 合并 起來 構(gòu)成了系統(tǒng)的動(dòng)態(tài)模型 應(yīng)該檢查系統(tǒng)級(jí)的完整性和一致性 對(duì)于沒有前驅(qū)或沒有后繼的狀態(tài)應(yīng)該著重審查 如果這個(gè)狀態(tài)既不是交互序列的起點(diǎn)也不是終點(diǎn) 則發(fā)現(xiàn)了一個(gè)錯(cuò)誤 10 4 5審查動(dòng)態(tài)模型 應(yīng)該審查每個(gè)事件 跟蹤它對(duì)系統(tǒng)中各個(gè)對(duì)象所產(chǎn)生的效果 以保證它們與每個(gè)腳本都匹配 例 ATM系統(tǒng)在總行類的狀態(tài)圖中 事件 無效代碼 是由總行發(fā)出的 但是在ATM類的狀態(tài)圖中并沒有一個(gè)狀態(tài)接受這個(gè)事件 因此 在ATM類的狀態(tài)圖中應(yīng)該再補(bǔ)充一個(gè)狀態(tài) do 顯示分行代碼錯(cuò)信息 它接受由前驅(qū)狀態(tài) do 驗(yàn)證賬戶 發(fā)出的事件 無效代碼 它的后續(xù)狀態(tài)是 退卡 10 4 5審查動(dòng)態(tài)模型 10 5建立功能模型 功能模型含義功能模型描述的是系統(tǒng)內(nèi)值的變化 以及通過值的變化表現(xiàn)出來的系統(tǒng)功能 映射 約束 功能依賴的條件 內(nèi)容確定輸入值和輸出值畫出數(shù)據(jù)流圖 DFD 以表示功能之間的依賴關(guān)系描述各功能確定約束詳細(xì)說明優(yōu)化標(biāo)準(zhǔn) 功能模型 續(xù) 基本概念和圖形表示處理數(shù)據(jù)流數(shù)據(jù)流的克隆vs 數(shù)據(jù)流的分離數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)是被動(dòng)對(duì)象數(shù)據(jù)存儲(chǔ)不產(chǎn)生操作動(dòng)作者動(dòng)作者是主動(dòng)對(duì)象動(dòng)作者位于數(shù)據(jù)流的源點(diǎn)或終點(diǎn) 即終止符 動(dòng)作者產(chǎn)生的操作不包括在DFD中而應(yīng)屬于動(dòng)態(tài)模型 10 5建立功能模型 功能模型 續(xù) 功能模型 對(duì)象模型 動(dòng)態(tài)模型等之間的關(guān)系就功能模型而言 對(duì)象模型表示了功能模型中的動(dòng)作者 數(shù)據(jù)流 數(shù)據(jù)存儲(chǔ)的結(jié)構(gòu) 動(dòng)態(tài)模型則表示了功能模型中處理的執(zhí)行次序 就對(duì)象模型而言 功能模型表示了類上的操作和每個(gè)操作的變量 因而也表示了類之間的客戶 服務(wù)器關(guān)系 動(dòng)態(tài)模型則表示了每個(gè)對(duì)象的狀態(tài)和當(dāng)對(duì)象接收事件時(shí) 當(dāng)對(duì)象改變狀態(tài)時(shí)所執(zhí)行的操作 就動(dòng)態(tài)模型而言 功能模型表示了動(dòng)態(tài)模型中未定義的動(dòng)作和活動(dòng)的定義 對(duì)象模型則表示了是什么改變了狀態(tài) 是什么接收了操作 在確定類中應(yīng)有的服務(wù)時(shí) 既要考慮該類實(shí)體的常規(guī)行為 又要考慮在本系統(tǒng)中特殊需要的服務(wù) 1 常規(guī)行為在分析階段可以認(rèn)為 類中定義的每個(gè)屬性都是可以訪問的 也就是說 假設(shè)在每個(gè)類中都定義了讀 寫該類每個(gè)屬性的操作 但是 通常無需在類圖中顯式表示這些常規(guī)操作 10 6定義服務(wù) 2 從事件導(dǎo)出的操作狀態(tài)圖中對(duì)象接收消息 因此該對(duì)象必須有由消息選擇符指定的操作 它啟動(dòng)相應(yīng)的服務(wù) 在ATM系統(tǒng)中 事件 處理分行事務(wù) 啟動(dòng)分行對(duì)象的服務(wù) 更新賬戶 所啟動(dòng)的服務(wù)常是接受事件的對(duì)象在相應(yīng)狀態(tài)的行為 3 與數(shù)據(jù)流圖中處理框?qū)?yīng)的操作數(shù)據(jù)流圖中的每個(gè)處理框都與一個(gè)對(duì)象 也可能是若干個(gè)對(duì)象 上的操作相對(duì)應(yīng) 對(duì)照狀態(tài)圖和數(shù)據(jù)流圖 以便確定對(duì)象應(yīng)該提供的服務(wù) 在ATM系統(tǒng)中 從狀態(tài)圖上看出分行對(duì)象應(yīng)該提供 驗(yàn)證卡號(hào) 服務(wù) 而在數(shù)據(jù)流圖上與之對(duì)應(yīng)的處理框是 驗(yàn)卡 根據(jù)實(shí)際應(yīng)該完成的功能看 該對(duì)象提供的這個(gè)服務(wù)應(yīng)該是 驗(yàn)卡 4 利用繼承減少冗余操作應(yīng)該盡量利用繼承機(jī)制以減少所需定義的服務(wù)數(shù)目 只要不違背領(lǐng)域知識(shí)和常識(shí) 就盡量抽取出相似類的公共屬性和操作 以建立這些類的新父類 并在類等級(jí)的不同層次中正確地定義各個(gè)服務(wù) 例如 ATM和柜員機(jī)提供的相同服務(wù) 取現(xiàn)金 查帳 都可在父類輸入站中定義 面向?qū)ο蠓治鼍褪翘崛∠到y(tǒng)需求并建立問題域精確模型的過程 它包括理解 表達(dá)和驗(yàn)證等3項(xiàng)主要工作內(nèi)容 面向?qū)ο蠓治龅年P(guān)鍵工作 是分析 確定問題域中的對(duì)象及對(duì)象間的關(guān)系 并建立起問題域的對(duì)象模型 大型 復(fù)雜系統(tǒng)的對(duì)象模型通常由下述5個(gè)層次組成 主題層 類與對(duì)象層 結(jié)構(gòu)層 屬性層和服務(wù)層 它們對(duì)應(yīng)著在建立對(duì)象模型的過程中所應(yīng)完成的5項(xiàng)工作 10 7小結(jié) 大多數(shù)分析模型都不是一次完成的 分析工作不可能嚴(yán)格地按照預(yù)定順序進(jìn)行 分析員必須與用戶及領(lǐng)域?qū)<曳磸?fù)交流 多次磋商 及時(shí)糾正錯(cuò)誤認(rèn)識(shí)并補(bǔ)充缺少的信息 最終的模型必須得到用戶和領(lǐng)域?qū)<业拇_認(rèn) 在交流和確認(rèn)的過程中 原型往往能起很大的促進(jìn)作用 分析的目標(biāo)是全面深入地理解問題域 其中不應(yīng)該涉及具體實(shí)現(xiàn)的考慮 分析的目的是用分析模型取代需求陳述 作為設(shè)計(jì)的基礎(chǔ) 在分析與設(shè)計(jì)之間并不存在絕對(duì)的界線 10 7小結(jié)- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 類圖 時(shí)序 狀態(tài)圖 ATM 系統(tǒng)
鏈接地址:http://italysoccerbets.com/p-7740621.html