面向對象技術與工具【讀書筆記】——統一建模語言UML學習(UNIFIED MODELLING LANGUAGE)

面向對象技術與工具【讀書筆記】


首先我們回顧下軟件系統的可靠性,重點理解軟件的失效和故障。有一個直觀的認識,
在這裏插入圖片描述

5.1 UML概述

A GENERAL PURPOSE LANGUAGE AIMED AT DEFINING A STANDARD METHOD TO VISUALIZE THE WAY A SOFTWARE SYSTEM HAS BEEN DESIGNED .軟件系統裏面的可視化通用語言UML,和現實世界中的英語地位一樣。

模型是一個系統的完整的抽象,是人們對某個領域特定問題的求解及解決方案,對它們的理解和認識都蘊涵在模型中。在各種工程問題中,建模已成爲工程實踐的重要組成部分。

簡單來說,UML 語言描述的是軟件系統的行爲與結構
模型爲以後的系統維護和升級提供了文檔。

UML建模型語言的描述方式以標準的圖形表示爲主,
是由==視圖(Views)、圖(Diagrams)、模型元素(Model Elements)和通用機制(General Mechanism)==構成的層次關係。

  1. 用例視圖(Use Case View)從使用者的角度描述系統的外部特性及系統應具備的功能等。用例視圖是其他視圖的核心和基礎,直接影響到其他視圖的建立和描述。
  2. 設計視圖(Design View)設計視圖用於描述系統設計特徵和系統內部的結構,包括結構模型視圖和行爲模型視圖,前者描述系統的靜態結構,包括類圖、對象圖,後者描述系統的動態行爲,包括交互圖、狀態圖和活動圖。用戶所關心的。
  3. 過程視圖(Process View)過程視圖表示系統內部的控制機制和併發特徵。常用類圖描述過程結構,用交互圖描述過程行爲。
  4. 實現視圖(Implementation View)表示系統的實現特徵,常用構件圖表示,由一些獨立的構件(文件)構成,描述了系統的軟件特性。程序員所關注的信息
  5. 配置視圖(Deployment View)配置視圖用於描述系統的物理配置特徵,系統的物理架構。另外,根據系統的應用領域和特性,還可以建立其他視圖。
    (我們有不同的4+1視圖)
    在這裏插入圖片描述
    圖用來描述一個視圖的內容,是構成視圖的成分。UML語言定義了9種不同的圖,包括用例圖、類圖、對象圖、包圖、狀態圖、活動圖、順序圖、合作圖、構件圖(COMPONENT DIAGRAM)及部件圖,將它們有機地結合起來就可以描述系統的所有視圖。

另外,爲了適應用戶的需求,它還提供了==擴展機制(Extensibility Mechanism),包括構造型(Stereotype)、標記值(Tagged Value)和約束(Constraint)==等,使用UML語言能夠適應一種特殊的方法(或過程),或擴充至一個組織或用戶。

STRUCTURAL BEHAVIOURAL
STATIC ASPECTS OR THE OVERALL SYSTEM DYNAMIC ASPECTS OR BEHAVIOURS OF A SYSTEM
CLASS , COMPOSITE , OBJECT , COMPONENT , DEPLOYMENT , PACKAGE STATE MACHINE , ACTIVITY , USE CASE , SEQUENCE , COMMUNICATION , TIMING ,INTERACTION OVERVIEW

在這裏插入圖片描述

模型元素與模型元素之間的連接關係也是模型元素。
常見的連接關係有==關聯(Association)、泛化(Generalization)、依賴(Dependency)和聚合(Aggregation)==等,

5.2 建立用例模型

用例建模技術,從用戶的角度描述系統的功能需求,在宏觀上給出模型的總體輪廓,通過對典型用例的分析,使開發者能夠與用戶進行充分交流,有效地瞭解和獲取用戶需求,分析確定系統的需求。UML 的用例模型一直被推薦爲識別和捕獲需求的首選工具。

用例模型(Use Case Model)描述的是外部執行者(Actor),如用戶,所理解的系統功能。它描述的是一個系統做什麼(What),而不是說明怎麼做(How)。用例模型不關心系統設計。

如何確定執行者是畫用例圖的首要問題,首先要與系統的用戶進行廣泛而深入的交流,明確系統的主要功能,以及使用系統的用戶責任等。此外,還可以通過回答以下問題來確定執行者。

  • ① 誰使用系統的主要功能(主執行者)?
  • ② 誰需要從系統獲得對日常工作的支持和服務?
  • ③ 需要誰維護管理系統的日常運行(副執行者)?
  • ④ 系統需要控制哪些硬件設備?
  • ⑤ 系統需要與其他哪些系統交互?
  • ⑥ 誰需要使用系統產生的結果(值)?

識別出的角色應該用文字的形式或角色描述模板來做進一步的描述。
我們以網絡商店爲例,在這裏插入圖片描述我們有執行者“顧客”,“商店管理者”,“收銀”,可以對應ROS裏面的發佈和訂閱。有3個接口。
用例除了與執行者有聯繫外,用例之間也存在一定的聯繫,用例之間通常有關聯、包含、擴展及泛化等關係,包含和擴展是構造型元素,分別用>和>表示,圖形表示爲一個虛線箭頭。在新版的UML中,“包含”>替代了“使用”>。

ENCAPSULATION(封裝) / A MECHANISM TO “ CLUSTER ” DATA AND DEFINE HOW IT CAN BE USED BY MEANS
OF AN INTERFACE .
POLYMORPHISM(多態) / FUNCTIONS AND ENTITIES CAN EXHIBIT A CONTEXT - DEPENDENT BEHAVIOUR

最後,總結一句話,永遠不要在腦子都沒有搞清楚要做什麼的時候就輕易地開始編程。 嘿嘿,感覺找到了不編程的藉口。

在這裏插入圖片描述今日寫文背景音樂華晨宇和楊宗緯的《國王與乞丐》:

華:怎麼了 怎麼了
一份愛失去了光澤
面對面 背對背
反覆掙扎怎麼都痛
以爲愛堅固像石頭
誰知一秒鐘就碎落
難道心痛都要不斷打磨
緯:抱緊你的我比國王富有
曾多麼快樂
華:失去你的我比乞丐落魄
痛多麼深刻
噢 喔 噢 喔
噢 喔 噢 喔
緯:誰哭着誰笑着
一人分飾兩個角色
越執迷越折磨
回憶還在煽風點火
明知往前就會墜落
抱着遺憾重返寂寞
愛到最後究竟還剩什麼
緯:抱緊你的我比國王富有
曾多麼快樂
華:失去你的我比乞丐落魄
痛多麼深刻
楊:當一切 結束了 安靜了 過去了
華:爲什麼 還擁有 一萬個 捨不得
合:喔 喔
誰又能感受
回憶裏的我比國王富有
奢侈的快樂
失去你以後比乞丐落魄
心痛如刀割
懷念那時你安靜陪着我
噢 噢
柔軟時光裏最美的揮霍
喔 喔
愛有多快樂
痛有多深刻
痛有多深刻

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章