Part-time Information Technology teacher for the University of California, Irvine Extension.
Object-Oriented Analysis and Design
- Know the scope of OO analysis and design
- Define an object
- Understand the object model
Requirements Analysis
- Analyze business requirements
- Identify quality attributes
- Elicit requirements
Use Cases
- Understand the POST system
- Create use case diagram
- Write use case descriptions
Conceptual Model
- Identify potential classes from use cases
- Create a conceptual model
System Behavior
- Create sequence diagrams
- Create interaction diagrams
- Create state diagrams
General Responsibility Assignment Software Patterns (GRASP)
- Expert
- Creator
- Low Coupling
- High Cohesion
- Controller
- Polymorphism
- Pure Fabrication
- Indirection
- Protected Variations
Visibility
- Determine visibility
- Understand the Law of Demeter
- Create robust class diagrams
Design Patterns
- Command Pattern
- Active Object Pattern
- Façade
- Mediator
- Singleton
- Monostate
- Null Object
- Strategy
- Template Method
OO Metrics
- Afferent Couplings (Ca)
- Efferent Couplings (Ce)
- Instability
- Abstractness
- Distance