系統架構設計師學習之路(30)

2021-10-25 04:56:23 字數 1885 閱讀 7512

6.2.5 狀態圖和活**

1.狀態圖

uml中的狀態圖主要用於描述乙個物件在其生存期間的動態行為,表現乙個物件所經歷的狀態序列,引起狀態轉移的事件,以及因狀態轉移而伴隨的動作。

狀態圖是uml中對系統的動態行為建模的五個圖之一。

狀態圖在檢查、除錯和描述類的動態行為時非常有用。

一般可以用狀態機對乙個物件的生命週期建模,狀態圖是用於顯示狀態機的,重點在於描述狀態之間的控制流。

狀態圖的例子:

2.活**

活**是對系統的動態行為建模的五個圖之一。

活**可以用於描述系統的工作流程和並發行為。

活**其實可以看做狀態圖的特殊形式,活**中的乙個活動結束後將立即進入下乙個活動(在狀態圖中狀態的轉移可能需要事件的觸發)。

活**的幾個概念:

1)活動

活動表示的是某流程中的任務的執行,它可以表示某演算法過程中語句的執行。

在活**中需要注意區分動作狀態和活動狀態這兩個概念。

動作狀態是原子的,不能被分解,沒有內部轉移,沒有內部活動,動作狀態的工作所占用的時間是可忽略的。

動作狀態的目的是執行進入動作,然後轉向另一狀態。

活動狀態是可分解的,不是原子的,其工作的完成需要一定的時間。

可以把動作狀態看做活動狀態的特例。

2)泳道

泳道是活**中的區域劃分,根據每個活動的職責對所有活動進行劃分,每個泳道代表乙個責任區。泳道和類並不是一一對應的關係,泳道關心的是其所代表的職責,乙個泳道可能由乙個類實現,也可能由多個類實現。

3)分支

在活**中,對於同乙個觸發事件,可以根據不同的警戒條件轉向不同的活動,每個可能的轉移是乙個分支。

4)分叉和匯合

分支表示的是從多種可能的活動轉移中選擇乙個,如果要表示系統或物件中的並發行為,則可以使用分叉和匯合這兩種建模元素。

分叉表示兩個或多個控制流經過分叉後,這些控制流併發進行;匯合正好與分叉相反。

5)物件流

在活**中可以出現物件。物件可以作為活動的輸入或輸出。

活**中的物件流表示活動和物件之間的關係,如乙個活動建立物件(作為活動的輸出)或使用物件(作為活動的輸入)等。

活**的例子:

6.2.6 構件圖

構件是系統中遵從一組介面且提供其實現的物理的、可替代的部分。

構件圖則顯示一組構件以及它們之間的相互關係,包括編譯、鏈結或執行時構件之間的依賴關係。

構件是乙個實際檔案,可以有以下幾種型別:

(1)部署構件,如dll檔案、exe檔案、com+物件、corba物件、ejb、動態web頁和資料庫表等。

(2)工作產品構件,如源**檔案、資料檔案等與,這些構件可以用來產生部署構件。

(3)執行構件,也就是系統執行後得到的構件。

構件圖可以對以下幾個方面建模:

(1)對源**檔案之間的相互關係建模

(2)對可執行檔案之間的相互關係建模

構件圖的例子:

6.2.7 部署圖

部署圖也稱配置圖、實施圖,它可以用來顯示系統中計算結點的拓撲結構和通訊路徑與結點上執行的軟構件等。乙個系統模型只有乙個部署圖,部署圖常用於幫助理解分布式系統。

部署圖由體系結構設計師、網路工程師、系統工程師等描述。

部署圖的例子:

系統架構設計師學習之路(17)

4.1.1 軟體開發生命週期 軟體開發周期是指軟體產品從形成概念 構思 開始,經過定義 開發 使用和維護,直到最後被廢棄 不再使用 為止的全過程。1.軟體定義時期 1 問題定義 2 可行性研究 3 需求分析 2.軟體開發時期 概要設計 詳細設計 編碼3.軟體執行及維護 軟體執行 軟體維護 4.1.2...

系統架構設計師學習之路(35)

近年來,在物件導向領域中的乙個重要突破就是提出了設計模式的概念。軟體的設計模式是人們在長期的開發實踐中良好經驗的結晶,它提供了乙個簡單 統一的描述方法,使人們可以復用這些軟體設計方法 過程管理經驗。由於設計模式在表達上既經濟又清楚,從而越來越受到重視。本章將介紹軟體設計模式的概念 組成要素和分類,並...

系統架構設計師學習之路(11)

2.4.3 多 系統的組成 1.多 硬體 2.多 軟體 多 軟體系統按功能分為系統軟體 應用軟體。系統軟體是多 系統的核心,不僅具有綜合使用各種 靈活排程多 資料進行 的傳輸和處理的能力,而且要控制各種 硬體裝置協調地工作。多 系統軟體主要包括多 作業系統 素材製作軟體及多 函式庫 多 創作工具與開...