This document outlines a course on software architecture and design patterns. The course objectives are to learn how to minimize complexity while adding functionality, understand required code qualities for flexibility, and explore common design patterns and how to apply them. The course covers introduction to design patterns, analyzing systems, structural design patterns like adapter and bridge, the model-view-controller architecture, and designing distributed objects. Students will learn core design principles and apply patterns to object-oriented systems. Assessment includes short and long answer questions covering each module's topics.
This document outlines a course on software architecture and design patterns. The course objectives are to learn how to minimize complexity while adding functionality, understand required code qualities for flexibility, and explore common design patterns and how to apply them. The course covers introduction to design patterns, analyzing systems, structural design patterns like adapter and bridge, the model-view-controller architecture, and designing distributed objects. Students will learn core design principles and apply patterns to object-oriented systems. Assessment includes short and long answer questions covering each module's topics.
(Effective from the academic year 2016 -2017) SEMESTER – VII Subject Code 15IS72 IA Marks 20 Number of Lecture Hours/Week 4 Exam Marks 80 Total Number of Lecture Hours 50 Exam Hours 03 CREDITS – 04 Course objectives: This course will enable students to Learn How to add functionality to designs while minimizing complexity. What code qualities are required to maintain to keep code flexible? To Understand the common design patterns. To explore the appropriate patterns for design problems Module – 1 Teaching Hours Introduction: what is a design pattern? describing design patterns, the catalog of 10 Hours design pattern, organizing the catalog, how design patterns solve design problems, how to select a design pattern, how to use a design pattern. What is object-oriented development? , key concepts of object oriented design other related concepts, benefits and drawbacks of the paradigm Module – 2 Analysis a System: overview of the analysis phase, stage 1: gathering the 10 Hours requirements functional requirements specification, defining conceptual classes and relationships, using the knowledge of the domain. Design and Implementation, discussions and further reading. Module – 3 Design Pattern Catalog: Structural patterns, Adapter, bridge, composite, 10 Hours decorator, facade, flyweight, proxy. Module – 4 Interactive systems and the MVC architecture: Introduction , The MVC 10 Hours architectural pattern, analyzing a simple drawing program , designing the system, designing of the subsystems, getting into implementation , implementing undo operation , drawing incomplete items, adding a new feature , pattern based solutions. Module – 5 Designing with Distributed Objects: Client server system, java remote method 10 Hours invocation, implementing an object oriented system on the web (discussions and further reading) a note on input and output, selection statements, loops arrays. Course outcomes: The students should be able to: Design and implement codes with higher performance and lower complexity Be aware of code qualities needed to keep code flexible Experience core design principles and be able to assess the quality of a design with respect to these principles. Capable of applying these principles in the design of object oriented systems. Demonstrate an understanding of a range of design patterns. Be capable of comprehending a design presented using this vocabulary. Be able to select and apply suitable patterns in specific contexts Question paper pattern: The question paper will have ten questions. There will be 2 questions from each module. Each question will have questions covering all the topics under a module. The students will have to answer 5 full questions, selecting one full question from each module. Text Books: 1. Object-oriented analysis, design and implementation, brahma dathan, sarnath rammath, universities press,2013 2. Design patterns, erich gamma, Richard helan, Ralph johman , john vlissides ,PEARSON Publication,2013. Reference Books: 1. Frank Bachmann, RegineMeunier, Hans Rohnert “Patter n Oriented Software Architecture” –Volume 1, 1996. 2. William J Brown et al., "Anti-Patterns: Refactoring Software, Architectures and Projects in Crisis", John Wiley, 1998.