- Project tools
- Using ArgoUML
- How do I...
|Over 500 more tools...
Vision for ArgoUML
This is the Vision for the ArgoUML project and also for the ArgoUML
The purpose is to let everyone know where we are going with ArgoUML
and the purpose of it all.
ArgoUML interested parties
This is the who are we, what do we do, what is appealing to us and
what are the alternatives for each interersted party.
- Users of ArgoUML
Users are the persons using ArgoUML or that would use ArgoUML to get
their job done. Their job is to solve a problem for which drawing a UML
model helps. They need some modelling tool to help them get a grip on,
plan, and later on do the work.
They are software developers or software architects. And some are business
or process analysts, or workflow designers. They are interested in and
know UML. They range from beginners to extremely qualified specialists
in all these areas. Also teachers and studends teaching and learning UML
are Users of ArgoUML.
Users of ArgoUML want ArgoUML to be functional and to help them solve
Their alternatives to using ArgoUML is to use some other tool to do
the UML modelling. Either a UML tool like Rose, Together, ... or a
drawing tool like dia, MS Word, whiteboard, pen and paper.
The ArgoUML project provides the users with a mailinglist and the
adjoining FAQ where they can discuss tips and tricks around UML in
general and specifically ArgoUML.
- Developers of ArgoUML
Developers are the persons that the ArgoUML project rely on to do all
the work with developing, testing, documenting, advocating, and
They are software developers, or architects working in java, testers,
They could also be students or student groups studying UML or working
with new ideas around UML by implementing them in ArgoUML.
They all donate their work to the ArgoUML project with the purposes:
- Their contribution might benefit others as they benefit from
- Their work will help them take the next step in their academic or
- They will receive kudos in the Open Source world.
Their alternatives to contributing to ArgoUML is to contribute to some
other Open Source project or to work with some professional
programming either in the software engineering area or in some
completely different area.
Tigris is the organization that operates the site where ArgoUML, the
development project recides.
The Tigris organisation provides the project with:
- Domain name
- Web server with search engine
- Download area
- Source and documentation repository (using Subversion)
- Mailing list server with archiving
- Bug register (A Bugzilla called Issuezilla)
Tigris wants ArgoUML to be a successful project so that Tigris can
receive the kudos in the Open Source world.
Alternatives to ArgoUML for Tigris are a lot of other projects.
- Library developers
ArgoUML relies to a great extent on libraries.
Probably some of the library developers use ArgoUML as an important
application for their library and ArgoUML.
This is so for the libraries: gef, nsuml, ocl.
These library developers use ArgoUML as one input to set
requirements and drive their project forward.
- Companies with derivatives
The ArgoUML license (the BSD license) allows anyone to more or less do
what he wants with ArgoUML.
This means that if a company would like to start selling ArgoUML or a
derivative work of ArgoUML it is free to do so under certain simple
conditions like that the copyright notice shall be provided.
Since ArgoUML is freely available from the ArgoUML project hopefully
noone will buy the unmodified product and for this reason the
companies that would sell ArgoUML would have to make a valuable
addition in order to sell it.
In doing so they promote ArgoUML and some of their enhancements will
hopefully find its way back to ArgoUML in one way or the other.
These companies want ArgoUML to be as good as possible so that the
basis for their work is as good as possible.
The alternatives for these companies is to write their product from
scratch or to choose some other product to base their work on.
Poseidon from Gentleware is such a product.
Gentleware has taken ArgoUML, made lots of valuable additions and
improvements and are now selling that product (called Poseidon).
Functions and features
Here is a list of functions and features that is or could be provided
It is also listed for what group this is interesting.
Cognitive Support for Design
Software design is a cognitively challenging task. Designers must manually enter
designs, but the primary difficulty is decision-making rather than data-entry. If designers improved their decision-making
capabilities, it would result in better designs.
Current CASE tools provide automation and graphical user interfaces that reduce
the manual work of entering a design and transforming a design into code. They aid designers in decision-making
mainly by providing visualization of design diagrams and simple syntactic checks. Also many CASE tools provide
substantial benefits in the area of version control and concurrent design mechanisms. One area of design support
that has been not been well supported is analysis of design decisions.
Current CASE tools are usable in that they provide a GUI that allows designers
to access all the features provided by the tool. And they support the design process in that they allow the designer
to enter diagrams in the style of popular design methodologies. But they typically do not provide process support
to guide the designer through the design task. Instead, designers typically start with a blank page and must remember
to cover every aspect of the design.
ArgoUML is a domain-oriented design environment that provides cognitive support
of object-oriented design. ArgoUML provides some of the same automation features of a commercial CASE tool, but
it focuses on features that support the cognitive needs of designers. These cognitive needs are described by three
- opportunistic design, and
- comprehension and problem solving.
This is important to the Users of ArgoUML.
Following the UML Specification
ArgoUML is based directly on the UML specification.
In fact, parts of ArgoUML was generated automatically from
the UML specification.
ArgoUML is (to the best of our knowledge) the only
tool that implements the UML meta-model exactly as specified.
Furthermore, it is our goal to provide comprehensive support for
OCL (the Object Constraint Language) and
XMI (the XML Model Interchange format).
This is important to the Users of ArgoUML.
Modularity and extensibility
It is possible to extend ArgoUML by adding modules to provide new
functions and new features.
This can be done without modifying the core of ArgoUML.
This means that a feature provided for one version of ArgoUML will
work in subsequent versions of ArgoUML without need for change.
It might also work in some derivative work.
This is important to Companies with derivatives.
Community Software Development
As with all software produced by our research group, ArgoUML is available for free
This is important to the Companies with derivatives.
ArgoUML was originally developed by a small group of people as a research project.
ArgoUML has many features that make it special, but it does not implement all the features that commercial CASE
tools provide. We are providing the source code for ArgoUML for you to review, customize to your needs, and improve.
Over time, we hope that ArgoUML will evolve into a powerful and useful
tool for everyone to use.
This is important to the Developers of ArgoUML, the Library developers
and the Companies with derivatives.
Community software development has worked successfully to produce the FSF's GNU
utilities and the Linux operating system. It has also worked in producing GEF, the Graph Editing Framework, which is a major
component of ArgoUML.
For more information on contributing to the development of ArgoUML,
see the Project page.
This is important to Tigris.