實(shí)用軟件工程 第7章 軟件建模.ppt_第1頁(yè)
實(shí)用軟件工程 第7章 軟件建模.ppt_第2頁(yè)
實(shí)用軟件工程 第7章 軟件建模.ppt_第3頁(yè)
實(shí)用軟件工程 第7章 軟件建模.ppt_第4頁(yè)
實(shí)用軟件工程 第7章 軟件建模.ppt_第5頁(yè)
已閱讀5頁(yè),還剩127頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

實(shí)用軟件工程 第7章軟件建模 軟件開發(fā)的主要工作是軟件需求和軟件設(shè)計(jì) 軟件需求和軟件設(shè)計(jì)的關(guān)鍵問題是軟件建模 建模的工具很多 最時(shí)尚的是uml提供的九種圖 類圖 對(duì)象圖 用例圖 時(shí)序圖 協(xié)作圖 狀態(tài)圖 活動(dòng)圖 構(gòu)件圖和實(shí)施圖 重點(diǎn)是建立系統(tǒng)的用例圖 時(shí)序圖和類圖 uml不是一種建模方法 而只是一種建模語(yǔ)言或建模工具而已 本章導(dǎo)讀 提出了 業(yè)務(wù)模型 功能模型 數(shù)據(jù)模型 三個(gè)模型的建模思想與建模方法 以及這三個(gè)模型的描述方式與 用例圖 時(shí)序圖和類圖 之間的關(guān)系 論述數(shù)據(jù)庫(kù)設(shè)計(jì)的理論 方法 技巧與藝術(shù) 即數(shù)據(jù)模型的設(shè)計(jì)方法與藝術(shù) 軟件建模 要求了解 1 軟件建模的概念 2 uml的建模思想要求理解 1 uml的支撐環(huán)境rose 2 uml建模思想的優(yōu)缺點(diǎn) 3 三個(gè)模型建模思想的優(yōu)缺點(diǎn)要求掌握 1 業(yè)務(wù)模型的概念及表示方式 2 功能模型的概念及表示方式 3 數(shù)據(jù)模型的概念及表示方式 4 數(shù)據(jù)庫(kù)設(shè)計(jì)的方法 技巧 7 1三個(gè)模型的建模思想7 1 1三個(gè)模型概論 功能模型fm functionmodel 描述系統(tǒng)能做什么 即對(duì)系統(tǒng)的功能 性能 接口和界面進(jìn)行定義 業(yè)務(wù)模型om operationmodel 對(duì)系統(tǒng)的操作流程進(jìn)行定義 怎么做 數(shù)據(jù)模型dm datamodel 對(duì)系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)進(jìn)行定義 數(shù)據(jù)怎么組織 三個(gè)模型概論 續(xù) 數(shù)據(jù)模型 powerdesigner erwin oracledesigner或classdiagram功能模型 功能點(diǎn)列表 usecasediagram業(yè)務(wù)模型 自然語(yǔ)言加上流程圖 sequencediagram 1 建模時(shí)機(jī) 功能模型和業(yè)務(wù)模型 需求分析時(shí)建模 數(shù)據(jù)模型 軟件設(shè)計(jì) 2 三個(gè)模型建模工具 思考 三種模型建模思想是否適合系統(tǒng)軟件建模 問題 1 操作系統(tǒng)的三個(gè)模型是什么 2 編譯系統(tǒng)的三個(gè)模型是什么 3 解釋系統(tǒng)的三個(gè)模型是什么 7 1 2業(yè)務(wù)模型 系統(tǒng)的業(yè)務(wù)流程圖加上相應(yīng)的業(yè)務(wù)規(guī)則 這里的業(yè)務(wù)流程圖 是指企業(yè)在業(yè)務(wù)流程再造bpr businessprocessreengineering 之后形成的操作流程和業(yè)務(wù)規(guī)則 1 業(yè)務(wù)模型 2 業(yè)務(wù)模型的范圍 企業(yè)的組織結(jié)構(gòu) 部門職責(zé)及崗位 或角色 職能 崗位操作流程 崗位業(yè)務(wù)規(guī)則 每個(gè)流程的輸入 響應(yīng) 輸出 3 業(yè)務(wù)模型的描述方法 組織結(jié)構(gòu)圖 崗位 或角色 職能表 業(yè)務(wù)流程圖加上業(yè)務(wù)規(guī)則說明 4 業(yè)務(wù)流程圖 業(yè)務(wù)流程圖也可以用業(yè)務(wù)操作步驟來描述 還可以用類似于程序流程圖的圖形來表達(dá) 在uml中 完整的業(yè)務(wù)模型由用例圖 時(shí)序圖 交互圖 狀態(tài)圖 活動(dòng)圖來表述 但是 時(shí)序圖在表述中起到核心作用 業(yè)務(wù)模型有時(shí)稱為動(dòng)態(tài)模型或操作模型 業(yè)務(wù)模型的作用 既是功能模型設(shè)計(jì)的基礎(chǔ) 又是用戶操作手冊(cè)編寫的依據(jù) 取100元人民幣的時(shí)序圖 取100元人民幣的交互圖 開戶 的活動(dòng)圖 7 1 3功能模型 1 功能模型是什么 系統(tǒng)功能需求列表 用戶角度 系統(tǒng)內(nèi)部功能模塊 功能部件 的有機(jī)排列和組合 設(shè)計(jì)者 系統(tǒng)的用例的集合 rose 用戶操作手冊(cè) 產(chǎn)品 功能菜單 操作菜單 總之 功能模型描述系統(tǒng)能做什么 是系統(tǒng)所有功能的集合 具體表現(xiàn)在系統(tǒng)的功能 性能 接口和界面上 2 功能模型的表示方法 系統(tǒng)功能需求列表性能需求列表接口需求列表界面需求列表uml規(guī)定采用用例圖來描述功能模型 3 功能模型的設(shè)計(jì)實(shí)現(xiàn)方法 將相同的功能歸并 設(shè)計(jì)為構(gòu)件或組件 部件 將不同的功能設(shè)計(jì)成模塊 然后用面向?qū)ο蟮恼Z(yǔ)言將這些離散的部件或模塊組裝起來 形成一個(gè)完整的系統(tǒng) 供最終用戶使用 4 功能模型的特點(diǎn) 功能模型既是動(dòng)態(tài)的 又是靜態(tài)的 因?yàn)橛械墓δ芘c系統(tǒng)運(yùn)行的時(shí)間序列有關(guān) 5 功能模型的作用 功能模型既是數(shù)據(jù)庫(kù)和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ) 又是功能模塊 功能部件 設(shè)計(jì) 編程實(shí)現(xiàn)和測(cè)試驗(yàn)收的依據(jù) 7 1 4數(shù)據(jù)模型 企業(yè)信息系統(tǒng)中的數(shù)據(jù)模型 是指它的e r圖及其相應(yīng)的數(shù)據(jù)字典 這里的數(shù)據(jù)字典 包括實(shí)體字典 屬性字典 關(guān)系字典 1 數(shù)據(jù)模型是什么 數(shù)據(jù)模型分為概念數(shù)據(jù)模型cdm和物理數(shù)據(jù)模型pdm兩個(gè)層次 cdm就是數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì) 即e r圖 pdm就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì) 即物理表 2 數(shù)據(jù)模型的表示方法 系統(tǒng)的概念數(shù)據(jù)模型cdm和物理數(shù)據(jù)模型pdm 加上相應(yīng)的表結(jié)構(gòu) uml規(guī)定 用類圖加上對(duì)象圖來表述數(shù)據(jù)模型 在uml的實(shí)現(xiàn)工具rose2003中 可以建立系統(tǒng)的數(shù)據(jù)模型 3 數(shù)據(jù)模型的特點(diǎn) 數(shù)據(jù)模型本身是靜態(tài)的 但是在設(shè)計(jì)者心目中 應(yīng)該盡量將它由靜態(tài)變成動(dòng)態(tài) 設(shè)計(jì)者可以想象數(shù)據(jù) 或記錄 在相關(guān)表上的流動(dòng)過程 即增加 刪除 修改 傳輸與處理等 圖書銷售系統(tǒng)數(shù)據(jù)庫(kù)cdm 7 2數(shù)據(jù)模型設(shè)計(jì)概論 以不變應(yīng)萬變 就是當(dāng)用戶的功能需求發(fā)生某些變化時(shí) 數(shù)據(jù)庫(kù)設(shè)計(jì)的框架不需要做任何改動(dòng) 就可以適應(yīng)用戶的功能需求 1 什么是好的數(shù)據(jù)模型 1 一是滿足功能需求 2 二是滿足性能需求 3 三是該模型能長(zhǎng)期穩(wěn)定 盡量做到 以不變應(yīng)萬變 數(shù)據(jù)庫(kù)設(shè)計(jì)的難易程度取決于兩個(gè)要素 1 數(shù)據(jù)關(guān)系的復(fù)雜程度 2 數(shù)據(jù)量的大小 2 數(shù)據(jù)庫(kù)設(shè)計(jì)的主要工作 設(shè)計(jì)數(shù)據(jù)庫(kù)的表 表的結(jié)構(gòu)就是數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu) 7 2 1數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)管理系統(tǒng) 管理用戶的數(shù)據(jù)庫(kù)及其在數(shù)據(jù)庫(kù)上的各種操作 以及數(shù)據(jù)庫(kù)對(duì)外的各種接口 1 兩者區(qū)別 數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)管理系統(tǒng)是有區(qū)別的 前者是應(yīng)用軟件 后者是系統(tǒng)軟件 2 數(shù)據(jù)庫(kù)管理系統(tǒng)基本功能 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)rdbms自帶許多編程語(yǔ)句 命令 這些語(yǔ)句可分為三大類 數(shù)據(jù)定義語(yǔ)言ddl 如create alter drop 數(shù)據(jù)操縱語(yǔ)言dml 如select update insert delete 數(shù)據(jù)控制語(yǔ)言dcl 如分支語(yǔ)句 循環(huán)語(yǔ)句 7 2 2數(shù)據(jù)庫(kù)的組成 數(shù)據(jù)庫(kù)是表的集合 表由字段組成 表中存放著記錄 由于記錄的數(shù)據(jù)可以是原始數(shù)據(jù) 信息代碼數(shù)據(jù) 統(tǒng)計(jì)數(shù)據(jù)和臨時(shí)數(shù)據(jù)4種 所以又可將表劃分為基本表 代碼表 中間表和臨時(shí)表4種 1 組成 一個(gè)數(shù)據(jù)庫(kù)由一臺(tái)數(shù)據(jù)庫(kù)服務(wù)器 一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)dbms 一個(gè)數(shù)據(jù)庫(kù)管理員dba 多張表 每張表中有許多條記錄 表上的視圖和索引 許多用戶和角色所組成 2 表的劃分 原始數(shù)據(jù)和信息代碼數(shù)據(jù) 統(tǒng)稱為基礎(chǔ)數(shù)據(jù) 本表和代碼表 統(tǒng)稱為基表 數(shù)據(jù)庫(kù)設(shè)計(jì)主要是指基本表設(shè)計(jì) 包括代碼表 中間表 臨時(shí)表和視圖的設(shè)計(jì) 基本表的設(shè)計(jì)較難 代碼表 中間表 臨時(shí)表和視圖的設(shè)計(jì)較易 3 數(shù)據(jù)庫(kù)的表 1 存放原始數(shù)據(jù)的表 稱為基本表 2 存放信息代碼數(shù)據(jù)的表 稱為代碼表 3 存放統(tǒng)計(jì)數(shù)據(jù)的表 稱為中間表 4 存放臨時(shí)數(shù)據(jù)的表 稱為臨時(shí)表 基本表與中間表 臨時(shí)表不同 有如下4個(gè)特性 1 原子性 基本表中的字段是不可再分解的 2 原始性 基本表中的記錄是原始數(shù)據(jù)的記錄 3 演繹性 由基本表與代碼表中的數(shù)據(jù) 可以派生出所有的輸出數(shù)據(jù) 4 穩(wěn)定性 基本表的結(jié)構(gòu)是相對(duì)穩(wěn)定的 表中的記錄是需要長(zhǎng)期保存的 4 基本表的性質(zhì) 基表和中間表由dba維護(hù) 臨時(shí)表由程序員自己用程序自動(dòng)維護(hù) 5 其他表 代碼表又稱為 數(shù)據(jù)字典 它是存放單位代碼 物資代碼 人員代碼 科目代碼等等信息編碼的表 中間表是存放統(tǒng)計(jì)數(shù)據(jù)的表 它是為數(shù)據(jù)倉(cāng)庫(kù) 輸出報(bào)表或查詢結(jié)果而設(shè)計(jì)的 臨時(shí)表是程序員個(gè)人設(shè)計(jì)的 存放臨時(shí)記錄 為個(gè)人所用 視圖是一種虛表 它依賴數(shù)據(jù)源的實(shí)表而存在 這些實(shí)表是基本表和代碼表 6 數(shù)據(jù)庫(kù)視圖 視圖是供程序員使用數(shù)據(jù)庫(kù)的一個(gè)窗口 是基表數(shù)據(jù)綜合的一種形式 是數(shù)據(jù)處理的一種方法 是用戶數(shù)據(jù)保密的一種手段 7 2 3數(shù)據(jù)庫(kù)設(shè)計(jì)的內(nèi)容與步驟 三項(xiàng)內(nèi)容 十大步驟 數(shù)據(jù)庫(kù)需求分析的步驟 1 收集系統(tǒng)所有的原始單據(jù) 信息源產(chǎn)生的數(shù)據(jù) 和統(tǒng)計(jì)報(bào)表 2 弄清楚兩者之間的關(guān)系 寫明輸出數(shù)據(jù)項(xiàng)中的數(shù)據(jù)來源與算法 3 若原始單據(jù)覆蓋了所有需要的業(yè)務(wù)內(nèi)容 并且能滿足所有統(tǒng)計(jì)報(bào)表的輸出數(shù)據(jù)要求 則需求分析完畢 4 反之繼續(xù)分析 重復(fù)步驟 1 3 1 數(shù)據(jù)庫(kù)需求分析 例7 1 姓名 性別 身高 體重 民族 這一組相關(guān)元數(shù)據(jù)的集合 就組成人這個(gè)實(shí)體 而 張三 男 1 8 90 漢族 就是人這個(gè)實(shí)體的一次表現(xiàn) 它不是一個(gè)實(shí)體 而是一個(gè)實(shí)例 如果將 體重 改為 毛重 則 姓名 性別 身高 毛重 民族 就不是一個(gè)實(shí)體 因?yàn)槿瞬荒苡妹?凈重描述 豬和貨物可以用毛重 凈重描述 概念設(shè)計(jì)的特點(diǎn)是 與具體的數(shù)據(jù)庫(kù)管理系統(tǒng)和網(wǎng)絡(luò)系統(tǒng)無關(guān) 它就是數(shù)據(jù)庫(kù)的邏輯設(shè)計(jì) 2 數(shù)據(jù)庫(kù)概念設(shè)計(jì) 數(shù)據(jù)庫(kù)概念設(shè)計(jì)是指設(shè)計(jì)出數(shù)據(jù)庫(kù)的概念數(shù)據(jù)模型cdm 以及相應(yīng)的數(shù)據(jù)字典 dd 所謂實(shí)體 就是一組相關(guān)元數(shù)據(jù)的集合 所謂實(shí)例 就是實(shí)體的一次表現(xiàn) 數(shù)據(jù)庫(kù)物理設(shè)計(jì)的方法是 1 確定關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)平臺(tái) 即選定具體的rdbms 2 利用數(shù)據(jù)庫(kù)提供的命令和語(yǔ)句 建立表 索引 觸發(fā)器 存儲(chǔ)過程 視圖等 3 列出表與功能模塊之間的關(guān)系矩陣 便于詳細(xì)設(shè)計(jì) 3 數(shù)據(jù)庫(kù)物理設(shè)計(jì) 數(shù)據(jù)庫(kù)物理設(shè)計(jì)是指設(shè)計(jì)出數(shù)據(jù)庫(kù)的物理數(shù)據(jù)模型pdm 包括數(shù)據(jù)庫(kù)服務(wù)器物理空間上的表 字段 索引 視圖 儲(chǔ)存過程 觸發(fā)器 以及相應(yīng)的數(shù)據(jù)字典 數(shù)據(jù)庫(kù)設(shè)計(jì)十大步驟 7 3數(shù)據(jù)庫(kù)設(shè)計(jì)的理論與方法 原始單據(jù)與實(shí)體之間關(guān)系在一般是一對(duì)一的關(guān)系 即一張?jiān)紗螕?jù)對(duì)應(yīng)且只對(duì)應(yīng)一個(gè)實(shí)體 在特殊情況下 它們可能是一對(duì)多或多對(duì)一的關(guān)系 這里的實(shí)體可以理解為基本表 例7 2 在人力資源信息系統(tǒng)中 一份員工履歷對(duì)應(yīng)三個(gè)基本表 員工基本情況表 社會(huì)關(guān)系表 工作簡(jiǎn)歷表 這就是 一張?jiān)紗螕?jù)對(duì)應(yīng)多個(gè)實(shí)體 的典型例子 1 數(shù)據(jù)庫(kù)原始單據(jù)與實(shí)體之間的關(guān)系 實(shí)體在哪兒呢 即如何發(fā)現(xiàn) 找到 抽象出實(shí)體呢 其實(shí) 實(shí)體就蘊(yùn)涵在原始單據(jù)中 主張主鍵原子化 即只用一個(gè)字段做主鍵 其中外鍵必須對(duì)應(yīng)主鍵 2 主鍵與外鍵 一個(gè)實(shí)體不能既無主鍵 pk 又無外鍵 fk 在e r圖中 處于葉子部位的實(shí)體 可以不定義主鍵 因?yàn)樗鼰o子孫 但必須要有外鍵 因?yàn)樗懈赣H pk是供程序員使用的表間連接工具 可以是一個(gè)無物理意義的數(shù)字串 由程序自動(dòng)加1來實(shí)現(xiàn) 也可以是有物理意義的字段名或字段名的組合 不過前者比后者好 第三范式 3nf是對(duì)字段冗余性的約束 即任何字段不能由其他字段派生出來 它要求字段沒有冗余 3 通俗地理解范式理論 第一范式 1nf是對(duì)屬性的原子性約束 要求屬性具有原子性 不可再分解 第二范式 2nf是對(duì)記錄的惟一性約束 要求記錄有惟一標(biāo)識(shí) 即實(shí)體的惟一性 在數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí) 作為惟一性標(biāo)志的主鍵 最好是一個(gè)字段 而不是組合字段 這就是主鍵的原子性 數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范化理論的實(shí)質(zhì) 就是引導(dǎo)并幫助設(shè)計(jì)人員實(shí)現(xiàn) 實(shí)體 屬性 主鍵的原子化 其他更高級(jí)的范式 bcf 4nf 5nf等各級(jí)范式 研究的內(nèi)容是解決實(shí)體本身的原子性問題 只要實(shí)現(xiàn)了屬性 主鍵 實(shí)體三者的原子化 就從根本上符合了各級(jí)范式的要求了 這就是范式理論的實(shí)質(zhì) 降低范式就是增加字段 允許冗余 常稱 降低范式的過程 為 反規(guī)范化設(shè)計(jì)過程 沒有冗余的數(shù)據(jù)庫(kù)設(shè)計(jì) 為了提高運(yùn)行效率 必須降低范式標(biāo)準(zhǔn) 適當(dāng)保留冗余數(shù)據(jù) 這就是用空間換時(shí)間 具體做法是 在概念數(shù)據(jù)模型設(shè)計(jì)時(shí)遵守第三范式 降低范式標(biāo)準(zhǔn)的工作放到物理數(shù)據(jù)模型設(shè)計(jì)時(shí)考慮 低級(jí)冗余和高級(jí)冗余 主鍵與外鍵在多表中的重復(fù)出現(xiàn) 不屬于數(shù)據(jù)冗余 非鍵字段的重復(fù)出現(xiàn) 才是數(shù)據(jù)冗余 而且是一種低級(jí)冗余 即重復(fù)性的冗余 高級(jí)冗余不是字段的重復(fù)出現(xiàn) 而是字段的派生出現(xiàn) 低級(jí)冗余會(huì)導(dǎo)致數(shù)據(jù)的不一致 例7 3 有一張存放商品的基本表 如p163表7 3所示 金額 這個(gè)字段的存在 表明該表的設(shè)計(jì)不滿足第三范式 因?yàn)?金額 可以由 單價(jià) 乘以 數(shù)量 得到 說明 金額 是冗余字段 但是 增加 金額 這個(gè)冗余字段 可以提高查詢統(tǒng)計(jì)的速度 這就是以空間換時(shí)間的做法 在rose2002中 規(guī)定列有兩種類型 數(shù)據(jù)列和計(jì)算列 金額 這樣的列被稱為 計(jì)算列 而 單價(jià) 和 數(shù)量 這樣的列被稱為 數(shù)據(jù)列 4 數(shù)據(jù)庫(kù)設(shè)計(jì)中的兩大竅門 竅門之二 要建立穩(wěn)定的數(shù)據(jù)模型 就要掌握 以不變應(yīng)萬變 的設(shè)計(jì)技巧 這個(gè)技巧就是 列變行 站在it企業(yè)的數(shù)據(jù)庫(kù)開發(fā)上講 數(shù)據(jù)庫(kù)設(shè)計(jì)的核心竅門只有兩個(gè) 竅門之一 如果兩個(gè)實(shí)體 或多個(gè)實(shí)體 之間的關(guān)系非常復(fù)雜 那么它們之間就可能存在多對(duì)多的關(guān)系 對(duì)于這種情況 我們不但要善于認(rèn)別它 而且要正確處理它 增加第三者 增加第三者的實(shí)質(zhì) 是解決關(guān)系的原子化問題 在現(xiàn)實(shí)生活中 到處存在多對(duì)多的關(guān)系 例如 老師與課程 學(xué)生與課程 讀者與圖書 旅客與客房 司機(jī)與車輛 船舶與貨物 飛機(jī)與機(jī)場(chǎng) 運(yùn)動(dòng)員與項(xiàng)目等 增加第三者 尋找 笛卡爾積的子集 的竅門 就是 要善于認(rèn)別與正確處理實(shí)體之間的多對(duì)多關(guān)系 兩者之間增加第三個(gè)實(shí)體 這樣 原來一個(gè)多對(duì)多的關(guān)系 現(xiàn)在變?yōu)閮蓚€(gè)一對(duì)多的關(guān)系 剩下的問題是 要將原來兩個(gè)實(shí)體的共同屬性分配到第三個(gè)實(shí)體中去 還要將原來兩個(gè)實(shí)體的主鍵當(dāng)作第三個(gè)實(shí)體的外鍵 這里的第三個(gè)實(shí)體 就是 笛卡爾積的子集 它是一個(gè)實(shí)體 對(duì)應(yīng)一張基本表 多對(duì)多關(guān)系 多對(duì)多關(guān)系 具體做法 請(qǐng)看p165 例7 7 學(xué)生成績(jī)單的管理 就是一個(gè) 列變行 的例子 列變行 所謂 列變行 就是將第一個(gè)表中的某些列 變?yōu)榈诙€(gè)表中的某些行 將原來設(shè)計(jì)不科學(xué)的一個(gè)表 變?yōu)楝F(xiàn)在設(shè)計(jì)很科學(xué)的兩個(gè)表 其中一個(gè)為主表或父表 另一個(gè)為從表或子表 又稱明細(xì)表 通過主鍵與外鍵 兩個(gè)表進(jìn)行連接 共同完成相關(guān)的操作 1 列變行 之前的表結(jié)構(gòu) 2 列變行 之后的表結(jié)構(gòu) 列變行之后的輸出方案 建立 學(xué)生成績(jī)表 視圖 createview學(xué)生成績(jī)表asselect學(xué)生表 學(xué)號(hào) 姓名 課程名稱 成績(jī)from學(xué)生表 成績(jī)表where學(xué)生表 學(xué)號(hào) 成績(jī)表 學(xué)號(hào) 列變行 的實(shí)質(zhì) 列變行 的實(shí)質(zhì)是解決實(shí)體的原子性問題 在現(xiàn)實(shí)生活中 到處存在需要 列變行 的例子 因?yàn)榈教幱兄鞅砼c明細(xì)表的關(guān)系 例如 部門與員工 員工基本情況與個(gè)人簡(jiǎn)歷 月基本工資與月補(bǔ)貼 訂單頭與訂單體等等 列變行 之后的表結(jié)構(gòu)設(shè)計(jì)中的優(yōu)點(diǎn) 就是 實(shí)事求是 第一 在四年級(jí)之前 他們沒有學(xué)完三十門課程 這種設(shè)計(jì)也不會(huì)浪費(fèi)一點(diǎn)存儲(chǔ)空間 第二 到四年級(jí)時(shí) 即使個(gè)別學(xué)生修了兩個(gè)學(xué)位 共計(jì)有三十多門課程 這種設(shè)計(jì)也不需要改動(dòng)表結(jié)構(gòu) 達(dá)到了 以不變應(yīng)萬變 的目的 5 西瓜理論和西瓜方法 定義7 5 所謂西瓜方法 就是在數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí) 如果將屬性比作芝麻 將主要實(shí)體比作大西瓜 將次要實(shí)體比作小西瓜 那么在用case工具設(shè)計(jì)e r圖時(shí) 應(yīng)先畫出大西瓜 后畫出小西瓜 用西瓜統(tǒng)帥芝麻 用大西瓜統(tǒng)帥小西瓜 定義7 4 所謂西瓜理論 就是在數(shù)據(jù)庫(kù)分析時(shí) 如果將屬性比作芝麻 將主要實(shí)體比作大西瓜 將次要實(shí)體比作小西瓜 那么芝麻必須圍繞西瓜轉(zhuǎn) 小西瓜必須圍繞大西瓜轉(zhuǎn) 西瓜理論和西瓜方法 排除了 屬性主導(dǎo)型 方法 主張 實(shí)體主導(dǎo)型 方法 實(shí)體主導(dǎo)型 方法只是提出了 以實(shí)體統(tǒng)帥屬性 的思想 在數(shù)據(jù)庫(kù)分析與設(shè)計(jì)時(shí) 首先要抓住實(shí)體 從實(shí)體出發(fā)去尋找 發(fā)現(xiàn) 確定屬性 而不要采取本末倒置的 屬性主導(dǎo)型 方法 即從屬性出發(fā) 通過屬性的分解與歸約 來尋找 發(fā)現(xiàn) 確定實(shí)體 1 在數(shù)據(jù)庫(kù)需求分析和設(shè)計(jì)時(shí) 一方面要以實(shí)體去統(tǒng)帥屬性 另一方面要以主要實(shí)體去統(tǒng)帥次要實(shí)體 2 不但要使屬性圍繞實(shí)體轉(zhuǎn) 而且要使次要實(shí)體圍繞主要實(shí)體轉(zhuǎn) 3 在任何信息系統(tǒng)的全局e r圖中 其主要實(shí)體的數(shù)目都是有限的 數(shù)據(jù)庫(kù)分析與設(shè)計(jì)的任務(wù) 就是善于發(fā)現(xiàn) 捕獲主要實(shí)體 并用主要實(shí)體去組織 規(guī)劃 設(shè)計(jì)全局e r圖 西瓜理論和西瓜方法 除了繼承 實(shí)體主導(dǎo)型 方法的特點(diǎn)之外 還更進(jìn)一步地提出 畫e r圖的步驟 在西瓜理論和西瓜方法的指導(dǎo)下 利用case工具畫e r圖的步驟是 1 先畫主要實(shí)體 抓大西瓜 用大西瓜來統(tǒng)帥中小西瓜 2 再畫次要實(shí)體 抓中西瓜 使中西瓜圍繞大西瓜轉(zhuǎn) 3 后畫代碼實(shí)體 抓小西瓜 使小西瓜圍繞中西瓜轉(zhuǎn) 4 最后分配或補(bǔ)充實(shí)體的屬性 撿芝麻 5 畫關(guān)系 調(diào)整e r圖的部署 檢查數(shù)據(jù)庫(kù)設(shè)計(jì)是否實(shí)現(xiàn)了四化 屬性 實(shí)體 主鍵 關(guān)系的原子化 6 完整性約束表現(xiàn)在三個(gè)方面 3 用戶定義完整性 它是用戶單位規(guī)定的一些業(yè)務(wù)規(guī)則 這些業(yè)務(wù)規(guī)則有時(shí)用存儲(chǔ)過程實(shí)現(xiàn) 有時(shí)用觸發(fā)器來實(shí)現(xiàn) 有時(shí)用定義域 對(duì)字段的取值范圍進(jìn)行定義 來實(shí)現(xiàn) 業(yè)務(wù)規(guī)則反映用戶單位的業(yè)務(wù)邏輯 必須在數(shù)據(jù)庫(kù)需求分析時(shí)徹底搞清 1 實(shí)體完整性 每個(gè)實(shí)體必須有唯一性標(biāo)志 這個(gè)唯一性標(biāo)志是用實(shí)體的主鍵 pk 來實(shí)現(xiàn) 2 參照完整性 就是由主表到從表的方向是參照關(guān)系 由從表到主表的方向是依賴關(guān)系 參照和依賴關(guān)系 是通過主鍵 pk 外鍵 fk 和觸發(fā)器來加以實(shí)現(xiàn) 關(guān)系數(shù)據(jù)庫(kù)的本質(zhì) 就是分析 研究 處理主表與從表的關(guān)系 即主鍵與外鍵的關(guān)系 7 防止數(shù)據(jù)庫(kù)設(shè)計(jì)打補(bǔ)丁的方法是 三少原則 3 一個(gè)表中的字段個(gè)數(shù)越少越好 只有字段的個(gè)數(shù)少 才能說明系統(tǒng)中不存在數(shù)據(jù)重復(fù) 且很少有數(shù)據(jù)冗余 學(xué)會(huì) 列變行 這樣就防止了將子表中的字段拉入到主表中去 在主表中留下許多空余的字段 1 一個(gè)數(shù)據(jù)庫(kù)中表的個(gè)數(shù)越少越好 只有表的個(gè)數(shù)少了 才能說明系統(tǒng)的e r圖少而精 去掉了重復(fù)的 多余的實(shí)體 形成了對(duì)客觀世界的高度抽象 2 一個(gè)表中組合主鍵的字段個(gè)數(shù)越少越好 最好是用一個(gè)字段做主鍵 即主鍵原子化 因?yàn)橹麈I的作用 一是建立主鍵索引 二是作為從表的外鍵 所以組合主鍵的字段個(gè)數(shù)少了 不僅節(jié)省了運(yùn)行時(shí)間 而且節(jié)省了索引存儲(chǔ)空間 7 4信息系統(tǒng)建模實(shí)例分析省級(jí)新華書店信息系統(tǒng)建模案例 以上面三個(gè)主要實(shí)體為中心 并將所有的次要實(shí)體統(tǒng)帥起來 使所有的次要實(shí)體都以這三個(gè)實(shí)體為中心 形成一個(gè)完整的新華書店信息系統(tǒng)數(shù)據(jù)模型 1 數(shù)據(jù)模型分析 從全局實(shí)體關(guān)系圖中 cdm有以下3個(gè)主要實(shí)體 1 圖書 它存放了新華書店歷年來發(fā)行的全部圖書信息 2 倉(cāng)庫(kù)圖書 它存放了儲(chǔ)運(yùn)中心倉(cāng)庫(kù)現(xiàn)有的全部圖書信息 3 門市圖書 它存放了書城或連鎖書店各自現(xiàn)有的全部圖書信息 數(shù)據(jù)模型分析 續(xù) 每個(gè)實(shí)體的名稱 主鍵 屬性在cdm圖上顯示得很清楚 根據(jù)概念數(shù)據(jù)模型cdm 利用powerdesignerdataarchitect工具 就可自動(dòng)生成物理數(shù)據(jù)模型pdm 在省級(jí)新華書店信息系統(tǒng)的概念數(shù)據(jù)模型cdm中 與 圖書 直接關(guān)聯(lián)的實(shí)體有 出版社 倉(cāng)庫(kù)圖書 書城入庫(kù) 訂購(gòu)單體 書城訂單 圖書警戒線 與 倉(cāng)庫(kù)圖書 直接關(guān)聯(lián)的實(shí)體有 現(xiàn)貨批銷 付退貨 圖書報(bào)廢 入庫(kù)單 倉(cāng)庫(kù)貨位 市外調(diào)撥 內(nèi)部遷移 內(nèi)退入庫(kù) 市內(nèi)配送 圖書 與 門市圖書 直接關(guān)聯(lián)的實(shí)體有 市內(nèi)配送 內(nèi)退入庫(kù) 銷售記錄 書店 書城入庫(kù) 2 功能模型分析 1 輸入內(nèi)容 是用戶對(duì)信息系統(tǒng)的錄入 2 輸出內(nèi)容 是信息系統(tǒng)對(duì)外的顯示或打印 3 系統(tǒng)響應(yīng) 是系統(tǒng)對(duì)用戶操作的處理過程 省級(jí)新華書店信息系統(tǒng)的功能模型具有16項(xiàng)功能 用 功能點(diǎn)列表 的方式來描述和分析 現(xiàn)將分析結(jié)果列在表7 7之中 3 業(yè)務(wù)模型分析 步驟1 制作訂購(gòu)單操作流程 步驟2 制作訂單操作流程 步驟3 圖書期貨入庫(kù)操作流程 步驟4 圖書配送操作流程 步驟5 圖書銷售操作流程 步驟6 圖書退貨操作流程 步驟7 圖書調(diào)撥操作流程 步驟8 圖書現(xiàn)貨批銷操作流程 步驟9 查詢統(tǒng)計(jì) 步驟10 制作記賬憑證 業(yè)務(wù)模型屬于動(dòng)態(tài)模型 本實(shí)例分析中用 業(yè)務(wù)操作步驟 來描述 省級(jí)新華書店信息系統(tǒng)的業(yè)務(wù)模型由下列10大步驟組成 4 分析結(jié)論 在此基礎(chǔ)上 再對(duì)新華書店信息系統(tǒng)進(jìn)行概要設(shè)計(jì)和詳細(xì)設(shè)計(jì) 當(dāng)詳細(xì)設(shè)計(jì)評(píng)審?fù)ㄟ^ 不符合項(xiàng)為零 后 再利用powerbuilder delphi c 等語(yǔ)言進(jìn)行實(shí)現(xiàn) 加上面向功能的測(cè)試和面向過程的管理 系統(tǒng)按計(jì)劃 進(jìn)度 成本 質(zhì)量 實(shí)現(xiàn) 對(duì)上述 三個(gè)模型 研究分析之后 完成了需求分析的主要工作量及概要設(shè)計(jì)中的主要內(nèi)容 數(shù)據(jù)庫(kù)設(shè)計(jì) 7 5三個(gè)模型建模思想總結(jié) 2 符合客觀事物的發(fā)展規(guī)律 做什么 系統(tǒng) 功能模型 的任務(wù) 怎么做 系統(tǒng) 業(yè)務(wù)模型 的任務(wù) 在什么地方做 做事的原材料在什么地方 做完后的產(chǎn)品放到什么地方 這就是系統(tǒng) 數(shù)據(jù)模型 的任務(wù) 1 三個(gè)模型建模思想的優(yōu)點(diǎn) 1 符合中國(guó)人的心理 系統(tǒng)有什么功能 對(duì)應(yīng)系統(tǒng)的 功能模型 系統(tǒng)怎么操作 對(duì)應(yīng)系統(tǒng)的 業(yè)務(wù)模型 系統(tǒng)的數(shù)據(jù)怎樣組織 對(duì)應(yīng)系統(tǒng)的 數(shù)據(jù)模型 4 符合 簡(jiǎn)單 方便 直觀 的原則 功能模型 看得見 菜單 界面 報(bào)表 業(yè)務(wù)模型 摸得著 操作說明書 業(yè)務(wù)流程圖 業(yè)務(wù)規(guī)則 數(shù)據(jù)模型 聽得懂 實(shí)體 屬性 關(guān)系 表 字段 記錄 數(shù)據(jù)字典 原始數(shù)據(jù) 統(tǒng)計(jì)數(shù)據(jù) 臨時(shí)數(shù)據(jù) 3 符合將復(fù)雜問題簡(jiǎn)單化的哲學(xué)思想 項(xiàng)目經(jīng)理主要負(fù)責(zé) 三抓 抓系統(tǒng)的 功能模型 抓系統(tǒng)的 業(yè)務(wù)模型 抓系統(tǒng)的 數(shù)據(jù)模型 6 三個(gè)模型的建模思想既適合應(yīng)用軟件建模 又適合系統(tǒng)軟件建模 5 符合節(jié)省成本降低費(fèi)用的經(jīng)濟(jì)效益目標(biāo) 中國(guó)軟件的開發(fā)方法與文檔標(biāo)準(zhǔn) 不應(yīng)該完全與發(fā)達(dá)國(guó)家相同 而結(jié)合中國(guó)的國(guó)情來做 3 只能覆蓋需求分析和設(shè)計(jì)兩個(gè)階段 不能覆蓋整個(gè)軟件生存周期 業(yè)務(wù)模型和功能模型主要適合在軟件需求階段建模 數(shù)據(jù)模型主要適合在軟件設(shè)計(jì)階段建模 2 三個(gè)模型建模思想的缺點(diǎn) 1 功能模型表述不規(guī)范 目前 功能模型還只能用 功能點(diǎn)列表 性能點(diǎn)列表 接口列表 這三個(gè)列表來表示 或者用uml的用例圖和用況規(guī)約來描述 其他還沒有找到更好的方法 2 業(yè)務(wù)模型表述不規(guī)范 目前 業(yè)務(wù)模型還只能從 業(yè)務(wù)操作步驟 業(yè)務(wù)流程圖 用戶操作手冊(cè) 這三個(gè)方面來表示 在uml中 完整的業(yè)務(wù)模型由用例圖 時(shí)序圖 交互圖 狀態(tài)圖 活動(dòng)圖來表述 其他還沒有找到更好的辦法 2 數(shù)據(jù)模型能否可以用類圖來創(chuàng)建呢 不可以 uml中新增加了數(shù)據(jù)模型的語(yǔ)法 其實(shí)現(xiàn)工具rose2003支持這一功能 在rose2003的邏輯視圖中 可以創(chuàng)建表以及表中的字段 約束 主鍵 外鍵 關(guān)系 索引 觸發(fā)器和存儲(chǔ)過程 這樣 就將rose的建模方式與三個(gè)模型的建模思想結(jié)合在一起 3 值得思考的問題 1 業(yè)務(wù)模型和功能模型描述方法的改進(jìn)和提高 是三個(gè)模型建模思想的發(fā)展方向 uml只是一種建模語(yǔ)言 不是一種方法論 它獨(dú)立于過程 不包括過程中的方法與步驟 方法論與語(yǔ)言工具是不同的 三個(gè)模型的建模思想屬于方法論 uml屬語(yǔ)言工具 4 三個(gè)模型 的思想 加上 五個(gè)面向 的實(shí)施理論 就構(gòu)成了一個(gè)完整的方法論 該方法論不僅適合信息系統(tǒng)建設(shè) 而且也適合其他應(yīng)用軟件和系統(tǒng)軟件的建設(shè) 3 三個(gè)模型應(yīng)以數(shù)據(jù)模型為中心 以業(yè)務(wù)模型和功能模型為兩個(gè)基本點(diǎn) 尤其是在企業(yè)信息系統(tǒng)的分析 設(shè)計(jì)和實(shí)現(xiàn)中 因?yàn)殛P(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)rdbms仍然是其支撐平臺(tái) 所以應(yīng)該這樣去理解三個(gè)模型的建模思想 7 6uml的建模思想7 6 1uml對(duì)軟件工程的重大影響 uml不是一種建模思想 只是一種建模語(yǔ)言或工具 uml和rose的組合已構(gòu)成了一種新的軟件建模思想和開發(fā)方式 勢(shì)必會(huì)對(duì)軟件工程的發(fā)展與創(chuàng)新產(chǎn)生重大影響 這種影響將主要表現(xiàn)在如下四個(gè)方面 uml是rationalrose的理論基礎(chǔ) rationalrose是uml的建模實(shí)現(xiàn)途徑 即rose是uml的實(shí)現(xiàn)工具 uml對(duì)軟件工程的重大影響 1 軟件生存周期 uml用統(tǒng)一的軟件開發(fā)生存周期rup來替代原有的軟件生存周期 2 軟件建模方式 uml用可視化的語(yǔ)言實(shí)現(xiàn)軟件整個(gè)生存周期各個(gè)階段的建模 3 軟件文檔規(guī)范 正向工程和逆向工程的文檔全部由uml建模工具自動(dòng)產(chǎn)生 4 軟件人員分工 uml使得分析 設(shè)計(jì) 實(shí)現(xiàn) 維護(hù)的崗位界線逐漸趨向模糊 7 6 2uml的概念模型 1 面向?qū)ο蟮幕?構(gòu)造塊 積木塊 2 支配這些構(gòu)造塊放在一起建模的 規(guī)則 建模的粘合劑 3 運(yùn)用于整個(gè)uml的 公共機(jī)制 模型的圖紙說明 使用uml的關(guān)鍵是用它來簡(jiǎn)明 準(zhǔn)確地建立模型 為了理解uml的建模元素 關(guān)鍵是要學(xué)習(xí)它的三個(gè)要素 第1種構(gòu)造塊 事物 事物是構(gòu)造塊 uml中有4種事物 它們分別是結(jié)構(gòu)事物 行為事物 分組事物和注釋事物 1 結(jié)構(gòu)事物 structuralthing 它是uml模型中的靜態(tài)元素 包括類 接口 協(xié)作 用況 主動(dòng)類 構(gòu)件和節(jié)點(diǎn)7種元素 1 uml的 構(gòu)造塊 uml中有3種基本構(gòu)造塊 分別是 事物 關(guān)系 和 圖 它們是uml建模中的積木元素或積木組合體 4 注釋事物 annotationalthing 它是uml模型的解釋元素 主要是注解 note 用一個(gè)包含注解內(nèi)容的右上角為折角的矩形表示 2 行為事物 behavioralthing 它是uml模型中的動(dòng)態(tài)元素 包括交互和狀態(tài)機(jī)2種元素 3 分組事物 groupingthing 它是uml模型的組織元素 主要是包 package 用一個(gè)包含名稱的左上角帶有一個(gè)小矩形的大矩形表示 uml事物 結(jié)構(gòu)事物 class 類 interface 接口 描述了一個(gè)類或構(gòu)件的服務(wù) 操作 集 collaboration 協(xié)作 合作完成某個(gè)特定任務(wù)的一組類及其關(guān)聯(lián)的集合 用于對(duì)usecase的實(shí)現(xiàn)建模 usecase 用例 表示系統(tǒng)想要實(shí)現(xiàn)的行為 不關(guān)心這些行為是怎樣實(shí)現(xiàn)的 activeclass 主動(dòng)類 與一般類相同 但它至少擁有一個(gè)進(jìn)程或線程 故能夠啟動(dòng)控制活動(dòng) component 構(gòu)件 系統(tǒng)中物理的 可替代的部件 node 節(jié)點(diǎn) 系統(tǒng)在運(yùn)行時(shí)存在的物理元素 uml事物 行為事物 interaction 交互 由在特定環(huán)境中共同完成一定任務(wù)的一組對(duì)象之間交換的消息組成 statemachine 狀態(tài)機(jī) 描述了一個(gè)對(duì)象或一個(gè)交互在生存期內(nèi)響應(yīng)事件所經(jīng)歷的狀態(tài)序列 uml事物 分組事物 package 包 uml事物 注釋事物 note 注釋 依附于一個(gè)元素或一組元素之上 對(duì)其進(jìn)行約束或解釋的簡(jiǎn)單符號(hào) 關(guān)系也是構(gòu)造塊 uml中有5種關(guān)系 利用這些關(guān)系可以設(shè)計(jì)出結(jié)構(gòu)良好的模型 1 依賴 dependency 2 關(guān)聯(lián) association 3 泛化 generalization 4 實(shí)現(xiàn) realization 第2種構(gòu)造塊 關(guān)系 umlrelationships 關(guān)系 dependency 依賴 兩個(gè)事物之間的語(yǔ)義關(guān)系 其中一個(gè)事物發(fā)生變化會(huì)影響另一個(gè)事物的語(yǔ)義 association 關(guān)聯(lián) 一種描述一組對(duì)象之間連接的結(jié)構(gòu)關(guān)系 聚合是一種特殊類型的關(guān)聯(lián) 描述了整體和部分間的結(jié)構(gòu)關(guān)系 generalization 泛化 一種一般化 特殊化的關(guān)系 realization 實(shí)現(xiàn) 類之間的語(yǔ)義關(guān)系 其中的一個(gè)類元指定了由另一個(gè)類保證執(zhí)行的契約 兩種情況出現(xiàn)實(shí)現(xiàn)關(guān)系 1 在接口和實(shí)現(xiàn)它們的類或構(gòu)件之間 2 在用例和它們的協(xié)作之間 1 類圖 classdiagram 2 對(duì)象圖 objectdiagram 3 用況圖 usecasediagram 4 順序圖 sequencediagram 5 協(xié)作圖 collaborationdiagram 6 狀態(tài)圖 statechartdiagram 7 活動(dòng)圖 activitydiagram 8 構(gòu)件圖 componentdiagram 9 實(shí)施圖 deploymentdiagram 第3種構(gòu)造塊 圖 圖也是構(gòu)造塊 uml中有9種圖 模型中主要的圖形元素 uml模型的圖形 模型 1 用例圖 usecasediagram 用例圖展現(xiàn)了一組用例 參與者以及它們間的關(guān)系 可以用用例圖描述系統(tǒng)的靜態(tài)使用情況 它定義了系統(tǒng)的功能需求 但這是從系統(tǒng)的外部觀看系統(tǒng)功能 并不描述系統(tǒng)內(nèi)部對(duì)功能的具體實(shí)現(xiàn) 在對(duì)系統(tǒng)行為組織和建模方面 用例圖是相當(dāng)重要的 用例規(guī)格說明 銷售商品 2 類圖 classdiagram 類圖展示了一組類 接口和協(xié)作及它們間的關(guān)系 類圖沒有時(shí)間概念 是概念數(shù)據(jù)模型 如e r圖 的一種延伸 用類圖說明系統(tǒng)的靜態(tài)結(jié)構(gòu)視圖 包含主動(dòng)類的類圖 專注于系統(tǒng)的靜態(tài)處理視圖 系統(tǒng)可有多個(gè)類圖 單個(gè)類圖僅表達(dá)了系統(tǒng)的一個(gè)方面 要在高層給出類的主要職責(zé) 在低層給出類的屬性和操作 類圖是從系統(tǒng)構(gòu)成的角度來描述正在開發(fā)的系統(tǒng) 類的表示 限定關(guān)聯(lián) 聚合 引用和重復(fù)度 關(guān)聯(lián)名 類1 類2 角色1 角色2 關(guān)聯(lián)類 泛化關(guān)系 3 對(duì)象圖 objectdiagram 對(duì)象圖展示了一組對(duì)象及它們間的關(guān)系 用對(duì)象圖說明類圖中類的對(duì)象實(shí)例的數(shù)據(jù)結(jié)構(gòu)和靜態(tài)快照 即在某一時(shí)刻 一組對(duì)象的狀態(tài)及其關(guān)系 對(duì)象圖表達(dá)了系統(tǒng)的靜態(tài)設(shè)計(jì)視圖或靜態(tài)過程視圖 除了現(xiàn)實(shí)和原型的方面的因素外 它與類圖作用是相同的 4 包圖 packagediagram 嚴(yán)格地講 包圖只是表明包及其之間的依賴的類圖 包是對(duì)模型中涉及的元素分組所得的結(jié)果 是具有特定語(yǔ)義的一個(gè)子集 必須保證低耦合 高內(nèi)聚 廣義地講 包可以包含類 接口 構(gòu)件 節(jié)點(diǎn) 協(xié)作 用例等 還可以內(nèi)嵌其他子包 包之間的訪問權(quán)限通過輸出 export 和導(dǎo)入 import 設(shè)置 虛箭頭從源包到目標(biāo)包 5 構(gòu)件圖 componentdiagram 構(gòu)件圖展現(xiàn)了一組構(gòu)件之間的組織和依賴 用于對(duì)源代碼 可執(zhí)行的發(fā)布 物理數(shù)據(jù)庫(kù)等的系統(tǒng)建模 構(gòu)件圖表示系統(tǒng)的靜態(tài)實(shí)現(xiàn)視圖 課程 用戶 課表系統(tǒng) 6 部署圖 deploymentdiagram 部署圖展現(xiàn)了對(duì)運(yùn)行時(shí)處理節(jié)點(diǎn)以及其中構(gòu)件的配置 每一節(jié)點(diǎn)代表一個(gè)計(jì)算單元 它描述系統(tǒng)硬件的物理拓?fù)浣Y(jié)構(gòu) 包括網(wǎng)絡(luò)布局和構(gòu)件在網(wǎng)絡(luò)上的位置 以及在此結(jié)構(gòu)上執(zhí)行的軟件 即運(yùn)行時(shí)軟構(gòu)件在節(jié)點(diǎn)中的分布情況 用部署圖說明系統(tǒng)結(jié)構(gòu)的靜態(tài)環(huán)境視圖 即說明分布 交付和安裝的物理系統(tǒng) 8 活動(dòng)圖 activitydiagram 活動(dòng)圖是一種特殊的狀態(tài)圖 描述需要做的活動(dòng) 執(zhí)行這些活動(dòng)的順序 多為并行的 以及工作流 完成工作所需要的步驟 它對(duì)于系統(tǒng)的功能建模特別重要 強(qiáng)調(diào)對(duì)象間的控制流程 高層活動(dòng)圖用于表示任務(wù) 即用于分析用例 理解涉及多個(gè)用例的工作流 多線程及并行 顯示相互聯(lián)系的行為整體 還可用于業(yè)務(wù)過程建模 對(duì)系統(tǒng)的功能建模 低層活動(dòng)圖用于表示類的方法 9 狀態(tài)圖 statechartdiagram 狀態(tài)圖展示了一個(gè)特定對(duì)象的所有可能狀態(tài)以及由于各種事件的發(fā)生而引起的狀態(tài)間的轉(zhuǎn)移 一個(gè)狀態(tài)圖描述了一個(gè)狀態(tài)機(jī) 用狀態(tài)圖說明系統(tǒng)的動(dòng)態(tài)視圖 狀態(tài)圖對(duì)于接口 類或協(xié)作的行為建模尤為重要 可用它描述用例實(shí)例的生存期 project對(duì)象的狀態(tài)圖 10 交互圖 interactiondiagram 交互圖展現(xiàn)了按一定的目的進(jìn)行的一種交互 它由在一個(gè)上下文中的一組對(duì)象及它們之間交互的信息組成 交互圖可用于描述一個(gè)用例的行為 順序圖和協(xié)作圖都是交互圖 它們可以相互轉(zhuǎn)換 如果希望查看單個(gè)對(duì)象跨用例的行為 要使用狀態(tài)圖 如果希望查看跨用例跨線程的行為 要使用活動(dòng)圖 10 1順序圖 sequencediagram 順序圖展現(xiàn)了一組對(duì)象和由這組對(duì)象收發(fā)的消息 用于按時(shí)間順序?qū)刂屏鹘?對(duì)象表述為虛垂線頂端的矩形小框 垂線是對(duì)象的生命線 說明對(duì)象的生命 生命線之間的箭頭表示消息 消息出現(xiàn)的次序自上而下 消息箭頭可以回到同一條生命線 指明自調(diào)用 即對(duì)象發(fā)給自己的消息 用 可表示條件 用 表明迭代依據(jù) 移動(dòng)電話系統(tǒng)的用例圖 移動(dòng)電話系統(tǒng)的順序圖 10 2協(xié)作圖 collaborationdiagram 協(xié)作圖展現(xiàn)了一組對(duì)象 這組對(duì)象之間的連接以及這組對(duì)象收發(fā)的消息 它強(qiáng)調(diào)收發(fā)消息的對(duì)象的結(jié)構(gòu)組織 按組織結(jié)構(gòu)對(duì)控制流建模 協(xié)作圖中的協(xié)作不是參與者與系統(tǒng)之間的交互 而是系統(tǒng)內(nèi)部某一個(gè)用例中各個(gè)對(duì)象之間信息傳遞的方式 消息上所附編號(hào)指明執(zhí)行順序 移動(dòng)電話系統(tǒng)的協(xié)作圖 順序圖與協(xié)作圖的比較 順序圖和協(xié)作圖都是表示在某一個(gè)用例中一條執(zhí)行路徑上的執(zhí)行情況 表明這時(shí)各個(gè)對(duì)象之間的交互 順序圖強(qiáng)調(diào)順序 易于看出其中出現(xiàn)的時(shí)間的順序 協(xié)作圖可以利用布局指明各個(gè)對(duì)象是如何連接的 對(duì)于有多個(gè)可供選擇的情況 使用交互圖太不方便 可用crc卡片代替 描述 類 職責(zé) 協(xié)作 為了將uml的構(gòu)造塊有機(jī)地組裝在一起形成一個(gè)結(jié)構(gòu)良好的模型 uml需要描述下列事物的5種語(yǔ)義規(guī)則 1 命名 為事物 關(guān)系和圖命名 2 范圍 給一個(gè)名字以特定含義的語(yǔ)境 即范圍 3 可見性 怎樣使用或看見名字 即可見性 4 完整性 事物如何正確 一致地相互聯(lián)系 5 執(zhí)行 運(yùn)行或模擬動(dòng)態(tài)模型的含義是什么 即執(zhí)行 2 uml運(yùn)用構(gòu)造塊的 規(guī)則 uml的規(guī)則 命名 names 為事物 關(guān)系和圖起名 如 student personinfo student 作用域 scope 把施于類而不是施于實(shí)例的操作和屬性說明為類作用域 相當(dāng)于c 靜態(tài)變量 可見性 visibility 對(duì)類中任一屬性或操作定義存取權(quán)限 加前綴 公用 私用 保護(hù) 完整性 integrity 保持事物之間聯(lián)系的正確性和一致性 單個(gè)模型是不充分的 應(yīng)建立互補(bǔ)的連鎖的模型 從整體描述軟件的藍(lán)圖 保持模型與現(xiàn)實(shí)的一致性 執(zhí)行 execution 通過運(yùn)行或模擬動(dòng)態(tài)模型 才能真正理解和領(lǐng)會(huì)程序代碼的含義是什么 3 uml的 公共機(jī)制 uml有4種在整個(gè)語(yǔ)言中一致應(yīng)用的機(jī)制 使得該語(yǔ)言變得較為簡(jiǎn)單 1 規(guī)格說明 2 修飾 3 通用劃分 4 擴(kuò)展機(jī)制 uml的公共機(jī)制

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論