Join the UML Forum Discussion Group: 950+ members, 700+ topics and growing! Click here to join…


UML Modeling Tools FAQ – Why use a UML modeling tool?

  • 1.General
  • What is UML and why is it useful?

    Editor UML.Tools26-08-2014

    The Unified Modeling Language (UML) is a general-purpose visual modeling language for specifying software-intensive systems. More precisely, it is a graphical language for visualizing, specifying, constructing and documenting the artifacts of software-intensive systems. UML is a key enabling technology for Software Developers and Software Engineers who seek to transition from traditional, human-intensive, code-centric software development processes to Model-Driven Development (MDD) processes that are requirements-driven and architecture-centric.

    The UML was originally derived from the object modeling languages of three leading object-oriented methods: Booch, Object Modeling Technique (OMT) and Object-Oriented Software Engineering (OOSE). It was first added to the list of Object Management Group (OMG) adopted technologies in 1997, and has since become the industry standard for modeling software-intensive systems. The UML specification is an open standard that is publicly available for download. The most recent revision is UML v. 2.1.4.

    Why is UML useful? If you are a Software Developer and want to improve the precision and efficiency of your communications with fellow Software Developers and other system and business stakeholders, then UML is an excellent choice for a lingua franca. (If on the other hand, you are a Systems Engineer or a Business Analyst who wants to improve communications with your peers and other system stakeholders, then SysML or BPMN may be better choices.) Here's a list of reasons why Software Developers may want to use SysML and a Model-Driven Development process for their work:

    • Facilitate communication among various stakeholders across the System Development Life Cycle
    • Capture and manage corporate Intellectual Property related to system architectures, designs, and processes
    • Compare and contrast “As Is” and “To Be” solutions
    • Provide scalable structure for problem solving
    • Furnish rich abstractions to manage size and complexity
    • Explore multiple solutions or ideas concurrently with minimal risk
    • Detect errors and omissions early in System Development Life Cycle
  • Why should I use a UML modeling tool?

    Editor UML.Tools26-08-2014

    Once you make a decision to use UML as the common specification language for your team or project, you are faced with the choice of using a drawing tool (e.g., MS Office Visio, OpenOffice Draw, GIMP) or a bona fide modeling tool to capture your UML work artifacts. What's the difference between a drawing tool and a visual modeling tool? While a drawing tool may provide you with a tool palette that contains UML syntax ("boxes and lines") it isn't generally expected to enforce UML "bookkeeping" operations, which include, but are not limited, to the following:

    • enforcement of  syntactic (notational) and semantic well-formedness rules;
    • support for large-scale model management and team modeling;
    • support for bi-directional requirements traceability;
    • support for Round-Trip Engineering functions (code generation + reverse engineering + change management)

    So if you are modeling-in-the-small, and are only interested in using UMLasSketch for a small (a dozen or fewer) Agile development team, you may find a drawing tool, such as Visio, sufficient for your needs. However, if you need to capture the design or architecture of a complex system or system-of-systems you will greatly benefit from the use of a bona fide UML modeling tool!

  • What is the best UML modeling tool for my team?

    Editor UML.Tools26-08-2014

    After nearly two decades of commercial UML tool vendor M&A (Mergers & Acquisitions) and numerous open source UML tool development efforts, there is a wide range of UML tools available. Unfortunately, like most software genres, relatively few UML products are strong in all of the following evaluation categories: Usability, Functionality (Drawing & Round-Trip Engineering), Standards Compliance & Interoperability, Team Modeling & Technical Support, and Value.

    Consequently, we encourage you to read the UML modeling tool evaluation and selection articles in this web. In addition, you will likely benefit from the UML Tool Reviews section, which is divided into Commercial Off-the-Shelf (COTS) Software reviews and Free & Open Source Software (FOSS) reviews, for both Editor and User Reviews.

  • How should I select a UML modeling tool for my team or project?

    Editor UML.Tools26-08-2014

    You can find general recommendations for selecting a UML modeling tool in the "How to Select a UML Modeling Tool for Agile Modeling or MDD" article.

  • What evaluation criteria should I use when selecting a UML modeling tool?

    Editor UML.Tools26-08-2014

    You can find general recommendations for defining UML modeling tool evaluation criteria in the "How to Define UML Tool Evaluation Criteria for Your Team & Project" article.

  • What is the difference between a UML drawing tool and a UML modeling tool?

    Editor UML.Tools26-08-2014

    Answer to be provided.

  • What is Round-Trip Engineering and why is it useful?

    Editor UML.Tools26-08-2014

    Answer to be provided.

Comments on this entry are closed.