本節書摘來自華章計算機《power designer系統分析與模組化實戰》一書中的第2章,第2.2節,作者:謝星星,朱婵著, 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
在power designer中生成需求模型的方式多種多樣,主要有如下幾種形式:
1)建立rqm。
2)從已有的rqm生成新的rqm。
3)從其他模型導入生成的rqm。
4)從word文檔導入生成的rqm。
本節主要講解在power designer中直接建立rqm的方法。
2.2.1 建立rqm
選擇“file”→“new”菜單項,從彈出的建立模型對話框(見圖2-3)中選擇“model types”→“requirements model”,或者在建立模型對話框中選擇“categories”→ “requirements and planning”→“requirements”,或在工作空間區域選擇“workspace”→ “new”→“requirements model”菜單。

在圖2-3中的“model type”區域選擇模型類型,在“diagram”區域選擇需求模型下的圖形,在“model name”設定需求模型的名稱,如“需求模型執行個體1”。
建立後的空需求模型文檔如圖2-4所示。
圖2-4中的第一行是操作工具欄,“title id”所在行是表頭行,下面的各行是内容行。
2.2.2 編輯rqm
編輯需求模型主要包括添加需求、編輯需求屬性、添加子需求、提高或降低需求層級、删除需求、修改顯示列、建立使用者、建立使用者組、建立術語庫、建立業務規則功能。
例如,“餐飲線上點評系統”有“管理門戶”和“會員門戶”兩個一級需求,在“管理門戶”下添加“系統管理”、“企業管理”、“會員管理”和“統計分析”4個子需求。在“會員門戶”下添加“首頁”、“餐廳”、“團購活動”、“優惠活動”、“會員活動”和“會員中心”6個子需求。
添加一級需求
在需求文檔視圖視窗,單擊工具欄上的(insert an object)按鈕,或者單擊需求文檔視圖的空白區,或者按ctrl + i組合鍵,添加新的需求。新添加的需求具有預設的需求名稱(如requirement_1)和需求代碼(如req_1)。
在需求文檔視窗中預設包括“title id”(需求id)、“full description”(需求描述)、“code”(需求代碼)、“priority”(需求優先級)、“workload”(工作量)、“risk”(風險等級)和“status”(狀态,包括草稿、已定義、已校驗、待評審和已評審5種狀态)。
編輯需求屬性
可以直接在需求文檔視窗的編輯區域編輯主要屬性,也可輕按兩下某行,或選中某行後單擊(properties)按鈕,或者按alt + enter組合鍵打開編輯需求屬性視窗,如圖2-5所示。
從圖2-5中可以看出,編輯需求屬性視窗常用的頁籤包括“general”(通用資訊)、“detail”(詳細資訊)、“traceability links”(追蹤連結)、“user allocations”(使用者或使用者組配置設定)、“related glossary terms”(關聯的術語庫)和“notes”頁籤,單擊“more>>”按鈕可打開更多的頁籤,如“extended dependencies”等頁籤。下面對常用頁籤進行說明。
(1)general頁籤
用于設定需求的一般資訊,各項參數含義如下:
1)parent:需求的父需求名稱,如果需求為一級需求,則顯示需求模型的名稱。
2)title id:需求的id,為需求的層級編号,自動生成,不可編輯,如果為一級需求,則按照1、2、3……n以此類推。如果為1下的二級子需求,則按照1.1、1.2……1.n以此類推。
3)title:需求的名稱,一般使用中文表示。
4)code:需求的代碼,與後期的具體設計有關,一般使用英文、數字加符号表示。
5)description:表示需求描述,可以用工具輔助完成富文本。可單擊中的下拉按鈕,選擇“microsoft word”,進入word文檔編輯需求描述,在word編輯完畢後,單擊關閉按鈕提示使用者是否将内容儲存到需求文檔中,單擊“是”按鈕即可。因為可在word中編輯,是以需求描述可以是帶格式的文本、表格或圖檔等資訊。
(2)detail頁籤
用于設定需求的優先級和風險等級等資訊,如圖2-6所示。
各項參數含義如下:
1)comment:需求的簡要說明。
2)stereotype:語義的擴充說明。
3)type:需求類型,包括undefined(未定義)、design(設計)、functional(功能)和technical(技術)4種需求類型。
4)status:需求狀态,包括draft(草稿)、defined(已定義)、verified(已校驗)、to be reviewed(待評審)和approved(已評審)5種狀态。
5)priority:需求優先級,下拉清單中包括1~5的優先級值,每0.5一個刻度,數值越大,表示該需求的優先級越高。
6)selected:該複選框表示需求是否包含在工程中,選中表示包含,否則表示不包含。
7)risk:表示需求的風險級别,包括undefined(未定義)、low(低)、medium(中)和high(高)4種。
8)verification:表示需求的測試級别,包括undefined(未定義)、automate testing(自動測試)、demonstration(示範)、manual testing(手工測試)和mixed(混合測試)5種。
traceability links頁籤:設定該需求連接配接的設計對象和外部檔案,以便為目前需求提供更詳細的依據和參考,不再贅述。
(3)user allocations頁籤
設定将目前需求指定到某個使用者或使用者組上,此操作需要首先建立使用者或使用者組,該部分内容将在本章的“建立使用者”和“建立使用者組”小節中詳細介紹。在“user allocations”頁籤單擊(add objects)按鈕,打開“add objects”視窗,如圖2-7所示。
在圖2-7中選中使用者後單擊“ok”按鈕,傳回“user allocations”頁籤,通過修改type列設定使用者所需完成的工作。type可設定的值包括undefined(未定義)、design(設計)、documentation(文檔)和quality(品質)5種。
(4)related glossary terms頁籤
用于設定目前需求的專用術語,建立專業術語參考本章後續的“建立術語庫”小節。在“related glossary terms”頁籤單擊(add objects)按鈕,打開“selection”視窗,如圖2-8所示。
(5)notes頁籤
用于設定目前需求的文字或公式化描述,不再贅述。
添加子需求
在需求文檔視圖視窗,選擇某個需求後,單擊工具欄上的(insert an sub-object)按鈕,或者按ctrl + shift + i組合鍵,建立選中需求的子需求。可使用父需求的打開、關閉按鈕打開或者關閉子需求。添加子需求後的需求文檔模型視窗如圖2-9所示。
提高或降低需求層級
添加需求後,若發現需求層次不對,可通過工具欄上的按鈕将需求層級提高一級,使用按鈕将需求層級降低一級。
删除需求
若發現某個需求不正确,想删除該需求,可在需求文檔視圖的編輯區域選擇該行後按delete鍵或單擊工具欄的按鈕删除。需要注意的是,删除某個需求時,若該需求下有子需求,則子需求也會被關聯删除。
修改顯示列
在需求文檔視圖編輯區域預設隻顯示“title id”(需求id)、“full description”(需求描述)、“code”(需求代碼)、“priority”(需求優先級)、“workload”(工作量)、“risk”(風險等級)和“status”列,若想修改顯示列,可單擊工具欄的(customize columns and filter)按鈕,或者按ctrl + u組合鍵,彈出顯示列設定視窗,如圖2-10所示。
在圖2-10中可選中或取消選中對應的列後,單擊“ok”按鈕确認顯示項。
建立使用者
使用者(user)是指與需求有關的人員,如需求分析師、系統分析師、開發人員和測試人員等。
在power designer的需求模型中可以建立使用者,在菜單欄選擇“model”→“users”菜單項,打開使用者管理視窗,如圖2-11所示,在使用者清單區域可以直接添加使用者,也可單擊(add a row)按鈕添加使用者。
輕按兩下圖2-11中的某行,或者選擇某行後單擊(properties)按鈕,彈出使用者屬性視窗,如圖2-12所示。
使用者屬性視窗包括“general”和“notes”兩個頁籤。
general頁籤用于設定目前使用者的通用資訊,各參數的含義如下:
1)name:使用者名稱。
2)code:使用者代碼。
3)comment:使用者注釋。
4)stereotype:版本。
5)email address:使用者的e-mail位址。
6)keywords:關鍵字。
notes頁籤用于設定目前使用者的文字或公式化描述,不再贅述。
建立使用者組
使用者組(group)是指對使用者進行分類,通常将具有相同特性的使用者組成使用者組。
在power designer的需求模型中可以建立使用者組,在菜單欄選擇“model”→ “groups”菜單項,打開使用者組管理視窗,如圖2-13所示。在使用者組清單區域可以直接添加使用者組,也可單擊(add a row)按鈕添加使用者組。
輕按兩下圖2-13中的某行,或者選擇某行後單擊(properties)按鈕,彈出使用者組屬性視窗,如圖2-14所示。
使用者組屬性視窗包括“general”、“group users”和“notes”3個頁籤。
用于設定目前使用者組的通用資訊,各參數的含義如下:
1)name:使用者組名稱。
2)code:使用者組代碼。
3)comment:使用者組注釋。
5)email address:使用者組的e-mail位址。
(2)group user頁籤
用于設定目前使用者組的使用者。可單擊(add objects)按鈕,在彈出頁面中選中多個使用者後單擊“ok”按鈕,為使用者組添加使用者,如圖2-15所示。
(3)notes頁籤
用于設定目前使用者組的文字或公式化描述,不再贅述。
建立術語庫
術語庫是術語的集合,術語用于表示某一專業的特殊概念。例如,“餐飲線上點評系統”中的術語是指“團購”、“會員”等專有名詞或縮略語等。
在power designer的需求模型中可以建立術語,選擇菜單欄的“model”→“glossary terms”菜單項,打開術語庫管理視窗,如圖2-16所示。在術語庫清單可以直接添加術語,也可單擊(add a row)按鈕添加術語。
輕按兩下圖2-16中的某行,或者選擇某行後單擊(properties)按鈕,彈出術語屬性視窗,如圖2-17所示。
術語屬性視窗包括“general”和“notes”兩個頁籤。
general頁籤用于設定目前術語的通用資訊,各參數的含義如下:
1)name:術語的名稱。
2)code:術語的代碼。
3)comment:術語的注釋。
5)keywords:關鍵字。
notes頁籤用于設定目前術語的文字或公式化描述,不再贅述。
建立業務規則
業務規則(business rules)是滿足業務需求的一系列規則,可以将客戶的要求、内部準則和政府的法律等都作為業務規則,如使用者編碼、餐飲企業編碼、會員編碼的規則等。
在初始狀态,需求模型中的business rules為禁用狀态,需要通過建立擴充模型定義來啟用業務規則,啟用業務規則的方法如下:
選擇菜單欄的“model”→“extensions”菜單項,在擴充模型定義管理視窗中添加一行定義,如圖2-18所示。
選擇菜單欄的“model”→“extended model definitions”菜單項,在擴充模型定義管理視窗中添加一行定義,如圖2-18所示。
在圖2-18中輕按兩下“業務規則”行,或者選擇該行後,單擊(properties)按鈕,打開擴充模型屬性定義視窗,在該視窗選擇“profile”節點後單擊滑鼠右鍵,選擇“add metaclasses”菜單項,打開“metaclass selection”對話框,在該視窗選擇“pd common”頁籤後選中“business rule”,如圖2-19所示。
在圖2-19中單擊“ok”按鈕,傳回擴充模型屬性定義視窗,可看到此時添加了“business rule”子節點,完成啟用業務規則操作,在菜單“model”下可看到多出的“business rules”選擇項。
在菜單欄選擇“model”→“business rules”菜單項,打開業務規則管理視窗的編輯區域,可以直接添加業務規則,也可單擊(add a row)按鈕添加業務規則。
業務規則管理視窗如圖2-20所示。
輕按兩下圖2-20中的某行,或者選擇某行後單擊(properties)按鈕,彈出用業務規則屬性視窗,如圖2-21所示。
業務規則屬性視窗包括“general”、“expression”和“notes”3個頁籤。
1)name:業務規則名稱。
2)code:業務規則代碼。
3)comment:業務規則注釋。
5)type:業務規則的類型,包括constraint(限制)、definition(定義)、factor(事實)、formula(公式)、ocl constraint(ocl限制)、requirement(需求)和validation(準許)7種。
expression頁籤用于設定目前業務規則的表達式定義。
notes頁籤用于設定目前業務規則的文字或公式化描述。
2.2.3 管理rqm
設定rqm選項
在菜單欄選擇“tools”→“model options”菜單項,打開rqm選項設定對話框,如圖2-22所示。
在圖2-22的左側區域有model settings(模型設定)、requirements fonts(需求字型)和naming convention(命名約定)3個節點,各個節點的定義如下。
(1)model settings節點
用于設定模型,其中:
1)name/code case sensitive複選框:表示rqm中的對象名稱和代碼是否區分大小寫,選中表示大小寫敏感,即區分大小寫,否則表示不區分。
2)default按鈕:表示是否使用預設配置,在power designer安裝完成時,初始的預設值不區分大小寫,是以單擊“default”按鈕後設定為不選中“name/code case sensitive”複選框,但是可以通過“set as default”按鈕更改預設設定。
3)set as default按鈕:将目前設定确認為預設設定。
(2)requirements fonts節點
用于設定需求字型,如圖2-23所示。
各個參數的含義如下:
1)text:設定需求文本和各個級别。
2)font:設定字型,如宋體、微軟雅黑等。
3)font style:設定字形,如加粗等。
4)size:設定字号。
5)color:設定字型顔色。
6)effects:設定所選内容的顯示效果,“strikeout”表示文字中間顯示删除線,“underline”設定文字下劃線。
7)preview:顯示上述設定的預覽效果。
(3)naming convention節點
設定命名約定等,如圖2-24所示。
其中各參數的含義如下:
1)display:設定顯示内容,“name”表示設定模型圖形中對象的名稱,“code”表示設定模型圖形中對象的代碼,“enable name/code conversions”表示對象名稱和對象代碼可互相轉換。
2)name/code标簽:設定模型對象名稱/代碼的命名約定。其中,“name template”指定名稱模闆;“maximum length”設定最大長度;“character case”設定字元的大小寫約定,“uppercase”表示大寫,“lowercase”表示小寫,“mixed case”表示混合使用;“valid characters”設定有效字元,選中“all valid”表示全部有效;“invalid characters”設定無效字元,選中“no accents”表示沒有強調;“default character”設定預設字元。
3)name to code/code to name标簽:設定模型對象名稱到代碼/模型對象代碼到名稱的轉換約定。其中,“conversion script”設定轉換約定的腳本,“conversion table”設定轉換表。
設定rqm屬性
在菜單欄選擇“model”→“model properties”菜單項,打開模型屬性設定視窗,如圖2-25所示。
rqm屬性設定視窗預設包括4個頁籤,分别為“general”(通用資訊)、“detail”(詳細資訊)、“traceability links”(追蹤連結資訊)和“notes”(注釋資訊),單擊“more>>”按鈕,可檢視更多的屬性頁籤設定。
定義需求的通用資訊。各參數的含義如下:
1)name:需求模型的名稱。
2)code:需求模型的代碼。
3)comment:需求模型的注釋資訊。
4)file name:未儲存之前,此項顯示為空,需求模型儲存後,顯示需求模型的存放路徑和檔案名稱。
5)author:文檔作者。
6)version:文檔版本。
7)default view:預設的需求文檔視圖。如果有多個需求文檔視圖時,可從下拉清單中選擇一個選項,設定完成後打開模型時将預設顯示所設定的default view。
8)keywords:關鍵字。
定義完成項目需求需要的工作量(workload),機關可設定為“天”或“小時”,可保留一位小數。detail頁籤如圖2-26所示。
rqm需要的總工作量是所有子需求總工作量的總和,workload 1、workload 2、workload 3和workload 4分别表示該rqm分别給第一、第二、第三和第四個人或團隊的工作量。
(3)traceability links頁籤
設定rqm連接配接的設計對象和外部檔案,以便幫助使用者更好地了解需求。traceability links頁籤如圖2-27所示。
單擊圖2-27的按鈕,彈對外連結接外部設計對象視窗,單擊按鈕,彈出選擇外部檔案頁面,可選擇本地硬碟上的“解決方案”或相關規範文檔作為連結文檔。
(4)notes頁籤
該頁籤包括“description”和“annotation”兩個标簽,其中“description”表示需求屬性的文字描述,“annotation”表示需求屬性的公式化描述。
導出需求模型
在菜單欄選擇“report”→“reports”菜單項,打開報表清單對話框,如圖2-28所示。
在圖2-28中單擊(new report)按鈕,打開建立報表對話框,如圖2-29所示。
在圖2-29中“report name”文本框中指定“報表名稱”,在“language”文本框中指定語言為“simplified chinese”(簡體中文),“report template”用于指定報表模闆,包括“”、“full requirement report”、“list requirement report”和“standard requirement report”4個選項,可選擇“standard requirement report”選項表示生成标準的需求報告,選中“use legacy report editor”表示使用傳統的編輯器,單擊“ok”按鈕,打開報表屬性設定視窗,如圖2-30所示。
在圖2-30的左側為所有可選的報表導出項,右側為已設定的報表導出項,使用者可以自行設定導出項,也可使用預設導出項配置,筆者隻是删除了節點的“%item%”前的“需求”字樣,然後單擊工具欄的按鈕,将需求模型導出為rtf文檔,效果如圖2-31所示。