3. 9/10/2022 3
Unified Modeling
Language (UML)
• The UML is widely used in object-
oriented software development.
• One keystone for its success in
industry is the wealth of CASE tools
supporting UML.
http://www.omg.org/technology/documents/formal/uml.htm
4. 9/10/2022 4
UML Modeling Tools: http://www.objectsbydesign.com/tools/umltools_byCompany.html
Free UML Tools: http://www.bcs-oops.org.uk/cgi-bin/view/Technical/FreeUMLTools
CASE-tools supporting UML
EssModel
Fujaba
More…
ArgoUML
More…
Visual Paradigm
Community
Edition More
Rational
Rose
Price $0 $0 $0 $0 $4290
Open Source UML tool. X X
Supported Platform(s) Windows
Only
Java VM Java VM
Java VM Windows
Only
Reverse Engineering. X X X X X
Forward Engineering/Code generation X X X
Supported UML diagrams Class
diagram
only.
All types. All types. All types. All types.
Print and export class diagrams. X X X X X
Modify or create UML diagrams. X X X X
run-time model critique N/A N/A X N/A N/A
XMI import X N/A X
OCL support N/A N/A X N/A X
5. 9/10/2022 5
What is ArgoUML?
• ArgoUML is a Java based UML tool that helps you
do your design using UML. It is able to create and
save most of the nine standard UML diagrams.
• ArgoUML is not only a free UML modeling tool, it
is also an Open Source Development project
where you are invited to contribute.
6. 9/10/2022 6
Where does the name
ArgoUML come from?
According to Greek
mythology, the hero Jason
built a ship called Argo and
with his comrades, the
Argonauts, he left for the
quest of the golden fleece.
Poseidon, god of seas,
protected and safely guided
their journey.
7. 9/10/2022 7
Who to use?
• 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.
8. 9/10/2022 8
Features
• Support open standards extensively:
UML, XMI, SVG, OCL and others.
• 100% Platform independent thanks to
the exclusive use of Java
• Open Source, which allows extending or
customizing.
• Cognitive features like:
– reflection-in-action
– opportunistic design
– comprehension and problem solving
9. 9/10/2022 9
Features(con’t)
• Cognitive features like
– reflection-in-action
• Design Critics
• Corrective Automations (partially implemented)
• "To Do" List
• User model (partially implemented)
– opportunistic design
• "To Do" List
• Checklists
– Comprehension and Problem Solving
• Explorer Perspectives
• Multiple, Overlapping Views
• Alternative Design Representations: Graphs, Text, or Table
Design critics are
simple agents that continuously execute
in a background thread of control. They analyze
the design as the designer is working and suggest
possible improvements.
14. 9/10/2022 14
How to use
• User Interface
• Class Diagram Specific Tools
• How to install ArgoUML?
http://argouml.tigris.org/documentation/defaulthtml/manual/pt02.html
http://argouml.tigris.org/documentation/defaulthtml/manual/ch11s03.
html#d0e9002
http://argouml.tigris.org/documentation/defaulthtml/quick-
guide/ch02.html
15. 9/10/2022 15
Overview of ArgoUML
Windows
Top left: a hierarchical
view of the current
project file.
Top right: editor for the
selected part of the project, in
this case a class diagram.
Bottom left:
the designer's
"to do" list.
Bottom right: details of
the selected object in the
diagram or the selected
"to do" item.
ArgoUML's user interface is
divided into 4 panels
16. 9/10/2022 16
Supported Diagrams
• The current developer release of ArgoUML
implements all the diagram types of the UML 1.3
standard
• Use Case Diagrams
• Class Diagrams
• Behavior Diagrams
– Statechart Diagrams
– Activity Diagrams
– Interaction Diagrams
» Sequence Diagrams
» Collaboration Diagrams
• Implementation Diagrams
– Component Diagrams
– Deployment Diagrams
Class Diagrams Today’s Tutorial!
18. 9/10/2022 18
The Menu Bar and
Toolbars
1. New a Model.
2. Add a class in the class diagram in the Model.
19. 9/10/2022 19
The Menu Bar and
Toolbars
1. New a Model.
2. Add a class in the class diagram in the Model.
20. 9/10/2022 20
The Menu Bar and
Toolbars
1. New a Model.
2. Add a class in the class diagram in the Model.
21. 9/10/2022 21
The Menu Bar and
Toolbars
1. New a Model.
2. Add a class in the class diagram in the Model.
- Add an attribute in the class “Customer”.
22. 9/10/2022 22
The Menu Bar and
Toolbars
1. New a Model.
2. Add a class in the class diagram in the Model.
- Add an attribute in the class “Customer”.
- Add an method in the class “Customer”.
Double click
the return
23. 9/10/2022 23
The Menu Bar and
Toolbars
- Alternative I: double click the generalization
icon under the class.
1. New a Model.
2. Add a class in the class diagram in the Model.
3. Add a generalization to the class Customer.
Double click it.
24. 9/10/2022 24
The Menu Bar and
Toolbars
1. New a Model.
2. Add a class in the class diagram in the Model.
3. Add a generalization to the class Customer.
- Alternative I: double click the generalization
icon under the class.
- Alternative II: add a new class and use the
generalization line in the tool bar.
25. 9/10/2022 25
The Menu Bar and
Toolbars
1. New a Model.
2. Add a class in the class diagram in the Model.
3. Add a generalization to the class Customer.
4. Add a association to the class Customer.
Left click when the mouse is on the icon, then drag it
to the class to be associated, release the left button
in the mouse. The associate is done now.
Double click it.
26. 9/10/2022 26
The Menu Bar and
Toolbars
1. New a Model.
2. Add a class in the class diagram in the Model.
3. Add a generalization to the class Customer.
4. Add a association to the class Customer.
5. Add a constraints to the class Order.
27. 9/10/2022 27
The Menu Bar and
Toolbars
1. New a Model.
2. Add a class in the class diagram in the Model.
3. Add a generalization to the class Customer.
4. Add a association to the class Customer.
5. Add a constraints to the class Order.
http://argouml.tigris.org/documentation/default
html/manual/ch12s07.html#s2.ref.details_constr
aint_editor
28. 9/10/2022 28
The Menu Bar and
Toolbars
1. New a Model.
2. Add a class in the class diagram in the Model.
3. Add a generalization to the class Customer.
4. Add a association to the class Customer.
5. Add a constraints to the class Order.
6. Add a aggregation and composition to the class
Order.
30. 9/10/2022 30
The Menu Bar and Toolbars
The Folder-Up icon. Clicking on this icon will bring us to the parent
folder of the current folder.
The Home Folder icon. Clicking on this icon will bring us to our home
directory.
The New Folder icon. Clicking on this icon will create a new folder
called "New Folder" under the current folder. After the folder is
created selecting it an clicking in the name allows us to select the
name of our choice.
The Folders Presentation Icon.
31. 9/10/2022 31
The Menu Bar and Toolbars
Save to picture
• Permanently Save:
Save to a file, including *.gif, *.ps, *.svg, *.eps, *.pgn
32. 9/10/2022 32
Save to picture
• Permanently Save:
• Temporarily Save ---- Save to a clipboard.
33. 9/10/2022 33
XMI: XML Metadata
Interchange
Provide XMI to Rational Rose
Using XMI from Rational Rose
34. 9/10/2022 34
References
• Object Management Group(OMG) UML 2.0
http://www.omg.org/technology/documents/formal/uml.htm
• UML Modeling Tools:
http://www.objectsbydesign.com/tools/umltools_byCompany.html
• Free UML Tools:
http://www.bcs-oops.org.uk/cgi-bin/view/Technical/FreeUMLTools
• Information on Argo UML, an .open source UML modeling tool built in
Java
http://argouml.tigris.org/
• Jason Robbins
http://www1.ics.uci.edu/~jrobbins/
• Poseidon for UML
http://www.gentleware.com/products/
• ArgoUML Manual
http://argouml.tigris.org/documentation/defaulthtml/manual/
• Section 3, Software Design: From Programming to Architecture, Eric
Braude, John Wiley and Sons, Publishers, 2004
35. 9/10/2022 35
Acronym
UML Unified Modelling Language
OCL Object Constraint Language
XMI XML Metadata Interchange
GEF UCI Graph Editing Framework
SVG Scalable Vector Graphics
CASE Computer-Aided Software Engineering