Comparison of UML Modelling Tools: Sparx Systems "Enterprise ...
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

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

on

  • 3,230 views

 

Statistics

Views

Total Views
3,230
Views on SlideShare
3,230
Embed Views
0

Actions

Likes
0
Downloads
64
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 1. 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 Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk
  • 2. 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. Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk
  • 3. 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: Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk
  • 4. UML Feature EA Together UML 2.0 Yes No Hyperlink from UML Yes Yes Diagrams and Elements to URLs Hyperlink To Other UML No Yes, Multiple Diagrams and Elements Convert Sequence Yes, with downloadable Yes Diagrams to Collaboration plugin Diagrams and vice versa Create Diagram Elements Yes Yes from Explorer Tree 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 Yes, basic text on relevant elements, user defined or elements pre-defined UML UML Standard Yes Yes Stereotypes User Defined Stereotypes Yes Yes Custom Icons for Yes, some pre-defined, Yes, some pre-defined, Stereotypes additional set in profiles additional set in config files Additional Diagram Types Limited, Analysis (simple Yes, powerful, J2EE Shipped with Product activities) and Custom development and (GUI, Requirements and deployment, business Testing and change icons) modelling, Data Modelling and Real Time custom diagrams Add Custom Diagram Yes using profiles Yes, by creating and types editing config files Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk
  • 5. Extensions EA Together Business Modelling Yes, via Eriksson Penker Yes, via proprietary Extensions profile, available for diagram Business Process download Diagram Data Modelling Yes, using class diagrams Yes, via custom ER with “data” stereotype diagram Activation (programmable Yes API available via Yes API available using extension of functionality) ActiveX 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: Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk
  • 6. 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 Yes Download CORBA (IDL) Yes, with MDG Yes Download PHP Yes No Databases (DDL) Yes Yes IDL Yes, with MDG Yes download Python Yes, with MDG No download 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. Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk
  • 7. Generation Feature EA Together Round Trip Engineering of No Yes source code from Sequence Diagrams Reverse Engineering from Yes, Java .jar files, .NET Yes, Java .jar or .zip files binary files PE files , .il files Create classes from Yes, with GOF patterns Yes GOF and others patterns download, available from shipped Sparx website Create User Defined Yes Yes Patterns Create XML Schemas Yes from Class Diagrams Yes from proprietary XML Structure Diagram Import Database Schemas Yes by connection to the Yes by connection to the DB DB Export DDL Yes, via stereotyped Yes, via entity relationship classes on class diagrams diagrams, class diagrams or EJBs MDA Support Yes, with templates for None specific. Other code PIM to PSM conversion, generation features helpful internal bindings for re- though synchronisation and auto detection of pre-existing code to prevent overwriting. (Supports DDL, EJB, Java, C#, XSD) Table 4 - Additional Generation Features Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk
  • 8. 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 Yes Yes (includes Javadocs if Documentation Java) Generate RTF Yes Yes (includes Javadocs if Documentation Java) Windows Yes Yes Linux Problematic, Only with Yes Windows emulator install Mac OS No Yes Solaris No Yes Integrated Version Control Yes CVS, SCC, Clearcase, Yes, CVS, StarTeam *, Client Perforce and AccuRev™ SCC, Clearcase™ Copy Diagrams to Yes, BMP or WMF Yes, BMP or WMF Clipboard Save Diagrams as file Yes, as WMF, EMF, Yes, as GIF, WMF and BMP, PNG, JPG and TGA 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. Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk
  • 9. 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 Yes using Use Cases Yes Using Use Cases Modelling Requirements Yes, using simple Yes using simple Management requirements traceability requirements interface, or interface 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 Yes, Full development Generation/Reverse environment, syntax engineering only. Syntax colouring and completion, aware editor. class definition navigation, class generation wizards full featured debugger etc. Implementation Help using forward Livesource™ instant engineering, see table 3 for creation. See table 3 for language support language support. Full, rich development environment if Java Version Control Yes using CVS natively Yes using a variety of built with support for Perforce, in clients. Additional Accurev, SCC and VSS. plugin integrates with StarTeam™ * to give full, rich client Project Baseline and Yes, multiple baselines per None Specific, use Comparison Support package. Elements only StarTeam or current plugin (not diagrams) for non-basic version functionality Testing Yes, management support Yes, Fully integrated Unit for recording different test testing framework if types and results, development in Java traceability to individual elements Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk
  • 10. Project Discipline EA Together Deployment No Yes, proprietary diagram for J2EE web deployment, full integrated test servers if Java Documentation Yes, HTML, RTF with Yes, HTML, RTF, PDF Templates with Templates and fields Metrics Yes, Use Case complexity Java only, multiple and resources categories Audits No Java only, multiple categories Project Management Yes, Change, Defect and None specific Resource Management with specific matrices and tables Reports Yes, various different Via exporting of Metrics views, e.g. Glossary and Audit results Multiple Concurrent User Yes via full enterprise Yes via shared network support class SQL database with drive with access security database access security and control as provided by and control 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. Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk
  • 11. 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. Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk
  • 12. 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 Jeremy Meyer, Dunstan Thomas Consulting http://consulting.dthomas.co.uk