Design Methodology
(Structured Design
and Object-Oriented Design)
Introduction to Design
Methodology
Design methodology refers to the systematic approach used to
create the structure and organization of a software system. It defines how design
activities are carried out and how system components are organized.
After understanding design fundamentals, the next step is
deciding how to design. This is where design methodologies come into
play.
There are two major design methodologies:
- Structured
Design
- Object-Oriented
Design (OOD)
Each methodology has its own principles, techniques,
advantages, and suitable application areas.
2️. Structured Design
2.1 Introduction to Structured Design
Structured Design is a traditional software design
methodology that focuses on functions and processes. It is derived from
structured analysis and is mainly used in procedural programming.
The main objective of structured design is to divide the
system into smaller functional modules using a top-down approach.
In this approach, the system is decomposed step-by-step into
smaller and manageable modules.
2.2 Key Concepts of Structured Design
🔹 Top-Down Decomposition
The system is first viewed as a whole and then broken down
into smaller sub-systems and modules. Each module performs a specific function.
This makes the system easier to understand and implement.
🔹 Functional
Decomposition
The entire system is divided into smaller functional units.
Each function is clearly defined and implemented separately.
This helps reduce complexity and improves maintainability.
🔹 Structure Charts
Structure charts are graphical tools used in structured
design. They show:
- Module
hierarchy
- Module
interactions
- Data
flow between modules
Structure charts help visualize the system structure
clearly.
🔹 Cohesion and Coupling
Structured design emphasizes:
- High
cohesion (modules perform single task)
- Low
coupling (minimal interdependence between modules)
These principles improve system quality.
2.3 Advantages of Structured Design
- Easy
to understand
- Suitable
for small and medium projects
- Clear
modular representation
- Works
well with procedural languages like C
2.4 Limitations of Structured Design
- Not
suitable for very large systems
- Difficult
to handle changing requirements
- Focuses
more on functions than real-world entities
- Limited
reusability
3. Object-Oriented Design (OOD)
3.1 Introduction to Object-Oriented Design
Object-Oriented Design is a modern design methodology that
focuses on objects instead of functions.
An object represents a real-world entity and contains:
- Attributes
(data)
- Methods
(behavior)
OOD is based on Object-Oriented Programming principles such as:
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction
It is widely used in modern software development.
3.2 Key Concepts of Object-Oriented Design
🔹 Objects and Classes
A class is a blueprint, and objects are instances of that
class.
For example:
Class: Student
Object: Rahul (instance of Student)
This makes modeling real-world systems easier.
🔹 Encapsulation
Encapsulation binds data and methods together and hides
internal details from outside access.
It increases security and reduces system dependency.
🔹 Inheritance
Inheritance allows one class to acquire properties of
another class.
This supports reusability and reduces redundancy.
🔹 Polymorphism
Polymorphism allows objects to behave differently under
different conditions.
It improves flexibility and scalability.
🔹 UML Diagrams
Object-Oriented Design commonly uses UML diagrams such as:
- Class
diagrams
- Sequence
diagrams
- Use
case diagrams
- Activity
diagrams
These diagrams visually represent system structure and
behavior.
3.3 Advantages of Object-Oriented Design
- High
reusability
- Better
scalability
- Easy
maintenance
- Real-world
modeling
- Suitable
for complex systems
3.4 Limitations of Object-Oriented Design
- Requires
understanding of OOP concepts
- More
complex than structured design
- Initial
design may take more time
4️⃣ Comparison: Structured Design
vs Object-Oriented Design
|
Aspect |
Structured Design |
Object-Oriented Design |
|
Focus |
Functions |
Objects |
|
Approach |
Top-down |
Bottom-up |
|
Programming Style |
Procedural |
Object-Oriented |
|
Reusability |
Low |
High |
|
Maintenance |
Difficult |
Easier |
|
Suitable For |
Small systems |
Large & complex systems |
5️⃣ When to Use Which Methodology?
Structured Design is suitable when:
- Requirements
are stable
- System
is small
- Procedural
programming is used
Object-Oriented Design is suitable when:
- System
is complex
- Long-term
maintenance is required
- Reusability
is important
- OOP
languages are used
📌 Conclusion
Design methodology defines how software structure is
created. Structured Design focuses on functional decomposition using a top-down
approach, while Object-Oriented Design focuses on modeling real-world objects
using classes and inheritance.
In modern software development, Object-Oriented Design is
widely preferred because of its flexibility, reusability, and scalability.
However, structured design remains useful for smaller procedural systems.
Understanding both methodologies enables software engineers
to choose the appropriate design approach based on project requirements.
No comments:
Post a Comment