- Class Design
- Attributes and Methods
- Class Cohesion
- Class Coupling
| - Code Lifecycle
- Code Maintainability
- Code Reuse
- Testing
|
- Design Practices
- Design Principles
- Patterns
- UML Notation
| - Distinctive Characteristics
- Abstraction
- Encapsulation
- Polymorphism
|
- Object Instances
- Object Lifetime
- Object Persistence
| - Relationships
- Aggregation
- Inheritance
|
- System Architecture
- Client Characteristics and Behavior
- Component Architecture
- Distributed Objects
- Layered Architecture
| |