Software Santa

FREE and/or Open Source Desktop Software! => What is it? => Hobby Hutch => Topic started by: Software Santa on January 19, 2008, 02:38:50 PM

Title: ArgoUML is a Java based Universal Modeling Language (UML) tool. (for Java 1.4)
Post by: Software Santa on January 19, 2008, 02:38:50 PM
ArgoUML is a Java based Universal Modeling Language (UML) tool. (for Java 1.4) It is a FREE Replacement for Microsoft Visio 2007

Download and Run it:
(http://argouml-stats.tigris.org/documentation/manual-0.24/images/reference/gui_overview.png) (http://argouml-downloads.tigris.org/jws/argouml-latest-stable.jnlp)

It slices, it dices, you can make diagrams with it, write code with it, model with it ...
Whatever it is: it's a Software Santa PICK

Every now and then I find something really cool that hurts my head while I'm posting it. I'm due for a mammoth headache with this one I predict ...

Requires Java 1.4 or Later.  Install ArgoUML and try it out RIGHT Now! Web Start does a guided install Live! (http://argouml-downloads.tigris.org/jws/argouml-latest-stable.jnlp)

Quote
What is ArgoUML?

    ArgoUML is a Java based Universal Modeling Language tool. It is able to create and save all standard UML diagrams. More information on UML can be found here.  http://www.omg.org/technology/documents/formal/uml.htm (DON'T DO IT! It'll make your headache worse! If you don't know about UML already you should leave this page now!) ArgoUML also has the ability to reverse engineer compiling Java code and generate UML diagrams for it.

    ArgoUML is made available under the BSD Open Source License.

    ArgoUML is not production ready! This means that the things you can't do will distract you, you will have problems that you won't have in commercial UML tools, and there is no one to blame for this. On the other hand, this also means that you have the opportunity to fix your problems yourself.

Where does the name ArgoUML come from?

    This goes to the ancient history of ArgoUML when it was Jason Robbins' project.

    Jason Robbins writes:
    I first learned programming back in the days of BASIC on the Apple II. When TurboPascal arrived, it got me very excited about IDE's. I later had a chance to work with two Smalltalk environments and UNIX and emacs. I've always been interested in how some tools can be so much better than others. I have also enjoyed doing rapid prototyping and experimental programming.

    I came to grad school with the intention of building a better software development environment with an emphasis on the human aspects. What makes some languages and IDE's more productive for people than others? I initially set out to build a tool that would help software designers experiment with alternative designs quickly.

    At that time, all of the names of research projects in my research group at UC Irvine were taken from Greek Mythology. I borrowed a book on mythology and tried to find a tale of experimentation. The story of Jason and the Argonauts seemed like a good match because my name was Jason and exploration was close to experimentation as I could find. In that myth, "Argo" is the name of the ship that they sailed.

    The name "Argo" refers to the library of cognitive support features I implemented (e.g., design critics, checklists, navigational perspectives, etc.). I have also used it as the product line name for some of the applications of that library. The Argo/UML tool is actually the fourth in a series of tools I worked on that have cognitive support features provided by the Argo library. Argo/UML is by far the largest application of the Argo library.

    I later learned more about the "Argo" myth and found an interesting coincidence. The ship "Argo" was made from wood cut from a magical talking tree. The beams of wood on the ship continued to talk and warned the Argonauts of upcoming danger. You could say that these were design critics!

    Jason!

Cognitive Support Features? Isn't Your head hurting yet? Well, read on ...

Quote
Welcome to ArgoUML

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

If you are familiar with a family of software applications called Computer Aided Software Engineering (CASE) tools then you should find ArgoUML instantly familiar.

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. Main features:

    *Open standards: XMI, SVG and PGML
    *100% Platform independent thanks to the exclusive use of Java
    *Open Source, which allows extending or customizeing.
    *Cognitive features like: reflection-in-action, opportunistic design, comprehension and problem solving

Minimum system requirements:

    *Any Operating System that supports Java.
    *10MB of free disk storage space on your hard disk.
    *Mouse (or other pointing device) and a Keyboard.
    *Java 2 JRE or JDK version 1.4 or higher.

Project, Model and Diagram

The file operations save and open handle one project at a time. One project corresponds to a model plus diagram information, i.e. everything you can edit within the ArgoUML window.

The model may contain many objects (ModelElements) which form the complete UML description of the system you are describing. All ModelElements might be present on a diagram, but this is not required. Hence, the model that is stored in ArgoUML is independent of the contents of the diagrams. This may be explained by the possibility to generate programming code from the model - you do not need any diagrams for this.

An ArgoUML project also contains all diagram information, i.e. the shapes (presentation) used to represent the various UML ModelElements, their location, color, etc. Some ModelElements appear on multiple diagrams, some on one or none.

Hence, saving and opening projects retains all this information. There is a way to only save the model information though, which is by the menu "Tools" -> "Export as XMI...". This may be usefull e.g. when generating programming code with an external tool that understands XMI.

Objects

Select objects by left-clicking on them. The functionality of ArgoUML can be activated in the menu, in toolbars, or in pop-up menus when right-clicking above an object. Many of these functions work on the selected objects.

All diagrams have toolbars at the top which are used to create objects on the diagram.

Most objects can be added to a diagram and removed from a diagram without deleting it from the model! Select an object on a diagram, and then the menu item "Edit" -> "Remove from Diagram" clears the object from the diagram, but the object remains intact in the model, which may be seen in the explorer, i.e. the tree structure at the left hand side. Once removed, and item can be added back to the diagram (or any other diagram for that matter) by selecting it in the explorer and selecting the item "Add to Diagram" in the right-click pop-up menu.

Overview of the window

The top of the window contains a menu bar with commands available. In the File menu you can store the project or open another project instead.

The upper left part of the ArgoUML window shows a tree model of diagrams and objects. This view can be adapted to your needs by filtering the objects that are shown, and the structure in which they are shown.

The upper right part of ArgoUML shows the current diagram (one at a time). You can drag and drop the objects in the diagrams, and you can use the quick-links that appear when hovering over a selected object to create new objects connected to the already present objects.

The lower right part contains various details of the currently selected object: You select the object in one of the upper levels and choose what details you want to examine using the tabs.

The lower left part contains a list of all ToDo items for this model.

Command Line Options

When starting ArgoUML from a command line, there are several extra possibilities. Try typing:

java -jar argouml.jar -help

You will see the instructions:

Usage: [options] [project-file]
Options include:
  -help           display this information
  -big            use big fonts
  -huge           use huge fonts
  -nosplash       don't display logo at startup
  -noedem         don't report usage statistics
  -nopreload      don't preload common classes
  -norecentfile   don't reload last saved file
  -command <arg>  command to perform on startup
  -batch          don't start GUI
  -locale <arg>   set the locale (e.g. 'en_GB')
  -open <arg>     open given file on startup
  -print <arg>    print given file on startup (and exit)

You can also set java settings which influence the behaviour of ArgoUML:
  -Xms250M -Xmx500M  [makes ArgoUML reserve more memory for large projects]
   

A common problem is that the User Interface is shown in the wrong language. Below is an easy way to switch back to the English UI. Please beware: the language is in lowercase.

java -jar argouml.jar -locale en

ArgoUML may be run without UI, in batch mode. Currently the possibilities are very limited. Below is an example (everything on 1 line!): It reads a "test.zargo" from my working directory, gets the diagram named "A", and writes a PNG graphical file for this diagram. Without the "-batch", ArgoUML would start up the UI after executing the commands.

java -jar argouml.jar -batch -command "org.argouml.uml.ui.ActionOpenProject=c:\Documents and Settings\Michiel\My Documents\test.zargo" -command org.argouml.ui.cmd.ActionGotoDiagram=A -command "org.argouml.uml.ui.ActionSaveGraphics=c:\Documents and Settings\Michiel\My Documents\test.PNG"

ArgoUML Features

ArgoUML provides the following features.

    * All 9 UML 1.4 Diagrams supported
    * Platform Independent: Java 1.4+
    * Click and Go! with Java Web Start
    * Standard UML 1.4 Metamodel
    * XMI Support
    * Export Diagrams as GIF, PNG, PS, EPS, PGML and SVG
    * Available in ten languages - EN, EN-GB, DE, ES, IT, RU, FR, NB, PT, ZH
    * Advanced diagram editing and Zoom
    * OCL Support
    * Forward Engineering
    * Reverse Engineering / Jar/class file Import
    * Cognitive Support
          o Reflection-in-action
                + Design Critics
                + Corrective Automations (partially implemented)
                + "To Do" List
                + User model (partially implemented)
          o Opportunistic Design
                + "To Do" List
                + Checklists
          o Comprehension and Problem Solving
                + Explorer Perspectives
                + Multiple, Overlapping Views

OK, that's enough!  You are either doing handsprings right now: or your brain melted and you didn't notice ....

If you are doing Handsprings: Read the Manual! (http://argouml-stats.tigris.org/documentation/manual-0.24/) 

Tutorial:  http://argouml-stats.tigris.org/documentation/manual-0.24/pt01.html 

  http://argouml.tigris.org/ 

Categories: What is it? - Replacement for Microsoft Visio 2007 - Educational - Pictures - UML - Modeling - Diagrams - Java Web Start - Mac System X - Panther - Tiger - PPC - MacIntel - LINUX - Windows - Free BSD - Java 1.4