“ A Java Development Environment, available for free download, that allows you to draw package diagrams automatically as you write classes. „
Together is a development environment, designed for object-oriented languages such as Java and C++, with specialized versions depending on your chosen development language. At the moment we are using Java, so this review is on Together/J, the Java version. First of all to clear up any misunderstanding, Together is a "UML modeller featuring simultaneous round-trip engineering", not an IDE (Integrated Development Environment) such as MS Visual C++. Instead, it allows you to have a visual model in many forms of the classed that make up your piece of software that is under development. Developers used to the more procedural languages such as Pascal and C never normally need this sort of relationship diagram that together enables you to produce, but with OO development, it's a very important part of the development, as class reuse suddenly becomes a lot easier to manage. We are using the Whiteboard edition, a free version that allows you to use most features, though the Developers edition adds a few more which we would not make use of. So what makes Together good, why would you want to use it, and what does it allow you to do. Well, anybody who has programmed in any language, including Java, will be used to the idea of writing code in files. Sometimes, you may use procedures and functions from one file in calls that you make in another. In Together, this is illustrated for you in the package diagram. Those who understand Java will understand the concept of packages, for those who don't, in basic terms it is a way of organizing you code. Together automatically produces diagrams for each package. When you create a new class, a box appears in the diagram window. This will consist of three sub boxes. The first contains the name of the class, and any classed that it inherits or extends. The second contains a list of all the variables and objects that the class uses, and marks them with a plus symbol if they are public, and a minus symbol i f they are private. This I find particularly useful when trying to access variables of one class from another, as it removes the need to open that file up to see the access rights of the variable you want. The third box contains a list of all the methods and constructors of your class. Again these are marked plus or minus, depending on their access rights. Again, this is very useful when developing OO software, as you are continually using methods from other classes. The development environment also contains an editor pane, amongst the total four panes that make it up. The first pane is the diagram window, the editor is the second, the third is essentially a way to access files without going via the menu system, and the third is an attribute viewer/adjuster (similar to those used and seen in VB and Delphi). The editor provides only basic functionality, and none of the more advanced features that you would find in other editors such as CREdit or VIM. However, it serves the purpose and provides you with the ability to edit the files you have added in the diagram window. To create a new class, module, interface or anything else in Together is easy. Just enter the diagram for the package you are adding to, right-click the mouse, and select the new item you want to add. Then, edit it in the editor pane to provide the functionality you require. The third pane is the Explorer. The first function of this pane is the simple ability to select files to open in the editor, with the files being displayed in the directory tree structure that you see in the folders view under Windows Explorer. The second is the model view, which again provides a tree view, but only files that have been added to any of the packages in the current project. They are grouped within the relevant packages, and so should be easy to find. The third view is the Overview view, or "aeroplane view" as it is known due to the symbol on the tab for the view. This gives a compact view of the full diagram for the package that is in view in the diagram window. Most package diagrams are quite large, and so cannot be viewed in the diagram window all at once. The aeroplane view allows you to drag a box around the view, which will display the contents of that box in the diagram window. The fourth pane is the inspector pane, which gives you quick and easy aces to the properties of your class, diagram, etc., and allows you to alter them without having to actual type the code for it. Together has far too many functions and abilities for me to list them here. The best way to find out is to download it. The Whiteboard edition is available for free download from www.togethersoft.com. And just to illustrate the power of Java for anyone who is interested in developing in it, Together itself is written in Java. We use it on Windows 2000 Professional, and it runs fine. It is also available for Windows 95, 98, NT, Solaris, Linux and the Mac. One major downside to Together is that it is very heavy on resources, requiring a massive 256Mb of memory to run. Even then, some of the operations are slow to happen. For example, if you prefer to edit the code files outside of Together, when you return to Together it "synchronizes" with the external changes, which seems to take forever. Together really does provide a lot of features. It can be set to compile the code, get metrics on it, layout your package diagrams. It will create skeleton code for you in certain circumstances, and works out some of the necessary imports that your classes may need. It automatically determines links between packages, classes and interfaces, so you don't even need to work them out for yourself. It is a pretty decent development environment for Java, and does a lot of useful things. If it were just faster at loading, synchronizing and saving then it would be a top class product.