Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

12
Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk Comparison of UML Modelling Tools: Sparx Systems “Enterprise Architect 5.0” and Borland “Together Architect 1.0” Jeremy Meyer, Dunstan Thomas Consulting, July 2005 http://consulting.dthomas.co.uk Contents: Abstract ..................................................................................................................... 2 Why use Case Tools? ................................................................................................ 2 Feature Comparisons ................................................................................................. 3 UML Features ....................................................................................................... 3 Round Trip Engineering ........................................................................................ 5 Additional Generation Features ............................................................................. 6 Compatibility ........................................................................................................ 8 Project Lifecycle Support ...................................................................................... 8 Practical Considerations .......................................................................................... 10 Usability.............................................................................................................. 10 Cost ..................................................................................................................... 11 Conclusion .............................................................................................................. 12

description

 

Transcript of Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

Page 1: Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk

Comparison of UML Modelling Tools:

Sparx Systems “Enterprise Architect 5.0” and

Borland “Together Architect 1.0”

Jeremy Meyer,

Dunstan Thomas Consulting, July 2005

http://consulting.dthomas.co.uk

Contents: Abstract..................................................................................................................... 2 Why use Case Tools? ................................................................................................ 2 Feature Comparisons................................................................................................. 3

UML Features ....................................................................................................... 3 Round Trip Engineering ........................................................................................ 5 Additional Generation Features ............................................................................. 6 Compatibility ........................................................................................................ 8 Project Lifecycle Support ...................................................................................... 8

Practical Considerations .......................................................................................... 10 Usability.............................................................................................................. 10 Cost..................................................................................................................... 11

Conclusion .............................................................................................................. 12

Page 2: Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk

Abstract UML is currently so widely used in software and business modelling that you would need a very good reason to use anything else. Project managers, business analysts, software architects and developers can all leverage UML to support their work and their communication about their projects and systems. There are many CASE tools currently available to aid UML diagramming within a development process. Although UML is very useful as a pen and paper notation, these tools are vital for the successful and scaleable use of UML in larger projects. This article takes the form of a comparison between two of them: “Enterprise Architect v5.0” by Sparx Systems http://www.sparxsystems.com.au/ and “Together Architect v1.0”, by Borland http://www.borland.com/us/products/together/. Borland have recently announced the forthcoming release of Borland Together® 2006 which will add additional features and support for later versions of the UML. As this product is not yet available, it is beyond the scope of this article, but will be covered in future articles.

Why use Case Tools? The last few years in the IT industry have seen demand increase for more and more complex systems, which show an increasing amount of detail. Systems are becoming larger. More complex business models are being used, such as outsourcing to off-shore developers, or “insourcing”, using independent consultants. This has vastly increased the need to design and define systems in an unambiguous but implementation neutral form. Such a system definition allows business analysts, subject matter experts and all other stakeholders to create, discuss, validate and extend systems without needing to be software experts. UML, the Unified Modelling Language, (originally released in 1997), has become the de facto standard for modelling notations. This combination of notations from three modelling experts (Booch, Rumbaugh and Jacobson) has evolved from many years of knowledge and experience and is consistent, extensive and prevalent enough to be the first choice of notation. It is particularly suited to object oriented software development, but by no means limited to that. New employees are more and more likely to have had prior exposure to UML and the support by multiple tools has made it the obvious choice. The recent release of UML 2.0 has introduced extensions to the UML which gear it towards supporting the notion of MDA, or Model Driven Architecture. This is the ideal of a software model, independent of any platform, which completely and consistently defines the system. The idea is that because of its completeness, it can be deployed to any chosen platform at the click of a button. Whether or not this will ever be possible (or is even desirable) is a contentious issue in the software world. Either way, the result of this driving force is that UML 2.0 has become an enormously rich notation for modelling all aspects of business and software systems.

Page 3: Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk

The UML is a notational language for describing systems. It is not a development process or methodology, nor is it a project management tool. It is, however, an excellent complement to any tool which offers these capabilities. By building a UML model of a system, project managers, business analysts, architects and developers can all capture every aspect of the system, from requirements and analysis, through development and deployment. This model can be the focus of discussions about validity, time planning, complexity assessments, improvements, training and can even form the basis of contractual agreements. The various UML CASE tools available provide tools to support this functionality in varying degrees. Hopefully this article will equip the reader with enough insight into the features of Borland’s “Together Architect”, and the Sparx Systems’ “Enterprise Architect” to be able to make an informed decision as to which tool best suits their purposes.

Feature Comparisons

UML Features The UML consists of approximately 8 diagram types in v1.x and 13 in v2.0 which between them allow the visual representation of both the static relationships within the system and its dynamic behaviour. The reason for the approximation is that diagrams like Object and Package are not always considered to be diagrams in their own right. Together Architect (Together) currently supports only the UML 1.5 diagram types, Use Case, Class (Structure), Sequence (Interaction), Collaboration (Communication), State, Activity, Component and Deployment diagrams. Objects can be drawn on the class, collaboration and activity diagrams. Enterprise Architect (EA) supports the UML 2.0 extensions which include the two new diagram types, Interaction Overview and Timing and also the extended functionality like fragments and composite structure. Objects can be drawn on any of the other diagrams. There are various features which make the design and creation of UML models easier. The following table lists some of the significant UML modelling features allowed by the tools:

Page 4: Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk

UML Feature EA Together UML 2.0 Yes No Hyperlink from UML Diagrams and Elements to URLs

Yes Yes

Hyperlink To Other UML Diagrams and Elements

No Yes, Multiple

Convert Sequence Diagrams to Collaboration Diagrams and vice versa

Yes, with downloadable plugin

Yes

Create Diagram Elements from Explorer Tree

Yes Yes

Table 1 - UML Diagram Modelling The UML can be extended to express a finer level of detail using any of three techniques. Tagged Values are labels which can be attached to UML elements, Constraints are logical conditions that can be applied to the elements or relationships on a diagram and Stereotypes are qualifiers that narrow the meaning of elements and relationships. Both tools can be extended by adding new diagram types. In the case of EA, profiles can be defined, shared and downloaded, whilst in Together the configuration files can be updated and new ones added to produce custom diagrams. Both tools also provide application/programmer interfaces (APIs) with which programmers can write programs and scripts against the tool to automate functionality. The following table shows some of the extensions that are allowed: Extensions EA Together UML Tagged Values Yes No UML Constraints Yes, on relevant diagram

elements, user defined or pre-defined UML

Yes, basic text on relevant elements

UML Standard Stereotypes

Yes Yes

User Defined Stereotypes Yes Yes Custom Icons for Stereotypes

Yes, some pre-defined, additional set in profiles

Yes, some pre-defined, additional set in config files

Additional Diagram Types Shipped with Product

Limited, Analysis (simple activities) and Custom (GUI, Requirements and Testing and change icons)

Yes, powerful, J2EE development and deployment, business modelling, Data Modelling and Real Time custom diagrams

Add Custom Diagram types

Yes using profiles Yes, by creating and editing config files

Page 5: Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk

Extensions EA Together Business Modelling Extensions

Yes, via Eriksson Penker profile, available for download

Yes, via proprietary diagram Business Process Diagram

Data Modelling Yes, using class diagrams with “data” stereotype

Yes, via custom ER diagram

Activation (programmable extension of functionality)

Yes API available via ActiveX

Yes API available using Java, Tcl or Jython (plans to support only Java in future)

Table 2 - Extensions

Round Trip Engineering Round trip engineering is the process of converting a UML class model into source code via forward engineering and back again via reverse engineering. The latter is a very useful feature for creating UML models from an existing source code base. Both EA and Together support round trip engineering. EA uses the more traditional approach of allowing either source code generation or source code importing (or synchronising), and extends its functionality using MDG, or Model Driven Generator technology, downloadable plugins which extend EA’s functionality to engineer to and from different languages. Together uses its powerful, trademarked Livesource™ technology to continuously update the model from the source code and vice versa, making regular reverse engineering or synchronisation unnecessary. It can also import existing code. Round trip engineering requires support of a particular language. The following table lists the languages supported by EA and Together:

Page 6: Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk

Language EA Together Ansi C++ Yes Yes (source and header files) VB6 Yes Yes Java Yes (JDK 1.4) Yes (JDK 1.4) C# Yes Yes VB.NET Yes Yes Delphi Yes No J2EE/EJB Yes, with MDG

Download Yes

CORBA (IDL) Yes, with MDG Download

Yes

PHP Yes No Databases (DDL) Yes Yes IDL Yes, with MDG

download Yes

Python Yes, with MDG download

No

Table 3 - UML Language Support

Additional Generation Features In addition to engineering diagrams from user defined classes there are other powerful features that a CASE tool can provide to aid faster model building and code generation. MDA support allows the creation of a platform independent model (PIM) which can be maintained separately and deployed to a particular domain in one, single step. This reduces the tie-in to any particular language or platform. Design patterns are elements of reusable design that are well known and documented. The first and best known collection of these is to be found in the Gang of Four, or GOF pattern book, named for its four authors. The ability to create the multiple classes that collaborate to form a design pattern is an excellent time saving feature. Both EA and Together provide pattern support.

Page 7: Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk

Generation Feature EA Together Round Trip Engineering of source code from Sequence Diagrams

No Yes

Reverse Engineering from binary files

Yes, Java .jar files, .NET PE files , .il files

Yes, Java .jar or .zip files

Create classes from patterns

Yes, with GOF patterns download, available from Sparx website

Yes GOF and others shipped

Create User Defined Patterns

Yes Yes

Create XML Schemas Yes from Class Diagrams Yes from proprietary XML Structure Diagram

Import Database Schemas Yes by connection to the DB

Yes by connection to the DB

Export DDL Yes, via stereotyped classes on class diagrams

Yes, via entity relationship diagrams, class diagrams or EJBs

MDA Support Yes, with templates for PIM to PSM conversion, internal bindings for re-synchronisation and auto detection of pre-existing code to prevent overwriting. (Supports DDL, EJB, Java, C#, XSD)

None specific. Other code generation features helpful though

Table 4 - Additional Generation Features

Page 8: Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk

Compatibility The platform that a tool runs on, the standards to which it conforms and any plugins that can be used obviously affect is overall usefulness. The ability to share UML diagrams with other UML tools is vital for working with legacy models, or for sharing models across different tools. The most used format is XMI which is a standard defined by the OMG. Tools that can import and export XMI can at least share diagrams, although the layout information is not retained which makes the concurrent use of two different tools problematic. The following table lists some of the compatibilities: Compatibility EA Together XMI import / export Yes , multiple versions Yes, multiple versions Rose Import Only via XMI Yes using MDL files, so

layouts are preserved Generating HTML Documentation

Yes Yes (includes Javadocs if Java)

Generate RTF Documentation

Yes Yes (includes Javadocs if Java)

Windows Yes Yes Linux Problematic, Only with

Windows emulator install Yes

Mac OS No Yes Solaris No Yes Integrated Version Control Client

Yes CVS, SCC, Clearcase, Perforce and AccuRev™

Yes, CVS, StarTeam *, SCC, Clearcase™

Copy Diagrams to Clipboard

Yes, BMP or WMF Yes, BMP or WMF

Save Diagrams as file Yes, as WMF, EMF, BMP, PNG, JPG and TGA

Yes, as GIF, WMF and SVG

Table - 5 Compatibility

Project Lifecycle Support As noted earlier, UML is an excellent notation to complement the methodologies and processes involved in defining and developing systems. Much of the actual functionality, though, needs to be provided by the CASE tool. A single, integrated tool which supports version control, requirements management, project management, or even software development, testing and deployment can hugely speed up and improve the development lifecycle. Audits can be run against software, to measure it for style, efficiency, common errors and good practice. This is a very useful way of measuring quality. Metrics can also be applied to estimate time and complexity and to measure progress.

Page 9: Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk

Change control, or version control is vital in any project. Tools vary in simplicity. The most basic allow simple versioning and comparison, possibly with some file locking to prevent one user from overwriting the work of another, the more complex ones allow full process control, defect tracking and threaded discussions. Fixing a baseline, in a project, or taking a “snapshot” is a good way to manage change. This provides a known release, or version to which project branches can be compared, helping to measure progress and track problems that have occurred in more recent versions. The following table shows some of the support provided for different aspects of the development lifecycle: Project Discipline EA Together Business Requirements Modelling

Yes using Use Cases Yes Using Use Cases

Requirements Management

Yes, using simple requirements traceability interface

Yes using simple requirements interface, or additional plugins for Caliber RM or DOORS with powerful client and full versioning, traceability etc.*

Analysis and Design Yes using UML Yes using UML Software Development Source

Generation/Reverse engineering only. Syntax aware editor.

Yes, Full development environment, syntax colouring and completion, class definition navigation, class generation wizards full featured debugger etc.

Implementation Help using forward engineering, see table 3 for language support

Livesource™ instant creation. See table 3 for language support. Full, rich development environment if Java

Version Control Yes using CVS natively with support for Perforce, Accurev, SCC and VSS.

Yes using a variety of built in clients. Additional plugin integrates with StarTeam™ * to give full, rich client

Project Baseline and Comparison Support

Yes, multiple baselines per package. Elements only (not diagrams)

None Specific, use StarTeam or current plugin for non-basic version functionality

Testing Yes, management support for recording different test types and results, traceability to individual elements

Yes, Fully integrated Unit testing framework if development in Java

Page 10: Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk

Project Discipline EA Together Deployment No Yes, proprietary diagram

for J2EE web deployment, full integrated test servers if Java

Documentation Yes, HTML, RTF with Templates

Yes, HTML, RTF, PDF with Templates and fields

Metrics Yes, Use Case complexity and resources

Java only, multiple categories

Audits No Java only, multiple categories

Project Management Yes, Change, Defect and Resource Management with specific matrices and tables

None specific

Reports Yes, various different views, e.g. Glossary

Via exporting of Metrics and Audit results

Multiple Concurrent User support

Yes via full enterprise class SQL database with database access security and control

Yes via shared network drive with access security and control as provided by the network

Table 6 - Project Lifecycle Support

Practical Considerations

Usability Together is more Java focussed and is usable as a development and testing environment in its own right, although it does provide code generation for the other languages mentioned in the tables above. It has very powerful Java metric and audit capabilities and can engineer source code to and from dynamic sequence diagrams with options for keeping or overwriting existing source code. The UML diagram GUI is good for creating diagrams quickly, and adding detail although the layout options can seem a little primitive at times. It provides basic requirements and version control functionality, and has plugins for very powerful tools for both, but these are additional to the product (see pricing below). It runs on multiple platforms but can be very demanding on system resources, Borland recommend 1 GB of RAM (512MB is the suggested minimum) to run Together compared with Sparx’s recommendation of 128MB to run EA. Together does come with multiple features which can be activated and de-activated so that the minimal useful configuration can be selected. For example, the real-time features can be turned off, which means that the real-time diagrams will not be available, but the product will require less memory.

Page 11: Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk

Enterprise Architect currently supports UML 2.0 very extensively and focuses on providing relatively simple but very useful non language specific metrics, as well as test and defect management without the addition of any other products or plug-ins. It provides good support for the application lifecycle, and good forward and reverse engineering although it doesn’t yet have any source code generation capability from dynamic UML diagrams. The UML diagram GUI is fairly slick, although when adding properties to elements you have to remember to save them individually, which sometimes causes confusion. It does not favour one language over any other, although it has awareness of the proprietary format of Java EJBs. EA doesn’t currently run natively on any platforms other than Windows although it can be run on Linux with a Windows emulator pre-installed.

Cost The costs of the two tools are extremely different. At time of writing, Enterprise Architect was available for purchase for £199 per licence for 1-4 licences of the Corporate Edition version, which comes down to £118 each if 100 or more licences are bought. The Desktop version is their cheapest, which doesn’t support code engineering, but for 1-4 licences costs about £118 per licence and for over 100 licences around £98 each. Together Architect costs approximately £3000 for a single licence and approximately £5000 for a multi-user networked licence. To use the StarTeam™ plugin for integrated version control, you would need to purchase StarTeam™ separately, which would cost about £2500 for an enterprise licence, or as little as £700 pounds for a named user licence. (Note that you could make use of the generic version control functionality shipped with the product if your version control requirements don’t extend beyond those products, e.g. CVS, PVCS etc.) To integrate the requirements management functionality you would need to purchase the CaliberRM™ product as a separate tool. (Note again that you could use some of the basic requirements support shipped with Together). It is harder to obtain a price for CaliberRM ™ because Borland use a flexible pricing model, but you should expect the price to be somewhere between that of Together and StarTeam.

Page 12: Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...

Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk

Conclusion Both of these tools provide very powerful support for UML design and development. Both are extensible to provide extra functionality Together is a better choice for a full development lifecycle tool if code creation, testing and deployment are required - especially when developing Java / J2EE across multiple platforms. The Livesource™ technology means that reverse engineering is unnecessary, so if you prefer to keep the model constantly in synch with the source then that is a handy feature. The development and debugging environment has extensive functionality, with development tool features like single stepping, introspection, refactoring and so on. It is also a good choice if requirements management and version control are needed, as it supports the powerful, but expensive, Caliber™ and StarTeam™ plugins. Although Together Architect is not UML 2.0 compliant yet, Borland do have other Together editions which are, and future releases of Together Architect will support UML2.0, although apparently these will leverage the development environment of the powerful, free, open source Eclipse™ platform rather than provide it with the product. EA offers excellent language support and very impressive UML 2.0 compatibility and if the latest UML version is a priority, then EA is an obvious choice. It is shipped with very effective version control which even supports baseline fixing and allows the tracing and management of requirements on diagram elements. The latest version also has support for AccuRev and Perforce version control software. Although it doesn’t provide much support for the actual programming aspect of the software development process, it offers excellent support for the full project lifecycle and good round trip engineering without the need for additional products. Its incredibly attractive price tag makes it a very good choice for a company wanting to have a powerful UML tool on everyone’s desk. * Requires additional Purchase