|
Unified Modelling Language (UML)
Purpose
History
UML Case Tools
UML Diagram Types
Non-UML Diagram Types
Unified Software Development Process
Basic Principles
Use Cases
Benefits of using Use Cases
Identifying Actors in a System
Identifying Use Cases in a System
Use Case as a Conversation
Use Case Diagrams
Extending Use Cases
Including Use Cases within Other Use Cases
Sequence Diagrams
Object Interactions
Using a Sequence Diagram to Describe a Use Case
More tha One Participant
Message Arrows
Object Creation & Destruction
Message Types & Purposes
Mapping Code to a Sequence Diagram
CRC Method for Identifying Classes
Thinking in Terms of Responsibilities
Identifying Class Responsibilties
Using the CRC Method
Role Playing a Sequence Diagram
Finding Classes & Collaborations
Class & Object Diagrams
Documenting Class & Inheritance
Data Member declarations
Method declarations
Access declarations
Documenting Associations between Classes
Reading Relationships
Aggregation
Mapping Code to Class Diagrams
Classes that depend on each other
Object Diagrams |
Interface-Based Design
Identifying Interfaces
Using Interfaces
Advantages & Benefits
Naming Interfaces
Documenting Interfaces
Drawing Interfaces
Mapping Interfaces to Code
System Layering using Packages
Using Packages to Organise Design Elements
Package Diagrams
Multiple Packages & Relationships
Using Packages with other Model Elements
Packaging Use Cases
Modelling Dynamic Behaviour
Collaboration Diagrams
Sequence Diagrams vs Collaboration Diagrams
State Charts
Nested States
Using Substates
Activity Diagrams
Swim Lanes
Forks
Component & Deployment Diagrams
Component Diagrams
Packages in Component Diagrams
Compilation Sequences
Deployment Diagrams
Software Development Process
Management Challenges
Prioritising
Scheduling
Design Patterns
Defined
Purpose, Advantages & Application
Common Patterns
Design Re-Factoring
|