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
| Course Name | Principles and Implementation of Design Patterns |
| Course Code | 26CSA512 |
| Program | M. C. A. |
| Semester | 2 |
| Credits | 4 |
| Campuses | Amritapuri, Mysuru |
Software Engineering – Introduction – Software Classification – Layered Technology – SDLC – Generic Process Model, Perspective Models – Agile Process Models – Scrum and Extreme Programming (XP) – Design Engineering – Reengineering
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.
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.,
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.,
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.,
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
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 |
– |
2 |
3 |
1 |
1 |
1 |
3 |
3 |
|
CO2 |
– |
2 |
3 |
2 |
2 |
1 |
3 |
3 |
|
CO3 |
3 |
2 |
3 |
2 |
3 |
|
3 |
|
|
CO4 |
3 |
3 |
3 |
3 |
3 |
|
3 |
|
|
CO5 |
3 |
2 |
2 |
2 |
3 |
|
3 |
|
Prerequisites
Object oriented programming languages
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.