SSD Syllabus
SSD Syllabus
L T P O Total
Design
Credits
1.5 0 3 0 3
Objectives
1. This course equips students with the fundamental knowledge and practical skills necessary to design and
develop complex software systems.
2. It explores various design methodologies, architectural patterns, object-oriented principles, and best
practices for building robust and maintainable software solutions.
3. Through lectures, discussions, assignments, and projects, students will gain the ability to analyse requirements,
model system behaviour, design efficient algorithms and data structures, and implement software systems
using appropriate design patterns and coding practices.
Outcomes
CLO 1: Understand the fundamental principles of software design and development. Apply various design
methodologies, such as object-oriented design and model-driven design.
CLO 2: Utilize architectural patterns to structure complex software systems. Implement effective algorithms and data
structures for different problem scenarios.
CLO 3: Design and develop maintainable, scalable, and efficient software systems. Effectively communicate design
decisions and collaborate with team members.
CLO 4: Understand and address software quality attributes, including performance, security, and reliability.
Reference Materials
Textbooks (T) T1 FUNDAMENTALS OF SOFTWARE ENGINEERING by Rajib Mall, PHI, 5th Ed.
per availability in library
T2 Software Engineering , A Practitioners Approach by Roger S Pressman ,Mc Graw Hill, 7th
Edition.
Reference Books (R) R1 "Head First Design Patterns" by Eric Freeman and Elisabeth Robson, O’RIELLY, 2nd Ed.
R2 "Clean Code: A Handbook of Agile Software Craftsmanship" by Robert C. Martin, Pearson,
1st Ed.
R3 "Design Patterns: Elements of Reusable Object-Oriented Software" by Erich Gamma,
Richard Helm, Ralph Johnson, and John Vlissides, Addison-Wesley Professional, 1st Ed.
Journal Articles (J) J1
provide link only
Case Material/ C1
Whitepaper
provide link only
Any Others Sources O
Modules
Module No. Topics Total Contact CLO Mapping
Hours
Software design principles and best practices, Design 05 CLO1
1 methodologies: object-oriented design, model-driven
design, Software development life cycle (SDLC) and
Introduction
design phase.
to Software
Design
CLO2
2 05 CLO3
Object-oriented concepts: classes, objects, inheritance,
Object- polymorphism, encapsulation, UML diagrams for
Oriented object-oriented modelling, Designing classes and
Design
relationships.
Introduction to architectural patterns and their 04 CLO4
3 benefits, Common architectural patterns (MVC,
layered architecture, microservices), Applying patterns
Architectural to design complex software systems.
Patterns
Algorithm design principles: efficiency, correctness, 04 CLO4
4 time and space complexity, Common data structures
(arrays, linked lists, trees, graphs), Choosing
Algorithms appropriate algorithms and data structures for specific
and Data problems
Structures
Designing for performance, scalability, security, and 04 CLO4
5 maintainability, Testing and debugging techniques,
Design documentation and communication.
Design
Considerations
and Quality
Attributes
Design for specific domains (e.g., web applications, 04 CLO4
6 embedded systems), User interface design principles,
Software design tools and frameworks
Design for
specific
domains
Total Contact Hours 26
Guest lecture / Expert sessions:
Sl.No Name of Resource Person Module/Topics Total Hours
Copyright: The content provided by the faculty in the class is copy-righted. Students are instructed
not to distribute or share content used during courses with external entities.
Disclaimer :The Syllabus and the Course Outline is indicative of the body of knowledge a student
should possess. It does not anyway be construed as a to be covered in class in as-is condition. Faculty
may add, delete and modify content based on updated information or context.