




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、用 例圖用例模型是把應滿足用戶需求的基本功能 (集 ) 聚合起來表示的強大工具。用例模型的基本組成部件是用例 角色和系統。引入用例的主要目的是:確定系統應具備哪些功能這些功能是否滿足系統的需求開發者與用戶協商達成共識的東西為系統的功能提供清晰一致的描述,以便為后續的開發工作打下良好的交流基礎,方便開發人員傳遞需求的功能為系統驗證工作打下基礎通過驗證最終實現的系統能夠執行的功能是否與最初需求的功能相一致保證系統的實用性從需求的功能用例 出發 提供跟蹤進入系統中具體實現的類和方法檢查其是否正確的能力特別是為復雜系統建模時常用用例模型構造系統的簡化版本(也就是精化系統的變化和擴展能力 使系統不要過于
2、復雜) 然后 利用該用例模型跟蹤對系統的設計和實現有影響的用例 簡化版本構造正確之后 通過擴展完成復雜系統的建模圖示用例圖時 既要畫出三種模型元素, 同時還要畫出元素之間的各種關系 ( 通用化 關 聯 依賴)用例代表的是一個完整的功能。如何發現用例實際上 從識別角色起發現用例的過程就已經已開始了 對于已識別的角色通過詢問下列問題就可發現用例角色需要從系統中獲得哪種功能角色需要做什么角色需要讀取 產生 刪除 修改或存儲系統中的某種信息嗎系統中發生的事件需要通知角色嗎或者角色需要通知系統某件事嗎 這些事件功能能干些什么如果用系統的新功能處理角色的日常工作是簡單化了 還是提高了工作效率還有一些與當前
3、角色可能無關的問題 也能幫助建模者發現用例 例如系統需要的輸入/輸出是什么信息這些輸入/輸出信息從哪兒來到哪兒去系統當前的這種實現方法要解決的問題是什么 也許是用自動系統代替手工操作UML 中的用例UML 中的用例用橢圓形表示用例的名字寫在橢圓的內部或下方 用例位于系統邊界的內部 角色與用例之間的關聯關系 或通信關聯關系 用一條直線表示用例和角色之間有連接關系用例和角色之間的關系屬于關聯association又稱作關聯通信關聯communication association,這種關聯表明哪種角色能與該用例通信,關系是雙向的一對一關系,即角色可以與用例通信,用例也可以與角色通信。仲。示一3與船
4、用的足菜白前件飾玉蛻侑用制制.圖3。 目湖自爭花號口附用用例關系用例之間有擴展使用組合三種關系擴展和使用是繼承關系即通用化關系的另一種體現形式組合則是把相關的用例打成包package當作一個整體看待1擴展關系一個用例中加入一些新的動作后則構成了另一個用例這兩個用例之間的關系就是通用化關系又稱擴展關系后者通過繼承前者的一些行為得來前者通常稱為通用化用例后者常稱為擴展用例擴展用例可以根據需要有選擇地繼承通用化用例的部分行為擴展用例也一定具有完全性2使用關系一個用例使用另一個用例時這兩個用例之間就構成了使用關系一般情況下如果若干個用例的某些行為都是相同的則可以把這些相同的行為提取出來單獨作成一個用例
5、這個用例稱為抽象用例這樣 當某個用例使用該抽象用例時就好象這個用例包含了抽象用例的所有行為3-7便叫R家尚d即力馬活動桿|運借人推不想跑工的森科”珞2/.總,“產上讓塔出比粕二類圖所謂對象就是可以控制和操作的實體,類是對象的抽象描述,它包括屬性的描述和行為的描述二方面,構建面向對象模型的基礎是類對象和它們之間的關系是從靜態角度表示系統的因此類圖就沒有狀態圖 協作圖等其它圖 也類圖是用類和它們之間的關系描述系統的一種圖示屬于一種靜態模型類圖是構建其它圖的基礎沒有類圖就無法表示系統的其它各個方面類圖中允許出現的模型元素只有類和它之間的關系類用長方形表示長方形分成上中下三個區域每個區域用不同的名字標
6、識用以代表類的各個特征上面的區域內用黑體字標識類的名字中間的區域內標類的名字識類的屬性下面的區域內標識類的操作方法即行為這三部分作為一個整體描述某個類堂由X 4*1小仰陷小屬性的可見性可以不限于上述的三種某些具體的程序設計語言還可以定義其它的可見性類型 但是 在表示類圖時 必須含有公有類型和私有類型在類圖中 公有類型表示為加號+私有類型表示為減號-它們標識在屬性名稱的左側如圖4-4所示如果屬性名稱旁沒有標識任何符號表示該屬性的可見性尚未定義+總ir向,日典:um-。大H川+ 客Strug*瑚郴制用± SirriR- -/ J - -.'j I Siring ,人定WT4-5;
7、打小%下描述屬性的語法格式為可見性 屬性名 類型名=初值性質串枚舉類型的屬性經常使用性質串x fl 皿 F ;郁帶有關作用眼用Hi晌工操作在類圖中 操作部分位于長方形的最底部一個類可以有多種操作每種操作由操作名參數表返回值類型等幾部分構成標準語法格式為可見性 操作名 參數表 返回值類型性質串小汽一工川至'明r:而gI 陰:( drJoiaN ;JN 戊t隼.士 IHxyr “方向工Dirou用而. J.". J«.JJwdri?r %psr<i:lnl+.揖ire;l tin nirrt-1tin)1 gclDiii4i (J:CdnJaLa參數表由多個參數用
8、逗號分開構成 參數的語法格式為參數名參數類型名=缺省值persistent class如圖4-11所示的類就是一個持久類當所需的對象便生成了同時生成的對象將自身存入數據有一種特別的類叫做持久類產生對象的程序draw運行結束時庫文件或其它永久性的存儲器中類之間的關系類圖由類和它們之間的關系組成類與類之間通常有關聯通用化(繼承)依賴和精化等四種關系關聯可分為普通關聯遞歸關聯限定關聯或關聯有序關聯三元關聯和聚合等七種普通關聯:而在另一個方向由于關聯是雙向的可以在關聯的一個方向上為關聯起一個名字上起另一個名字也可不起名字名字通常緊挨著直線書寫導航關聯:類與類之間的關聯是單向的小汽車類圖中圖示關聯中的數
9、量關系 重數0.1表示零到1個對象0.*或*表示 零到多個對象5.17 表示5到17個對象2 表示2個對象藻小附 保般/舜伏捱閣對于多對多的雙向關聯可以轉化為兩個一對多的關聯來實現用川就加布片靠關端斷北氨制對象圖對象的圖示方式與類的圖示方式幾乎是一樣的主要差別在于對象的名字下面要加下劃線對象名有下列三種表示格式第一種格式形如對象名類名即對象名在前 類名在后 中間用冒號連接第二種格式形如類名這種格式用于尚未給對象命名的情況注意 類名前的冒號不能省略第三種格式形如對象名這種格式不帶類名即省略類名丁家里的產口T 看根£鼠F 內存=64遞歸關聯如果一個類與它本身有關聯關系那么這種關聯稱為遞歸
10、關聯recursive association角色任何關聯關系中都涉及到與此關聯有關的角色也就是與此關聯相連的類中的對象所扮演的角色引入角色的好處是 指明了類和類的對象之間的聯系(CONTEXT )1g,發展曲碑4二3 一4類在不同的其鞋小物浦小貸的角色限定關聯限定關聯用于一對多或多對多的關聯關系中在限定關聯中使用限定詞將關聯中多的那一端的具體對象分成對象集限定詞可以理解為一種關鍵詞用關鍵詞把所有的對象分開利類圖中 限定詞放置在關聯關系末端用限定關聯可以把模型中的重數從一對多變成一對一 的一個小方框內緊挨著開始導航的類哽戔|圖畫:一 一 詢小川 *定為眼承M圖小叢檎夫北昭先將Wj有序關聯對象與
11、對象之間的連接可以具有一定的次序就像應把窗口安排在屏幕之上一樣一般情況下 對象之間的關聯都是無序的如果要明確表示關聯中的次序關系一定要將規格說明排序放在表示關聯的直線旁且緊挨著對象被排序的類保腕合同Nil不;客白二兀關聯類與類之間的關聯關系不僅限于兩個類之間多個類之間也可以有關聯關系如果三個類之間有關聯關系則稱之為三元關聯三元關聯圖示為一個大的菱形菱形的角與關聯的類之間用直線相連也可以用虛線連接闡Q二VT;盾王阿二%聚合聚合是關聯的特例如果類與類之間的關系具有整體與部分的特點則把這樣的關聯稱為聚合國44司匚如圖4-35是一個帶角色的復合聚合的示例圖中給出了三種圖示方法角色名位于部分類一方 按鈕
12、和圖標 4.35 a是帶角色名的復合聚合圖示4.35 b是帶角色的復合聚合的標準語法形式4.35 c采用將屬性名變成角色名將屬性的類型變成類的方法的形式圖示復合聚合【坤消息窗口確定OLfli睡枷 以消g :物II 出網標舊I門 市4色仃工含四企能J卡通用化一個類通用元素的所有信息屬性或操作能被另一個類具體元素繼承繼承某個類的類中不僅可以有屬于自己的信息而且還擁有了被繼承類中的信息這種機制就是通用化I書登舊片"長f<P(HI 4*N 叫* 1 frl受限通用化給通用化關系附加一個約束條件進一步說明該通用化關系的使用方法或擴充方法這樣的通用化關系稱為受限通用化預定義的約束有四種多重
13、不相交完全和不完全圖4-44圖示了二種約束通用化的表示方法圖4-44 a是多個子類共用一個箭頭指向父類約束用花括號括起來放在直線旁邊多個約束之間用逗號分隔圖4-44 b中的繼承關系是單獨圖示的這種情況下要另外附加一條虛線 穿越所有的繼承關系多重繼承多重繼承指的是 子類的子類可以同時繼承多個上一級子類圖4-45所示的 水陸兩用類就是通過多重繼承得到的依賴和精化關系依賴關系描述的是兩個模型元素類組合 用例等 之間的語義上的連接關系UML中的規則稱為約束和派生 約束用于限制一個模型 我們已經討論過的約束有 或關聯有序關聯和四種繼承約束 多重不相交完全和不完全派生用于描述某種 事物的產生規則約束關聯1
14、比4鄧翻褐僦4湖派生關聯f耳斗卯 青T::n 加派生屬性由其它屬性通過某種方式計算得來派生屬性前面加一個斜線表示它并不真正出現在類的對象中派生屬性的計算公式用括號括起來放在類的下方商 成本價格 花住價格 利潤對UML模型元素應用的約束和派生 規則也可以用UML語言語法機制表示表 示規則的語法稱為導航表達式它構成說明一個具體規則的基本語句根據需要有時可以擴展導航表達式下面介紹五種常見語法的書寫形式形式一 set.attributeset是一個表達式代表一個對象或對象集attribute是set所代表對象的一個屬性名它們之間用.號相連接形式一的結果是屬性的值結果值可能是單值也可能是多值具體結果依賴
15、于關聯的重數形式二 set.role其中set的含義同形式一role代表關聯關系中目的方角色名它們之間用.相連形式二的結果為一個或多個對象對象的多少依賴于關聯的重數形式三set.role形式三與形式二的含義差不多 不同之處在于 role 代表關聯關系中的起始方角色名 role 前面多加一個 符號 表示對關聯關系的逆轉具體結果仍然是與關聯的重數有關的對象或對象集形式四 set 布爾表達式set 是代表一個對象或多個對象的表達式布爾表達式用 set 中的對象書寫 并用方括號括起來形式四的結果值是使布爾表達式為真的對象是 set 的一個子集形式五set.限定詞的值set 是代表一個對象或多個對象的表
16、達式 限定詞指明一個限定set 的限定關聯限定詞代表限定關聯中的限定屬性值動態建模所有系統均可表示為兩個方面靜態結構和動態行為 UML 提供圖來描述系統的結構和行為 類圖 (class diagram) 最適合于描述系統的靜態結構類 對象以及它們之間的關系 而狀態 序列 協作和活動圖則適合于描述系統的動態行為 即描述系統中的對 象在執行期間不同的時間點是如何動態交互的系統中的對象需要相互通信 它們相互發送消息本章中描述的動態圖有狀態圖 狀態圖描述對象在生命周期內處于哪些狀態每一種狀態的行為以及什么樣的事件引起對象狀態發生改變例如一張發票可以是已付(狀態paid)和未付(狀態 unpaid)序列
17、圖 描述對象如何相互交互和通信序列圖中的最要的是時間 通過序列圖 可以看出為了完成某種功能一組對象如何發送和接收一序列消息協作圖 協作圖也是描述對象交互的 但側重于空間的協作意即明確地給出對象間的關系(鏈接) 活動圖 也是描述對象交互的 但側重于工作的描述 當對象相互交互時需要執行一些工作或活動這些活動以及它們的出現順序就是活動圖所要描述的簡單消息 表示普通的控制流 它只是表示控制是如何從一個對象傳給另一個對象 而沒有描述通信的任何細節這種消息類型主要用于通信細節未知或不需要考慮通信細節的場合 它也可以用于表示一個同步消息的返回 也就是說 箭頭 處理消息的對象指向調用者表示控制返回給調用者同步
18、消息 一個嵌套控制流典型情況下表示一個操作調用 處理消息的操作在調用者恢復執行之前完成(包括任何在本次處理中發送的其它消息 ) 返回可以用一個簡單消息來表示或當消息被處理完畢隱含地表示異步消息異步控制流中沒有直接的返回給調用者發送者發送完消息后不需要等待消息處理完成而是繼續執行在實時系統中當對象并行執行時常采用這類消息1 一 !1 s 5 !> d r - n x i d » , (t r . n- n i m - i h r ;> j 母出子笥型<U刊:啦W用5-1一星類一狀態圖:狀態圖主要用來描述對象子系統系統的生命周期通過狀態圖可以了解到一個對象所能到達的所有
19、狀態以及對象收到的事件(收到消息超時錯誤條件滿足)對對象狀態的影響等 所有的類只要它有可標記的狀態和復雜的行為都應該有一個狀態圖一個狀態一般包含三個部分第一部分為狀態的名稱如空閑已付移動第二部分為可選的狀態變量的變量名和變量值屬性(變量)指的是狀態圖中類的屬性在某些情況下臨時變量也是很有用的如計數器第三部分為可選的活動表列出有關的事件和活動活動部分的語法如下 :事件名參數表'/'動作表達式i.Fr1。第M 狀態的三個祖康留Hh衣物狀態變丑,動r-Lug In、Lwifi t ihr1葡時網產匕 fT+pp*,瑞fF加戶和口令)Xi,nj11 3g'w-l用戶由In Ip
20、 Jj. pL ;狀態轉移的語法表示如下event-signature '' guard-condition '' '/' action-expression'A' send-clause其中"event-signature”的語法表示如下事件名參數,',''"send-clause"的語法表示如下destination-expression '.' destination-event- name '' argument ','&
21、#39;'從圖5-7中可以看出"event-signature"由事件名參數觸發狀態轉移的事件 與事件有關的附加數據組成參數由逗號隔開的參數表來表示其語法表示如下參數名:類型表達式參數名:類型表達式,守衛條件是狀態轉移中的一個布爾表達式 如果將守衛條件和事件說明放在一起使用的話則當且僅當事件發生且布爾表達式成立時 狀態轉移才發生 如果狀態轉移只有守衛條件這一個條件 則只要守衛條件為真 狀態轉移就發 生帶守衛條件動作表達式(Action-Expression)動作表達式是一個過程表達式當狀態轉移開始時執行 如圖5.9所示它可以由對象(擁有所有狀態的對象)的操作和屬性組成也可以由事件說明中的參數組成在一個狀態轉移中允許有多個動作表達式但是多個動作表達式之間必須用斜杠(/)分隔開動作表達式按指定順序(從左至右)一個一個地執行 不允許有嵌套的動作表達式或遞歸的動作表達式但是只帶一個動作表達式的狀態轉移是可能的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學校生物室管理制度
- 學生會設備管理制度
- 學生項目部管理制度
- 安保部綜合管理制度
- 安全管理與管理制度
- 定向井公司管理制度
- 實訓室水電管理制度
- 客戶保證金管理制度
- 客運包車牌管理制度
- 家裝業務員管理制度
- 《分子動力學模擬》課件
- 新生兒重癥監護病房捐贈人乳應用與管理專家共識(2025)解讀
- 皮膚科進修心得分享
- 2025年上半年廣東省廣州市白云區委宣傳部政府雇員招聘5人重點基礎提升(共500題)附帶答案詳解
- 項目經理講安全課件
- 《休閑農業》課件 項目二 休閑農業分類及模式分析
- 2025年安徽省省情試題及答案
- 2025年消控室考核試題及答案
- 江西省吉安市遂川縣2024-2025學年數學三下期末達標檢測試題含解析
- 衛健系統2025年上半年安全生產工作總結
- 第一章體育與健康基礎知識 第一節 科學發展體能 課件 2024-2025學年人教版初中體育與健康八年級全一冊
評論
0/150
提交評論