About Me

header ads

SOFTWARE ARCHITECTURE AND DESIGN PATTERNS (18CS731)

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

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 Method
Textbook 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 note
on 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,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.

Post a Comment

0 Comments