SOFTWARE ARCHITECTURE AND DESIGN PATTERNS
Course Code :18CS731
CIE Marks:40
Number of Contact Hours/Week:3:0:0
SEE Marks:60
Total Number of Contact Hours:40
Exam Hours:03
CREDITS –3
Course Learning Objectives: This course (18CS731) 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
Introduction: what is a design pattern? describing design patterns, the catalog of design pattern, organizing the catalog, how design patterns solve design problems, how to select a design pattern, how to use a design pattern. A Notation for Describing Object-Oriented SystemsTextbook 1: Chapter 1 and 2.7
Analysis a System: overview of the analysis phase, stage 1: gathering the requirements functional requirements specification, defining conceptual classes and relationships, using the
knowledge of the domain. Design and Implementation, discussions and further reading.
Textbook 1: Chapter 6
RBT: L1, L2, L3
Notes link given below
Module 2
Design Pattern Catalog: Structural patterns, Adapter, bridge, composite, decorator, facade,flyweight, proxy.
Textbook 2: chapter 4
RBT: L1, L2, L3
Notes link given below
Module 3
BehavioralPatterns: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Template MethodTextbook 2: chapter 5
RBT: L1, L2, L3
Notes link given below
Module 4
Interactive systems and the MVC architecture: Introduction, The MVC architectural pattern, analyzing a simple drawing program, designing the system, designing of the subsystems, getting into implementation, implementing undo operation, drawing incompleteitems, adding a new feature, pattern-based solutions.Textbook 1: Chapter 11
RBT: L1, L2, L3
Notes link given below
Module 5
Designing with Distributed Objects: Client server system, java remote method invocation, implementing an object-oriented system on the web (discussions and further reading) a noteon input and output, selection statements, loops arrays.
Textbook 1: Chapter 12
RBT: L1, L2, L3
Notes link given below
Course Outcomes: The student will 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.
- Each full Question consisting of 20 marks
- There will be 2 full questions (with a maximum of four sub questions) from each module.
- Each full question will have sub questions covering all the topics under a module.
- The students will have to answer 5 full questions, selecting one full question from each module.
Textbooks:
1. Brahma Dathan, Sarnath Rammath, Object-oriented analysis, design and implementation, Universities Press,20132. Erich Gamma, Richard Helan, Ralph Johman, John Vlissides , Design Patterns, Pearson Publication,2013.
Reference Books:
1. Frank Bachmann, RegineMeunier, Hans Rohnert “Pattern Oriented Software Architecture” –Volume 1, 1996.2. William J Brown et al., "Anti-Patterns: Refactoring Software, Architectures and Projects in Crisis", John Wiley, 1998.
0 Comments