1 / 20

UML Tools

UML Tools. UML is a language, not a tool UML tools make use of UML possible Choice of tools, for individual or group use, has a large affect on acceptance of UML Choice of tool depends on: Usage context of the UML model Integration with existing tools Purchase and maintenance costs

tania
Download Presentation

UML Tools

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UML Tools • UML is a language, not a tool • UML tools make use of UML possible • Choice of tools, for individual or group use, has a large affect on acceptance of UML • Choice of tool depends on: • Usage context of the UML model • Integration with existing tools • Purchase and maintenance costs • Current acceptance of the users

  2. UML 1.3 Support • Full support for UML 1.3 is not always present • Minimum diagram requirement: • Use Case • Class • Colloboration • Sequence • Package • State

  3. Round-Trip • Reverse engineer – Extract UML model from source code • Useful as first step to generate UML model • Synchronize UML model with changes to source code • Forward engineer – Generate source code from UML Model • Automatic and accurate leads to greater tracability of UML model and source code • Difficulty in an iterative development cycle

  4. Class & Method Access • The UML model contains knowledge of the classes and methods available which diagrams should utilize • Colloboration & Sequence Diagrams • Assign objects by selecting from a list of classes • Selection from a list of methods • Class Diagram • Selection from a list of classes in other packages or model

  5. Navigation • Full expression of the design for a system requires many different views, as in the multiple diagrams of UML • Visiting the different views in complex ways enhances the comprehension of the system • Interesting features may cross-cut the system requiring strong model navigation features • Navigation include zooming and panning features and views of the source code itself

  6. Diagram Views • UML model includes all details such as classes, methods, return values, associations, etc. • Diagram view should allow customization of these views such as • Show only partial method signature • Hide attributes and/or methods • Visibility based on access (public, private, protected) • Visibility based on the use of the entitiy, e.g., hide get/set methods

  7. Documentation • Provides a static view of the UML model without having to launch a modeling tool • Should include: • Pictures of each diagram • Navigation with hyperlinks • Must be automatically generated with little user input • Formats including HTML, SVG, etc.

  8. Exporting Diagrams • Export to format for use in word processing document or web page, e.g., GIF, PNG, JPEG, SVG • Often necessary for use in reports to non-developers in the organization • Accurate print renditions are important • Diagrams are often larger than a single page requiring either multi-page printing or scaling

  9. Data Modeling Integration • Export of current model (or submodel) to another data modeling tools • Export of SQL to create tables a database • Export metadata to a data modeling tool • Synchronization between UML model and data model is essential

  10. Versioning • As in source code, versioning of the UML model is essential • Versions can serve as backups for lost or experimental changes to the model • A particular version of source code has a particular version of the UML model that it depends on

  11. Robustness • A modeling tool requires a higher-level of reliability than an office productivity application or even a source code editor • A “crash” of a modeling tool to a new user easily leads to a rejection of the tool and the process • As in a binary application, slight corruption of the model can lead to massive problems • Corruptions may not be easily visible and may only be discovered many versions later

  12. Platform • All users must be able to use the tool on the platform of their choice, e.g., MS Windows, Linux, UNIX, MacOS • Platform for the deliverable product is also a consideration • Multi-Platform modeling tools • Permit change in platform used by developers • May permit change in platform used for deliverable product

  13. Scripting • Directly access an internal object model API to produce other artifacts • Spreadsheets for project management • Customized documentation • Generation of source code • Calculation of metrics on the model itself • Access the diagrams and the layout of the diagram itself • Custom layout and viewpoint algorithms

  14. Tool Lifecycle • As a software product the modeling tool has its own lifecycle • Benefits of new versions: • Bug fixes • Performance enhancements • New features • Support for new formats • Changing modeling tools may be an expensive process that you want to avoid

  15. Repository Support • Large projects require sharing of designs between developers, especially for colloboration on components • Each component may have many readers with one writer • A database can be utilized to provide the data sharing and concurrency control • Another approach is to build the repository on top of the source code itself

  16. Wish List (Research Topics?) • Integrated with editing tools • Navigation from context of diagram to focus of source code • Source code search features that include querying of the object model • Automatic generation of diagrams from trace data • Management tools • Metrics

  17. Tool Examples • Visio • Extension of drawing tools • Rational Rose • Full commercial tool with large number of plugins, special versions, etc. • ArgoUML • Open-source multi-platform

  18. Visio • Originally a drawing tool • UML modeling tools on Profesional version under Software Tools • Department is in the process of buying a license • Conclusion?

  19. Rational Rose • Full-strength industrial modeling and development tool • Large number of add-ons, plug-ins, integration into all phases of lifecycle, e.g., testing, configuration • Availability of a large number of courses, training, etc. • Large cost • Conclusions?

  20. ArgoUML • argouml.tigris.org • Open-source Java project • Export to XMI • Commercial product “poseidon for uml” from gentleware (www.gentleware.com) • Various editions • Conclusions?

More Related