📘 Architectural and Detailed Design (OOAD)
🔹 1. Definition
In Object-Oriented Analysis and Design (OOAD):
- Architectural Design defines the overall structure of the system (high-level view).
- Detailed Design focuses on the internal design of each component (low-level view).
👉 Simple idea:
- Architecture = Big picture (how parts fit together)
- Detailed Design = Small picture (how each part works internally)
🔹 2. Architectural Design ⭐
🔸 2.1 Definition
Architectural Design is the process of identifying:
- Major components (modules/subsystems)
- Their relationships
- System structure
🔸 2.2 Goals
- Define system structure
- Ensure scalability and performance
- Improve maintainability
- Support reusability
🔸 2.3 Key Elements
| Element |
Description |
| Components |
Major parts of system |
| Connectors |
Communication between components |
| Interfaces |
Interaction points |
| Configuration |
Overall arrangement |
🔸 2.4 Common Architectural Styles
🔹 1. Layered Architecture
- System divided into layers
Example Layers:
Presentation Layer
Business Logic Layer
Data Layer
🔹 2. Client-Server Architecture
- Client requests, server responds
Example: Web applications
🔹 3. MVC (Model-View-Controller)
- Model → Data
- View → UI
- Controller → Logic
🔹 4. Microservices Architecture
- System divided into small independent services
🔸 2.5 Diagram Description
- Boxes represent components
- Arrows show communication
🔹 3. Detailed Design ⭐
🔸 3.1 Definition
Detailed Design focuses on:
- Internal logic of classes
- Algorithms
- Data structures
🔸 3.2 Goals
- Provide complete blueprint for coding
- Define methods and logic
- Ensure correctness
🔸 3.3 Key Elements
| Element |
Description |
| Classes |
Detailed structure |
| Methods |
Functions |
| Algorithms |
Step-by-step logic |
| Data Structures |
Data organization |
🔸 3.4 Tools Used
- Class Diagrams
- Sequence Diagrams
- Activity Diagrams
- Pseudocode
🔸 3.5 Example
Class: BankAccount
- balance
+ deposit(amount)
+ withdraw(amount)
Pseudocode:
if (balance >= amount)
withdraw
else
show error
🔹 4. Difference Between Architectural & Detailed Design ⭐
| Feature |
Architectural Design |
Detailed Design |
| Level |
High-level |
Low-level |
| Focus |
System structure |
Internal logic |
| Output |
Architecture diagram |
Class & sequence diagrams |
| Stage |
Early design |
Later design |
🔹 5. Design Process Flow
Requirements → Analysis → Architectural Design → Detailed Design → Implementation
🔹 6. Example (Library System)
🔹 Architectural Design:
-
Modules:
- User Interface
- Book Management
- Database
🔹 Detailed Design:
Class: Book
- title
- author
+ issue()
+ return()
🔹 7. Advantages
🔸 Architectural Design:
- Clear system structure
- Easy scalability
- Better performance planning
🔸 Detailed Design:
- Easy coding
- Fewer errors
- Clear logic
🔹 8. Important Rules / Guidelines
- Keep architecture simple and modular
- Use low coupling & high cohesion
- Follow design patterns
- Ensure consistency between levels
- Document clearly
🔹 9. Likely Exam Questions
- Define architectural design.
- What is detailed design?
- Differentiate between architectural and detailed design.
- Explain layered architecture.
- What is MVC architecture?
- Describe components of architectural design.
- Explain tools used in detailed design.
- Draw architecture of a simple system.
- Explain design process flow.
- Advantages of architectural design.
🔹 10. Quick Revision Summary 🧠
- Architectural Design → Big structure of system
- Detailed Design → Internal working of components
Key Points:
- Architecture = Components + Connections
- Detailed Design = Classes + Methods + Logic
👉 Trick:
"AD → Architecture then Details"