Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— 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)www.gentleware.com ● Various editions ● Conclusions?


Download ppt "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."

Similar presentations


Ads by Google