30 December 2014

Software Architecture and Design Patterns

Objectives:
• To understand the concept of patterns and the Catalog.
• To discuss the Presentation tier design patterns and their affect on: sessions, client access, validation and consistency.
• To understand the variety of implemented bad practices related to the Business and Integration tiers.
• To highlight the evolution of patterns.
• To how to add functionality to designs while minimizing complexity
• To understand what design patterns really are, and are not
• To learn about specific design patterns.
• To learn how to use design patterns to keep code quality high without overdesign.

UNIT I
Envisioning Architecture: The Architecture Business Cycle, What is Software Architecture, Architectural patterns, reference models, reference architectures, architectural structures and views.
Creating an Architecture: Quality Attributes, Achieving qualities, Architectural styles and patterns, designing the Architecture, Documenting software architectures, Reconstructing Software Architecture.

UNIT II
Analyzing Architectures: Architecture Evaluation, Architecture design decision making, ATAM, CBAM. Moving from one system to many Software Product Lines, Building systems from off the shelf components, Software architecture in future.

UNIT III
Patterns: Pattern Description, Organizing catalogs, role in solving design problems, Selection and usage.
Creational and Structural patterns: Abstract factory, builder, factory method, prototype, singleton, adapter, bridge, composite, façade, flyweight.

UNIT IV
Behavioral patterns: Chain of responsibility, command, Interpreter, iterator, mediator, memento, observer, state, strategy, template method, visitor.

UNIT V
Case Studies: A-7E – A case study in utilizing architectural structures, The World Wide Web - a case study in interoperability, Air Traffic Control – a case study in designing for high availability, Celsius Tech – a case study in product line development,

TEXT BOOKS:
1. Software Architecture in Practice, 2nd Edition by Len Bass, Paul Clements & Rick Kazman, Pearson Education, 2003.
2. Design Patterns by Erich Gamma, Pearson Education, 1995.

REFERENCE BOOKS:
1. Beyond Software architecture, Luke Hohmann, Addison wesley, 2003.
2. Software architecture, David M. Dikel, David Kane and James R. Wilson, Prentice Hall PTR, 2001
3. Software Design, David Budgen, second edition, Pearson education, 2003
4. Head First Design patterns, Eric Freeman & Elisabeth Freeman, O’REILLY, 2007.
5. Design Patterns in Java, Steven John Metsker & William C. Wake, Pearson education, 2006
6. J2EE Patterns, Deepak Alur, John Crupi & Dan Malks, Pearson education, 2003.
7. Design Patterns in C#, Steven John metsker, Pearson education, 2004.
8. Pattern Oriented Software Architecture, F.Buschmann & others, John Wiley & Sons.


.

1 comment:

Thanks for that comment!