18CS731 Software Architecture and Design Patterns syllabus for CS



A d v e r t i s e m e n t

Module-1 Introduction 8 hours

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 Systems

Textbook 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

Module-2 Design Pattern Catalog 8 hours

Design Pattern Catalog:

Structural patterns, Adapter, bridge, composite, decorator, facade, flyweight, proxy.

Textbook 2: chapter 4

RBT: L1, L2, L3

Module-3 Behavioral Patterns 8 hours

Behavioral Patterns: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Observer, State, Template Method

Textbook 2: chapter 5

RBT: L1, L2, L3

Module-4 Interactive systems and the MVC architecture 8 hours

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

Module-5 Designing with Distributed Objects 8 hours

Designing with Distributed Objects:

Client server system, java remote method invocation, implementing an object-oriented system on the web (discussions and further reading) a note on input and output, selection statements, loops arrays.

Textbook 1: Chapter 12

RBT: L1, L2, L3

 

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,2013

2. 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.

Last Updated: Tuesday, January 24, 2023