UML and Object-Oriented Design

  1. Structural UML Diagrams
    1. Class Diagram
      1. Purpose and Applications
        1. Core Elements
          1. Class
            1. Class Notation
              1. Naming Conventions
                1. Attributes
                  1. Attribute Syntax
                    1. Attribute Types
                      1. Default Values
                        1. Derived Attributes
                          1. Attribute Visibility
                            1. Public Visibility
                              1. Private Visibility
                                1. Protected Visibility
                                  1. Package Visibility
                                2. Operations
                                  1. Operation Syntax
                                    1. Operation Signatures
                                      1. Parameters and Return Types
                                        1. Operation Visibility
                                          1. Abstract Operations
                                            1. Static Operations
                                            2. Stereotypes
                                            3. Interface
                                              1. Definition and Notation
                                                1. Interface Operations
                                                  1. Interface Implementation
                                                    1. Interface Inheritance
                                                    2. Abstract Class
                                                      1. Abstract Class Notation
                                                        1. Abstract Methods
                                                          1. Usage Scenarios
                                                          2. Enumeration
                                                            1. Data Types
                                                            2. Relationships
                                                              1. Association
                                                                1. Association Notation
                                                                  1. Multiplicity
                                                                    1. Zero or One
                                                                      1. Exactly One
                                                                        1. Zero or More
                                                                          1. One or More
                                                                            1. Specific Numbers
                                                                              1. Ranges
                                                                              2. Role Names
                                                                                1. Association Classes
                                                                                  1. Qualified Associations
                                                                                  2. Aggregation
                                                                                    1. Shared Aggregation Notation
                                                                                      1. Semantics of Aggregation
                                                                                      2. Composition
                                                                                        1. Composite Aggregation Notation
                                                                                          1. Ownership Semantics
                                                                                            1. Lifecycle Dependencies
                                                                                            2. Generalization
                                                                                              1. Inheritance Notation
                                                                                                1. Inheritance Hierarchies
                                                                                                  1. Multiple Inheritance
                                                                                                  2. Realization
                                                                                                    1. Interface Implementation Notation
                                                                                                      1. Contract Fulfillment
                                                                                                      2. Dependency
                                                                                                        1. Usage Dependencies
                                                                                                          1. Dependency Types
                                                                                                            1. Dependency Stereotypes
                                                                                                          2. Advanced Concepts
                                                                                                            1. Constraints
                                                                                                              1. Notes and Comments
                                                                                                                1. Packages in Class Diagrams
                                                                                                              2. Object Diagram
                                                                                                                1. Purpose and Applications
                                                                                                                  1. Representing Object State
                                                                                                                    1. Attribute Values
                                                                                                                      1. Object Identity
                                                                                                                        1. Object Lifespan
                                                                                                                        2. Relationship to Class Diagrams
                                                                                                                        3. Package Diagram
                                                                                                                          1. Purpose and Applications
                                                                                                                            1. Packages and Namespaces
                                                                                                                              1. Package Notation
                                                                                                                                1. Package Naming
                                                                                                                                  1. Namespace Scoping
                                                                                                                                    1. Nested Packages
                                                                                                                                    2. Package Dependencies
                                                                                                                                      1. Import Relationships
                                                                                                                                        1. Access Relationships
                                                                                                                                          1. Merge Relationships
                                                                                                                                          2. Package Stereotypes
                                                                                                                                            1. Visibility Rules
                                                                                                                                            2. Component Diagram
                                                                                                                                              1. Purpose and Applications
                                                                                                                                                1. Components
                                                                                                                                                  1. Component Notation
                                                                                                                                                    1. Component Types
                                                                                                                                                      1. Component Interfaces
                                                                                                                                                        1. Component Realization
                                                                                                                                                        2. Provided and Required Interfaces
                                                                                                                                                          1. Interface Lollipops
                                                                                                                                                            1. Interface Sockets
                                                                                                                                                              1. Interface Contracts
                                                                                                                                                              2. Ports
                                                                                                                                                                1. Port Notation
                                                                                                                                                                  1. Port Types
                                                                                                                                                                    1. Port Usage
                                                                                                                                                                    2. Connectors
                                                                                                                                                                      1. Assembly Connectors
                                                                                                                                                                        1. Delegation Connectors
                                                                                                                                                                          1. Connector Notation
                                                                                                                                                                          2. Component Dependencies
                                                                                                                                                                          3. Deployment Diagram
                                                                                                                                                                            1. Purpose and Applications
                                                                                                                                                                              1. Nodes
                                                                                                                                                                                1. Device Nodes
                                                                                                                                                                                  1. Execution Environment Nodes
                                                                                                                                                                                    1. Node Notation
                                                                                                                                                                                      1. Node Stereotypes
                                                                                                                                                                                      2. Artifacts
                                                                                                                                                                                        1. Deployable Units
                                                                                                                                                                                          1. Artifact Notation
                                                                                                                                                                                            1. Artifact Types
                                                                                                                                                                                              1. Manifestation Relationships
                                                                                                                                                                                              2. Communication Paths
                                                                                                                                                                                                1. Network Connections
                                                                                                                                                                                                  1. Communication Protocols
                                                                                                                                                                                                    1. Path Notation
                                                                                                                                                                                                    2. Deployment Specifications
                                                                                                                                                                                                    3. Composite Structure Diagram
                                                                                                                                                                                                      1. Purpose and Applications
                                                                                                                                                                                                        1. Parts and Properties
                                                                                                                                                                                                          1. Part Notation
                                                                                                                                                                                                            1. Property Types
                                                                                                                                                                                                              1. Multiplicity of Parts
                                                                                                                                                                                                              2. Ports and Connectors
                                                                                                                                                                                                                1. Internal Communication
                                                                                                                                                                                                                  1. Port Types
                                                                                                                                                                                                                    1. Connector Types
                                                                                                                                                                                                                    2. Collaborations
                                                                                                                                                                                                                      1. Collaboration Notation
                                                                                                                                                                                                                        1. Collaboration Occurrences
                                                                                                                                                                                                                          1. Collaboration Roles
                                                                                                                                                                                                                          2. Internal Structure Modeling