ArgoUML User Manual

A tutorial and reference description of ArgoUML

Alejandro Ramirez

Philippe Vanpeperstraete

Andreas Rueckert

Kunle Odutola

Jeremy Bennett

This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later. A copy of this license is included in the section Open Publication License. The latest version is presently available at http://www.opencontent.org/openpub/.

Revision History
Revision 0.1017 May 2002

Full issue for release 0.10. Update to incorporate further comments from Bob Marcum. The reference part of the manual (chapters 7 through 22) is now completed. In addition chapter 1 (introduction) and tutorial chapters 2 and 3 are now largely complete.

Bob Marcum's comments for chapters 18 through 22 incorporated.

Revision 0.9.93 May 2002

Full issue for release 0.9.9. Update to add the tutorial chapter on incorporate further comments from Bob Marcum, plus changes to the use case diagram. The reference part of the manual (chapters 7 through 22) is now completed. In addition chapter 1 (introduction) and tutorial chapters 2 and 3 are now largely complete.

Chapter 3 (requirements capture tutorial) written. Bob Marcum's comments for chapters 15 and 16 incorporated. Details of extension point tool and extension point compartment on use cases added.

Revision 0.9.9, draft A22 Apr 2002

Update to incorporate Bob Marcum's comments from reviewing through to chapter 14, plus some other minor changes. The reference part of the manual (chapters 7 through 22) is now completed. In addition chapter 1 (introduction), tutorial chapter 2 (UML based OOA&D) are now largely complete.

Bob Marcum's comments incorporated. Change to singleton stereotype also added to all children of classifier that may use it.

Revision 0.9.85 Apr 2002

Full issue for release 0.9.8. Update to capture changes due to various bug fixes, and the extensions to the use case diagram. The reference part of the manual (chapters 7 through 22) is now completed. In addition chapter 1 (introduction), tutorial chapter 2 (UML based OOA&D) are now largely complete.

Description of include and extend relationships and extension points on use case diagrams. Changes to naming of generalization and specialization fields throughout. Double click on packages to navigate to or create a class diagram. New screen divider bars. How to import Gentleware projects. Changes to singleton critics, now it is a predefined stereotype.

Revision 0.9.8, draft A19 Mar 2002

Update taking on board some proof-reading comments and making more suitable for PDF. The reference part of the manual (chapters 7 through 22) is now completed. In addition chapter 1 (introduction), tutorial chapter 2 (UML based OOA&D) are now largely complete.

Explicit references to version 0.9.6 replaced where appropriate. Tables replaced by variablelists in reference chapters. Supplementary text descriptions of diagrams scrapped.

Revision 0.9.713 Mar 2002

Full issue for release 0.9.7. Update with minor changes tracking bug fixes. The reference part of the manual (chapters 7 through 22) is now completed. In addition chapter 1 (introduction), tutorial chapter 2 (UML based OOA&D) are now largely complete.

Updated to fix description for critics regarding operation name conflict, aggregation on binary associations, aggregation on on 3-way (or more) associations and associations across namespaces. Duplicate critic for signature conflict removed, and critic for duplicate association ends (roles) added.

Revision 0.9.7, draft A5 Mar 2002

Update to correct things left unfinished in the 0.9.6 release of ArgoUML. The reference part of the manual (chapters 7 through 22) is now completed. In addition chapter 1 (introduction), tutorial chapter 2 (UML based OOA&D) are now largely complete.

The comments on the 0.9.6 issue should have referred to chapter 21 as covering deployment diagrams (partially completed) and chapter 22 as covering built in datatypes, classes, interfaces and stereotypes. The comments should also have indicated that chapter 20 (activity diagrams) was complete.

Updated to complete chapter 21 (deployment diagrams). Bug fixes of navigation between interfaces and classes and extensions to the pop-up menu for classes have been noted, and the documentation revised accordingly.

Revision 0.9.620 Feb 2002

Full issue to support the release of ArgoUML 0.9.6. With the exception of 3 sections in Chapter 20, the reference part of the manual (chapters 7 through 21) is now completed. Chapter 1 (introduction), tutorial chapter 2 (UML based OOA&D) and reference chapters 7 (user interface), 8 (navigation pane), 9 (editing pane), 10 (details pane), 11 (to-do pane), 12 (menu bar), 13 (critics), 14 (top level artifacts), 15 (use case diagrams), 16 (class diagrams), 17 (sequence diagrams), 18 (state diagrams), 19 (collaboration diagrams) and 21 (built-in datatypes, classes, interfaces and stereotypes) are now largely complete. Chapter 20 (deployment diagrams) is complete apart from the description of node instances, components and component instances.

Updated to correct description of pop-up menus for associations on class and use case diagrams; updated fix for newly created stereotypes not appearing in the drop down. Correct description of snooze button. Added pop-up menu descriptions for aggregation, multiplicity and navigability of associations on class diagrams. Completed chapters 17 (sequence diagrams), 18 (state diagrams), 19 (collaboration diagrams) and 21 (built-in datatypes, classes, interfaces and stereotypes). Chapter 20 (deployment diagrams) has example diagrams, description of nodes and all artifacts that are used on other diagrams as well, but omits description of node instances, components and component instances.

Revision 0.9.5, draft G1 Feb 2002

Update by Jeremy Bennett. Chapter 1 (introduction), tutorial chapter 2 (UML based OOA&D) and reference chapters 7 (user interface), 8 (navigation pane), 9 (editing pane), 10 (details pane), 11 (to-do pane), 12 (menu bar), 13 (critics), 14 (top level artifacts), 15 (use case diagrams) and 16 (class diagrams) are now largely complete.

Updated to reflect bug fix to provision of attributes with interfaces and improvement to Remove from Diagram function. Chapters 10 and 11 written. Critics broken out into new chapter 13 and each given their own section and reference id. Comments from Linus Tolke on chapters 7 and 8 adopted.

Revision 0.9.5, draft F28 Jan 2002

Update by Jeremy Bennett. Chapter 1 (introduction), tutorial chapter 2 (UML based OOA&D) and reference chapters 7 (user interface), 8 (navigation pane), 9 (editing pane), 12 (menu bar), 13 (top level artifacts), 14 (use case diagrams) and 15 (class diagrams) are now largely complete.

Provided explanation of Clarifiers and Edit Network when browsing critics. Moved all description of menu buttons into chapter 7 (user interface reference) to avoid duplication. Completed chapter 7, chapter 8 (navigation pane) and chapter 9 (editing pane).

Revision 0.9.5, draft E22 Jan 2002

Update by Jeremy Bennett. Chapter 1 (introduction), tutorial chapter 2 (UML based OOA&D) and reference chapters 12 (menu bar), 13 (top level artifacts), 14 (use case diagrams) and 15 (class diagrams) are now largely complete.

Documented remaining artifacts for class diagram. New chapter added for menu reference. Book now divided into two parts, tutorial and reference. Contents depth restricted to levels 1 and 2 within chapters. Incorporated comments from Linus Tolke (some deferred to later revisions). Spelling checked (with ispell) for completed chapters and converted to “American”.

Revision 0.9.5, draft D21 Dec 2001

Update by Jeremy Bennett. Documented most artifacts for class diagram. Corrected descriptions of constraints and tagged values in line with UML 1.3 standard.

Revision 0.9.5, draft C18 Dec 2001

Update by Jeremy Bennett. Added Kunle Odutola to the list of authors (omitted in error from earlier drafts of 0.9.5, which also included his work); substituted the term “artifact” for “entity” in references to UML artifacts; added stereotypes to top level artifact reference; completed reference sections for top level and use case artifacts; changed to Open Publication License

Revision 0.9.5, draft B11 Dec 2001

Update by Jeremy Bennett. Tidied up Introduction chapter; completed UML tutorial chapter apart from the case study description; added GNU Free Documentation License as an appendix; added reference chapter on predefined data types; classes, interfaces and stereotypes; reorganized diagrams into images/tutorial and images/reference sections and substituted "To Be Provided" diagram where no suitable one is available.

Revision 0.9.5, draft A7 Dec 2001

Update by Jeremy Bennett preparing to support release of ArgoUML 0.9.6. Incorporates material from previous manuals, attempts to provide a skeleton structure for the whole document.

Revision 22 Feb 2000

Version due to Philippe Vanpeperstraete. History of previous versions unknown.


Table of Contents

1. Preface
1. Introduction
1.1. Origins and Overview of ArgoUML
1.1.1. Object Oriented Analysis and Design
1.1.2. The Development of ArgoUML
1.1.3. Finding Out More About the Argo Project
1.1.3.1. How ArgoUML is Developed
1.1.3.2. More on Infrastructure
1.1.3.3. Development Tools Used
1.2. Scope of This User Manual
1.2.1. Target Audience
1.2.2. Scope
1.3. Overview of the User Manual
1.3.1. Tutorial Manual Structure
1.3.2. Reference Manual Structure
1.3.3. User Feedback
1.4. Assumptions
I. ArgoUML Tutorial Manual
2. UML Based OOA&D
2.1. Introduction
2.2. Background to UML
2.3. UML Based Processes for OOA&D
2.3.1. Types of Process
2.3.1.1. The Waterfall Process
2.3.1.2. Iterative Development Processes
2.3.1.2.1. The Rational Unified Process
2.3.1.2.2. How Big is an Iteration?
2.3.1.3. Recursive Development Processes
2.3.2. A Development Process for This Manual
2.3.2.1. Requirements Capture
2.3.2.2. Analysis
2.3.2.3. Design
2.3.2.4. Build
2.4. Why ArgoUML is Different
2.4.1. Cognitive Psychology
2.4.1.1. Theory
2.4.1.1.1. Reflection-in-Action
2.4.1.1.2. Opportunistic Design
2.4.1.1.3. Comprehension and Problem Solving
2.4.1.2. Practical Application in ArgoUML
2.4.2. Open Standards
2.4.2.1. XML Metadata Interchange (XMI)
2.4.2.2. Standard Vector Graphics (SVG)
2.4.2.3. Object Constraint Language (OCL)
2.4.3. 100% Pure Java
2.4.4. Open Source
2.5. ArgoUML Basics
2.5.1. Getting Started
2.5.1.1. ArgoUML using Java Web Start
2.5.1.2. Downloading ArgoUML
2.5.1.2.1. Problems Downloading
2.5.1.2.2. Problems Running ArgoUML
2.5.2. The ArgoUML User Interface
2.5.2.1. The Navigator Pane
2.5.2.2. The Editing Pane
2.5.2.3. The Details Pane
2.5.2.4. The To-Do Pane
2.5.2.5. The Menu Bar
2.5.2.6. The Mouse
2.5.2.7. Drawing Diagrams
2.5.2.7.1. Moving Diagram Elements
2.5.2.7.1.1. Using the Mouse Keys
2.5.2.7.1.2. Using the Tool bar
2.5.2.7.2. Arranging Elements
2.5.2.8. Working with Projects
2.5.2.8.1. The Start-up Window
2.5.2.8.2. Saving a project - the file menu
2.5.2.8.3. The File Chooser Dialog
2.5.2.8.4. File formats used by ArgoUML
2.5.3. Output
2.5.3.1. Loading and Saving
2.5.3.1.1. Saving XMI files in ArgoUML
2.5.3.2. Graphics and Printing
2.5.3.2.1. The Graph Editing Framework (GEF)
2.5.3.2.2. Precision Graphics Markup Language (PGML)
2.5.3.2.3. Applications Which Open PGML
2.5.3.2.4. Printing Diagrams
2.5.3.2.5. Standard Vector Graphics (SVG)
2.5.3.2.6. Saving Diagrams as SVG
2.5.3.3. XMI
2.5.3.3.1. Using XMI from Rational Rose
2.5.3.3.2. Using models created by Gentleware
2.5.3.3.3. XMI Interchangeability between ArgoUML 0.8.1a and 0.9.x
2.5.3.3.4. Importing Other XMI Formats into ArgoUML
2.5.3.3.5. Generating XMI Format
2.5.3.4. Code Generation
2.5.3.4.1. Code generated by ArgoUML
2.5.3.4.2. Generating Code for Methods
2.5.4. Working With Design Critics
2.5.4.1. The To-Do Pane—Messages From the Design Critics
2.5.4.2. Design Critics at Work: The Rename Package Wizard
2.6. The Case Study
3. Requirements Capture
3.1. Introduction
3.2. The Requirements Capture Process
3.2.1. Process Steps
3.3. Output of the Requirements Capture Process
3.3.1. Vision Document
3.3.2. Use Case Diagram
3.3.2.1. Active and Passive Actors
3.3.2.2. Multiplicity
3.3.2.3. Hierarchies of Use Cases
3.3.3. The Use Case Specification
3.3.3.1. Specifying the Basic Flow
3.3.3.2. Specifying the Alternate Flows
3.3.3.3. Iterative Development of Use Case Specifications
3.3.4. Supplementary Requirement Specification
3.4. Using Use Cases in ArgoUML
3.4.1. Actors
3.4.2. Use Cases
3.4.2.1. Adding an Extension Point to a Use Case
3.4.3. Associations
3.4.3.1. Setting Navigation
3.4.3.2. Setting multiplicity
3.4.4. Hierarchical Use Cases
3.4.4.1. Includes
3.4.4.2. Extends
3.4.4.3. Generalization
3.4.5. Stereotypes
3.4.6. Documentation
3.4.7. System Boundary Box
3.5. Case Study
3.5.1. Vision Document
3.5.2. Identifying Actors and Use Cases
3.5.3. Associations
3.5.4. Advanced Diagram Features
3.5.5. Use Case Specifications
3.5.6. Supplementary Requirements Specification
4. Analysis
4.1. Introduction
4.2. The Analysis Process
4.2.1. Output of the Analysis Process
4.2.1.1. Concept Diagram
4.2.1.2. System Sequence Diagram
4.2.1.3. System State Diagram
4.2.1.4. Realisation Use Case Diagram
4.2.1.5. Documents
4.3. Class Diagrams
4.3.1. The Class Diagram
4.3.2. Advanced Class Diagrams
4.3.2.1. Association Classes
4.4. Creating Class Diagrams in ArgoUML
4.4.1. Classes
4.4.1.1. Using the Note Icon in the Tool Bar
4.4.2. Associations
4.4.2.1. Aggregation
4.4.3. Class Attributes and Operations
4.4.3.1. Entering Data Into Attributes and Methods Windows
4.4.3.2. Class Attributes
4.4.3.3. Class Operations
4.4.4. Advanced Class Features
4.4.4.1. Association Classes
4.4.4.2. Stereotypes
4.5. Sequence Diagrams
4.5.1. The Sequence Diagram
4.5.2. Identifying Actions
4.5.3. Advanced Sequence Diagrams
4.6. Creating Sequence Diagrams in ArgoUML
4.6.1. Sequence Diagrams
4.6.1.1. Creating a Sequence Diagram
4.6.1.2. Known Issues with Sequence Diagrams
4.6.2. Actions
4.6.3. Advanced Sequence Diagrams
4.7. State Diagrams
4.7.1. The State Diagram
4.7.2. Advanced State Diagrams
4.7.2.1. Hierarchical State Diagrams
4.8. Creating State Diagrams in ArgoUML
4.8.1. State Diagrams
4.8.1.1. Creating a State Diagram
4.8.2. States
4.8.2.1. Editing a Composite State
4.8.3. Transitions
4.8.4. Actions
4.8.5. Advanced State Diagrams
4.8.5.1. Hierarchical State Diagrams
4.9. Realisation Use Cases
4.10. Creating Realisation Use Cases in ArgoUML
4.11. Case Study
4.11.1. Concept Class Diagrams
4.11.1.1. Identifying classes
4.11.1.2. Identifying associations
4.11.2. System Sequence Diagrams
4.11.2.1. Identifying actions
4.11.3. System State Diagrams
4.11.4. Realisation Use Cases
5. Design
5.1. Introduction
5.2. The Design Process
5.2.1. Output of the Design Process
5.2.1.1. Package Diagram
5.2.1.2. Realization Class Diagrams
5.2.1.3. Sequence Diagrams and Collaboration Diagrams
5.2.1.4. State Diagrams and Activity Diagrams
5.2.1.5. Deployment Diagram
5.2.1.6. Documents
5.3. Package Diagrams
5.3.1. The Package Diagram
5.3.2. Advanced Package Diagrams
5.3.2.1. Subpackages
5.3.2.2. Adding DataTypes
5.3.2.3. Adding Stereotypes
5.4. Creating Package Diagrams in ArgoUML
5.4.1. Packages
5.4.1.1. Subpackages
5.4.2. Relationships between packages
5.4.2.1. Dependency
5.4.2.2. Generalization
5.4.2.3. Realization and Abstraction
5.4.3. Advanced Package Features
5.4.3.1. Creating New Datatypes
5.4.3.2. Creating New Stereotypes
5.5. More on Class Diagrams
5.5.1. The Class Diagram
5.5.1.1. Class Attributes
5.5.1.2. Class Operations
5.5.2. Advanced Class Diagrams
5.5.2.1. Realization and Abstraction
5.6. More on Class Diagrams in ArgoUML
5.6.1. Classes
5.6.2. Class Attributes and Operationss
5.6.2.1. Class Attributes
5.6.2.2. Class Operations
5.6.3. Advanced Class Features
5.6.3.1. Operations on Interfaces
5.6.3.1.1. Interfaces that extend interfaces
5.6.3.2. Stereotypes
5.7. Sequence and Collaboration Diagrams
5.7.1. More on the Sequence Diagram
5.7.2. The Collaboration Diagram
5.7.2.1. Messages
5.7.2.2. Actions
5.7.3. Advanced Collaboration Diagrams
5.8. Creating Collaboration Diagrams in ArgoUML
5.8.1. Collaboration Diagrams
5.8.2. Messages
5.8.2.1. Actions
5.8.3. Advanced Collaboration Diagrams
5.9. State Diagrams
5.9.1. The State Diagram
5.9.2. Advanced State Diagrams
5.9.2.1. Actions
5.9.2.2. Transitions
5.9.2.2.1. Triggers
5.9.2.2.2. Guards
5.9.2.2.3. Effectss
5.9.2.3. Pseudo States
5.9.2.3.1. Branch
5.9.2.3.2. Fork and Join
5.9.2.4. Hierarchical State Machines
5.9.2.5. Models for State History
5.10. Creating State Diagrams in ArgoUML
5.10.1. State Diagrams
5.10.2. States
5.10.3. Transitions
5.10.4. Actions
5.10.5. Advanced State Diagrams
5.10.5.1. Transitions
5.10.5.1.1. Triggers
5.10.5.1.2. Guards
5.10.5.1.3. Effectss
5.10.5.2. Pseudo States
5.10.5.2.1. Branch
5.10.5.2.2. Fork and Join
5.10.5.3. Hierarchical State Machines
5.10.5.4. History
5.11. Activity Diagrams
5.11.1. The Activity Diagram
5.11.1.1. Action States
5.12. Creating Activity Diagrams in ArgoUML
5.12.1. Activity Diagrams
5.12.1.1. Creating an Activity Diagram
5.12.2. Action States
5.13. Deployment Diagrams
5.13.1. The Deployment Diagram
5.14. Creating Deployment Diagrams in ArgoUML
5.14.1. Nodes
5.14.1.1. Node Instances
5.14.2. Components
5.14.2.1. Component Instances
5.14.3. Relationships between nodes and components
5.14.3.1. Dependency
5.14.3.2. Associations
5.14.3.3. Links
5.15. System Architecture
5.16. Case Study
5.16.1. Packages
5.16.1.1. Identifying Packages
5.16.1.2. Datatypes and Stereotypes
5.16.2. Class Diagrams
5.16.2.1. Identifying classes
5.16.2.2. Identifying associations
5.16.2.3. Specifying Attributes and Operations
5.16.3. Sequence Diagrams
5.16.3.1. Identifying actions
5.16.4. Collaboration Diagrams
5.16.4.1. Identifying Messages
5.16.5. State Diagrams
5.16.6. Activity Diagrams
5.16.7. The Deployment Diagram
5.16.8. The System Architecture
6. Build
6.1. Introduction
6.2. The Build Process
6.2.1. Output of the Build Process
6.2.1.1. Code
6.2.1.2. Documents
6.3. Adding Code to ArgoUML
6.3.1. Classes
6.3.2. Actions
6.4. Case Study
6.4.1. Coding for Classes
6.4.2. Coding Actions
6.5. Case Study
II. ArgoUML Reference Manual
7. User Interface Reference
7.1. Introduction
7.2. Overview of the Window
7.3. UML Diagram Types supported by ArgoUML
7.4. General Mouse Behavior in ArgoUML
7.4.1. Mouse Button Terminology
7.4.2. Button 1 Click
7.4.2.1. General Behavior When Editing Text
7.4.3. Button 1 Double Click
7.4.3.1. General Behavior When Editing Text
7.4.4. Button 1 Motion
7.4.4.1. General Behavior When Editing Text
7.4.5. Shift and Control with Button 1
7.4.5.1. Within Lists
7.4.5.2. General Behavior When Editing Text
7.4.6. Button 2 Actions
7.4.7. Button 2 Double Click
7.4.8. Button 2 Motion
7.5. General Information About Panes
7.5.1. Re-sizing Panes
7.5.2. Looking at Different Diagrams Simultaneously
7.5.3. Reducing the Number of Panes Visible
7.6. The status bar
8. The Navigation Pane
8.1. Introduction
8.2. Mouse Behavior in the Navigation Pane
8.2.1. Button 1 Click
8.2.2. Button 1 Double Click
8.2.3. Button 2 Actions
8.2.4. Button 2 Double Click
8.3. Perspective Selection
8.4. Navigating Backward and Forward
8.5. Configuring Perspectives
8.5.1. Perspectives Tag
8.5.2. Panes Tag
8.6. Context Sensitive Menu
8.6.1. Properties Pop-Up
8.6.2. Add to Diagram
8.6.3. Delete From Model
9. The Editing Pane
9.1. Introduction
9.2. Mouse Behavior in the Editing Pane
9.2.1. Button 1 Click
9.2.2. Button 1 Double Click
9.2.3. Button 1 Motion
9.2.4. Shift and Control with Button 1
9.2.5. Button 2 Actions
9.2.6. Button 2 Double Click
9.2.7. Button 2 Motion
9.3. The tool bar
9.3.1. Layout Tools
9.3.2. Annotation Tools
9.3.3. Drawing Tools
9.3.4. Use Case Diagram Specific Tools
9.3.5. Class Diagram Specific Tools
9.3.6. Sequence Diagram Specific Tools
9.3.7. State Diagram Specific Tools
9.3.8. Collaboration Diagram Specific Tools
9.3.9. Activity Diagram Specific Tools
9.3.10. Deployment Diagram Specific Tools
9.4. Clarifiers
9.5. The Drawing Grid
9.6. The Diagram Tab
9.7. Pop-Up Menus
9.7.1. Critiques
9.7.2. Ordering
9.7.3. Add
9.7.4. Show
9.7.5. Modifiers
9.7.6. Multiplicity
9.7.7. Aggregation
9.7.8. Navigability
9.7.9. Properties
10. The Details Pane
10.1. Introduction
10.1.1. Spawning Details Tabs
10.2. Mouse Behavior in the Details Pane
10.2.1. Button 1 Click
10.2.2. Button 1 Double Click
10.2.3. Button 2 Actions
10.2.4. Button 2 Double Click
10.2.5. Button 2 Motion
10.3. To Do Item Tab
10.4. Properties Tab
10.5. Documentation Tab
10.6. Style Tab
10.7. Source tab
10.8. Constraints Tab
10.8.1. The Constraint Editor
10.9. Tagged Values Tab
10.10. Checklist Tab
11. The To-Do Pane
11.1. Introduction
11.2. Mouse Behavior in the To-Do Pane
11.2.1. Button 1 Click
11.2.2. Button 1 Double Click
11.2.3. Button 2 Actions
11.2.4. Button 2 Double Click
11.3. Presentation Selection
11.4. Flat/Hierarchical Button
11.5. Item Count
12. The Menu bar
12.1. Introduction
12.2. Mouse Behavior in the Menu Bar
12.2.1. Button 1 Click
12.2.2. Button 1 Double Click
12.2.3. Button 1 Motion
12.2.4. Button 2 Actions
12.2.5. Button 2 Double Click
12.2.6. Button 2 Motion
12.3. The File Menu
12.3.1. New…
12.3.2. Open Project…
12.3.3. Save Project
12.3.4. Save Project As…
12.3.5. Import…
12.3.5.1. Import Sources…
12.3.6. Load Model From DB
12.3.7. Save Model To DB
12.3.8. Print…
12.3.9. Save Graphics…
12.3.10. Save Configuration
12.3.11. Exit
12.4. The Edit Menu
12.4.1. The Select Sub-Menu
12.4.2. Undo
12.4.3. Redo
12.4.4. Cut
12.4.5. Copy
12.4.6. Paste
12.4.7. Remove From Diagram
12.4.8. Delete From Model
12.4.9. Empty trash
12.4.10. Settings…
12.4.10.1. Preferences Tab
12.4.10.2. Environment Tab
12.4.10.3. User Tab
12.4.10.4. Notation Tab
12.5. The View Menu
12.5.1. Goto Diagram…
12.5.2. Find…
12.5.3. The Zoom Sub-Menu
12.5.4. The Editor Tabs Sub-Menu
12.5.5. The Details Tabs Sub-Menu
12.5.6. Adjust Grid
12.5.7. Adjust Grid Snap
12.5.8. Adjust Page Breaks
12.5.9. Buttons on Selection
12.5.10. The Notation Sub-Menu
12.6. The Create Diagram Menu
12.6.1. Class Diagram
12.6.2. Use Case Diagram
12.6.3. State Diagram
12.6.4. Activity Diagram
12.6.5. Collaboration Diagram
12.6.6. Deployment Diagram
12.6.7. Sequence Diagram
12.7. The Arrange Menu
12.7.1. The Align Sub-Menu
12.7.2. The Distribute Sub-Menu
12.7.3. The Reorder Sub-Menu
12.7.4. The Nudge Sub-Menu
12.7.5. The Layout Sub-Menu
12.8. The Generation Menu
12.8.1. Generate Selected Classes
12.8.2. Generate All Classes
12.9. The Critique Menu
12.9.1. Toggle Auto-Critique
12.9.2. Design Issues…
12.9.3. Design Goals…
12.9.4. Browse Critics…
12.10. The Tools Menu
12.11. The Help Menu
12.11.1. About Argo/UML
13. The Critics
13.1. Introduction
13.1.1. Terminology
13.1.2. Design Issues
13.2. Uncategorized
13.3. Class Selection
13.3.1. Wrap DataType
13.3.2. Reduce Classes in diagram <diagram>
13.3.3. Clean Up Diagram
13.4. Naming
13.4.1. Resolve Association Name Conflict
13.4.2. Revise Attribute Names to Avoid Conflict
13.4.3. Change Names or Signatures in <artifact>
13.4.4. Duplicate End (Role) Names for <Association:>
13.4.5. Role name conflicts with member
13.4.6. Choose a Name (Classes and Interfaces)
13.4.7. Choose a Unique Name for <artifact> (Classes and Interfaces)
13.4.8. Choose a Name (Attributes)
13.4.9. Choose a Name (Operations)
13.4.10. Choose a Name (States)
13.4.11. Choose a Unique Name for <artifact> (States)
13.4.12. Revise Name to Avoid Confusion
13.4.13. Choose a Legal Name
13.4.14. Change <artifact> to a Non-Reserved Word
13.4.15. Choose a Better Operation Name
13.4.16. Choose a Better Attribute Name
13.4.17. Capitalize Class Name <class>
13.4.18. Revise Package Name <artifact>
13.5. Storage
13.5.1. Revise Attribute Names to Avoid Conflict
13.5.2. Add Instance Variables to <class>
13.5.3. Add Constructor to <class>
13.5.4. Reduce Attributes on <class>
13.6. Planned Extensions
13.6.1. Operations in Interfaces must be public
13.6.2. Interfaces may only have operations
13.6.3. Remove Reference to Specific Subclass
13.7. MState Machines
13.7.1. Reduce Transitions on <state>
13.7.2. Reduce States in machine <machine>
13.7.3. Add Transitions to <state>
13.7.4. Add Incoming Transitions to <artifact>
13.7.5. Add Outgoing Transitions from <artifact>
13.7.6. Remove Extra Initial States
13.7.7. Place an Initial State
13.7.8. Add Trigger or Guard to Transition
13.7.9. Change Join Transitions
13.7.10. Change Fork Transitions
13.7.11. Change Branch Transitions
13.7.12. Add Guard to Transition
13.7.13. Clean Up Diagram
13.7.14. Make Edge More Visible
13.8. Design Patterns
13.8.1. Consider using Singleton Pattern for <class>
13.8.2. Singleton Stereotype Violated in <class>
13.8.3. Nodes normally have no enclosers
13.8.4. NodeInstances normally have no enclosers
13.8.5. Components normally are inside nodes
13.8.6. ComponentInstances normally are inside nodes
13.8.7. Classes normally are inside components
13.8.8. Interfaces normally are inside components
13.8.9. Objects normally are inside components
13.8.10. LinkEnds have not the same locations
13.8.11. Set classifier (Deployment Diagram)
13.8.12. Missing return-actions
13.8.13. Missing call(send)-action
13.8.14. No Stimuli on these links
13.8.15. Set Classifier (Sequence Diagram)
13.8.16. Wrong position of these stimuli
13.9. Relationships
13.9.1. Circular Association
13.9.2. Make <association> Navigable
13.9.3. Remove Navigation from Interface via <association>
13.9.4. Add Associations to <artifact>
13.9.5. Remove Reference to Specific Subclass
13.9.6. Reduce Associations on <artifact>
13.9.7. Make Edge More Visible
13.10. Instantiation
13.11. Modularity
13.11.1. Classifier not in Namespace of its Association
13.11.2. Add Elements to Package <package>
13.12. Expected Usage
13.12.1. Clean Up Diagram
13.13. Methods
13.13.1. Change Names or Signatures in <artifact>
13.13.2. Class Must be Abstract
13.13.3. Add Operations to <class>
13.13.4. Reduce Operations on <artifact>
13.14. Code Generation
13.14.1. Change Multiple Inheritance to interfaces
13.15. Stereotypes
13.16. Inheritance
13.16.1. Revise Attribute Names to Avoid Conflict
13.16.2. Remove <class>'s Circular Inheritance
13.16.3. Class Must be Abstract
13.16.4. Remove final keyword or remove subclasses
13.16.5. Illegal Generalization
13.16.6. Remove Unneeded Realizes from <class>
13.16.7. Define Concrete (Sub)Class
13.16.8. Define Class to Implement <interface>
13.16.9. Change Multiple Inheritance to interfaces
13.16.10. Make Edge More Visible
13.17. Containment
13.17.1. Remove Circular Composition
13.17.2. Duplicate Parameter Name
13.17.3. Two Aggregate Ends (Roles) in Binary Association
13.17.4. Aggregate End (Role) in 3-way (or More) Association
13.17.5. Wrap DataType
13.17.6. Import Parameter Type into Class
14. ArgoUML Top Level Artifact Reference
14.1. Introduction
14.2. The Model
14.2.1. Model Details Tabs
14.2.2. Model Property Toolbar
14.2.3. Property Fields For The Model
14.3. Datatype
14.3.1. Datatype Details Tabs
14.3.2. Datatype Property Toolbar
14.3.3. Property Fields For Datatype
14.4. Stereotypes
14.4.1. Stereotype Details Tabs
14.4.2. Stereotype Property Toolbar
14.4.3. Property Fields For Stereotype
14.5. ArgoUML Diagrams
14.5.1. Diagram Details Tabs
14.5.2. Diagram Property Toolbar
14.5.3. Property Fields For Diagram
15. ArgoUML Use Case Diagram Artifact Reference
15.1. Introduction
15.1.1. ArgoUML Limitations Concerning Use Case Diagrams
15.2. Actor
15.2.1. Actor Details Tabs
15.2.2. Actor Property Toolbar
15.2.3. Property Fields For Actor
15.3. Use Case
15.3.1. Use Case Details Tabs
15.3.2. Use Case Property Toolbar
15.3.3. Property Fields For Use Case
15.4. Extension Point
15.4.1. Extension Point Details Tabs
15.4.2. Extension Point Property Toolbar
15.4.3. Property Fields For Extension Point
15.5. Association
15.6. Association End
15.7. Dependency
15.7.1. Dependency Details Tabs
15.7.2. Dependency Property Toolbar
15.7.3. Property Fields For Dependency
15.8. Generalization
15.8.1. Generalization Details Tabs
15.8.2. Generalization Property Toolbar
15.8.3. Property Fields For Generalization
15.9. Extend
15.9.1. Extend Details Tabs
15.9.2. Extend Property Toolbar
15.9.3. Property Fields For Extend
15.10. Include
15.10.1. Include Details Tabs
15.10.2. Include Property Toolbar
15.10.3. Property Fields For Include
16. ArgoUML Class Diagram Artifact Reference
16.1. Introduction
16.1.1. Limitations Concerning Class Diagrams in ArgoUML
16.2. Package
16.2.1. Package Details Tabs
16.2.2. Package Property Toolbar
16.2.3. Property Fields For Package
16.3. Datatype
16.4. Stereotype
16.5. Class
16.5.1. Class Details Tabs
16.5.2. Class Property Toolbar
16.5.3. Property Fields For Class
16.6. Attribute
16.6.1. Attribute Details Tabs
16.6.2. Attribute Property Toolbar
16.6.3. Property Fields For Attribute
16.7. Operation
16.7.1. Operation Details Tabs
16.7.2. Operation Property Toolbar
16.7.3. Property Fields For Operation
16.8. Parameter
16.8.1. Parameter Details Tabs
16.8.2. Parameter Property Toolbar
16.8.3. Property Fields For Parameter
16.9. Signal
16.9.1. Signal Details Tabs
16.9.2. Signal Property Toolbar
16.9.3. Property Fields For Signal
16.10. Association
16.10.1. Three-way and Greater Associations
16.10.2. Association Details Tabs
16.10.3. Association Property Toolbar
16.10.4. Property Fields For Association
16.11. Association End
16.11.1. Association End Details Tabs
16.11.2. Association End Property Toolbar
16.11.3. Property Fields For Association End
16.12. Dependency
16.13. Generalization
16.14. Interface
16.14.1. Interface Details Tabs
16.14.2. Interface Property Toolbar
16.14.3. Property Fields For Interface
16.15. Abstraction
16.15.1. Abstraction Details Tabs
16.15.2. Abstraction Property Toolbar
16.15.3. Property Fields For Abstraction
17. ArgoUML Sequence Diagram Artifact Reference
17.1. Introduction
17.1.1. Limitations Concerning Sequence Diagrams in ArgoUML
17.2. Object
17.2.1. Object Details Tabs
17.2.2. Object Property Toolbar
17.2.3. Property Fields For Object
17.3. Stimulus
17.3.1. Stimulus Details Tabs
17.3.2. Stimulus Property Toolbar
17.3.3. Property Fields For Stimulus
17.4. Stimulus Call
17.5. Stimulus Create
17.6. Stimulus Destroy
17.7. Stimulus Send
17.8. Stimulus Return
17.9. Link
17.9.1. Link Details Tabs
17.9.2. Link Property Toolbar
17.9.3. Property Fields For Link
18. ArgoUML State Diagram Artifact Reference
18.1. Introduction
18.1.1. Limitations Concerning State Diagrams in ArgoUML
18.2. State
18.2.1. State Details Tabs
18.2.2. State Property Toolbar
18.2.3. Property Fields For State
18.3. Action
18.3.1. Action Details Tabs
18.3.2. Action Property Toolbar
18.3.3. Property Fields For Action
18.4. Composite State
18.5. Transition
18.5.1. Transition Details Tabs
18.5.2. Transition Property Toolbar
18.5.3. Property Fields For Transition
18.6. Call Event
18.6.1. Call Event Details Tabs
18.6.2. Call Event Property Toolbar
18.6.3. Property Fields For Call Event
18.7. Guard
18.7.1. Guard Details Tabs
18.7.2. Guard Property Toolbar
18.7.3. Property Fields For Guard
18.8. Pseudostate
18.8.1. Pseudostate Details Tabs
18.8.2. Pseudostate Property Toolbar
18.8.3. Property Fields For Pseudostate
18.9. Initial State
18.10. Final State
18.10.1. Final State Details Tabs
18.10.2. Final State Property Toolbar
18.10.3. Property Fields For Final State
18.11. Branch
18.12. Fork
18.13. Join
18.14. Shallow History
18.15. Deep History
19. ArgoUML Collaboration Diagram Artifact Reference
19.1. Introduction
19.1.1. Limitations Concerning Collaboration Diagrams in ArgoUML
19.2. Classifier Role
19.2.1. Classifier Role Details Tabs
19.2.2. Classifier Role Property Toolbar
19.2.3. Property Fields For Classifier Role
19.3. Association Role
19.3.1. Association Role Details Tabs
19.3.2. Association Role Property Toolbar
19.3.3. Property Fields For Association Role
19.4. Association End Role
19.4.1. Association End Role Details Tabs
19.4.2. Association End Role Property Toolbar
19.4.3. Property Fields For Association End Role
19.5. Message
19.5.1. Message Details Tabs
19.5.2. Message Property Toolbar
19.5.3. Property Fields For Message
20. ArgoUML Activity Diagram Artifact Reference
20.1. Introduction
20.1.1. Limitations Concerning Activity Diagrams in ArgoUML
20.2. Action State
20.2.1. Action State Details Tabs
20.2.2. Action State Property ToolBar
20.2.3. Property fields for action state
20.3. Action
20.4. Transition
20.5. Call Event
20.6. Guard
20.7. Initial State
20.8. Final State
20.9. Branch
20.10. Fork
20.11. Join
21. ArgoUML Deployment Diagram Artifact Reference
21.1. Introduction
21.1.1. Limitations Concerning Deployment Diagrams in ArgoUML
21.2. Node
21.2.1. Node Details Tabs
21.2.2. Node Property Toolbar
21.2.3. Property Fields For Node
21.3. Node Instance
21.3.1. Node Instance Details Tabs
21.3.2. Node Instance Property Toolbar
21.3.3. Property Fields For Node Instance
21.4. Component
21.4.1. Component Details Tabs
21.4.2. Component Property Toolbar
21.4.3. Property Fields For Component
21.5. Component Instance
21.5.1. Component Instance Details Tabs
21.5.2. Component Instance Property Toolbar
21.5.3. Property Fields For Component Instance
21.6. Dependency
21.7. Class
21.8. Interface
21.9. Association
21.10. Object
21.11. Link
22. ArgoUML Built In DataTypes, Classes, Interfaces and Stereotypes
22.1. Introduction
22.1.1. Package Structure
22.2. Built In Datatypes
22.3. Built In Classes
22.3.1. Built In Classes From java.lang
22.3.2. Built In Classes From java.math
22.3.3. Built In Classes From java.net
22.3.4. Built In Classes From java.util
22.4. Built In Interfaces
22.5. Built In Stereotypes
Glossary
A. Supplementary Material for the Case Study
A.1. Introduction
A.2. Requirements Documents
A.2.1. Vision Document
A.2.2. Use Case Specifications
A.2.2.1. UC Specication 1
A.2.3. Supplementary Requirements Specification
B. UML resources
B.1. The UML specs
B.2. UML related papers
B.2.1. UML action specifications
B.3. UML related websites
C. UML Conforming CASE Tools
C.1. Other Open Source Projects
C.2. Commercial Tools
D. User Manual Plan
D.1. Target Audiences
D.2. Goals
D.2.1. Non-Goals
D.3. Suggested Manual Structure
D.3.1. Tutorial Manual Structure
D.3.2. Reference Manual Structure
D.4. Actions, Priorities and Questions
D.4.1. Actions and priorities
D.4.2. Remaining Questions
E. Documentation Standards for the User Manual
E.1. Introduction
E.2. Document Conventions
E.3. DocBook Conventions
E.4. For emacs Users
F. Open Publication Licence
F.I. REQUIREMENTS ON BOTH UNMODIFIED AND MODIFIED VERSIONS
F.II. COPYRIGHT
F.III. SCOPE OF LICENSE
F.IV. REQUIREMENTS ON MODIFIED WORKS
F.V. GOOD-PRACTICE RECOMMENDATIONS
F.VI. LICENSE OPTIONS
F.. OPEN PUBLICATION POLICY APPENDIX: