Development Process Overview
What is a process?
Sample process models
Waterfall
Spiral
Incremental
Iterative
Unified
Responsibility Driven Design
What makes a good process?
High level overview of OO Development Process
Use Case/Responsibility Driven Design
Contract based approach
Responsibility identification
Responsibility allocation
Roles, stereotypes and interfaces
Collaborations
Objects and Classes
What is an object?
Characteristics & behavior
Communication
What is a class?
Template
UML Class Diagram
Object-Oriented Principles
Why OO?
Structured Engineering and Information Engineering
Encapsulation
Inheritance
Polymorphism
Dynamic Binding
Abstraction
Basic UML
Association and Link relationships
Roles
Inheritance
Aggregation
Constraints
Multiplicity
Dependencies
Requirements Gathering: Use Cases
Static modeling & dynamic modeling overview
What is analysis?
Requirements gathering
Problem domain
Use Cases
Determining actors
Narrow potential objects to business objects
Narratives, scenarios and conversations
Use case formats (casual, fully dressed, etc.)
Static Modeling
Lexical analysis
Data dictionary
CRC Cards
Class Diagram
Dynamic Modeling
Use Case Diagram
Relationships between Use Cases
Communication Diagram
Sequence Diagram
State Diagram
Activity Diagram
Design Considerations
Object design
Refining analysis deliverables
System Design
Architecture
Optimization
Quality Metrics
Reuse
Performance
Concurrency
Persistence
Normalization
Packaging
Component Diagram
Prototypes
Design Patterns
History
Benefits
Catalog
Model View Controller
Factory
Composite
Chain of Responsibilities
Intercepting Filter
Implementation and Testing
Implementation
Parallel Implementation
Unit, Integration and System Testing
Black Box and White Box Testing
Testing Criteria
The Test Plan