Back close

Course Detail

Course Name Principles and Implementation of Design Patterns
Course Code 26CSA512
Program M. C. A.
Semester 2
Credits 4
Campuses Amritapuri, Mysuru

Syllabus

Unit I 

Software Engineering – Introduction – Software Classification – Layered Technology – SDLC – Generic Process Model, Perspective Models – Agile Process Models – Scrum and Extreme Programming (XP) – Design Engineering – Reengineering

Unit II

Introduction: What Is a Design Pattern? Describing Design Patterns, The Catalogue of Design Patterns, Organizing the Catalogue, How Design Patterns Solve Design Problems, How to Select a Design Pattern, How to Use a Design Pattern.

Unit III

Creational Patterns: Abstract Factory, Factory Method, Prototype, Singleton – Comparisons of various creational patterns – Discussion of Case studies – ex: Cross-Platform UI Framework – Banking solution – Cloud Notification Service etc.,

Unit IV

Structural Patterns: Adapter, Bridge, Composite, Decorator, Façade, and Proxy – Comparisons of various structural patterns – Discussion of Case studies – ex: Payment gateways, ERP migrations etc.,

Unit V

Behavioral Patterns: Command, Iterator, Mediator, Observer, State and Template Method. Comparisons of various behavioral patterns – Discussion of Case studies – ex: smart homes, Smart Factory Automation etc.,

Objectives and Outcomes

Course Description 

This course introduces the intent, structure, and application of design patterns, followed by in-depth study of creational (Abstract Factory, Factory Method, Prototype, Singleton), structural (Adapter, Bridge, Composite, Decorator, Façade, Proxy), and behavioral (Command, Iterator, Mediator, Observer, State, Template Method) patterns with comparative analysis and case studies to support reusable, robust software design. It covers core software engineering principles and object-oriented design patterns for building scalable and maintainable systems. It also deals with software classification, layered architecture, SDLC, generic and agile process models (Scrum, XP), process assessment, design engineering, and reengineering. 

Course Objectives 

  • To understand the idea of software engineering process models by analyzing SDLC, layered architecture, agile methods (Scrum, XP), and reengineering techniques for systematic software development. 
  • To identify, compare, and implement object-oriented design patterns including creational, structural, and behavioral patterns to produce scalable, reusable, and maintainable software architectures. 
  • To develop robust software designs using pattern-based solutions through case studies and practical analysis to improve flexibility, performance, and quality in real-world applications. 

Course Outcomes 

COs 

Description 

CO1 

Understand and apply software engineering methods, layered technology, process frameworks, and requirements analysis with design engineering using agile methodology along with reengineering.  

CO2 

Understand the concept of Design patterns and its importance in gaining behavioral knowledge of the problem and its solutions using Creational, Structural design patterns. 

CO3 

Understand and apply common creational design patterns to incremental and iterative development, and identify appropriate object creation mechanisms to design and propose effective solutions for given problems. 

CO4 

Understand and apply common design patterns to incremental/iterative development. To identify appropriate behavioral patterns for the design to propose solutions to the given problem. 

CO5 

Understand the need for programming by using basic design principles in solving real-life problems or case studies. 

CO-PO Mapping 

PO/PSO 

PO1 

PO2 

PO3 

PO4 

PO5 

PO6 

PO7 

PO8 

CO 

CO1 

– 

CO2 

– 

CO3 

 

 

CO4 

 

 

CO5 

 

 

Prerequisites  

Object oriented programming languages 

Textbooks / References

  • Roger S. Pressman, “Software Engineering-A Practitioner’s Approach”, Seventh Edition, Tata McGraw-Hill, 2010.
  • Richard Fairley, “Software Engineering concepts”, Tata McGraw-Hill Publishing Company Pvt. Ltd., Ninth Edition
  • Patterns in JAVA Vol-I By Mark Grand, Wiley Dream Tech.
  • Head First Design Patterns by Eric Freeman-O’Reilly-spd

DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.

Admissions Apply Now