作業: 作業分析
這項作業定義如何將「系統層次」的行為說明轉換成粗略的系統結構。
規範: 分析 設計
目的
  • 在每一個架構面重大的使用案例中,將每一項「系統操作」的黑箱事件流程文字分解成一連串白箱步驟,並以子系統動作和合作來表達。
  • 以位置決策、流程決策、工作者決策及白箱預定需求來加強這些白箱說明。
  • 根據白箱步驟,在序列圖或合作圖(在「分析模型」中)建立子系統互動。
關係
主要說明
在這項作業中,「設計師」會開始將「系統層次」的行為說明轉換成「子系統層次」的粗略系統結構(及相關的互動)和行為。
步驟
將黑箱文字分解為子系統白箱步驟

在此步驟中,您利用「使用案例模型」並將黑箱事件流程文字(每一個使用案例的內容) 分解為一連串白箱步驟(利用「系統架構分析」中的子系統和概略合作關係,以子系統動作和互動來表達)。 如果是針對已指定操作的子系統來執行這項作業,則開始點就是操作, 您可以直接進入白箱步驟初步展開

比方說,如果您使用列表式說明,就像在「黑箱事件流程範例」表格中一樣:

系統使用案例 <name>

步驟 參與者動作 黑箱步驟說明 黑箱預定需求 系統操作
1 (參與者動作 ID):描述參與者做什麼的說明,例如,"AA1: 當店員按下「新的銷售」按鈕時,就開始這個使用案例" (黑箱步驟 ID): 描述系統的回應(不洩露系統的內部結構),例如, "BBS1: 系統顯示新增營業員和客戶的畫面,並啟用掃描器" (黑箱步驟需求 ID):描述系統必須以多高的效率來執行此步驟的說明;例如,以回應時間或速度而言,例如,"SUP36.2: 總回應時間是 0.5 秒" (系統操作 ID):此步驟呼叫的系統操作的名稱,例如,"<<operation>> 開始新的銷售"(在「環境圖」中,定義在作業:定義系統環境中)
2        
3        

黑箱事件流程範例

如果執行作業的子系統只定義這些操作

接著,「系統操作」(黑箱步驟)展開為一或多個白箱步驟,每一個步驟由一個具名的子系統執行。 「設計師」會根據「架構設計師」(在「架構分析」期間)完成的工作,選擇用來描述白箱步驟的子系統和互動。 請注意,分析現在由「系統操作」主導;亦即,視下一個實現步驟視為每一個「系統操作」的實現(而非系統使用案例黑箱步驟的較抽象的表示法)。 

黑箱步驟初步展開

每一個「系統操作」的白箱步驟(下表的灰色背景)記錄(最初)在「分析模型」中,並以相對應的「系統操作」當做實現。 白箱步驟不隨「系統使用案例」一起儲存(在此出現是基於圖解說明), 但可從「系統使用案例」中透過「系統操作」來追蹤。

系統使用案例 <name>

系統操作 步驟 參與者動作 黑箱步驟說明 黑箱步驟預定需求 子系統白箱步驟說明 白箱步驟預定需求 位置 流程 工作者

(系統操作 ID):此步驟呼叫的系統操作的名稱,例如, "<<system operation>> 開始新的銷售"(在「環境圖」中)

1 (參與者動作 ID):描述參與者做什麼的說明,例如,"AA1: 當店員按下「新的銷售」按鈕時,就開始這個使用案例" (黑箱步驟 ID):描述系統的回應(不洩露系統的內部結構),例如,"BBS1: 系統顯示新增營業員和客戶的畫面,並啟用掃描器" (黑箱步驟需求 ID):描述系統必須以多高的效率來執行此步驟的說明;例如,以回應時間或速度而言,例如,"SUP36.2: 總回應時間是 0.5 秒" (白箱步驟 ID):子系統以輸入、處理、輸出方式執行的動作的說明(黑箱步驟的執行部分), 例如,"WBS1: 銷售點介面會清除交易、顯示新的銷售畫面及要求訂單處理開始處理銷售清單"        
(白箱步驟 ID):...        
         
  2                
  3                

白箱事件流程範例

以位置、流程及工作者決策來加強白箱步驟

說明會以位置決策、流程決策及工作者決策來進一步加強。 位置決策以一些緯度(假定位置的抽象程度)指定執行子系統白箱步驟的地方。 唯有當決定(至少在此步驟中)子系統為「被動式」時,亦即,由子系統外部的流程來呼叫操作,才需要流程決策。 「主動式」子系統可以獨立自主地使用子系統內部的流程來回應。 系統設計師同樣以系統架構設計師的工作為依據(在產生「位置模型」和「流程模型」時)。 在工作者決策中,當您分配人力資源時,您就要開始指定組織實體,再指定「系統操作」所需的系統工作者資源。

如果分析顯示有一個白箱步驟需要多個位置(或流程),請拆解為更小的步驟,讓每一個步驟剛好有一個相關的位置(及流程,視何者適當而定)。 此分解過程可能有重大的架構分支(可能需要重新建構子系統),必須與扮演「系統架構設計師」角色的團隊或人員詳細討論。

系統使用案例 <name>

系統操作

步驟 參與者動作 黑箱步驟說明 黑箱步驟預定需求 子系統白箱步驟說明 白箱步驟預定需求 位置 流程 工作者

(系統操作 ID):此步驟呼叫的系統操作的名稱,例如, "<<system operation>> 開始新的銷售"(在「環境圖」中)

1 (參與者動作 ID):描述參與者做什麼的說明,例如,"AA1: 當店員按下「新的銷售」按鈕時,就開始這個使用案例" (黑箱步驟 ID):描述回應(不洩露系統的內部結構),例如,"BBS1: 系統顯示新增營業員和客戶的畫面,並啟用掃描器" (黑箱步驟需求 ID):描述系統必須以多高的效率來執行此步驟的說明;例如,以回應時間或速度而言,例如,"SUP36.2: 總回應時間是 0.5 秒" (白箱步驟 ID):子系統以輸入、處理、輸出方式執行的動作的說明(黑箱步驟的執行部分), 例如,"WBS1: 銷售點介面會清除交易、顯示新的銷售畫面及要求訂單處理開始處理銷售清單"   位置 ID 流程 ID 組織或系統工作者 ID
(白箱步驟 ID):...        
         
  2                
  3                

加強的白箱事件流程範例

分配白箱預定需求

接下來,將黑箱步驟預定需求分配至白箱步驟。此分配有助於決定子系統及相關位置的效能需求。 以被動式子系統而言,此為呼叫端流程的延遲時間分析的輸入(可能還有其他責任)。

系統使用案例 <name>

系統操作 步驟 參與者動作 黑箱步驟說明 黑箱步驟預定需求 子系統白箱步驟說明 白箱步驟預定需求 位置 流程 工作者

(系統操作 ID):此步驟呼叫的系統操作的名稱,例如, "<<system operation>> 開始新的銷售"(在「環境圖」中)

1 (參與者動作 ID):描述參與者做什麼的說明,例如,"AA1: 當店員按下「新的銷售」按鈕時,就開始這個使用案例" (黑箱步驟 ID):描述系統的回應(不洩露系統的內部結構),例如,"BBS1: 系統顯示新增營業員和客戶的畫面,並啟用掃描器" (黑箱步驟需求 ID):描述系統必須以多高的效率來執行此步驟的說明;例如,以回應時間或速度而言,例如,"SUP36.2: 總回應時間是 0.5 秒" (白箱步驟 ID):子系統以輸入、處理、輸出方式執行的動作的說明(黑箱步驟的執行部分), 例如,"WBS1: 銷售點介面會清除交易、顯示新的銷售畫面及要求訂單處理開始處理銷售清單" (白箱步驟需求 ID):描述子系統必須以多高的效率來執行此步驟的說明;例如,以回應時間或速度而言,例如,"SUP36.2.1: 經歷時間 0.16 秒" 位置 ID(在位置模型中) 流程 ID(在程序模型中) 組織或系統工作者 ID
(白箱步驟 ID):... (白箱步驟需求 ID):... 位置 ID 流程 ID 組織或系統工作者 ID
         
  2                
  3                

分配的白箱事件流程預定需求範例

依子系統排序白箱步驟

在此步驟中,您要收集每一個子系統的所有白箱步驟(亦即,屬於該子系統的白箱步驟)。 目的是為了準備經由檢查子系統白箱步驟說明來指定「系統操作」(相對於子系統,就好比「系統操作」相對於系統一樣)。 如同指定系統操作一樣,每一個白箱步驟可能不會有唯一的子系統操作。 請注意,白箱步驟依系統操作來分組。例如,也可能採用列表格式,依子系統來分組:

子系統使用案例調查範例

子系統 <name>

系統操作 位置 流程 工作者 子系統白箱步驟說明 子系統操作

<name>

位置 ID 流程 ID 組織或系統工作者 ID (白箱步驟 ID):子系統以輸入、處理、輸出方式執行的動作的說明(黑箱步驟的執行部分)  
         
         
         
         
         

操作使用案例調查範例

以「系統體系」而言,每一個系統/子系統各有一個使用案例模型, 很適合根據這樣的群集來指定子系統使用案例模型:您可以初步指定子系統參與的每一個系統操作的子系統使用案例。 您可能會發現有些使用案例有相同的一連串白箱步驟; 因此可以聚集在一起,所以只要建立單一子系統使用案例,就可以滿足多個系統操作的需求。

修正每一個系統操作的概略合作關係

根據白箱步驟,在序列圖或合作圖(在「分析模型」中)建立子系統互動。 可以修改「系統架構設計師」先前完成的工作。 在此階段,合作可能仍然很抽象,也許只顯示鏈結或很抽象的訊息。 因此,這項工作可以深入瞭解子系統的關聯性和凝聚性。 這樣可修正先前執行的白箱步驟展開結果(請參閱白箱步驟初步展開)。

評估分析

在這項作業結束時,「系統設計師」必須召開非正式的審查,藉以確保所有緊急議題都已記錄下來且排定時間來解決。

詳細資訊