UML CASE Tools :: Ashesh Ramjeeawon :: University of Mauritius Software Engineering Student 03 Feb. 2009 Blog:  http://asheshr.wordpress.com Am also on Facebook!  
Agenda Recap -UML Choosing UML CASE tools Open Source UML CASE tools 1. StarUML 2. Umbrello 3. AndroMDA 4. BOUML 5. ArgoUML Commercial CASE tools 1. IBM Rational Rose 2. Microsoft Visio
What is UML? The  Unified Modeling Language (UML)  is a language for specifying, constructing, visualizing, and documenting the artifacts of a software-intensive system. -Source -  SoftwareEngineeringReferences.com
Choosing UML tools Tool should support most UML analysis diagrams (class, use-case, collaboration, sequence, and activity).  It be easy to use, reliable, scalable.  It be free or almost free to universities.  There be a free-ish Windows and/or Linux version that students may install on their home machines Source: SoftwareEngineeringReferences.com
UML Case Tools “Tools are very important element of defining a path of least resistance. If I can set up a tool so that it’s easier for a developer to do something the way that I want the developer to do it, and harder for the developer to do it some other way, then I think it’s very likely the developer is going to do it the way I want them to, because it’s  easier . It’s the  path of least resistance ."  -  Steve C McConnell   Author: Code Complete
Open Source UML Tools What is Open Source?
Open Source is defined as… Open source  usually refers to software that is released with source code  under a license that ensures that derivative works will also be available as source code,  protects certain rights of the original authors, and prohibits restrictions on how the software can be used or who can use it.  - O’Reilly Media Visit:  http://www.opensource.org/docs/definition.php  for another definition
“ Googling” the Open Source tools… A keyword search on Feb 2009 of  “ UML modeler” on  Sourceforge.net  Reveals  513 results….
Choosing the popular tools… Let’s filter by downloads   Are we going to look at all these 513 tools?
1. StarUML - 781,246 downloads StarUML is an open source project to develop fast, flexible, extensible, featureful, and freely-available UML/MDA platform running on Win32 platform.  The goal is a compelling replacement of commercial UML tools such as RationalRose, Together and so on.
1. StarUML - 781,246 downloads User Interface:  Win32 (MS Windows)   Translations:  English   Programming Language:  Delphi/ Kylix   Operating System:  32-bit MS Windows (NT/2000/XP)   License:  GNU General Public License (GPL)   Intended Audience:  Other Audience ,  Developers ,  Quality Engineers   Development Status:  5 - Production/Stable
1. starUML screenshots
1. starUML screenshots
2. Umbrello - 248,031 downloads An UML modeling tool for KDE. It supports most UML diagrams, code export (C++ and Java) and reverse engineering. [Open Source, GPL]
2. Umbrello - 248,031 downloads User Interface:  KDE   Translations:  English ,  Esperanto   Programming Language:  C++   Operating System:  Linux ,  All POSIX (Linux/BSD/UNIX-like  OSes )   License:  GNU General Public License (GPL)   Intended Audience:  Developers   Development Status:  5 - Production/Stable
 
 
3. AndroMDA – 155,165 downloads AndroMDA is a code generation framework that follows the Model Driven Architecture (MDA) paradigm.  It takes a UML model from a CASE-tool and generates classes and deployable components (J2EE or other) specific for your application architecture.
3. AndroMDA – 155,165 downloads Translations:  English ,  German   Programming Language:  Java   Operating System:  OS Independent (Written in an interpreted language)   License:  BSD License   Intended Audience:  Developers   Development Status:  5 - Production/Stable
 
4. BOUML – 104, 064 downloads BOUML is a free UML 2 tool box allowing you to model and generate code in C++, Java, Idl, Php and Python.  BOUML runs under Unix/Linux/Solaris, MacOS X and Windows.  It is very fast and doesn't require much memory to manage several thousands of classes.
4. BOUML – 104, 064 downloads User Interface:  Qt   Programming Language:  C++   Operating System:  All POSIX (Linux/BSD/UNIX-like  OSes ) ,  All BSD Platforms (FreeBSD/ NetBSD/OpenBSD/Apple  Mac OS X) ,  All 32-bit MS Windows (95/98/NT/2000/XP)   License:  GNU General Public License (GPL)   Intended Audience:  Developers   Development Status:  5 - Production/Stable
BOUML -Use Case Diagram
BOUML – Sequence Diagram
BOUML – Sequence Diagram
BOUML – State Diagram
BOUML – Class Diagram
BOUML – Activity Diagram
5. ArgoUML ArgoUML is a powerful yet easy-to-use interactive  Java  based graphical software design environment that supports the design, development and documentation of object-oriented software applications.  A free research modelling tool; fairly fully featured; the main goal is to have a Really Useful user interface, unlike almost all existing CASE tools;
The users of ArgoUML are software designers & architects, software developers, business analysts, systems analysts and other professionals involved in the analysis, design and development of software applications.   Note that there is a commercial version of this tool that goes by the name Poseidon and is marketed by a  Gentleware ; they offer a free community edition as well as fancier editions that cost real money.
 
ArgoUML – class diagram
Argo UML – Use Case Diagram
Argo UML – State Chart Diagram
Other Open Source Tools Gaphor , a GPL modelling tool written in Python using GTK+  Astade  is aimed at aiding in autogenerating C++ source from UML models. It is meant to be practical rather than research oriented  FUJABA  (the rather unlikely acronym stands for Forward Unto Java And Back Again), supports both reverse engineering of and code generation for Java systems  Coral  is an open source research-based modelling and meta-modelling tool, from Akademi University in Finland
Other Open Source Tools DIA , a freeware/GPL multiplatform (!!) drawing tool based on GTK; supports UML and other kinds of diagrams; this is intended to be a freeware Visio-like drawing tool rather than a modelling tool  Violet , a very simple GPL drawing tool written by Cay Horstmann  UMLet , a small, very simple, and easy-to-use drawing tool (as opposed to a fully fledged modelling tool) from the Technical University of Vienna.
Commercial Tools
Commercial Tools IBM Rational Rose Microsoft Visio SmartDraw Enterprise Architect Poseidon for UML Borland Together Sybase Power Designer
IBM Rational Rose Rational Rose[ rational ] is often considered the definitive UML tool because the founders of the Rational company also include the creators of UML.  Early versions of Umbrello described it as an equivalent of Rational Rose and screenshots indicate that it has a similar user interface layout.  perhaps the best known UML tool; free to universities (if you ask)
 
 
Hotel Reservation System in Rational Rose
Microsoft Visio Instead of static pictures, create data-connected Visio diagrams that display data, are easy to refresh, and dramatically increase your productivity.  Use the wide variety of diagrams in Office Visio 2007 to understand, act on, and share information about organizational systems, resources, and processes throughout your enterprise. Source: http://office.microsoft.com/en-us/visio/HA101656401033.aspx
 
Other CASE Tools Oracle JDeveloper MetaUML Agent UML Tool Delphia Object Modeler Magic Draw  Borland Together  JUDE  OmniGraffle (Macintosh) Eclipse UML Visual Paradigm for the Unified Modeling Language
Other Case Tools Visual UML iLogix Rhapshody gModeler And the list goes on!
Conclusion Use the tools that make us most productive  Efficiency is the key!
References http://www.objectsbydesign.com/tools/umltools_byCompany.html http://www.oose.de/umltools.htm http://geekswithblogs.net/flanakin/archive/2004/01/28/1594.aspx http://plg.uwaterloo.ca/~migod/uml.html Sourceforge.net Istockphoto..com Softwarequotes.com
The End Slides downloadable on:  http://asheshr.wordpress.com Tag: Computing, Open Source Category: Software Engineering

UML Case Tools

  • 1.
    UML CASE Tools:: Ashesh Ramjeeawon :: University of Mauritius Software Engineering Student 03 Feb. 2009 Blog: http://asheshr.wordpress.com Am also on Facebook! 
  • 2.
    Agenda Recap -UMLChoosing UML CASE tools Open Source UML CASE tools 1. StarUML 2. Umbrello 3. AndroMDA 4. BOUML 5. ArgoUML Commercial CASE tools 1. IBM Rational Rose 2. Microsoft Visio
  • 3.
    What is UML?The Unified Modeling Language (UML) is a language for specifying, constructing, visualizing, and documenting the artifacts of a software-intensive system. -Source - SoftwareEngineeringReferences.com
  • 4.
    Choosing UML toolsTool should support most UML analysis diagrams (class, use-case, collaboration, sequence, and activity). It be easy to use, reliable, scalable. It be free or almost free to universities. There be a free-ish Windows and/or Linux version that students may install on their home machines Source: SoftwareEngineeringReferences.com
  • 5.
    UML Case Tools“Tools are very important element of defining a path of least resistance. If I can set up a tool so that it’s easier for a developer to do something the way that I want the developer to do it, and harder for the developer to do it some other way, then I think it’s very likely the developer is going to do it the way I want them to, because it’s easier . It’s the path of least resistance ." - Steve C McConnell Author: Code Complete
  • 6.
    Open Source UMLTools What is Open Source?
  • 7.
    Open Source isdefined as… Open source usually refers to software that is released with source code under a license that ensures that derivative works will also be available as source code, protects certain rights of the original authors, and prohibits restrictions on how the software can be used or who can use it. - O’Reilly Media Visit: http://www.opensource.org/docs/definition.php for another definition
  • 8.
    “ Googling” theOpen Source tools… A keyword search on Feb 2009 of “ UML modeler” on Sourceforge.net Reveals 513 results….
  • 9.
    Choosing the populartools… Let’s filter by downloads  Are we going to look at all these 513 tools?
  • 10.
    1. StarUML -781,246 downloads StarUML is an open source project to develop fast, flexible, extensible, featureful, and freely-available UML/MDA platform running on Win32 platform. The goal is a compelling replacement of commercial UML tools such as RationalRose, Together and so on.
  • 11.
    1. StarUML -781,246 downloads User Interface: Win32 (MS Windows) Translations: English Programming Language: Delphi/ Kylix Operating System: 32-bit MS Windows (NT/2000/XP) License: GNU General Public License (GPL) Intended Audience: Other Audience , Developers , Quality Engineers Development Status: 5 - Production/Stable
  • 12.
  • 13.
  • 14.
    2. Umbrello -248,031 downloads An UML modeling tool for KDE. It supports most UML diagrams, code export (C++ and Java) and reverse engineering. [Open Source, GPL]
  • 15.
    2. Umbrello -248,031 downloads User Interface: KDE Translations: English , Esperanto Programming Language: C++ Operating System: Linux , All POSIX (Linux/BSD/UNIX-like OSes ) License: GNU General Public License (GPL) Intended Audience: Developers Development Status: 5 - Production/Stable
  • 16.
  • 17.
  • 18.
    3. AndroMDA –155,165 downloads AndroMDA is a code generation framework that follows the Model Driven Architecture (MDA) paradigm. It takes a UML model from a CASE-tool and generates classes and deployable components (J2EE or other) specific for your application architecture.
  • 19.
    3. AndroMDA –155,165 downloads Translations: English , German Programming Language: Java Operating System: OS Independent (Written in an interpreted language) License: BSD License Intended Audience: Developers Development Status: 5 - Production/Stable
  • 20.
  • 21.
    4. BOUML –104, 064 downloads BOUML is a free UML 2 tool box allowing you to model and generate code in C++, Java, Idl, Php and Python. BOUML runs under Unix/Linux/Solaris, MacOS X and Windows. It is very fast and doesn't require much memory to manage several thousands of classes.
  • 22.
    4. BOUML –104, 064 downloads User Interface: Qt Programming Language: C++ Operating System: All POSIX (Linux/BSD/UNIX-like OSes ) , All BSD Platforms (FreeBSD/ NetBSD/OpenBSD/Apple Mac OS X) , All 32-bit MS Windows (95/98/NT/2000/XP) License: GNU General Public License (GPL) Intended Audience: Developers Development Status: 5 - Production/Stable
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
    5. ArgoUML ArgoUMLis a powerful yet easy-to-use interactive Java based graphical software design environment that supports the design, development and documentation of object-oriented software applications. A free research modelling tool; fairly fully featured; the main goal is to have a Really Useful user interface, unlike almost all existing CASE tools;
  • 30.
    The users ofArgoUML are software designers & architects, software developers, business analysts, systems analysts and other professionals involved in the analysis, design and development of software applications.  Note that there is a commercial version of this tool that goes by the name Poseidon and is marketed by a Gentleware ; they offer a free community edition as well as fancier editions that cost real money.
  • 31.
  • 32.
  • 33.
    Argo UML –Use Case Diagram
  • 34.
    Argo UML –State Chart Diagram
  • 35.
    Other Open SourceTools Gaphor , a GPL modelling tool written in Python using GTK+ Astade is aimed at aiding in autogenerating C++ source from UML models. It is meant to be practical rather than research oriented FUJABA (the rather unlikely acronym stands for Forward Unto Java And Back Again), supports both reverse engineering of and code generation for Java systems Coral is an open source research-based modelling and meta-modelling tool, from Akademi University in Finland
  • 36.
    Other Open SourceTools DIA , a freeware/GPL multiplatform (!!) drawing tool based on GTK; supports UML and other kinds of diagrams; this is intended to be a freeware Visio-like drawing tool rather than a modelling tool Violet , a very simple GPL drawing tool written by Cay Horstmann UMLet , a small, very simple, and easy-to-use drawing tool (as opposed to a fully fledged modelling tool) from the Technical University of Vienna.
  • 37.
  • 38.
    Commercial Tools IBMRational Rose Microsoft Visio SmartDraw Enterprise Architect Poseidon for UML Borland Together Sybase Power Designer
  • 39.
    IBM Rational RoseRational Rose[ rational ] is often considered the definitive UML tool because the founders of the Rational company also include the creators of UML. Early versions of Umbrello described it as an equivalent of Rational Rose and screenshots indicate that it has a similar user interface layout. perhaps the best known UML tool; free to universities (if you ask)
  • 40.
  • 41.
  • 42.
    Hotel Reservation Systemin Rational Rose
  • 43.
    Microsoft Visio Insteadof static pictures, create data-connected Visio diagrams that display data, are easy to refresh, and dramatically increase your productivity. Use the wide variety of diagrams in Office Visio 2007 to understand, act on, and share information about organizational systems, resources, and processes throughout your enterprise. Source: http://office.microsoft.com/en-us/visio/HA101656401033.aspx
  • 44.
  • 45.
    Other CASE ToolsOracle JDeveloper MetaUML Agent UML Tool Delphia Object Modeler Magic Draw Borland Together JUDE OmniGraffle (Macintosh) Eclipse UML Visual Paradigm for the Unified Modeling Language
  • 46.
    Other Case ToolsVisual UML iLogix Rhapshody gModeler And the list goes on!
  • 47.
    Conclusion Use thetools that make us most productive Efficiency is the key!
  • 48.
    References http://www.objectsbydesign.com/tools/umltools_byCompany.html http://www.oose.de/umltools.htmhttp://geekswithblogs.net/flanakin/archive/2004/01/28/1594.aspx http://plg.uwaterloo.ca/~migod/uml.html Sourceforge.net Istockphoto..com Softwarequotes.com
  • 49.
    The End Slidesdownloadable on: http://asheshr.wordpress.com Tag: Computing, Open Source Category: Software Engineering