Object-Oriented Analysis & Design Roadmap

Step by step guide to becoming an Android developer.

Back to home

Legend

Propose
Alternatives
Options

1General Introduction

Foundation of object-oriented thinking and methodology.

Concept of OO Analysis & Design
Advantages over traditional methods
Object-Oriented Software Development Life Cycle

2Basic Concepts

The foundational building blocks of an object-oriented system.

Object, Class
Attribute, Method
Relationships: Aggregation, Composition, Inheritance, Polymorphism
Package, Module

3Object-Oriented Analysis Process

Transforming user requirements into an analysis model.

Identify use cases and actors
Business analysis through use cases
Identify classes, responsibilities, and collaborations

4UML – Unified Modeling Language

A tool for visualizing, specifying, and documenting a software system.

Use Case Diagram
Class Diagram
Sequence Diagram
Activity Diagram
Statechart, Component & Deployment Diagrams

5Object-Oriented Design

Building a detailed blueprint for the system.

System Architecture Design
Class Design
Data Design and Object-Relational Mapping (ORM)
Design Principles (SOLID, GRASP)

6Design Patterns

Proven solutions to common design problems.

Creational: Singleton, Factory...
Structural: Adapter, Composite...
Behavioral: Observer, Strategy...

7Implementation and Testing

Realizing the design and ensuring quality.

Translating design models to source code
OO Programming, interfaces, abstract classes
Unit Test, Integration Test

8OOAD Project Management

Applying appropriate management processes for object-oriented projects.

Software Development Processes
Requirement and Change Management
Supporting Tools

9Application Trends

Applying OOAD in modern architectures and technologies.

Microservices and OO architecture
OOAD in mobile and web application development
Combining with UML + Agile

Visit the following related paths and keep learning.