SSAD (Structured Systems Analysis and Design) vs OOAD (Object-Oriented Analysis and Design)
Comparison between Structured Systems Analysis and Design (SSAD) and Object-Oriented Analysis
and Design (OOAD):
1. Definition
SSAD:
o A traditional approach focused on processes, data flows, and system functions.
o Emphasizes a sequential process from system requirements to implementation.
OOAD:
o A modern approach focusing on objects, their interactions, and relationships.
o Emphasizes reusability, modularity, and adaptability by modeling the real-world
entities as objects.
2. Focus
SSAD:
o Concentrates on data flow and system functions (what the system does).
o Processes are the primary concern.
OOAD:
o Focuses on objects (entities) and their behavior (what they are and how they
interact).
o Data and behavior are encapsulated together.
3. Key Concepts
SSAD:
o Data Flow Diagrams (DFDs)
o Entity-Relationship Diagrams (ERDs)
o Process Specifications
o System flowcharts
OOAD:
o Objects and Classes
o Encapsulation, Inheritance, Polymorphism
o Use Case Diagrams, Class Diagrams, Sequence Diagrams
o Unified Modeling Language (UML)
4. Approach
SSAD:
o Process-oriented: Breaks the system into smaller processes.
o Linear and sequential (like the Waterfall Model).
OOAD:
o Object-oriented: Models real-world entities as objects.
o Iterative and incremental (used in Agile, Spiral Models).
5. System Representation
SSAD:
o Represents the system in terms of processes, data stores, and data flows.
OOAD:
o Represents the system as a collection of interacting objects, each with its data and
behavior.
6. Modularity and Reusability
SSAD:
o Less emphasis on reusability and modularity.
o Each function/process is typically designed for a specific purpose.
OOAD:
o High modularity and reusability.
o Objects and classes can be reused across projects.
7. Ease of Understanding
SSAD:
o Suitable for procedural or function-driven systems.
o May be harder to adapt to real-world entities.
OOAD:
o Closer to real-world thinking and easier for non-technical stakeholders to
understand.
8. Suitability
SSAD:
o Suitable for small, well-defined systems.
o Works best for systems with simple processes.
OOAD:
o Suitable for large, complex, and dynamic systems.
o Ideal for systems requiring high flexibility and scalability.
9. Examples of Tools/Models
SSAD:
o Tools: DFD tools like Lucidchart, Visio
o Models: Waterfall, V-Model
OOAD:
o Tools: UML tools like StarUML, IBM Rational Rose
o Models: Agile, Spiral, Unified Process
10. Advantages
SSAD:
o Simplicity and straightforwardness.
o Well-suited for stable requirements.
OOAD:
o Better adaptability to changes.
o Promotes code reuse and reduces redundancy.
Summary Table
Aspect SSAD OOAD
Focus Processes and data flows Objects and their interactions
Approach Linear, sequential Iterative, incremental
Aspect SSAD OOAD
Key Concepts DFDs, ERDs, flowcharts Objects, Classes, UML diagrams
Modularity Low High
Reusability Limited Extensive
Suitability Small, simple systems Large, complex systems
Conclusion
SSAD is better suited for procedural, small-scale systems with stable requirements.
OOAD is more effective for dynamic, scalable, and object-oriented applications. It is the
preferred method in modern software development due to its emphasis on real-world
modeling and adaptability.