產生程式碼
只要從模型產生程式碼,小組就能非常快速、可靠地回應使用者需求的變更。 如果小組開發類似的產品線或依賴常用的模式,產生程式碼特別有效。
小組可以產生程式碼、結構描述、文件、資源和任何類型的其他成品。 小組可以使用統一模組化語言 (Unified Modeling Language,UML) API,撰寫質詢模型的文字範本。 如需詳細資訊,請參閱如何:從 UML 模型產生檔案。
在大部分情況下,小組不會從模組產生所有的程式碼。 透過使用部分類別這類技巧,小組可以讓產生的程式碼從手寫程式碼獨立出來。 不要編輯產生的程式碼, 而是要更新模型,這將進而更新程式碼。
程式碼產生有助於下列各類情況:
產品線。 Fabrikam 是一家建置及安裝機場行李處理系統的公司。 許多軟體的安裝流程都十分類似,但軟體組態則須取決於安裝的行李處理機器,以及輸送帶連結這些組件的方式。 在合約開始時,Fabrikam 的小組首先討論機場管理的需求,然後使用 UML 活動圖表勾勒出輸送帶計劃。 小組透過此模型產生了組態檔、程式碼、和使用者指南。 他們對程式碼進行手動附加和調整,完成工作。 他們藉由工作累積經驗,進而擴充產生的內容範圍。
模式。 Contoso, Ltd 的開發人員經常建置網站, 並以 UML 類別圖表 (使用類別和關聯代表網頁與巡覽連結) 設計巡覽配置。 許多網站程式碼都可以產生出來。 每個網頁各對應於數個與統一模式相符的類別和資源檔項目, 因而能達到優於手寫程式碼的可靠性和彈性。
結構描述。 Humongous Insurance 在全球各地擁有數以千計的系統。 這些系統使用不同的資料庫、語言和介面。 中央架構小組負責發行企業概念和流程的內部模型。 圖表使討論設計變得很容易。 地區小組可以從這些模型產生部分的資料庫、XML 結構描述、C# 宣告和其他項目。
自訂模組化語言
在先前的範例中,每家公司對模型都有非常專門的用途。 雖然您可以用活動圖表來代表行李追蹤,但最好是用正式的行李追蹤標記法。 Visual Studio 支援下列方法:
自訂有造型的 UML 圖表。 造型可讓您區別不同類型的項目 (例如區分旅客登機手續櫃臺與 X 光安檢機),並記錄每個項目中的其他屬性。 如需詳細資訊,請參閱如何:定義要擴充 UML 的設定檔。
自行設計網域指定的語言 (Domain-Specific Language,DSL)。 如果您在目標網域進行大量工作,額外的處理可能相當值得一試以適應更具體的需求。 如需詳細資訊,請參閱Modeling SDK for Visual Studio - 網域指定的語言。
小組可以使用 Visual Studio SDK,建立功能表命令、驗證測試和這兩種模型的工具列項目。 您也可以建置能夠將圖表整合並結合到外部資源 (如資料庫) 的 Visual Studio 擴充功能。