官术网_书友最值得收藏!

任務1.3 統一建模語言

【任務描述】

隨著面向對象軟件開發方法的提出和推廣,面向對象方法已成為開發軟件系統的主流方法,軟件設計方面也出現了許多建模語言和建模的方法。那么,面向對象軟件開發時應該選擇哪種建模語言呢?答案是,統一建模語言UML(Unified Modeling Language),它是世界范圍內軟件開發的標準建模語言,是用來對軟件密集系統進行描述、構造、可視化和文檔編制的一種語言,為不同領域的用戶提供了統一的交流標準。

【知識儲備】

一、UML的定義

UML為面向對象軟件設計提供統一的、標準的、可視化的建模語言。UML適用于描述以用例為驅動,以體系結構為中心的軟件設計的全過程。

UML的定義包括UML語義和UML表示法兩個部分。

(1)UML語義:UML對語義的描述使開發者能在語義上取得一致認識,消除了因人而異的表達方法所造成的影響。

(2)UML表示法:UML表示法定義UML符號的表示法,為開發者或開發工具使用這些圖形符號和文本語法為系統建模提供了標準。

二、UML模型圖的構成

UML模型圖由事務、關系及圖構成。事物是UML模型中最基本的構成元素,是對其代表成分的抽象;關系把事物緊密聯系在一起;圖是事物和關系的可視化表示。

三、UML事物

UML包含4種事物:構件事物、行為事物、分組事物、注釋事物。

(1)構件事物:UML模型的靜態部分,描述概念或物理元素,它包括以下幾種:

①類:具有相同屬性、相同操作、相同關系、相同語義的對象的描述。

②接口:描述元素的外部可見行為,即服務集合的定義說明。

③協作:描述了一組事物間的相互作用的集合。

④用例:代表一個系統或系統子集的行為,是一組動作序列的集合。

⑤構件:系統中物理存在,可替換的部件。

⑥節點:運行時存在的物理元素。

另外,參與者、信號應用、文檔庫、頁表等都是上述事物的變體。

(2)行為事物:UML模型圖的動態部分,描述跨越空間和時間的行為。

①交互:實現某功能的一組構件事物之間消息的集合,涉及消息、動作序列、鏈接。

②狀態機:描述事物或交互在生命周期內響應事件所經歷的狀態序列。

(3)分組事物:UML模型圖的組織部分,描述事物的組織結構。

包:把元素聚集成組的機制。

(4)注釋事物:UML模型的解釋部分,用來對模型中的元素進行說明,解釋。

注解:對元素進行約束或解釋的簡單符號。

四、UML關系

UML關系包括依賴、關聯、泛化以及實現。

(1)依賴是兩個事物之間的語義關系,其中一個事物(獨立事物)發生變化時,會影響到另一個事物(依賴事物)的語義。

(2)關聯是一種結構關系,它指明一個事物的對象與另一個事物的對象間的聯系。

(3)泛化是一種特殊或一般的關系,也可以看作是常說的繼承關系。

(4)實現是類元之間的語義關系,其中的一個類元指定了由另一個類元保證執行的契約。

五、UML圖

UML圖包括用例圖、類圖、對象圖、構件圖、配置圖、順序圖、協作圖、狀態圖及活動圖。

1.用例圖

用例圖描述系統實現的功能。從用戶角度描述系統功能,是用戶所能觀察到的系統功能的模型圖,用例是系統中的一個功能單元,如圖1.6所示。

圖1.6 用例圖

2.類圖

類圖描述系統的靜態結構,如圖1.7所示。不僅定義系統中的類,表示類之間的聯系如關聯、依賴、聚合等,也包括類的內部結構(類的屬性和操作)定義系統中的類,表示類之間的聯系,也包括類的內部結構。類圖是以類為中心來組織的,類圖中的其他元素或屬于某個類或與類相關聯。

圖1.7 類圖

3.對象圖

對象圖是描述系統在某時刻的靜態結構,是類圖的實例,使用與類圖非常相似的標識,如圖1.8所示。它們的不同點在于,對象圖顯示類的多個對象實例,而不是實際的類。

4.組件圖

組件圖為系統的組件建模型,如圖1.9所示。組件即構造應用的軟件單元,還包括各組件之間的依賴關系,以便通過這些依賴關系來估計對系統構件的修改給系統可能帶來的影響。

圖1.8 對象圖

圖1.9 組件圖

5.部署圖

部署視圖描述位于節點實例的運行構件實例的安排,如圖1.10所示。節點是一組運行資源,如計算機、設備或存儲器。這個視圖允許評估分配結果和資源分配。

圖1.10 部署圖

6.順序圖

順序圖顯示對象之間的動態合作關系,它強調對象之間消息發送的順序,同時顯示對象之間的交互,如圖1.11所示。順序圖的一個用途是用來表示用例中的行為順序。當執行一個用例行為時,順序圖中的每條消息對應了一個類操作或引起狀態轉換的觸發事件。

圖1.11 順序圖

7.協作圖

協作圖描述對象間的協作關系,協作圖與順序圖相似,用來顯示對象間的動態合作關系,如圖1.12所示。除顯示信息交換外,協作圖還可顯示對象及其之間的關系。協作圖的一個用途是表示一個類操作的實現。

8.狀態圖

狀態圖是一個類對象所可能經歷的所有歷程的模型圖,如圖1.13所示。狀態圖由對象的各個狀態和連接這些狀態的轉換組成。

圖1.12 協作圖

圖1.13 狀態圖

9.活動圖

活動圖是狀態圖的一個變體,用來描述執行算法的工作流程中涉及的活動,如圖1.14所示。活動圖描述了一組順序的或并發的活動。

圖1.14 活動圖

【案例】

使用Visio 2016繪制圖形

Microsoft Visio(以下簡稱Visio)是微軟公司發布的矢量圖繪圖工具軟件,它是Microsoft Office套件之中的一個重要應用程序,它支持制作流程圖、架構圖、網絡圖、日程表、模型圖和甘特圖等。

Visio是一款便于IT人士和商務人員就復雜信息、系統和流程進行可視化處理、分析和交流的軟件。是一款簡單、易用的入門級示意圖設計工具,可以與微軟的開發工具集成,完成如數據庫、程序結構等設計工作。Visio也是我們在進行軟件項目開發中必不可少的輔助繪圖工具。

Visio創建圖形的基本流程大致會經過以下幾個步驟:啟動軟件、創建圖形、放大或縮小繪圖、移動形狀、調整形狀大小、添加文本、連接形狀、排列或對齊形狀、保存繪圖、打印繪圖。Visio界面如圖1.15所示。

圖1.15 Visio界面

Visio的工作環境包括工作窗口、菜單欄、工具欄、定位工具以及幫助等內容。

(1)啟動工作窗口,新建Visio文件的工作窗口。

(2)新建Visio基本框圖文件的工作窗口,如圖1.16所示。

圖1.16 Visio繪制框圖工作界面

(3)頁面屬性設定。在繪圖文件打開狀態下,可以對繪圖頁面的屬性進行設定。在“文件”菜單中,單擊“頁面設置”命令,將彈出“頁面設置”對話框,可在其中進行“打印設置”“頁面尺寸”“繪圖縮放比例”“頁屬性”和“布局和排列”等選項操作。

(4)增加新繪圖頁。當建立一個新的繪圖文件時,Visio已經自動生成了一個新的繪圖頁,將其命名為“頁-1”并顯示在“頁面標簽”中。每個繪圖文件都可以包含多個繪圖頁,在每個繪圖頁中都可以繪制各自的圖形。

要增加新的繪圖頁,可在繪圖窗口下方的“頁面標簽”上單擊鼠標右鍵,在快捷菜單中單擊“插入頁”命令,此時,將彈出“頁面設置”對話框,可在其中填入新繪圖頁的各項屬性,如類型、名稱等,然后單擊“確定”按鈕即可。當然,也可以使用系統默認值——直接單擊“確定”按鈕。

(5)刪除繪圖頁。在“編輯”菜單中,單擊“刪除頁”命令,或者使用右鍵快捷菜單,再選擇“刪除”命令,刪除選定的繪圖頁。

(6)重命名繪圖頁。在要重命名的繪圖頁的“頁面標簽”上單擊鼠標右鍵,在彈出的右鍵菜單中單擊“重命名頁”命令,可對繪圖頁名稱進行修改。

(7)背景頁操作。在繪圖文件中加入背景頁,可以使圖形顯得更加美觀和專業。生成背景頁有多種方法,最簡單的方法是利用Visio提供的“背景”模具。

(8)保存文件。在“文件”菜單中單擊“保存”命令,或者直接單擊工具欄上的“保存文件”按鈕,都可以保存文件。如果是第一次保存文件,會彈出“另存為”對話框。保存文件的時候,可以選擇不同的“保存類型”,如圖1.17所示。

圖1.17 保存文件

選擇完畢后,單擊“保存”按鈕,根據所選保存類型,將彈出不同的“輸出選項”對話框,可對選項進行相應設置。最后,單擊“確定”按鈕,即完成保存操作。

【任務實施】

使用Visio繪制用例圖

步驟1:啟動工作窗口,新建UML用例圖,如圖1.18所示。

圖1.18 新建UML用例圖

步驟2:打開的UML用例圖文件的工作窗口,如圖1.19。

圖1.19 UML用例圖工作窗口

步驟3:繪制成績管理用例圖,如圖1.20所示。

圖1.20 繪制成績管理用例圖

步驟4:繪完后,單擊“保存”按鈕,根據所選保存類型,將彈出不同的“輸出選項”對話框,可對選項進行相應設置。最后,單擊“確定”按鈕即完成保存操作。

【任務拓展】

繪制圖書管理系統的組件圖及部署圖

1.組件圖

圖書管理系統中的組件涉及圖書、圖書類別、讀者、借閱、處罰、預約、數據庫管理等,畫出組件圖,如圖1.21所示。

圖書管理員管理圖書時,通過類別ID來對圖書類別進行維護;通過圖書編號來對圖書信息進行維護;通過讀者編號來對讀者信息進行維護。圖書管理員管理圖書的組件圖如圖1.22所示。

圖1.21 圖書管理系統組件圖

圖1.22 圖書管理員管理圖書的組件圖

2.部署圖

B/S架構的圖書管理系統中軟件和硬件組件之間的物理關系以及軟件組件在處理節點上的分布情況,如圖1.23所示。

圖1.23 圖書管理系統部署圖

【知識鏈接】

軟件開發環境、軟件開發工具和軟件開發平臺

軟件開發環境是指,在基本硬件和軟件的基礎上,為支持系統軟件和應用軟件的開發和維護而使用的一組軟件。它由軟件工具和集成式軟件開發環境構成,前者用以支持軟件開發的相關過程、活動和任務,后者為工具集成和軟件的開發、維護及管理提供支持。

軟件開發環境主要由軟件工具組成。人機界面是軟件開發環境與用戶之間的一個統一的交互式對話系統,它是軟件開發環境的重要質量標志。存儲各種軟件工具加工所產生的軟件產品或半成品(如源代碼、測試數據和各種文檔資料等)的開發數據庫是軟件開發環境的核心。工具間的聯系和相互交互都是通過存儲在數據庫中的共享數據來實現的。

軟件開發環境可分成3類:

(1)按軟件開發模型及開發方法分類,有支持瀑布模型、演化模型、螺旋模型、噴泉模型以及結構化方法、信息模型方法、面向對象方法等不同模型及方法的軟件開發環境。

(2)按功能及結構特點分類,有單體型、協同型、分散型和并發型等多種類型的軟件開發環境。

(3)按應用范圍分類,有通用型和專用型軟件開發環境。其中專用型軟件開發環境與應用領域有關。

軟件開發工具包括支持特定過程模型和開發方法的工具,如支持瀑布模型及數據流方法的分析工具、設計工具、編碼工具、測試工具、維護工具,支持面向對象方法的OOA(Object-Oriented Analysis)工具、OOD(Object-Oriented Design)工具和OOP(Object-Oriented Programming)工具等;獨立于模型和方法的工具,如界面輔助生成工具和文檔出版工具;亦可包括管理類工具和針對特定領域的應用類工具。

軟件開發平臺是軟件開發過程所使用的平臺,可以是多語言平臺,包含在開發工具之上。如.NET開發平臺、Java開發平臺等。

【課后閱讀】

Rational Rose工具介紹

Rational Rose是由Rational軟件公司開發的一種面向對象的統一建模語言的可視化建模工具,用于可視化建模和公司級水平軟件應用的組件構造。軟件設計師可使用Rational Rose,選擇程序表中的有用的案例元素(橢圓)、目標(矩形)和消息/關系(箭頭)等設計圖素,來創造(或建模)應用的框架。當創建程序表時,Rational Rose會記錄下這個程序表,然后以設計師選擇的C++、Visual Basic、Java、Oracle、COBOL等語言或者數據定義語言來產生代碼。Rational Rose的一個受人歡迎的特征是,它提供了“反復式發展”(也稱進化式發展)和“來回旅程工程”的能力。

Rational Rose允許設計師利用“反復式發展”,因為在各個進程中新的應用能夠被創建,通過把一個反復的輸出變成下一個反復的輸入。然后,當開發者開始理解組件之間是如何相互作用和如何在設計中調整時,Rational Rose能夠通過回溯和更新模型的其余部分來保證代碼的一致性,從而展現出被稱為“來回旅程工程”的能力。Rational Rose是可擴展的,可以使用下載附加項和第三方應用軟件。

主站蜘蛛池模板: 安国市| 明星| 五峰| 九台市| 邳州市| 永安市| 开封市| 汕尾市| 凤庆县| 广昌县| 东宁县| 玛曲县| 鄢陵县| 白城市| 安平县| 台北市| 莆田市| 通江县| 延川县| 双城市| 蒙阴县| 天等县| 双流县| 梁河县| 富民县| 镇安县| 舟山市| 翁牛特旗| 石门县| 泰兴市| 张北县| 黔西县| 辰溪县| 柯坪县| 南靖县| 青海省| 肥东县| 贵溪市| 娱乐| 彭泽县| 临沂市|