The UML is a powerful language, but it is just that, a language. To implement it effectively, you need a UML tool that is capable of producing, manipulating and storing the full set of UML 2.3 diagrams.

Enterprise Architect is a fully featured, UML 2.3-based modeling tool from Sparx Systems. EA features a graphical environment in which to construct your diagrams, and produces crisp, easy to view images. It also has many advanced features that will enhance your use of UML, such as the ability to generate definable documentation in RTF and HTML formats, and to export code in a variety of languages, with additional languages available via the use of technology templates.

The professional and corporate editions build on this functionality by adding the ability to reverse engineer from code to models. You can take full advantage if these features and synchronize your model to code and vice-versa. New classes hand-coded will appear in EA upon reverse engineering, and new models will be generated into the code without losing or overwriting any previously handwritten code.

The UML is a process-independent notation system - that is, there is no dependency on a particular development process, like Agile Programming or the Unified Process, both of which may be used effectively with the UML. Enterprise Architect likewise remains neutral, while allowing you to implement the process that best suits your project.

The aim of the UML is to facilitate communication. Understandably, those working on large projects will need the ability to share designs, and for several team members to work on a design simultaneously and securely. The Enterprise Architect Professional and Corporate Editions add design sharing through replication and shared network files. To that, the Corporate Edition brings the ability to connect to Firebird, MySQL, Oracle, PostgreSQL, MS SQL Server and MS Access back-ends as the shared repository. It also adds user security, user logins, user groups, and user level locking of elements.