自從1997年正式發布UML以后,大量商用UML建模CASE工具粉墨登場。這樣為我們提供了許多的選擇,同時也要求我們在選擇正確的UML建模工具以更好地適應我們業務和軟件應用程序開發需求,達到最好的投資回報率(ROI)方面做大量的調查。在這篇文章中,我們將比較兩款CASE工具的UML建模能力、雙向工程特性和項目生命周期支持:Sparx Systems的Enterprise Architect(EA)專業版V.3.51和IBM Rational的Rational Rose企業版V.2002。
為什么我們需要UML建模CASE工具
今天,系統的構建變得越來越復雜,UML建模CASE工具為項目相關人員(如,項目經理,分析員,設計者,構架師,開發者等)提供了許多的好處。UML建模CASE工具允許我們應用規范的面向對象分析和設計的方法與理論,遠離糾纏不清的源代碼,達到構建和設計變得更直觀,更容易地理解與修改的層次。在大型項目中,使用CASE工具更重要。通過使用CASE工具:
* 通過用例模型,業務/系統分析可以捕獲到業務/系統需求。
* 設計者/構架師所作的設計模型能在不同層次的同一層內清晰表達對象或子系統之間的交互(典型的UML圖如類圖和交互圖)。
* 開發者能快速地將模型轉變為一個可運行的應用程序,尋找類和方法的子集,以及理解它們如何交互。
模型被看作是藍圖和構建系統的最終手冊。同樣,建模也就是一種從高層并以適當的形式來考慮一個設計的表述和理解它怎樣運行的能力。
出于這些動機,UML CASE工具以及對應的方法論為我們提供了一種因系統太復雜而不能理解下層源代碼的描述系統的方法,同時允許我們更快更便宜地開發正確的軟件解決方案。
當然,要考慮CASE工具在UML建模能力,項目生命周期支持,雙向工程,數據建模,性能,價格,可支持性,易使用性等方面的不同。這篇文章將探索Rose與EA在UML建模,項目生命周期支持以及雙向工程領域的相同點和不同點,希望能幫助你在你的項目中選擇正確的工具。
UML建模特性
UML標準由三部分組成,即:構造塊(如對象,類,消息),構造塊間的關系(如關聯,泛化)和圖(如,活動圖)。UML profile使用UML可擴展性機制擴展標準UML符號,即,構造型,標注值和約束。EA專業版V.3.51和Rational Rose V.2002.05都支持UML 1.4 九種圖中的八種標準UML圖 - 用例圖,類圖,序列圖,協作圖,活動圖,狀態圖,實現圖(組件)圖,部署圖,和幾種UML Profiles. 如果需要,對象圖可以使用協作圖來創建。不同點僅僅存在于創建UML圖(表1)和擴展UML profiles時所支持的一些特性。
UML圖 | 功能 | EA | Rose |
用例圖 | 建立描述領域的邊界 | Yes | No.但是,一些工作使用文本或包。 |
序列 協作 | 序列圖與協作圖之間的相互轉化 | No | Yes |
序列 | 更改消息的范圍 | Yes | No |
序列 | 顯示消息層次號碼 | Yes | No |
序列 協作 |
在瀏覽器中創建對象 | Yes | No |
序列 | 管理控件的焦點 | 容易 | 困難 |
所有 | 圖的屬性 | Yes | No |
UML Profiles | EA | Rose |
業務流程建模 | 支持Eriksson-Penker業務流程建模擴展 | 使用UML活動圖 |
業務建模 | No | Yes |
數據建模 | Yes | Yes |
用戶體驗建模 | Yes | No |
Web建模 | Yes | Yes |
Yes | No | Yes |
XML DTD | No |
表2. EA和Rose的UML Profile比較
雙向工程
雙向工程包括正向工程 - 從模型到代碼 和反向工程?。拇a到模型。一旦設計完成后,使用模型(設計模型和數據模型)信息能夠生成特定編程語言的源代碼或者數據庫的DDL腳本。當開發人員添加/更改代碼或數據庫實現時,設計和數據模型能夠通過雙向工程同步代碼或DDL腳本以保持一致。表3顯示了EA和Rose雙向工程的特征。
語言 | EA | Rose |
ANSI C++ | Yes | Yes |
Visual C++ | No | Yes |
VB6 | Yes | Yes |
Java | Yes | Yes |
C# | Yes | No |
VB.NET | Yes | No |
Delphi | Yes | No. 第三方附加項. |
J2EE/EJB | No | Yes |
CORBA | No | Yes |
Ada83, Ada95 | No | Yes |
Database | Yes. 從數據模型到DDL腳本的正向工程。ODBC數據源的反向工程 | Yes.DB2,Oracle, SQL 92, SQL Server, Sybase |
COM | No | Yes. 只是反向工程 |
Web應用程序 | No | Yes |
項目科目 | EA | Rose |
業務建模 | Yes. 使用UML Profile為業務流程建模 | Yes.使用業務用例模型 |
需求管理 | Yes. 功能和非功能需求;需求跟蹤矩陣 | 合并RequisitePro |
分析和設計 | Yes;UML類圖和交互圖,如果需要可以添加一些原型,如<<層>>,<<用例實現>> | Yes;UML類圖和交互圖 框架向導提供了一系列的模板來構造模型 |
實現 | 參見表3;適合C++,VB,C#和VB.NET項目 | 參見表3;支持大多數語言,除了.NET外 |
測試 | Yes | No. Quality Architect提供了單元測試,但是它需要其他的Rational工具,如Test Manager,Robot |
版本控制 | 不直接支持。使用控制單元,為將來發布計劃。 | 集成SCC相應版本控制應用程序 |
項目管理 | 風險管理、資源分配、項目預算 | No |
Web發布 | Yes | Yes |
生成報表 | Yes | No. 使用SoDA. |
多用戶協作 | Yes | Yes |
原文轉自:http://www.anti-gravitydesign.com