軟件工程第四章(第二部分)

第四章 面向對象方法——UML

**大家想一起學習交流的可以加羣,WX:MrCroods。**

UML是一種可視化語言(也是一種一般性語言),用於規約系統的製品、構造系統的製品、建立系統製品的文檔,可作爲軟件需求規約、設計和實現的工具。

二、UML的模型表達格式

UML的圖形化工具分爲兩類:
結構圖:用於表達系統或系統成分的靜態結構模型。
行爲圖:用於表達系統或系統成分的動態結構模型。

(1)、類圖

類圖是可視化地表達系統靜態結構模型的工具,通常包含類、接口、關聯、泛化和依賴等關係。
類圖是構件圖和部署圖的基礎

1)、創建一個系統類圖,要涉及以下4個方面:
①模型化待建系統中的概念,形成類圖中的基本元素。
②模型化待建系統中各種關係,形成系統的初始類圖。
③模型化系統中的協作,給出系統的最終類圖。
④模型化邏輯數據庫模式。

(2)、用況圖(填空題)

用況圖是一種表達系統功能模型的圖形化工具,通常包含主題、用況、參與者、關聯、泛化、依賴
use case圖支持系統功能的建模,交互圖支持系統交互的建模,狀態圖支持系統生存週期的建模。

1)、主題
2)、用況

用況通過一組動作序列來規約系統功能,並且該功能是通過與操作者之間交互給予體現的。
用況可用於整個系統,也可以用於子系統、單個類和接口。

3)、參與者

表達了一組高內聚的角色,一個參與者表達了系統交互的人、硬件或其他系統的角色。
參與者之間可用有泛化關係。

4)、關聯、泛化和依賴

關聯是一種參與關係,即參與者參與一個用況。
關聯是操作者和用況之間的唯一關係。
包含(《include》)和擴展(《extend》)時依賴的變體
業務模型和系統模型之間具有“整體/部分”關係。

(3)、狀態圖(與生存週期掛鉤)

狀態圖是顯示一個狀態機的圖,其強調了一個狀態到另一個狀態的控制流。
一個狀態機是一種行爲,規約了一個對象在其生存週期響應事件並作響應的狀態。
狀態圖包含狀態:初始狀態、最終狀態、正常狀態等,可用包含狀態機中任意的、所有的特徵。

1)、狀態

一個狀態是類目的一個實例在其生存中的一種條件或情況,期間該實例滿足這一條件,執行某一活動或等待某一消息。

①初態表達狀態機默認的開始位置,實心圓表示。
②終態表達狀態機的執行已完成,內含實心圓表示。

初態和終態都是僞狀態,即只有名字的狀態。
進入/退出效應不能有參數或監護條件。

③狀態內部轉移

狀態內部轉移是指沒有導致該狀態改變的內部轉移。

2)、活動和動作

活動是指狀態機中一種可中斷計算,中斷處理後任然可繼續
動作是指不可中斷的原子計算,它可導致狀態的改變或一個值的返回。

3)、被延遲事件

被延遲事件是指那些在一個狀態中不予處理的事件列表。

4)、事件

一個事件是對確定的時空內一個有意義發生的規約。
事件分爲:內部事件和外部事件
內部事件:指系統內對象之間傳送的事件。
外部事件:指系統和它的參與者之間所傳送的事件。
類的任何實例都能接受/發送一個信號。
信號事件是一種異步事件,信號通常由狀態機處理。

①調用

表示對象接受到一個操作的請求。
類的任何實例都能接受/發送一調用事件。

②時間事件:表示推移一段時間的事件

③變化事件:表示狀態的一個變化。

5)、狀態轉移5個部分
①源狀態:發生狀態轉移的那個狀態。
②轉移觸發器:滿足其監護條件。
③監護條件:布爾表達式。
④效應:一種可執行的行爲。
⑤目標狀態:轉移完成後所處的狀態。

6)、爲反應型對象(事件驅動的對象)建立一個狀態機模型,步驟如下:
①選擇狀態機的語境類、用況,或子系統等。
②選擇其實例的初始狀態和最終狀態,給出前置或後置條件。
③標識某一可用的時間段,判斷其實例狀態。
④判斷該實例在整生存週期內所有狀態的有意義偏序。
⑤判斷可觸發狀態轉換的事件。
⑥爲這些轉檯轉換添加動作。
⑦使用子狀態、分支、合併和歷史狀態。
⑧檢查在某一組合事件下所有狀態的可達性。
⑨檢查是否存在死狀態。
⑩跟蹤整個狀態機,檢查是否符合所期望的事件次序和響應。

(4)、順序圖

順序圖是一種交互圖,即由一組對象以及按時序組織的對象之間的關係組成,包含對象之間所發送的消息。

1)、消息:表達交互內容。
2)、對象生命線:表示一個對象在一特定時間段中的存在。
3)、聚焦控制:表達一個對象執行一個動作的時間段。
4)、控制操作子
①選擇操作子(Opr)(填空題)
組成部分:監護條件、控制體
②條件執行操作子(alt)
控制體通過水平線將其分爲一部分,每一部分表示一個條件分支,每一個分支有一個監護條件。
③併發執行操作子(par)
④迭代執行操作子(loop)

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