1 |
General Introduction |
- Concept of OO Analysis & Design.
- Advantages over traditional methods.
- Object-Oriented Software Development Life Cycle.
|
- Understand the core philosophy of OOAD.
|
2 |
Basic Concepts |
- Object, Class, Attribute, Method.
- Relationships: Aggregation, Composition, Inheritance, Polymorphism.
- Package, Module.
|
- Master the fundamental vocabulary of OOP.
|
3 |
Object-Oriented Analysis Process |
- Identify use cases and actors.
- Business analysis through use cases.
- Identify classes, responsibilities, and collaborations (CRC).
|
- Develop an analysis model from requirements.
|
4 |
UML – Unified Modeling Language |
- Use Case, Class, Sequence Diagrams.
- Activity, Statechart Diagrams.
- Component & Deployment Diagrams.
|
- Ability to read and create standard UML diagrams.
|
5 |
Object-Oriented Design |
- System Architecture Design.
- Class Design, Data Design, and ORM.
- Design Principles (SOLID, GRASP).
|
- Create a detailed and robust system design.
|
6 |
Design Patterns |
- Creational: Singleton, Factory.
- Structural: Adapter, Composite.
- Behavioral: Observer, Strategy.
|
- Apply common patterns to solve recurring problems.
|
7 |
Implementation and Testing |
- Translating design models to source code.
- OO Programming concepts: interfaces, abstract classes.
- Unit Test, Integration Test strategies.
|
- Understand the process of coding and verifying an OO system.
|
8 |
OOAD Project Management |
- Software Development Processes.
- Requirement and Change Management.
- Supporting Tools (CASE tools).
|
- Learn to manage OO projects effectively.
|
9 |
Application Trends |
- Microservices and OO architecture.
- OOAD in mobile and web application development.
- Combining UML + Agile methodologies.
|
- Apply OOAD principles to modern software architectures.
|