Visual modelling tools are plentiful, but each tool is suited to a different type of application environment. John Hunt takes a look at some the design modelling tools on offer

back to top   Mad About Modelling

 

This product Roundup considers a variety of different design modelling tools. It includes a range of different approaches, including the approach taken in Visio Enterprise (originally a diagramming tool) as well as that taken in SELECT Enterprise (a component-oriented design system). One interesting aspect of these tools is that you need to be careful not to judge the system by the cover. Some of the tools come in impressive looking boxes with a plethora of manuals, books, and supporting documentation. Rational Rose '98 includes 11 manuals, at least two of which are very weighty, and an Addison-Wesley book on using UML in Rose. ProVision, on the other hand, provides two thin binders and a CD. It remains to be seen whether the quantity of the documentation correlates with the quality of the software systems provided.

If you are considering purchasing such a tool, then bear in mind that it is useful to come up with some criteria against which you are going to assess it. Not all these tools take the same approach, and your requirements may differ, so comparing like with like is simpler if you know what you are looking for. The following bullet points present a possible checklist against which you can assess any particular tool:

This list is not complete by any means and, to some extent, is biased towards my own experiences and requirements, but then, yours should be as well. One particular aspect that has been left off the list is the ability to generate source code automatically from the design models. This is for two reasons. Firstly, I have rarely found that the resulting auto-generated code is that useful, and secondly, the gap between the design models and the actual implementation is often greater than many designers would like to admit. I have therefore not included this aspect in this roundup, although I am aware that a number of tool vendors make a great play of this feature!

In the remainder of this product roundup I have used the above checklist as the basis of my assessment. However, at the end of the roundup I point out which tools I would have selected, depending on different selection criteria.

back to top   Visio Enterprise 5.0

 

I have used Visio as a drawing tool for number of years now and have used it successfully to provide all the diagrams for a number of object-oriented textbooks, including some using UML. However, this was the first version I have used that provided explicit support for software design. Before we go further, it should be noted that, in addition to providing the ability to provide a Software system design, Visio Enterprise also provides facilities for diagramming database designs, system networks, and anything else you may wish to use a drawing tool for. This includes producing a layout plan for your office. So, unlike the remaining tools in this roundup, it is not limited to designing software systems.

Taking this into account, I find Visio very impressive. It provides a very high level of support for the production of UML diagrams, including full support for the OMG UML 1.1 standard, error checking of the evolving models, and different views for the different types of UML model. It also supports different types of notation, including Booch, OMT, Fusion, and OOSE. However, it does not have any facility to view a model using different notations directly. It also allowed me to happily define a use case model on the static class view, which is something that I only realised when I tried to change to the class view. The display is also quite cramped, with a model navigator pane, the drawing area plus stencils, and an errors and documentation window.

The stencil structure will be familiar to anyone who has used Visio. This made it very easy to start producing diagrams and allowed me to build on my previous experience. Once I had produced my design, I was able to save it into Microsoft Repository, which allowed me to exchange models with a variety of other design tools.

The major weaknesses of Visio Enterprise are due to its diagram generation roots. There are times when it is quite clear that you are primarily generating diagrams that can be analysed with some nifty new additions. One major gripe I have with this product is that it provided direct support for Visual C++ and Visual Basic (in terms of reengineering code and the default data types available). It did not support any other languages, which is a problem, because I primarily work with Java. However, for an organisation that does not want to invest in different tools for diagram generation, database design, network structure analysis and diagramming as well as software design, Visio is an ideal solution.

Plus Points

Easy to use with a single intuitive interface, and support for cross diagram and UML syntax checking.

Minus Points

Betrays diagramming background at times, only supports Visual C++ and Visual Basic directly

Visio Enterprise 5.0
Product price:
£699 (ex VAT)
Vendor name:
Contact:
0800 834 859
URL:
User-friendliness:
Breadth of features:
Depth of features:
Value of money:

back to top   Rational Rose '98

 

As mentioned in the introduction, this product came with a great deal of supporting information, witch at first appeared daunting. However, once I had spent some time figuring out what this documentation was, it became a little less imposing. The book supplied with the pack (Visual Modelling with Rational Rose and UML by Terry Quantrani and published by Addison-Wesley), was both well written and easily accessible, and it alone made the remaining documentation seem less intimidating. Of the remaining documentation, there were a number of user guides for different target platforms (including Oracle, Visual Basic, C++, and Java). The book entitled Using Rose C++ was about 10 times the size of the Using Rose J, Using Rose Visual Basic, and Using Rose Oracle books, and there was yet another book entitled Using Rose Visual C++. This gives a hint about the primary language supported by Rose.

Because I am a Java person, I started by selecting the Rose J options and was impressed to find that the standard Java libraries were available to me, which meant that I could reference them within my design. However, this did encourage me to think immediately about how I might implement my system, rather than let me first start at a high level.

I have used previous versions of Rose (most notably Rose 4.0) and found that the interface of this version was similar. This is no bad thing, as the interface aspects of Rose are one of its best features. When compared with Visio, less screen real estate is required to view a large design, because the developers have produced a better compromise between showing the required design information and presenting that actual design.

One of the biggest differences between this tool and the Visio tool is that it provides a wealth of additional support tools that are essential for any real world development. This includes test support tools, version control tools, direct CORBA support, multiple language support within a single design, and group working support. However, compared to SELECT Enterprise, it is more of a notational tool, whereas SELECT is more of a component-oriented tool. The end result is that Rose is the easier tool to use.

Rose, along with a number of other tools, can take source code you have already written and generate the appropriate diagrams for that code. This is a very useful way of producing documentation for Code that does not currently have the appropriate documents. Of course, it is not how you should document your designs in general!

Plus Points

Extensive support for UML, C++, Java etc., excellent user interface.

Minus Points

Less support for the development of a repository of components than some. Can also be resource-hungry at times.

Rational Rose '98
Product price:
Modeller edition starts from £1,250, Enterprise edition £2,850
Vendor name:
Contact:
01344 295 000
URL:
User-friendliness:
Breadth of features:
Depth of features:
Value of money:

back to top   SELECT Enterprise 6.0

 

This is another product I have had some experience with in a previous version (5.0). The SELECT approach is based on the SELECT Perspective, which is well documented in an excellent book called Component-Based Development for Enterprise Systems: Applying the SELECT Perspective, by Allen and Frost (published by SIGS). This book is an invaluable support to the SELECT Enterprise tool. Sadly, it is not included with the product - in my opinion, a major omission. This is actually indicative of the very low level of paper documentation provided with the tool. Having said that, there is a great deal of generally excellent online documentation.

SELECT's weakest point (although still far more than acceptable) is its user interface. This can be annoying at times, whereas it's strongest point is its underlying integrity. Therefore, the back-end (i.e., the way in which it integrates information, holds models, provides a repository of designs) is far superior to the front-end, yet the front-end is not afforded the level of documentation support required. For example, on my computer, the properties window was partially obscured at the bottom of the screen when it was displayed within a single SELECT window. I could not resize or scroll the window, which made it useless. I did have the option of making the window dockable, but needing to do this just to use the window seemed a little extreme! Another issue I had with the interface was the interaction model adopted. For example, if I wanted to add three attributes to a class, then I had to select the attribute icon and then select a class three times. I would rather have selected the attribute section of the class and typed in the three attribute names directly.

One of SELECT's strongest points is the level of support it provides for team working, which is comparable with the equivalent features provided by other tools, including those in COOL:Jex and Paradigm Plus. This would be one of the factors that might lead an organisation to choose SELECT over, for example, Rose. It can also map the designs produced into a variety of implementation environments, including C++, SQL , and Java. However, the design model uses enterprise datatypes rather than those supported directly by a particular language, and it is not possible to specify within the design that you are using a particular language. The Snynchroniser tools are used to generate the mapping between the internal data type and the implementation data types. SELECT also includes the Object animator. which is a useful tool for exploring the execution of the model.

Plus Points

Excellent support for team development, strong underlying component repository.

Minus Points

Less friendly interface than the class best.

SELECT Enterprise Version 6.0
Product price:
£1,955 per seat, Synchroniser £995, plus component manager £1,495, support charged at 18 per cent per annum (larger installations charged on a case by case basis)
Vendor name:
Contact:
01242 229700
URL:
User-friendliness:
Breadth of features:
Depth of features:
Value of money:

back to top   COOL:Jex 4.0

 

COOL:Jex is part of a suite of systems that includes COOL:DBA (a data management and database design tool), COOL:Gen (a modelbased distribution application, component and Web development tool), as well as COOL:Jex. COOL:Jex is the OO analysis and design construction tool (the Jex apparently stands for objects). If you think you have never heard of COOL:Jex, then think again. This tool was previously known as ObjectTeam from Cayenne, where I'd run across it before.

COOL:Jex is another tool that comes with minimal paper-based documentation, although it does include extensive online documentation, including an impressive tutorial that covers the main features of the tool. For someone who was just starting to work with COOL:Jex, this was very useful. Indeed, it almost made up for the lack of paper documentation. As for scope, COOL:Jex covers the whole of the enterprise system development process, including business modelling as well as the object analysis and design stages.

COOL:Jex aims to provide support for large-scale developments incorporating multiple teams and potentially multiple projects. To do this, it is another tool that relies on the concept of a repository. In this case, the repository is implemented via a relational database such as Sybase on NT, or Informix or Oracle on Unix systems. This repository ties together the multiple teams/multiple projects, allowing them to share evolving designs.

COOL:Jex provides extensive support for version control, configuration management, and the management of design elements (everything from classes to whole designs). However, there were times when I found that this tool expected the user to be a technically competent customiser, rather than the basic user that the user interface suggested.

As with all the tools reviewed here, COOL:Jex supports UML. However, I found it annoying having to use a diagram wizard to create the appropriate diagram. The consequent free-standing window quickly resulted in many windows on my screen showing different UML diagrams. The product includes extensive cross checking of the various UML diagrams, and they also provide an import/export facility to allow designs in Rose to be pulled into COOL:Jex and vice versa. It also includes the usual ability to generate code Fameworks for a variety of languages including C++, Java, and Delphi. In this case, however, the code generation results are better than the class average. Indeed, I could identify which parts of the model were targeted for different languages, allowing me to simply deploy a Java front-end, a C++ middle tier, and a database back-end.

One particular feature I liked was the code injection operation. This takes code and generates the equivalent designs. but includes the source code in the designs so that changes in the design can be reflected in the source code. This type of round-trip engineering is very important for real-world projects. In this, it provided similar functionality to Object UK's Together - however, as Together is more closely tied to the implementation, the COOL:Jex approach wasn't as seamless as Together's version.

Another particularly nice feature of COOL:Jex is that it can be configured to support a variety of different design processes. By default, it is configured to support the COOL:Jex design process (an OMT-like hybrid), but this can be altered. It is then possible to have separate analysis, design and implementation models under development. These can be cross-referenced and the impact of changes in one can be assessed on the others (for example, from system design back or from analysis forwards). This was very impressive.

Plus Points

Support for large scape project development, including sophisticated version control.

Minus Points

A heavyweight tool that may be overkill for many projects.

COOL:Jex Version 4.0
Product price:
Starts at £2,000 for a single user workstation to approximately £4,000 per concurrent multi-user configuration
Supplier name:
Contact:
01932 587462
URL:
User-friendliness:
Breadth of features:
Depth of features:
Value of money:

back to top   Together Enterprise Edition

 

This is a very nice tool indeed, and I have no doubt I could make real use of immediately. It is extremely well integrated with Java and also provides integration with C++ and OO COBOL. I was very impressed with the way in which I was able to open a new project within an existing package and be presented with the class diagram for that package automatically. This is not to say that other tools do not offer such facilities, but more that it is just so straight forward in Together. However, it should be noted that the two slim volumes provided with the tool did not provide that much in the way of user guidance beyond the 'how to get started' level. That said, this was still more detail than was provided by some of the larger enterprise-oriented tools!

The level of integration provided by Together for integrating the design process with the development process (using tools such as Inprise's JBuilder or Symantec's Visual Café) was also very impressive. As one class was edited within the IDE, the changes were reflected back within the Together modelling tool. Had I wished, I could have written my source code within Together as well as designed the system. However, it should be noted that the code development tools in Together are somewhat basic, and using an IDE would be the preferred route. Used in this way, I found that Together very quickly became a natural part of the development and implementation and was not obtrusive (something that is not always true of modelling tools).

How, then, does Together compare with tools such as Rose and SELECT? It does not include facilities for modelling business processes, animation facilities, version control of models, access control of models or a component repository. The only notation it supports is UML. It does not set out to offer these facilities and, to some extent, that is part of its strength: It is lightweight, compact, quick to use and works closely with Java and C++. I would definitely use it on projects involving two or three Java developers, who are tasked with producing a system in as short a time as possible, but who need to design and document it in an appropriate manner. However, I might consider whether I should use it in tandem with a tool such as System Architect, Rose, or SELECT for a large enterprise-wide development involving large numbers of designers and developers. Interestingly, Together provides the ability to export and import models directly from Rose.

Plus Points

Extremely well integrated with Java dn Java IDEs; nice to use; plattform-independent.

Minus Points

Lack some of the large project support provided by other tools; seems to aim at lower level/near code design.

Together Enterprise
Product price:
£2,950, optional annual Premium Support at £740
Vendor name:
Contact:
01703 399990
URL:
User-friendliness:
Breadth of features:
Depth of features:
Value of money:

back to top   System Architect 2001

 

Popkin is another tool vendor that does not believe in providing very much in the way of paper documentation, although once again more-than-adequate online documentation is provided. System Architect 2001 aims to provide a single solution for an enterprise-wide development. It therefore includes business process reengineering support and database design support as well as a variety of notations including UML, and supports methods such as Yourdon and SSADM. It takes the view that 00 analysis and design is just one element of the whole design process (as, indeed, do other tools such as SELECT). This is very important for very large systems that effect a whole organisation. Consequently, it is more than just an OO analysis and design tool.

System Architect 2001 is relatively easy to use, particularly for an enterprise-oriented tool. In particular, I found that it needed less screen space than tools such as SELECT and Rose. I found one or two aspects of the user interface annoying, including the need to give a class a name when I had mistakenly clicked the mouse a second time while in the class addition mode. I also found the set of graphic components available in each of the toolbars was not as comprehensive as in some of the other tools reviewed here, although all of the UML notation could be generated. However, the tool did provide explicit support for the Java language and the concepts within the Java languages, such as constructors, packages and inner classes. It also provided extensive support for group working, version control and the generation of a repository of design information.

One of the particularly nice features of this tool was its encyclopaedic dictionary of definitions. These can be picked up and used anywhere, which not only means that standard terminology can be used, but that the designers don't have to keep repeating themselves. It also included the explicit ability to audit the work carried out by a particular team member, which can be very useful in tracking changes against designers or developers.

Plus Points

Covers the whole of the enterprise design and development process and includes a dictionary of definitions.

Minus Points

User interface could be simpler to use.

System Architect 2001
Product price:
£2,995
Contact:
01926 450858
URL:
User-friendliness:
Breadth of features:
Depth of features:
Value of money:

back to top   Software through Pictures

 

This design tool came complete with eight books, three of which covered the UML (including the very useful Getting Started with StP/UML) and five on various aspects of using StP/Core. Two posters also came with the tool and summarised the UML notation, These were very handy as a quick reference.

StP is another tool oriented towards the design and development of enterprise-scale systems. It, like SELECT and others, attempts to provide a one- stop solution covering the whole of the design process, as opposed to the provision of a code-oriented UML designer like Together. Indeed, StP is presented as a family of multi-user integrated environments in which different environments support different aspects of the design and development life cycle. StP relies on the use of a relational database system such as Sybase as the core repository within which to maintain and share information.

StP is a very comprehensive tool with an impressive list of features. Like similar tools, it is clear very early on that this is far more than just a diagramming tool, although it does provide comprehensive diagramming facilities. The use of an underlying object management system and a relational database allows the development of a model which can be cross checked, accessed, and modified by multiple users simultaneously. In addition, this tool supports the generation of source code from the models for multiple languages and the re-engineering of source code into models (as do most of the other tools in the roundup). It also provides extensive support for managing and maintaining the repository via a simple-to-use set of interfaces.

I found that, unless you needed the full range of functionality provided by StP, it did seem very heavyweight. It required extensive systems resources, a relational database, lots of memory, and a fast processor. I also found that, while using it, I often ended up with numerous windows on my desktop, which again is something I would prefer not to have. In the past I have worked for a number of organisations where trying to get a larger monitor was like trying to get blood out of a stone, and I am therefore always very conscious of the use of the screen area. One advantage of having multiple windows is that they can all be on top of each other, but I would rather have a single window within which I switch between displays.

Plus Points

Strong underlying foundation, rich functionality.

Minus Points

Heavyweight tool requiring serious system resources, with dubious window layout.

Software through Pictures
Product price:
£2,500 based on floating licenses. Package pricing is available for the optional add-ons document generation, code generation, and reverse engineering. Language options are C++, Java, IDL, Ada 95, and Forte TOOL.
Vendor name:
Aonix Europe Ltd.
Contact:
01491 415001
URL:
User-friendliness:
Breadth of features:
Depth of features:
Value of money:

back to top   ProVision Workbench

 

ProVision Workbench is squarely positioned amongst the enterprise-level design and development type tools. It attempts to support the concept-to-code approach and, as such, provides an excellent level of support for the higher business modelling aspects of such a project. I particularly liked things such as the process-level workflow model and the business interaction model. I was less convinced by some of the business concept modelling tools, such as the goal model. This would be very useful at a very early stage in a development program where the business goals were being identified. However, I feel that the users of such a system are likely to be very different from those doing the lower level design, and I am far from convinced that a one-tool-suits-all approach actually works.

Some of the notation used with the UML diagrams, although similar to that used in general, was slightly different. These differences were unnecessary. I also found that a number of additional diagram types were included that were ProVision-specific rather than generic UML. While the benefit of such diagrams can be argued, this does go against the idea that UML is a standard language and that a class diagram is universally understood.

All in all, this was another very credible enterprise-oriented tool that is strongest during the early stages of the whole design process and particularly during any business modelling. One interesting point to note with this tool was that there were a number of printed pages inside the CD ROM case that listed the user documentation available for printing from the CD. I could therefore print off any documentation I required.

Plus Points

Extremely good support for business process modelling.

Minus Points

Slightly nonstandard look for UML diagrams; more oriented towards higher specification levels.

ProVision Workbench
Product price:
Enterprise Edition is £2,779 incl. 12 month's full support ex. VAT. Additonal generators for SQL, Visual Basic, and C++ are £1,119.
Supplier name:
Proforma
Contact:
01628 418122
URL:
User-friendliness:
Breadth of features:
Depth of features:
Value of money:

back to top   Paradigm Plus

 

Paradigm Plus is another tool that an underlying repository to provide cross-phase, cross-team, and cross-project sharing of designs and their parts. It also attempts to adopt a whole enterprise system development approach, including support for enterprise-level modelling and requirements analysis, as well as the OO design phases. It also supports the notational aspects of a variety of methods, including OMT, Fusion, and Booch, as well as the UML notation. However, in the case of UML, it also adds numerous additional graphical notations that are not included in the standard UML notation. This surely goes against the concept of UML providing a single notation that can be understood by all, whatever the method or the tool!

Paradigm Plus does support a variety of implementation languages including Java, but selecting the Java option didn't seem to change the interface I was presented with for defining classes, attributed, and methods. Because these had a distinctly C++ flavour to the range of options available, I got the feeling that this tool is primarily a C++-oriented tool that can also generate Java.

As with a number of the other tools in this roundup, Paradigm Plus allows existing code to be re-engineered into design and source Code files to be associated with elements of the design. A useful aspect of this tool was the ability to track evolving requirements and associate these with your evolving model. Paradigm Plus also supports the generation of source code from a model for Java, C++, Visual Basic, as well as for tools such as Forte. Paradigm Plus also includes support for configuration management, version control and fine-grained access control to objects and designs.

Plus Points

All models based on coherent enterprise component modelling.

Minus Points

Additional icons in UML diagrams reduce standardisation, can be resource-hungry, and some user interface features are annoying.

Paradigm Plus
Product price:
from £3,000 per user license. It is possible to run concurrent licenses, full prices on application.
Vendor name:
Platinum Technology
Contact:
01344 786700
URL:
User-friendliness:
Breadth of features:
Depth of features:
Value of money:

back to top   Conclusions

 

There are three types of tools in this roundup. These are diagramming tools typified by Visio, OO analysis and design tools typified by Together, and then whole enterprise system design tools typified by COOL:Jex and System Architect. Thus, the most appropriate tool for you will depend on a number of aspects:

Given these criteria, the answer to the question of what is the best tool available will differ. In many situations, tools such as Software through Pictures, SELECT, Rose, and System Architect will seem like overkill, but in situations where their facilities are required, they will be essential. For many smaller developments that need to be completed in the short term, tools such as Together are ideal - although Together Enterprise does seem a bit expensive. However, for an all-round diagramming tool, which can also support the diagramming stages of your design, Visio is hard to beat for ease of use and the essential notational functionality at a very good price.

There were lots of things that made me want to like SELECT Enterprise more than Rational Rose, or Rational Rose over System Architect, and vice versa. For example, Rational Rose '98 is one of the easiest to use, but it lacks the level of integrated team development support so essential for large developments. SELECT is not quite as nice to use, but it does include the necessary team development support and provides a very high level of support for UML, the various stages in the design process, group work, and version control (as do the majority of the other tools including COOL:Jex and System Architect). Together, on the other hand, will find many advocates among those nearer the code coal face who want a design tool that is closely integrated with the source code they are developing. Few of these tools will leave a developer feeling that they have been let down.

The big question is what you should spend your money on. If I had a limited budget and wanted a tool that would support a range of tasks (only one of which was documenting my design) it would have to be Visio. If I had a larger budget, with a smaller development group, then I would definitely use Together, and I may well do so on future projects. I loved that way it was so cleanly integrated within the Java environment. If, however, my budget and project were big enough and I wanted a tool that would support not only the notational aspects of my design, but also the design process, and various other stages of the whole project lifecycle, it would be SELECT Enterprise 6.0. However, it has to be said that tools such as System Architect and Rational Rose would also serve this purpose well.

back to top   Winner

 

SELECT Enterprise 6.0


Dr Hunt has been working with object-orientation since 1987 in both industry and academia. He has been involved in a number of large developments, and has worked as a consultant to a number of large companies. He is currently parner with JayDee Technology, a small Java and object-oriented specialist organisation focused on training. He can be contacted at john.hunt@jttc.demon.co.uk

Reprint from Application Development Advisor, 2(5), May/June 1999
SIGS Ltd., Brocus House, Newdigate, Surrey, RHS SAH. Tel: +44(0)1306 631331 Fax:+44(0)1306 631696
Online:www.appdevadvisor.com




separator line
Service provided by Mario Jeckle
Generated: 2004-06-07T12:32:13+01:00
Feedback Feedback       SiteMap SiteMap
This page's original location This page's original location: http://www.jeckle.de/mad_about_modelling.html
RDF metadata describing this page RDF description for this page