Uml tools
This presentation is the property of its rightful owner.
Sponsored Links
1 / 20

UML Tools PowerPoint PPT Presentation


  • 126 Views
  • Uploaded on
  • Presentation posted in: General

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

    • Current acceptance of the users


Uml 1 3 support

UML 1.3 Support

  • Full support for UML 1.3 is not always present

  • Minimum diagram requirement:

    • Use Case

    • Class

    • Colloboration

    • Sequence

    • Package

    • State


Round trip

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


Class method access

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


Navigation

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


Diagram views

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


Documentation

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.


Exporting diagrams

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


Data modeling integration

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


Versioning

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


Robustness

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


Platform

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


Scripting

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


Tool lifecycle

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


Repository support

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


Wish list research topics

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


Tool examples

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


Visio

Visio

  • Originally a drawing tool

  • UML modeling tools on Profesional version under Software Tools

  • Department is in the process of buying a license

  • Conclusion?


Rational rose

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?


Argouml

ArgoUML

  • argouml.tigris.org

  • Open-source Java project

  • Export to XMI

  • Commercial product “poseidon for uml” from gentleware (www.gentleware.com)

  • Various editions

  • Conclusions?


  • Login