Coconote
AI notes
AI voice & video notes
Try for free
🖥️
Software Design Approaches
Jul 30, 2024
Notes on Software Design Approaches
Introduction
Welcome to Gate Smashers!
Lecture Topic: Various approaches for software design.
Software Design Overview
Occurs after completion of:
Requirement analysis
Risk analysis
Software project management
Important to design before coding/implementation.
Analogy: Building construction requires architectural design before starting.
Design Approaches
1. Functional-Oriented Design
Focus on functions related to the system.
Divide the system into smaller subsystems/modules (top-down approach).
Key aspects:
Divided & conquer approach.
Final system created by merging completed functional modules.
Example systems:
ATM
Library Management System (LMS)
Functions include:
Issue book
Return book
Uses Data Flow Diagrams (DFD) for graphical representation.
2. Object-Oriented Design
Focus on objects and their interactions.
Define classes consisting of objects (bottom-up approach).
Key aspects:
Each object belongs to a class with members (data and functions).
Identify classes such as student, faculty, and book.
Example for LMS:
Student Class: ID, name.
Faculty Class: ID, name.
Book Class: ID, name, availability.
Uses Unified Modeling Language (UML) for graphical representation.
Comparison of Approaches
Functional-oriented design is older and mature.
Object-oriented design is newer with evolving concepts.
Both approaches are not mutually exclusive and can coexist in practice.
Next Lecture
Topics to cover:
What are DFDs?
How to design DFDs?
Levels of DFDs.
Introduction to UML.
Conclusion
Thank you for attending!
📄
Full transcript