作業: 建立實作模型的結構
這項作業說明如何根據實作子系統及其內容的指派責任來建立實作元素的結構。
關係
角色主要: 其他的: 協助:
輸入強制: 選用: 外部:
輸出
步驟
建立實作模型結構
目的 建立實作模型的結構。 

從「設計空間」進入「實作空間」時,首先是在實作模型中鏡映設計模型的結構。

設計套件會有對應的實作子系統,對應的實作子系統會有實作對應設計元素的一或多個目錄和檔案(構件:實作元素)。每個配置給架構中特定層次的實作子系統,從設計模型對映到實作模型的方式可能會各不相同。

請建立一個圖解來代表實作模型結構(請參閱「準則:實作圖」)。

調整實作子系統
目的 改寫模型的結構來反映小組組織或實作語言的限制。 

請處理與實作環境相關的小戰術問題來決定子系統的組織是否需要改變。以下是這類戰術問題的範例。請注意,如果您決定要變更實作子系統的組織,您也必須決定是要回頭更新設計模型,或是聽任設計模型不同於實作模型。

  • 開發小組組織。子系統結構必須容許多位實作者或多個實作者小組繼續平行作業,而不會造成太多的重疊和不安。建議您每個小組只負責一個實作子系統。這表示您可以將子系統分成兩個(如果它夠大),將兩個片段指派給兩位實作者或兩個實作者小組實作,當兩個實作者(或小組)有不同的建置/發行週期時,尤其如此。
  • 類型宣告。在實作中,您可能會認識到子系統必須從另一個子系統中匯入工作成果,因為有一個類型宣告在該子系統中。一般而言,當您使用類型化的程式語言(C++、Java 和 Ada)時,便會出現這個情況。在這個狀況下,一般而言,將類型宣告擷取到個別的子系統中,可能是好的想法。

範例

您將子系統 D 的一些類型宣告擷取到新的子系統 Types 中,使子系統 A子系統 D 中公用(可見)工作成果的變更無關。

類型宣告子系統擷取圖例

類型宣告是取自子系統 D 中

.

  • 現有的舊版程式碼和元件系統。 您可能需要納入舊版程式碼、可重複使用的元件庫,或現成的產品。如果並未在設計中建立這些模型,就必須新增實作子系統。
  • 調整相依性。 假設子系統 A 和子系統 B 互相有匯入相依性。不過,您可能會想使 B 比較不依賴子系統 A 的變更。請擷取 B 所匯入的 A 的工作成果,將它們放在較低層的新實作子系統 A1 中。

樣本構件分組轉送圖

工作成果取自子系統 A,放在新的子系統 A1 中。

現在,實作子系統已不再 1:1 對映到設計模型中的套件/子系統,您可以在設計模型中進行對應的變更(如果您決定使設計模型緊密符合實作模型),或追蹤實作和設計模型之間的對映(如透過可追蹤性或實現相依性)。是否以及如何進行這類對映是一項應該擷取到 工作成果:特定專案專用準則中的流程決策。

定義每個實作子系統的匯入項目
目的 定義子系統之間的相依性。 

請定義每個子系統所匯入的其他子系統。您可以針對全套子系統執行這個動作,讓一層裡的所有子系統匯入某個較低層的所有子系統。一般而言,實作模型中的相依性會鏡映設計模型的相依性,不過,實作模型的結構會有所調整(請參閱調整實作子系統)。

在元件圖中提供分層的子系統結構。

決定如何處理可執行的程式(及其他衍生的物件)

執行檔(及其它衍生物件)是建置程序套用到一或多個實作子系統或其中一部分的結果,因此,在邏輯上,它們屬於邏輯子系統。不過,軟體架構師必須協同配置管理者決定實作模型所要套用的配置項目結構。 

為了便於選取和參照,尤其是為了部署,預設建議是定義個別的配置項目來包含各組可部署的可執行程式(哪些可執行的程式要部署在哪些節點,放在部署模型中)。因此,在簡單情況下,每個實作子系統都會有一個可部署的可執行程式之配置項目,以及一個包含用來產生這些程式的來源程式檔等的配置項目。您可以將實作子系統看成是用含有這些配置項目(可能還包括其他項目,如測試資產)的複合配置項目來表示。

從建模的觀點來看,建置程序所產生之可執行程式的集合,可用相關聯的實作子系統(本身也是套件)所包含的工作成果:建構版本(本身也是套件)來表示。  

決定如何處理測試資產
目的 將測試工作成果新增到實作模型中。 

一般而言,在 Rational Unified Process 中處理測試工作成果和測試子系統的方式,與其他已開發的軟體並沒有太大差異。不過,測試工作成果和子系統通常不會形成已部署之系統的一部分,且通常無法交付給客戶。因此,預設的建議是將測試資產對齊測試目標(如實作元素對齊單元測試,實作子系統對齊整合測試、系統對齊系統測試),但如果專案儲存庫組織成一組目錄或一個目錄階層,請將測試資產放在例如個別測試目錄中。明確的測試子系統(專用來進行單元測試層次之上的測試)應該依照其他實作子系統(依照明確的配置項目)的相同方式來處理。

對於建模,您可以用工作成果:實作子系統(套件)來表示測試工作成果的集合。對於單元測試,這類測試子系統通常會包含在相關聯的(測試)實作子系統中。軟體架構師與配置管理者協商決定是否應該一起配置這個層次的測試工作成果及它們所測試的實作元素,或應該將它們當作個別的配置項目。針對整合和系統測試,測試子系統可以是正在測試之實作子系統的同層級。

更新實作視圖
目的 更新軟體架構文件的實作視圖。 

實作視圖的說明在軟體架構文件中。本節包含元件圖,這些元件圖會顯示各個層次及其實作子系統的配置,以及子系統之間的匯入相依性。

評估實作模型
內容
多次出現的項目
事件驅動
持續進行中
選用
規劃
可重複的
詳細資訊