UML Case Tools

49
UML CASE Tools UML CASE Tools :: Ashesh Ramjeeawon :: :: Ashesh Ramjeeawon :: University of Mauritius University of Mauritius Software Engineering Student Software Engineering Student 03 Feb. 2009 03 Feb. 2009 Blog: http://asheshr.wordpress.com Blog: http://asheshr.wordpress.com Am also on Facebook! Am also on Facebook!

description

Presentation for Software Engineering class on UML Case Tools

Transcript of UML Case Tools

Page 1: UML Case Tools

UML CASE ToolsUML CASE Tools:: Ashesh Ramjeeawon :::: Ashesh Ramjeeawon ::

University of MauritiusUniversity of Mauritius

Software Engineering StudentSoftware Engineering Student

03 Feb. 200903 Feb. 2009

Blog: http://asheshr.wordpress.comBlog: http://asheshr.wordpress.com

Am also on Facebook! Am also on Facebook!

Page 2: UML Case Tools

AgendaAgenda Recap -UMLRecap -UML Choosing UML CASE toolsChoosing UML CASE tools Open Source UML CASE toolsOpen Source UML CASE tools

1. StarUML1. StarUML 2. Umbrello2. Umbrello 3. AndroMDA3. AndroMDA 4. BOUML4. BOUML 5. ArgoUML5. ArgoUML

Commercial CASE toolsCommercial CASE tools 1. IBM Rational Rose1. IBM Rational Rose 2. Microsoft Visio2. Microsoft Visio

Page 3: UML Case Tools

What is UML?What is UML?

The The Unified Modeling Unified Modeling Language (UML)Language (UML) is a language is a language for specifying, constructing, for specifying, constructing, visualizing, and documenting visualizing, and documenting the artifacts of a software-the artifacts of a software-intensive system.intensive system.

-Source - -Source - SoftwareEngineeringReferences.comSoftwareEngineeringReferences.com

Page 4: UML Case Tools

Choosing UML toolsChoosing UML tools

Tool should support most UML analysis Tool should support most UML analysis diagrams (class, use-case, diagrams (class, use-case, collaboration, sequence, and activity). collaboration, sequence, and activity).

It be easy to use, reliable, scalable. It be easy to use, reliable, scalable. It be free or almost free to universities. It be free or almost free to universities. There be a free-ish Windows and/or There be a free-ish Windows and/or

Linux version that students may install Linux version that students may install on their home machineson their home machines

Source: SoftwareEngineeringReferences.comSource: SoftwareEngineeringReferences.com

Page 5: UML Case Tools

UML Case ToolsUML Case Tools ““Tools are very important element of Tools are very important element of

defining a path of least resistance. If I defining a path of least resistance. If I can set up a tool so that it’s easier for a can set up a tool so that it’s easier for a developer to do something the way that I developer to do something the way that I want the developer to do it, and harder want the developer to do it, and harder for the developer to do it some other for the developer to do it some other way, then I think it’s very likely the way, then I think it’s very likely the developer is going to do it the way I developer is going to do it the way I want them to, because it’s want them to, because it’s easiereasier. It’s . It’s the the path of least resistancepath of least resistance." ." - Steve C McConnell - Steve C McConnell

Author: Code CompleteAuthor: Code Complete

Page 6: UML Case Tools

Open Source UML ToolsOpen Source UML ToolsWhat is Open Source?

Page 7: UML Case Tools

Open Source is defined Open Source is defined as…as…

Open sourceOpen source usually refers to software usually refers to software that is released with source code that is released with source code

under a license that ensures that under a license that ensures that derivative works will also be available derivative works will also be available as source code, as source code,

protects certain rights of the original protects certain rights of the original authors, and prohibits restrictions on authors, and prohibits restrictions on how the software can be used or who how the software can be used or who can use it. - O’Reilly Mediacan use it. - O’Reilly Media

Visit: http://www.opensource.org/docs/definition.php for another definition

Page 8: UML Case Tools

““Googling” the Open Googling” the Open Source tools…Source tools…

A keyword search on Feb 2009 of A keyword search on Feb 2009 of

““UML modeler” on UML modeler” on

Sourceforge.net Sourceforge.net

Reveals Reveals 513 results….513 results….

Page 9: UML Case Tools

Choosing the popular Choosing the popular tools…tools…

Let’s filter by downloads Let’s filter by downloads

•Are we going to look at all these Are we going to look at all these 513 tools?513 tools?

Page 10: UML Case Tools

1. StarUML - 781,246 1. StarUML - 781,246 downloadsdownloads

StarUML is an open source project to StarUML is an open source project to develop fast, flexible, extensible, develop fast, flexible, extensible, featureful, and freely-available UML/MDA featureful, and freely-available UML/MDA platform running on Win32 platform. platform running on Win32 platform.

The goal is a compelling replacement of The goal is a compelling replacement of commercial UML tools such as commercial UML tools such as RationalRose, Together and so on. RationalRose, Together and so on.

Page 11: UML Case Tools

1. StarUML - 781,246 1. StarUML - 781,246 downloadsdownloads

User Interface: User Interface: Win32 (MS Windows)Win32 (MS Windows) Translations: Translations: EnglishEnglish Programming Language: Programming Language: Delphi/Delphi/KylixKylix Operating System: Operating System:

32-bit MS Windows (NT/2000/XP)32-bit MS Windows (NT/2000/XP) License: License:

GNU General Public License (GPL)GNU General Public License (GPL) Intended Audience: Intended Audience: Other AudienceOther Audience, ,

DevelopersDevelopers, , Quality EngineersQuality Engineers Development Status: Development Status:

5 - Production/Stable5 - Production/Stable

Page 12: UML Case Tools

1. starUML screenshots1. starUML screenshots

Page 13: UML Case Tools

1. starUML screenshots1. starUML screenshots

Page 14: UML Case Tools

2. Umbrello - 248,031 2. Umbrello - 248,031 downloadsdownloads

An UML modeling tool for KDE. It An UML modeling tool for KDE. It supports most UML diagrams, code supports most UML diagrams, code export (C++ and Java) and reverse export (C++ and Java) and reverse engineering. [Open Source, GPL] engineering. [Open Source, GPL]

Page 15: UML Case Tools

2. Umbrello - 248,031 2. Umbrello - 248,031 downloadsdownloads

User Interface: User Interface: KDEKDE Translations: Translations: EnglishEnglish, , EsperantoEsperanto Programming Language: Programming Language: C++C++ Operating System: Operating System: LinuxLinux, ,

All POSIX (Linux/BSD/UNIX-like All POSIX (Linux/BSD/UNIX-like OSesOSes)) License: License:

GNU General Public License (GPL)GNU General Public License (GPL) Intended Audience: Intended Audience: DevelopersDevelopers

Development Status: Development Status: 5 - Production/Stable5 - Production/Stable

Page 16: UML Case Tools
Page 17: UML Case Tools
Page 18: UML Case Tools

3. AndroMDA – 155,165 3. AndroMDA – 155,165 downloadsdownloads

AndroMDA is a code generation AndroMDA is a code generation framework that follows the Model framework that follows the Model Driven Architecture (MDA) paradigm. Driven Architecture (MDA) paradigm.

It takes a UML model from a CASE-It takes a UML model from a CASE-tool and generates classes and tool and generates classes and deployable components (J2EE or deployable components (J2EE or other) specific for your application other) specific for your application architecture. architecture.

Page 19: UML Case Tools

3. AndroMDA – 155,165 3. AndroMDA – 155,165 downloadsdownloads

Translations: Translations: EnglishEnglish, , GermanGerman Programming Language: Programming Language: JavaJava Operating System: Operating System:

OS Independent (Written in an interprOS Independent (Written in an interpreted language)eted language)

License: License: BSD LicenseBSD License Intended Audience: Intended Audience: DevelopersDevelopers Development Status: Development Status:

5 - Production/Stable5 - Production/Stable

Page 20: UML Case Tools
Page 21: UML Case Tools

4. BOUML – 104, 064 4. BOUML – 104, 064 downloadsdownloads

BOUML is a free UML 2 tool box allowing you to model and BOUML is a free UML 2 tool box allowing you to model and generate code in C++, Java, Idl, Php and Python. generate code in C++, Java, Idl, Php and Python.

BOUML runs under Unix/Linux/Solaris, MacOS X and Windows. BOUML runs under Unix/Linux/Solaris, MacOS X and Windows. It is very fast and doesn't require much memory to manage several It is very fast and doesn't require much memory to manage several

thousands of classes.thousands of classes.

Page 22: UML Case Tools

4. BOUML – 104, 064 4. BOUML – 104, 064 downloadsdownloads

User Interface: User Interface: QtQt Programming Language: Programming Language: C++C++

Operating System: Operating System: All POSIX (Linux/BSD/UNIX-like All POSIX (Linux/BSD/UNIX-like OSesOSes)), , All BSD Platforms (FreeBSD/All BSD Platforms (FreeBSD/NetBSD/OpenBSD/AppleNetBSD/OpenBSD/Apple Mac OS X) Mac OS X), , All 32-bit MS Windows (95/98/NT/2000/XP)All 32-bit MS Windows (95/98/NT/2000/XP)

License: License: GNU General Public License (GPL)GNU General Public License (GPL) Intended Audience: Intended Audience: DevelopersDevelopers Development Status: Development Status: 5 - Production/Stable5 - Production/Stable

Page 23: UML Case Tools

BOUML -Use Case BOUML -Use Case DiagramDiagram

Page 24: UML Case Tools

BOUML – Sequence BOUML – Sequence DiagramDiagram

Page 25: UML Case Tools

BOUML – Sequence BOUML – Sequence DiagramDiagram

Page 26: UML Case Tools

BOUML – State DiagramBOUML – State Diagram

Page 27: UML Case Tools

BOUML – Class DiagramBOUML – Class Diagram

Page 28: UML Case Tools

BOUML – Activity BOUML – Activity DiagramDiagram

Page 29: UML Case Tools

5. ArgoUML5. ArgoUML

ArgoUML is a powerful yet easy-to-use ArgoUML is a powerful yet easy-to-use interactive Java based graphical software design interactive Java based graphical software design environment that supports the design, environment that supports the design, development and documentation of object-development and documentation of object-oriented software applications. oriented software applications.

A free research modelling tool; fairly fully A free research modelling tool; fairly fully featured; the main goal is to have a Really Useful featured; the main goal is to have a Really Useful user interface, unlike almost all existing CASE user interface, unlike almost all existing CASE tools;tools;

Page 30: UML Case Tools

The users of ArgoUML are software The users of ArgoUML are software designers & architects, software designers & architects, software developers, business analysts, systems developers, business analysts, systems analysts and other professionals involved in analysts and other professionals involved in the analysis, design and development of the analysis, design and development of software applications.  software applications. 

Note that there is a commercial version of Note that there is a commercial version of this tool that goes by the name Poseidon this tool that goes by the name Poseidon and is marketed by a Gentleware; they offer and is marketed by a Gentleware; they offer a free community edition as well as fancier a free community edition as well as fancier editions that cost real money. editions that cost real money.

Page 31: UML Case Tools
Page 32: UML Case Tools

ArgoUML – class diagramArgoUML – class diagram

Page 33: UML Case Tools

Argo UML – Use Case Argo UML – Use Case DiagramDiagram

Page 34: UML Case Tools

Argo UML – State Chart Argo UML – State Chart DiagramDiagram

Page 35: UML Case Tools

Other Open Source ToolsOther Open Source Tools Gaphor, a GPL modelling tool written in Gaphor, a GPL modelling tool written in

Python using GTK+ Python using GTK+ Astade is aimed at aiding in autogenerating Astade is aimed at aiding in autogenerating

C++ source from UML models. It is meant C++ source from UML models. It is meant to be practical rather than research to be practical rather than research oriented oriented

FUJABA (the rather unlikely acronym FUJABA (the rather unlikely acronym stands for Forward Unto Java And Back stands for Forward Unto Java And Back Again), supports both reverse engineering Again), supports both reverse engineering of and code generation for Java systems of and code generation for Java systems

Coral is an open source research-based Coral is an open source research-based modelling and meta-modelling tool, from modelling and meta-modelling tool, from Akademi University in Finland Akademi University in Finland

Page 36: UML Case Tools

Other Open Source ToolsOther Open Source Tools

DIA, a freeware/GPL multiplatform (!!) DIA, a freeware/GPL multiplatform (!!) drawing tool based on GTK; supports drawing tool based on GTK; supports UML and other kinds of diagrams; this is UML and other kinds of diagrams; this is intended to be a freeware Visio-like intended to be a freeware Visio-like drawing tool rather than a modelling tool drawing tool rather than a modelling tool

Violet, a very simple GPL drawing tool Violet, a very simple GPL drawing tool written by Cay Horstmann written by Cay Horstmann

UMLet, a small, very simple, and easy-to-UMLet, a small, very simple, and easy-to-use drawing tool (as opposed to a fully use drawing tool (as opposed to a fully fledged modelling tool) from the Technical fledged modelling tool) from the Technical University of Vienna. University of Vienna.

Page 37: UML Case Tools

Commercial ToolsCommercial Tools

Page 38: UML Case Tools

Commercial ToolsCommercial Tools

IBM Rational RoseIBM Rational Rose Microsoft VisioMicrosoft Visio SmartDrawSmartDraw Enterprise ArchitectEnterprise Architect Poseidon for UMLPoseidon for UML Borland TogetherBorland Together Sybase Power DesignerSybase Power Designer

Page 39: UML Case Tools

IBM Rational RoseIBM Rational Rose

Rational Rose[rational] is often Rational Rose[rational] is often considered the definitive UML tool considered the definitive UML tool because the founders of the Rational because the founders of the Rational company also include the creators of company also include the creators of UML. UML.

Early versions of Umbrello described it Early versions of Umbrello described it as an equivalent of Rational Rose and as an equivalent of Rational Rose and screenshots indicate that it has a similar screenshots indicate that it has a similar user interface layout. user interface layout.

perhaps the best known UML tool; free perhaps the best known UML tool; free to universities (if you ask) to universities (if you ask)

Page 40: UML Case Tools
Page 41: UML Case Tools
Page 42: UML Case Tools

Hotel Reservation System in Rational Rose

Page 43: UML Case Tools

Microsoft VisioMicrosoft Visio Instead of static pictures, create data-Instead of static pictures, create data-

connected Visio diagrams that display connected Visio diagrams that display data, are easy to refresh, and data, are easy to refresh, and dramatically increase your dramatically increase your productivity. productivity.

Use the wide variety of diagrams in Use the wide variety of diagrams in Office Visio 2007 to understand, act Office Visio 2007 to understand, act on, and share information about on, and share information about organizational systems, resources, organizational systems, resources, and processes throughout your and processes throughout your enterprise.enterprise.Source:

http://office.microsoft.com/en-us/visio/HA101656401033.aspx

Page 44: UML Case Tools
Page 45: UML Case Tools

Other CASE ToolsOther CASE Tools Oracle JDeveloperOracle JDeveloper MetaUMLMetaUML Agent UML ToolAgent UML Tool Delphia Object ModelerDelphia Object Modeler Magic Draw Magic Draw Borland Together Borland Together JUDE JUDE OmniGraffle (Macintosh)OmniGraffle (Macintosh) Eclipse UMLEclipse UML Visual Paradigm for the Unified Visual Paradigm for the Unified

Modeling Language Modeling Language

Page 46: UML Case Tools

Other Case ToolsOther Case Tools

Visual UMLVisual UML iLogix RhapshodyiLogix Rhapshody gModelergModeler And the list goes on!And the list goes on!

Page 47: UML Case Tools

ConclusionConclusion

Use the tools that make us most Use the tools that make us most productive productive

Efficiency is the key!Efficiency is the key!

Page 48: UML Case Tools

ReferencesReferences http://www.objectsbydesign.com/http://www.objectsbydesign.com/

tools/umltools_byCompany.htmltools/umltools_byCompany.html http://www.oose.de/umltools.htmhttp://www.oose.de/umltools.htm http://geekswithblogs.net/flanakin/http://geekswithblogs.net/flanakin/

archive/2004/01/28/1594.aspxarchive/2004/01/28/1594.aspx http://plg.uwaterloo.ca/~migod/http://plg.uwaterloo.ca/~migod/

uml.htmluml.html Sourceforge.netSourceforge.net Istockphoto..comIstockphoto..com Softwarequotes.comSoftwarequotes.com

Page 49: UML Case Tools

The EndThe End

Slides downloadable on: Slides downloadable on: http://asheshr.wordpress.comhttp://asheshr.wordpress.com Tag: Computing, Open SourceTag: Computing, Open Source Category: Software EngineeringCategory: Software Engineering