基于UML建模的設計與分析_第1頁
基于UML建模的設計與分析_第2頁
基于UML建模的設計與分析_第3頁
基于UML建模的設計與分析_第4頁
基于UML建模的設計與分析_第5頁
已閱讀5頁,還剩37頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1統一建模語言UML概述1.1UML及其優點

什么是UML(UnifyModelingLanguage)

UML是一種通用的、統一的的建模語言,是一種用圖形方式描繪面向對象軟件系統結構的有效方法。

UML的優點(1)UML是一種定義良好,易于表達,功能強大且普遍實用的標準建模語言。(2)UML是綜合了面向對象領域的幾種優秀方法的特點和長處而提出的,是一種國際標準的建模語言,適合于面向對象分析與設計的建模描述。(3)UML是軟件業界的第一個統一的建模語言,并得到工業界的廣泛支持。1目前一頁\總數四十二頁\編于十九點

1.2UML的模型視圖

用UML描述的系統模型一般是由幾種視圖組成的。UML主要提供了9種視圖:用例圖、類圖、對象圖、組件圖、配置圖、序列圖、協作圖、狀態圖和活動圖,如下圖所示。2目前二頁\總數四十二頁\編于十九點1.3

用例圖(1)用例圖定義

用例圖是從用戶使用系統的角度描述系統功能的圖形表達方法。一個用例(UseCase)是用于描述系統的一項功能需求或系統提供給用戶的一項服務。(2)用例圖舉例右邊為自動售貨機系統的用例圖。圖中的方框代表系統,橢圓代表用例(售貨、供貨和取貨款是自動售貨機系統的典型用例),小人形(線條人)代表行為者,它們之間的連線表示關系。3目前三頁\總數四十二頁\編于十九點1.4類圖(1)類圖的定義類圖是表達構成系統的類及其相互聯系的圖示。類圖是面向對象設計的核心,建立狀態圖、協作圖和其他圖的基礎。(2)類圖的描繪方法(1)使用名詞/動詞分析法來尋找構成系統的類,描繪這些類;(2)建立類與類之間的聯系,包括關聯、聚合/組合、泛化/特化、依賴等。4目前四頁\總數四十二頁\編于十九點5目前五頁\總數四十二頁\編于十九點1.5

對象圖(1)對象圖的定義對象圖(ObjectDiagram)表示一組對象和它們之間的聯系。對象圖實質上是類圖的實例,也稱實例圖(InstanceDiagram)。對象圖的表示方法與類圖的表示方法大體相同。對象圖是系統在某個特定時刻的具體狀態。(2)對象圖舉例6目前六頁\總數四十二頁\編于十九點1.6序列圖(1)序列圖的定義序列圖用來描述一組對象間的交互關系,它表示為完成某項操作所需的參與對象和這些對象之間傳遞消息的時間順序。(2)序列圖舉例7目前七頁\總數四十二頁\編于十九點1.7狀態圖

(1)狀態圖(StatechartDiagram)的定義

狀態圖描述系統運行過程中某類對象可能出現的狀態,以及在不同狀態間的跳轉和觸發這些跳轉的外部事件。狀態圖側重于描述對象在其生命周期中的動態行為。

(2)狀態圖的組成

UML狀態圖的圖形元素包括:初始狀態、轉移、(中間)狀態、判定、同步和終止狀態。8目前八頁\總數四十二頁\編于十九點1.8活動圖(1)活動圖的定義

活動圖(activitydiagram)用于描述系統業務流程或工作流程。活動圖由一系列的動作狀態構成,動作的狀態控制可以從一個狀態轉向另一個與之相鄰的狀態。活動圖還可以表示條件判斷、分支決策、動作狀態的并行執行、消息的規范說明等內容。9目前九頁\總數四十二頁\編于十九點(2)活動圖的組成

活動圖的基本元素包括:活動狀態、動作流、泳道、對象流,另外還包括初始狀態、終止狀態、判定、分叉、合并等元素。10目前十頁\總數四十二頁\編于十九點1.9協作圖(1)協作圖的定義用來描述實現某些服務所涉及的對象及其相互之間的關系(包括消息通信)的圖示就稱為協作圖(Collaboration)。協作圖可用來描繪業務流程。(2)協作圖舉例11目前十一頁\總數四十二頁\編于十九點1.10組件圖(1)組件圖的定義

組件是提供了一組接口的物理實現模塊,它可以是軟件開發過程中的產物,如源碼、二進制碼和可執行碼等。它們是類、接口等邏輯模型的物理實現。接口是為外部提供可調用函數原型的程序模塊。組件圖表示構成系統的組件及其相互之間的聯系。它是描述系統的軟件結構的模型。12目前十二頁\總數四十二頁\編于十九點(2)組件圖的組成

組件圖由組件、接口和組件之間的聯系構成。

a)組件由一個左邊嵌兩個小矩形的大矩形表示,大矩形中填寫組件的名字。

b)接口由一個空心圓表示。

c)組件之間的依賴是指一個組件的模型元素需要使用另一個組件的模型元素。依賴用一個虛箭線表示,箭線從客戶組件指向供應者組件。13目前十三頁\總數四十二頁\編于十九點1.11配置圖(1)配置圖定義配置圖就是用于表示構成分布式系統的節點集和節點之間的聯系的圖示,它可以表示系統中軟件和硬件的物理架構。14目前十四頁\總數四十二頁\編于十九點15目前十五頁\總數四十二頁\編于十九點2基于UML的面向對象系統開發方法

像一般的系統開發方法一樣,基于UML的面向對象系統開發方法也可以分為如下步驟:(1)需求分析(用例分析)

—建立用例模型來描述用戶需求;(2)系統分析—將用例模型轉化為由類圖和對象圖組成的分析模型;(3)系統設計

a)用編程語言或接近編程語言的語言來更精確地描述類圖和對象圖,以便于后面能將類圖和對象圖映射到編碼實現的系統。

b)在詳細設計階段要對每個用例進行動態建模,包括建立序列圖、協作圖等,以描述如何通過類圖中的對象協作實現用例中的功能。隨著動態建模的深入,會發現前面建立的類往往存在缺陷或不夠完整,需要對分析中得到的類圖進行不斷的修正和調整。(4)系統實現—用源代碼、腳本語言、二進制代碼、可執行子程序或組件實現系統。16目前十六頁\總數四十二頁\編于十九點3UML的應用舉例1—圖書管理系統的建模

下面以一個圖書管理系統的建模為例,介紹使用UML進行建模的基本過程。整個系統的分析以及設計過程按照軟件開發的一般流程進行,包括如下步驟:需求分析系統分析系統設計系統實現17目前十七頁\總數四十二頁\編于十九點3.1需求分析圖書管理系統功能概述

圖書管理主要是借書、還書以及其他一些附帶操作(例如,超期罰款、催還圖書等)的處理。一個簡單的圖書管理系統應提供如下功能:借書處理:完成讀者借書的流程處理。還書處理:完成讀者還書的流程處理。信息查詢:包括圖書信息查詢和讀者借閱情況查詢。圖書管理:包括輸入新書記錄和刪除舊書記錄。18目前十八頁\總數四十二頁\編于十九點

系統主要業務流程分析

與系統功能相對應,系統主要有四個流程:借書流程、還書流程、資料查詢、圖書資源管理。各流程的主要過程描述如下:借書流程:讀者借閱所需的圖書,借出后圖書的借閱標志為false(已被借出),借書記錄中增加一個實例。還書流程:讀者歸還所借的圖書,還書后圖書的借閱標志為true(可被外借),借書記錄中刪除一個實例。19目前十九頁\總數四十二頁\編于十九點信息查詢:讀者和工作人員可以進行圖書信息查詢,輸入圖書的編號或書名,從圖書對象列表中查找相應的實例。圖書管理:首先由工作人員在“錄入新書資料”和“刪除舊書資料”兩個選項中選擇。若是“錄入新書資料”,則由工作人員輸入新書資料,將新書添加為圖書對象列表的新實例。若是“刪除舊書資料”,則查找需要刪除的圖書,將其從圖書對象列表中刪除。20目前二十頁\總數四十二頁\編于十九點系統功能模塊分析

滿足上述需求的系統應該相應地包括以下幾個功能模塊:基本業務處理模塊:主要用于實現圖書管理員對讀者借書和還書的處理。信息查詢模塊:主要用于實現讀者對圖書信息和自身借閱信息的查詢。系統維護模塊:主要用于實現系統管理員對讀者信息、圖書管理員信息、圖書信息、和數據庫的管理。21目前二十一頁\總數四十二頁\編于十九點建立用例模型

根據功能需求構造用例模型,主要任務是識別系統中的所有參與者,并對每個參與者找出其用例,建立用例模型。系統主要的參與者為“讀者”、“圖書管理員”和“系統管理員”。各個參與者的用例圖如下。

22目前二十二頁\總數四十二頁\編于十九點(1)讀者用例圖23目前二十三頁\總數四十二頁\編于十九點(2)圖書管理員用例圖24目前二十四頁\總數四十二頁\編于十九點(3)系統管理員用例圖25目前二十五頁\總數四十二頁\編于十九點詳述用例

在設別了參與者和主要用例并創建了用例圖之后,如果有必要,還可以按順序詳述每個用例,包括用例如何開始、結束以及如何與參與者進行交互。26目前二十六頁\總數四十二頁\編于十九點27目前二十七頁\總數四十二頁\編于十九點28目前二十八頁\總數四十二頁\編于十九點3.2系統分析在定義系統需求后,下一步就是確定構成系統的對象類。系統中對象類的識別可以使用名詞/動詞分析法來進行,即文本中的名詞和名詞短語暗示類或類的屬性,動詞和動詞短語暗示職責或者類的操作。通過用例圖的分析可知,在圖書管理系統中可以確定的主要對象類包括“讀者”,“圖書”、“圖書管理人員”和系統管理員。其中“讀者”和“圖書”通過借閱關系可以構成一個新類“借閱記錄”。29目前二十九頁\總數四十二頁\編于十九點

另外,分析用例圖可知,用例“身份驗證”和“圖書資料查詢”是對象類“讀者”和“工作人員”共同擁有的,并且用例“身份驗證”是除用例“圖書資料查詢”之外其余用例執行的前提,因此可以將“身份驗證”與“圖書資料查詢”定義為接口類中的操作(接口類是不含屬性且操作函數沒有具體實現的抽象類,接口類通過一個實現聯系獲得其它對象類的支持,這些對象類實現接口類中定義的全部操作)。其余用例則抽象為與該用例交互的參與者所屬對象類的操作。30目前三十頁\總數四十二頁\編于十九點因此,最后可獲得的對象類圖為:31目前三十一頁\總數四十二頁\編于十九點

除了定義上述用于系統數據信息存儲管理和業務邏輯

控制的類之外,在用圖形用戶界面開發系統時,我們還可以定義一些相應的用戶界面類:

(1)MainWindow類—MainWindow是圖書管理員與系統交互的主界面,系統的主界面具有菜單,當用戶選擇不同的菜單項時,MainWindow對象調用相應的方法完成功能操作。

(2)BorrowDialog類—BorrowDialog是進行借書操作時需要的對話框。

(3)ReturnDialog類—ReturnDialog是進行還書操作時需要的對話框。

(4)QueryDialog類—QueryDialog是查詢某借閱者的借閱信息或圖書庫存信息的對話框。

(5)MaintenanceWindow類—MaintenanceWindow是系統管理員對系統進行維護的主界面。它也提供菜單項.32目前三十二頁\總數四十二頁\編于十九點33目前三十三頁\總數四十二頁\編于十九點3.3系統設計

系統設計的主要工作是用例實現—設計。即對每個用例進行動態建模,包括建立序列圖、協作圖等,描述如何通過類對象的協作來實現用例中的功能。隨著動態建模的深入,會發現原來建立的類存在缺陷或不夠完整,需要對分析中得到的類圖進行不斷的修正和調整。所以,還應該通過動態建模來修正和完善類圖。34目前三十四頁\總數四十二頁\編于十九點用例動態模型設計35目前三十五頁\總數四十二頁\編于十九點36目前三十六頁\總數四十二頁\編于十九點類圖設計

進一步擴充和細化分析階段定義的類,包括定義新的類來處理用戶的需求。隨著動態建模的深入,也會發現原來建立的類存在缺陷或不夠完整,需要對分析中得到的類圖進行不斷的修正和調整。所以,還應該通過動態建模來修正和完善類圖。37目前三十七頁\總數四十二頁\編于十九點38目前三十八頁\總數四十二頁\編于十九點物理架構設計物理架構設計就是

溫馨提示

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

評論

0/150

提交評論