National Institute of Technology Rourkela

राष्ट्रीय प्रौद्योगिकी संस्थान राउरकेला

ଜାତୀୟ ପ୍ରଯୁକ୍ତି ପ୍ରତିଷ୍ଠାନ ରାଉରକେଲା

An Institute of National Importance

Syllabus

Course Details

Subject {L-T-P / C} : CS6423 : Software Design Pattern { 3-0-0 / 3}

Subject Nature : Theory

Coordinator : Prof. Durga Prasad Mohapatra

Syllabus

Introduction: Review of the software development context in relation to design patterns, Advantages of using classes, The uses of inheritance in software design, The principle of strong typing and substitution, Polymorphism with abstract classes and inheritance, introduction to UML, Design techniques for modifiability, The strategy Pattern, A case study: Designing A Document Editor- Design problems, document structure, formatting, embellishing the user interface. (14 hours)
Creational Patterns: Abstract Factory, Builder, Creational Patterns: Factory Method, Prototype, Singleton, Structural Pattern: Adapter, Bridge, Structural Pattern: Composite, Decorator, Structural Pattern: Façade, Flyweight, Proxy, Discussion of structural patterns, Behavioural Patterns: Chain of Responsibility, Command, Interpreter, Behavioural Patterns: Iterator, Mediator, Memento. (12 hours)
Behavioural Patterns: Observer, State, Strategy, Behavioural Patterns: Template Method, Visitor, Discussion of behavioural pattern, What to expect from design patterns, The pattern Community. (10 hours)

Course Objectives

  • For recurrent applications, have knowledge on SOFTWARE DESIGN PATTERN

Course Outcomes

knowledge on SOFTWARE DESIGN PATTERN

Essential Reading

  • Gamma, Erich Richard Helm, Ralph Johnson, and John Vlissides, Elements of Reusable Object-Oriented Software, Addison-Wesley , 2005
  • Bruegge, Bernd Dutoit, Allen H, Object-Oriented Software Engineering using UML, Patterns, and JAVA, Pearson Education , 2007

Supplementary Reading

  • Fowler, Martin, Patterns of Enterprise Application Architecture, Addison-Wesley , 2002
  • Hohpe, Gregor and Bobby Woolf, Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions, Addison-Wesley , 2002

Journal and Conferences

  • I1. Journal: EEE Transaction on Software Engineering, 2. Conference: Int. conference on Software Engg.
  • 2. Journal: Journal of system software, 2. Conference: Software engineering and knowledge engineering