ArgoUML User Manual

A tutorial and reference description

Alejandro Ramirez

Philippe Vanpeperstraete

Andreas Rueckert

Kunle Odutola

Jeremy Bennett

Linus Tolke

Michiel van der Wulp

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

Abstract

This version of the manual is intended to describe the version 0.30 of ArgoUML.


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 ArgoUML Project
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
1. Tutorial
2. Introduction (being written)
3. UML Based OOA&D
3.1. Background to UML
3.2. UML Based Processes for OOA&D
3.2.1. Types of Process
3.2.2. A Development Process for This Tutorial
3.3. Why ArgoUML is Different
3.3.1. Cognitive Psychology
3.3.2. Open Standards
3.3.3. 100% Pure Java
3.3.4. Open Source
3.4. ArgoUML Basics
3.4.1. Getting Started
3.4.2. The ArgoUML User Interface
3.4.3. Output
3.4.4. Working With Design Critics
3.5. The Case Study (To be written)
4. Requirements Capture
4.1. Introduction
4.2. The Requirements Capture Process
4.2.1. Process Steps
4.3. Output of the Requirements Capture Process
4.3.1. Vision Document
4.3.2. Use Case Diagram
4.3.3. The Use Case Specification
4.3.4. Supplementary Requirement Specification
4.4. Using Use Cases in ArgoUML
4.4.1. Actors
4.4.2. Use Cases
4.4.3. Associations
4.4.4. Hierarchical Use Cases
4.4.5. Stereotypes
4.4.6. Documentation
4.4.7. System Boundary Box
4.5. Case Study
4.5.1. Vision Document
4.5.2. Identifying Actors and Use Cases
4.5.3. Associations (To be written)
4.5.4. Advanced Diagram Features (To be written)
4.5.5. Use Case Specifications (To be written)
4.5.6. Supplementary Requirements Specification (To be written)
5. Analysis
5.1. The Analysis Process
5.1.1. Class, Responsibilities, and Collaborators (CRC) Cards
5.1.2. Concept Diagram (To be written)
5.1.3. System Sequence Diagram (To be written)
5.1.4. System Statechart Diagram (To be written)
5.1.5. Realization Use Case Diagram (To be written)
5.1.6. Documents (To be written)
5.2. Class Diagrams (To be written)
5.2.1. The Class Diagram (To be written)
5.2.2. Advanced Class Diagrams (To be written)
5.3. Creating Class Diagrams in ArgoUML
5.3.1. Classes
5.3.2. Associations (To be written)
5.3.3. Class Attributes and Operations (To be written)
5.3.4. Advanced Class Features (To be written)
5.4. Sequence Diagrams (To be written)
5.4.1. The Sequence Diagram (To be written)
5.4.2. Identifying Actions (To be written)
5.4.3. Advanced Sequence Diagrams (To be written)
5.5. Creating Sequence Diagrams in ArgoUML
5.5.1. Sequence Diagrams
5.5.2. Actions (To be written)
5.5.3. Advanced Sequence Diagrams (To be written)
5.6. Statechart Diagrams (To be written)
5.6.1. The Statechart Diagram (To be written)
5.6.2. Advanced Statechart Diagrams (To be written)
5.7. Creating Statechart Diagrams in ArgoUML
5.7.1. Statechart Diagrams (To be written)
5.7.2. States (To be written)
5.7.3. Transitions (To be written)
5.7.4. Actions (To be written)
5.7.5. Advanced Statechart Diagrams (To be written)
5.8. Realization Use Cases (To be written)
5.9. Creating Realization Use Cases in ArgoUML (To be written)
5.10. Case Study (To be written)
5.10.1. CRC Cards
5.10.2. Concept Class Diagrams (To be written)
5.10.3. System Sequence Diagrams (To be written)
5.10.4. System Statechart Diagrams (To be written)
5.10.5. Realization Use Cases (To be written)
6. Design
6.1. The Design Process (To be written)
6.1.1. Class, Responsibilities, and Collaborators (CRC) Cards
6.1.2. Package Diagram (To be written)
6.1.3. Realization Class Diagrams (To be written)
6.1.4. Sequence Diagrams and Collaboration Diagrams (To be written)
6.1.5. Statechart Diagrams and Activity Diagrams (To be written)
6.1.6. Deployment Diagram (To be written)
6.1.7. Documents (To be written)
6.2. Package Diagrams (To be written)
6.2.1. The Package Diagram (To be written)
6.2.2. Advanced Package Diagrams (To be written)
6.3. Creating Package Diagrams in ArgoUML
6.3.1. Packages
6.3.2. Relationships between packages (To be written)
6.3.3. Advanced Package Features (To be written)
6.4. More on Class Diagrams (To be written)
6.4.1. The Class Diagram (To be written)
6.4.2. Advanced Class Diagrams (To be written)
6.5. More on Class Diagrams in ArgoUML (To be written)
6.5.1. Classes (To be written)
6.5.2. Class Attributes and Operations (To be written)
6.5.3. Advanced Class Features
6.6. Sequence and Collaboration Diagrams (To be written)
6.6.1. More on the Sequence Diagram (To be written)
6.6.2. The Collaboration Diagram (To be written)
6.6.3. Advanced Collaboration Diagrams (To be written)
6.7. Creating Collaboration Diagrams in ArgoUML (To be written)
6.7.1. Collaboration Diagrams (To be written)
6.7.2. Messages (To be written)
6.7.3. Advanced Collaboration Diagrams (To be written)
6.8. Statechart Diagrams (To be written)
6.8.1. The Statechart Diagram (To be written)
6.8.2. Advanced Statechart Diagrams (To be written)
6.9. Creating Statechart Diagrams in ArgoUML (To be written)
6.9.1. Statechart Diagrams (To be written)
6.9.2. States (To be written)
6.9.3. Transitions (To be written)
6.9.4. Actions (To be written)
6.9.5. Advanced Statechart Diagrams (To be written)
6.10. Activity Diagrams (To be written)
6.10.1. The Activity Diagram (To be written)
6.11. Creating Activity Diagrams in ArgoUML (To be written)
6.11.1. Activity Diagrams (To be written)
6.11.2. Action States (To be written)
6.12. Deployment Diagrams (To be written)
6.12.1. The Deployment Diagram (To be written)
6.13. Creating Deployment Diagrams in ArgoUML (To be written)
6.13.1. Nodes (To be written)
6.13.2. Components (To be written)
6.13.3. Relationships between nodes and components (To be written)
6.14. System Architecture (To be written)
6.15. Case Study (To be written)
6.15.1. CRC Cards (To be written)
6.15.2. Packages (To be written)
6.15.3. Class Diagrams (To be written)
6.15.4. Sequence Diagrams (To be written)
6.15.5. Collaboration Diagrams (To be written)
6.15.6. Statechart Diagrams (To be written)
6.15.7. Activity Diagrams (To be written)
6.15.8. The Deployment Diagram (To be written)
6.15.9. The System Architecture (To be written)
7. Code Generation, Reverse Engineering, and Round Trip Engineering
7.1. Introduction
7.2. Code Generation
7.2.1. Generating Code from the Static Structure
7.2.2. Generating code from interactions and state machines
7.3. Code Generation in ArgoUML
7.3.1. Static Structure
7.3.2. Interactions and statechart diagrams
7.4. Reverse Engineering
7.5. Round-Trip Engineering
2. User Interface Reference
8. Introduction
8.1. Overview of the Window
8.2. General Mouse Behavior in ArgoUML
8.2.1. Mouse Button Terminology
8.2.2. Button 1 Click
8.2.3. Button 1 Double Click
8.2.4. Button 1 Motion
8.2.5. Shift and Ctrl modifiers with Button 1
8.2.6. Alt with Button 1: Panning
8.2.7. Ctrl with Button 1: Constrained Drag
8.2.8. Button 2 Actions
8.2.9. Button 2 Double Click
8.2.10. Button 2 Motion
8.3. General Information About Panes
8.3.1. Re-sizing Panes
8.4. The status bar
9. The Toolbar
9.1. File operations
9.2. Edit operations
9.3. View operations
9.4. Create operations
10. The Menu bar
10.1. Introduction
10.2. Mouse Behavior in the Menu Bar
10.3. The File Menu
10.3.1. New
10.3.2. Open Project...
10.3.3. Save Project
10.3.4. Save Project As...
10.3.5. Revert to Saved
10.3.6. Import XMI...
10.3.7. Export XMI...
10.3.8. Import Sources...
10.3.9. Page Setup...
10.3.10. Print...
10.3.11. Export Graphics...
10.3.12. Export All Graphics...
10.3.13. Notation
10.3.14. Project Properties
10.3.15. Most Recent Used Files
10.3.16. Exit
10.4. The Edit Menu
10.4.1. Select
10.4.2. Remove From Diagram
10.4.3. Delete From Model
10.4.4. Configure Perspectives...
10.4.5. Settings...
10.5. The View Menu
10.5.1. Goto Diagram...
10.5.2. Find...
10.5.3. Zoom
10.5.4. Adjust Grid
10.5.5. Adjust Snap
10.5.6. Page Breaks
10.5.7. Toolbars
10.5.8. XML Dump
10.6. The Create Menu
10.6.1. New Use Case Diagram
10.6.2. New Class Diagram
10.6.3. New Sequence Diagram
10.6.4. New Collaboration Diagram
10.6.5. New Statechart Diagram
10.6.6. New Activity Diagram
10.6.7. New Deployment Diagram
10.7. The Arrange Menu
10.7.1. Align
10.7.2. Distribute
10.7.3. Reorder
10.7.4. Size To Fit Contents
10.7.5. Layout
10.8. The Generation Menu
10.8.1. Generate Selected Classes ...
10.8.2. Generate All Classes...
10.8.3. Generate Code for Project... (To be Written)
10.8.4. Settings for Generate for Project... (To be Written)
10.9. The Critique Menu
10.9.1. Toggle Auto-Critique
10.9.2. Design Issues...
10.9.3. Design Goals...
10.9.4. Browse Critics...
10.10. The Tools Menu
10.11. The Help Menu
10.11.1. System Information
10.11.2. About ArgoUML
11. The Explorer
11.1. Introduction
11.2. Mouse Behavior in the Explorer
11.2.1. Button 1 Click
11.2.2. Button 1 Double Click
11.2.3. Button 1 Motion
11.2.4. Button 2 Actions
11.2.5. Button 2 Double Click
11.3. Keyboard Behavior in the Explorer
11.4. Perspective Selection
11.5. Configuring Perspectives
11.5.1. The Configure Perspectives dialog
11.6. Context Sensitive Menu
11.6.1. Create Diagram
11.6.2. Create ModelElement
11.6.3. Copy Diagram to Clipboard as Image
11.6.4. Add to Diagram
11.6.5. Delete From Model
11.6.6. Set Source Path... (To be written)
11.6.7. Add Package
11.6.8. New Stereotype
11.6.9. Add All Classes in Namespace
12. The Editing Pane
12.1. Introduction
12.2. Mouse Behavior in the Editing Pane
12.2.1. Button 1 Click
12.2.2. Button 1 Double Click
12.2.3. Button 1 Motion
12.2.4. Shift and Ctrl modifiers with Button 1
12.2.5. Button 2 Actions
12.2.6. Button 2 Double Click
12.2.7. Button 2 Motion
12.2.8. Middle Button motion
12.3. Keyboard Behavior in the Editing Pane
12.3.1. Nudging a model element
12.3.2. Moving across the model elements
12.4. The tool bar
12.4.1. Layout Tools
12.4.2. Annotation Tools
12.4.3. Drawing Tools
12.4.4. Use Case Diagram Specific Tools
12.4.5. Class Diagram Specific Tools
12.4.6. Sequence Diagram Specific Tools
12.4.7. Collaboration Diagram Specific Tools
12.4.8. Statechart Diagram Specific Tools
12.4.9. Activity Diagram Specific Tools
12.4.10. Deployment Diagram Specific Tools
12.5. The Broom
12.6. Selection Action Buttons
12.7. Clarifiers
12.8. The Drawing Grid
12.9. The Diagram Tab
12.10. Pop-Up Menus
12.10.1. Critiques
12.10.2. Ordering
12.10.3. Add
12.10.4. Show
12.10.5. Modifiers
12.10.6. Multiplicity
12.10.7. Aggregation
12.10.8. Navigability
12.11. Notation
12.11.1. Notation Languages
12.11.2. Notation Editing on the diagram
12.11.3. Notation Parsing
13. The Details Pane
13.1. Introduction
13.2. To Do Item Tab
13.2.1. Wizards
13.2.2. The Help Button
13.3. Properties Tab
13.4. Documentation Tab
13.5. Presentation Tab
13.6. Source Tab
13.7. Constraints Tab
13.7.1. The Constraint Editor
13.8. Stereotype Tab
13.9. Tagged Values Tab
13.10. Checklist Tab
14. The To-Do Pane
14.1. Introduction
14.2. Mouse Behavior in the To-Do Pane
14.2.1. Button 1 Click
14.2.2. Button 1 Double Click
14.2.3. Button 2 Actions
14.2.4. Button 2 Double Click
14.3. Presentation Selection
14.4. Item Count
15. The Critics
15.1. Introduction
15.1.1. Terminology
15.1.2. Design Issues
15.2. Uncategorized
15.3. Class Selection
15.3.1. Wrap DataType
15.3.2. Reduce Classes in namespace <namespace>
15.3.3. Clean Up Diagram
15.4. Naming
15.4.1. Resolve Association Name Conflict
15.4.2. Revise Attribute Names to Avoid Conflict
15.4.3. Change Names or Signatures in a model element
15.4.4. Duplicate End (Role) Names for an Association
15.4.5. Role name conflicts with member
15.4.6. Choose a Name (Classes and Interfaces)
15.4.7. Name conflict in a namespace
15.4.8. Choose a Unique Name for a model element (Classes and Interfaces)
15.4.9. Choose a Name (Attributes)
15.4.10. Choose a Name (Operations)
15.4.11. Choose a Name (States)
15.4.12. Choose a Unique Name for a (State related) model element
15.4.13. Revise Name to Avoid Confusion
15.4.14. Choose a Legal Name
15.4.15. Change a model element to a Non-Reserved Word
15.4.16. Choose a Better Operation Name
15.4.17. Choose a Better Attribute Name
15.4.18. Capitalize Class Name
15.4.19. Revise Package Name
15.5. Storage
15.5.1. Revise Attribute Names to Avoid Conflict
15.5.2. Add Instance Variables to a Class
15.5.3. Add a Constructor to a Class
15.5.4. Reduce Attributes on a Class
15.6. Planned Extensions
15.6.1. Operations in Interfaces must be public
15.6.2. Interfaces may only have operations
15.6.3. Remove Reference to Specific Subclass
15.7. State Machines
15.7.1. Reduce Transitions on <state>
15.7.2. Reduce States in machine <machine>
15.7.3. Add Transitions to <state>
15.7.4. Add Incoming Transitions to <model element>
15.7.5. Add Outgoing Transitions from <model element>
15.7.6. Remove Extra Initial States
15.7.7. Place an Initial State
15.7.8. Add Trigger or Guard to Transition
15.7.9. Change Join Transitions
15.7.10. Change Fork Transitions
15.7.11. Add Choice/Junction Transitions
15.7.12. Add Guard to Transition
15.7.13. Clean Up Diagram
15.7.14. Make Edge More Visible
15.7.15. Composite Association End with Multiplicity >1
15.8. Design Patterns
15.8.1. Consider using Singleton Pattern for <class>
15.8.2. Singleton Stereotype Violated in <class>
15.8.3. Nodes normally have no enclosers
15.8.4. NodeInstances normally have no enclosers
15.8.5. Components normally are inside nodes
15.8.6. ComponentInstances normally are inside nodes
15.8.7. Classes normally are inside components
15.8.8. Interfaces normally are inside components
15.8.9. Objects normally are inside components
15.8.10. LinkEnds have not the same locations
15.8.11. Set classifier (Deployment Diagram)
15.8.12. Missing return-actions
15.8.13. Missing call(send)-action
15.8.14. No Stimuli on these links
15.8.15. Set Classifier (Sequence Diagram)
15.8.16. Wrong position of these stimuli
15.9. Relationships
15.9.1. Circular Association
15.9.2. Make <association> Navigable
15.9.3. Remove Navigation from Interface via <association>
15.9.4. Add Associations to <model element>
15.9.5. Remove Reference to Specific Subclass
15.9.6. Reduce Associations on <model element>
15.9.7. Make Edge More Visible
15.10. Instantiation
15.11. Modularity
15.11.1. Classifier not in Namespace of its Association
15.11.2. Add Elements to Package <package>
15.12. Expected Usage
15.12.1. Clean Up Diagram
15.13. Methods
15.13.1. Change Names or Signatures in <model element>
15.13.2. Class Must be Abstract
15.13.3. Add Operations to <class>
15.13.4. Reduce Operations on <model element>
15.14. Code Generation
15.14.1. Change Multiple Inheritance to interfaces
15.15. Stereotypes
15.16. Inheritance
15.16.1. Revise Attribute Names to Avoid Conflict
15.16.2. Remove <class>'s Circular Inheritance
15.16.3. Class Must be Abstract
15.16.4. Remove final keyword or remove subclasses
15.16.5. Illegal Generalization
15.16.6. Remove Unneeded Realizes from <class>
15.16.7. Define Concrete (Sub)Class
15.16.8. Define Class to Implement <interface>
15.16.9. Change Multiple Inheritance to interfaces
15.16.10. Make Edge More Visible
15.17. Containment
15.17.1. Remove Circular Composition
15.17.2. Duplicate Parameter Name
15.17.3. Two Aggregate Ends (Roles) in Binary Association
15.17.4. Aggregate End (Role) in 3-way (or More) Association
15.17.5. Wrap DataType
3. Model Reference
16. Top Level Model Element Reference
16.1. Introduction
16.2. The Model
16.2.1. Model Details Tabs
16.2.2. Model Property Toolbar
16.2.3. Property Fields For The Model
16.3. Datatype
16.3.1. Datatype Details Tabs
16.3.2. Datatype Property Toolbar
16.3.3. Property Fields For Datatype
16.4. Enumeration
16.4.1. Enumeration Details Tabs
16.4.2. Enumeration Property Toolbar
16.4.3. Property Fields For Enumeration
16.5. Enumeration Literal
16.6. Stereotype
16.6.1. Stereotype Details Tabs
16.6.2. Stereotype Property Toolbar
16.6.3. Property Fields For Stereotype
16.7. Tag Definition
16.8. Diagram
16.8.1. Diagram Details Tabs
16.8.2. Diagram Property Toolbar
16.8.3. Property Fields For Diagram
17. Use Case Diagram Model Element Reference
17.1. Introduction
17.1.1. ArgoUML Limitations Concerning Use Case Diagrams
17.2. Actor
17.2.1. Actor Details Tabs
17.2.2. Actor Property Toolbar
17.2.3. Property Fields For Actor
17.3. Use Case
17.3.1. Use Case Details Tabs
17.3.2. Use Case Property Toolbar
17.3.3. Property Fields For Use Case
17.4. Extension Point
17.4.1. Extension Point Details Tabs
17.4.2. Extension Point Property Toolbar
17.4.3. Property Fields For Extension Point
17.5. Association
17.6. Association End
17.7. Dependency
17.8. Generalization
17.8.1. Generalization Details Tabs
17.8.2. Generalization Property Toolbar
17.8.3. Property Fields For Generalization
17.9. Extend
17.9.1. Extend Details Tabs
17.9.2. Extend Property Toolbar
17.9.3. Property Fields For Extend
17.10. Include
17.10.1. Include Details Tabs
17.10.2. Include Property Toolbar
17.10.3. Property Fields For Include
18. Class Diagram Model Element Reference
18.1. Introduction
18.1.1. Limitations Concerning Class Diagrams in ArgoUML
18.2. Package
18.2.1. Package Details Tabs
18.2.2. Package Property Toolbar
18.2.3. Property Fields For Package
18.3. Datatype
18.4. Enumeration
18.5. Stereotype
18.6. Class
18.6.1. Class Details Tabs
18.6.2. Class Property Toolbar
18.6.3. Property Fields For Class
18.7. Attribute
18.7.1. Attribute Details Tabs
18.7.2. Attribute Property Toolbar
18.7.3. Property Fields For Attribute
18.8. Operation
18.8.1. Operation Details Tabs
18.8.2. Operation Property Toolbar
18.8.3. Property Fields For Operation
18.9. Parameter
18.9.1. Parameter Details Tabs
18.9.2. Parameter Property Toolbar
18.9.3. Property Fields For Parameter
18.10. Signal
18.10.1. Signal Details Tabs
18.10.2. Signal Property Toolbar
18.10.3. Property Fields For Signal
18.11. Reception (to be written)
18.12. Association
18.12.1. Three-way and Greater Associations and Association Classes
18.12.2. Association Details Tabs
18.12.3. Association Property Toolbar
18.12.4. Property Fields For Association
18.13. Association End
18.13.1. Association End Details Tabs
18.13.2. Association End Property Toolbar
18.13.3. Property Fields For Association End
18.14. Dependency
18.14.1. Dependency Details Tabs
18.14.2. Dependency Property Toolbar
18.14.3. Property Fields For Dependency
18.15. Generalization
18.16. Interface
18.16.1. Interface Details Tabs
18.16.2. Interface Property Toolbar
18.16.3. Property Fields For Interface
18.17. Abstraction
18.17.1. Abstraction Details Tabs
18.17.2. Abstraction Property Toolbar
18.17.3. Property Fields For Abstraction
19. Sequence Diagram Model Element Reference
19.1. Introduction
19.1.1. Limitations Concerning Sequence Diagrams in ArgoUML
19.2. Object
19.2.1. Object Details Tabs
19.2.2. Object Property Toolbar
19.2.3. Property Fields For Object
19.3. Stimulus
19.3.1. Stimulus Details Tabs
19.3.2. Stimulus Property Toolbar
19.3.3. Property Fields For Stimulus
19.4. Stimulus Call
19.5. Stimulus Create
19.6. Stimulus Destroy
19.7. Stimulus Send
19.8. Stimulus Return
19.9. Link
19.9.1. Link Details Tabs
19.9.2. Link Property Toolbar
19.9.3. Property Fields For Link
20. Statechart Diagram Model Element Reference
20.1. Introduction
20.1.1. Limitations Concerning Statechart Diagrams in ArgoUML
20.2. State
20.2.1. State Details Tabs
20.2.2. State Property Toolbar
20.2.3. Property Fields For State
20.3. Action
20.3.1. Action Details Tabs
20.3.2. Action Property Toolbar
20.3.3. Property Fields For Action
20.4. Composite State
20.5. Concurrent Region
20.6. Submachine State
20.7. Stub State
20.8. Transition
20.8.1. Transition Details Tabs
20.8.2. Transition Property Toolbar
20.8.3. Property Fields For Transition
20.9. Event
20.9.1. Event Details Tabs
20.9.2. Event Property Toolbar
20.9.3. Property Fields For Event
20.10. Guard
20.10.1. Guard Details Tabs
20.10.2. Guard Property Toolbar
20.10.3. Property Fields For Guard
20.11. Pseudostate
20.11.1. Pseudostate Details Tabs
20.11.2. Pseudostate Property Toolbar
20.11.3. Property Fields For Pseudostate
20.12. Initial State
20.13. Final State
20.13.1. Final State Details Tabs
20.13.2. Final State Property Toolbar
20.13.3. Property Fields For Final State
20.14. Junction
20.15. Choice
20.16. Fork
20.17. Join
20.18. Shallow History
20.19. Deep History
20.20. Synch State
20.20.1. Synch State Details Tabs
20.20.2. Synch State Property Toolbar
20.20.3. Property Fields For Synch State
21. Collaboration Diagram Model Element Reference
21.1. Introduction
21.1.1. Limitations Concerning Collaboration Diagrams in ArgoUML
21.2. Classifier Role
21.2.1. Classifier Role Details Tabs
21.2.2. Classifier Role Property Toolbar
21.2.3. Property Fields For Classifier Role
21.3. Association Role
21.3.1. Association Role Details Tabs
21.3.2. Association Role Property Toolbar
21.3.3. Property Fields For Association Role
21.4. Association End Role
21.4.1. Association End Role Details Tabs
21.4.2. Association End Role Property Toolbar
21.4.3. Property Fields For Association End Role
21.5. Message
21.5.1. Message Details Tabs
21.5.2. Message Property Toolbar
21.5.3. Property Fields For Message
22. Activity Diagram Model Element Reference
22.1. Introduction
22.1.1. Limitations Concerning Activity Diagrams in ArgoUML
22.2. Action State
22.2.1. Action State Details Tabs
22.2.2. Action State Property ToolBar
22.2.3. Property fields for action state
22.3. Action
22.4. Transition
22.5. Guard
22.6. Initial State
22.7. Final State
22.8. Junction (Decision)
22.9. Fork
22.10. Join
22.11. ObjectFlowState
23. Deployment Diagram Model Element Reference
23.1. Introduction
23.1.1. Limitations Concerning Deployment Diagrams in ArgoUML
23.2. Node
23.2.1. Node Details Tabs
23.2.2. Node Property Toolbar
23.2.3. Property Fields For Node
23.3. Node Instance
23.3.1. Node Instance Details Tabs
23.3.2. Node Instance Property Toolbar
23.3.3. Property Fields For Node Instance
23.4. Component
23.4.1. Component Details Tabs
23.4.2. Component Property Toolbar
23.4.3. Property Fields For Component
23.5. Component Instance
23.5.1. Component Instance Details Tabs
23.5.2. Component Instance Property Toolbar
23.5.3. Property Fields For Component Instance
23.6. Dependency
23.7. Class
23.8. Interface
23.9. Association
23.10. Object
23.11. Link
24. Profiles
24.1. Introduction
24.2. The UML 1.4 Standard Elements Profile
24.2.1. Datatypes
24.2.2. Enumerations
24.2.3. Stereotypes
24.2.4. Tag Definitions
24.3. The Java Profile
24.3.1. Datatypes
24.3.2. Classes
24.3.3. Interfaces
Glossary
A. Supplementary Material for the Case Study
A.1. Introduction
A.2. Requirements Documents (To be written)
A.2.1. Vision Document (To be written)
A.2.2. Use Case Specifications (To be written)
A.2.3. Supplementary Requirements Specification (To be written)
B. UML resources
B.1. The UML specs (To be written)
B.2. UML related papers (To be written)
B.2.1. UML action specifications (To be written)
B.3. UML related websites (To be written)
C. UML Conforming CASE Tools
C.1. Other Open Source Projects (To be written)
C.2. Commercial Tools (To be written)
D. The C++ Module
D.1. Modeling for C++
D.1.1. Class tagged values
D.1.2. Attribute tagged values
D.1.3. Parameters
D.1.4. Generalization
D.1.5. Realization
D.1.6. Preserved sections
E. Limits and Shortcomings
E.1. Diagram Canvas Size
E.2. Missing functions
F. Open Publication License
F.1. Introduction
F.2. Copyright
F.3. Scope Of License
F.4. Requirements On Modified Works
F.5. Good-Practice Recommendations
G. The CRC Card Methodology
G.1. The Card
G.2. The Group
G.3. The Session
G.4. The Process
Index

List of Figures

3.1. The Waterfall Process
3.2. Effort Involved in the Steps of the Waterfall Process
3.3. Effort Involved in the Steps of an Iterative Process
3.4. Finding the Settings Wizard
3.5. Setting Language in the Appearance Pane
3.6. Initial ArgoUML window
3.7. Initial ArgoUML window
3.8. Invoking Save Project As...
3.9. File Chooser Dialog
3.10. ArgoUML Window Having Saved FirstProject.zargo
3.11. ArgoUML Window Showing the Critic Item Revise Package Name UntitledModel
3.12. ArgoUML Window Showing the Critic Wizard to Rename the Package
4.1. Basic use case diagram for an ATM system
4.2. Use case diagram for an ATM system showing navigation.
4.3. Use case diagram for an ATM system showing multiplicity.
4.4. Use case diagram for an ATM system showing include relationships.
4.5. Use case diagram for an ATM system showing an extend relationship.
6.1. Selecting the Interface tool
6.2. Interface model element on the Class Diagram
6.3. Generalization on the Class Diagram tool bar
6.4. Generalization between two Interfaces.
8.1. Overview of the ArgoUML window
9.1. The Zoom slider on the Toolbar
10.1. The confirmation dialog for New.
10.2. The file selection dialog for Open Project....
10.3. The warning dialog for Revert to Saved.
10.4. The confirmation dialog for Import XMI....
10.5. The dialog for Import XMI....
10.6. The dialog for Export XMI....
10.7. The file selection dialog for Import Sources....
10.8. The diagram exceeds page size dialog.
10.9. The dialog for Project Properties - the User tab.
10.10. The dialog for Project Properties - the Profiles tab.
10.11. The dialog for Project Properties - the Notations tab.
10.12. The dialog for Project Properties - the Diagram Appearance tab.
10.13. The save changes dialog.
10.14. The dialog for confirmation of Remove from Model.
10.15. The dialog for Settings - Preferences.
10.16. The dialog for Settings - Environment.
10.17. The dialog for Settings - User.
10.18. The dialog for Settings - Appearance.
10.19. The dialog for Settings - Profiles.
10.20. The dialog for Settings - Configure Shortcuts.
10.21. The dialog for Settings - Notations.
10.22. The dialog for Settings - Diagram Appearance.
10.23. The dialog for Settings - C++.
10.24. The dialog for Goto Diagram....
10.25. The dialog for Find....
10.26. The dialog for Generate Selected Classes....
10.27. The dialog for Design Issues....
10.28. The dialog for Design Goals....
10.29. The dialog for Browse Critics....
10.30. The dialog for System Information.
10.31. The help window for ArgoUML
11.1. Overview of the explorer
11.2. The Configure Perspectives dialog box
12.1. Overview of the editing pane
12.2. The dialog for adding a new class diagram
12.3. The drawing tools selector.
12.4. The association tool selector.
12.5. The Broom.
12.6. Some examples of “Selection Action Buttons”.
12.7. A class in UML notation
12.8. A class in Java notation
12.9. A couple of associations with adornments
13.1. Overview of the details pane
13.2. Example of the To Do Item tab on the properties pane
13.3. Dialog box for New To Do Item
13.4. Dialog box for Resolve Item
13.5. Example of a Wizard
13.6. A typical Properties tab on the details pane
13.7. A typical Documentation tab on the details pane
13.8. A typical Presentation tab on the details pane
13.9. The Custom Fill/Line Color dialog box
13.10. The Custom Fill/Line Color dialog box
13.11. The Custom Fill/Line Color dialog box
13.12. The Source Tab of a class.
13.13. A C++ example.
13.14. A typical Constraints tab on the details pane
13.15. Dialog box for configuring constraints
13.16. Dialog box for configuring constraints
13.17. An example of a stereotype tab for a class.
13.18. An example of a checklist for a class.
14.1. Overview of the to-do pane
17.1. Typical model elements on a use case diagram.
17.2. Example use of a discriminator with generalization
18.1. Possible model elements on a class diagram.
18.2. Possible model elements on a package diagram.
18.3. Possible model elements on a datatype diagram.
18.4. Possible model elements on a stereotype definition diagram.
18.5. The “add/remove context” dialog box
18.6. The “Add/Remove Specifications” dialog box
19.1. Possible model elements on a sequence diagram.
20.1. Statechart diagram model elements 1.
20.2. Statechart diagram model elements 2.
21.1. Possible model elements on a collaboration diagram.
21.2. The “add context” dialog box
21.3. The “add predecessors” dialog box
22.1. Possible model elements on an activity diagram.
23.1. Possible model elements on a component diagram.
23.2. Possible model elements on a deployment diagram.
24.1. Hierarchy of default profiles within ArgoUML
24.2. Hierarchy of the Java profile within ArgoUML

List of Tables

24.1. Stereotypes defined in UML 1.4 and ArgoUML