06IS72-Software Architectures and Design |
PART – A |
UNIT 1 |
INTRODUCTION: The Architecture Business Cycle: Where do
architectures come from? Software processes and the architecture business
cycle; What makes a “good” architecture? What software architecture is and
what it is not; Other points of view; Architectural patterns, reference models
and reference architectures; Importance of software architecture;
Architectural structures and views.
|
UNIT 2 |
ARCHITECTURAL STYLES AND CASE STUDIES: Architectural
styles; Pipes and filters; Data abstraction and object-oriented organization;
Event-based, implicit invocation; Layered systems; Repositories;
Interpreters; Process control; Other familiar architectures; Heterogeneous
architectures.
Case Studies: Keyword in Context; Instrumentation software; Mobile
robotics; Cruise control; Three vignettes in mixed style.
|
UNIT 3 |
QUALITY: Functionality and architecture; Architecture and quality
attributes; System quality attributes; Quality attribute scenarios in practice;
Other system quality attributes; Business qualities; Architecture qualities.
Achieving Quality: Introducing tactics; Availability tactics; Modifiability
tactics; Performance tactics; Security tactics; Testability tactics; Usability
tactics; Relationship of tactics to architectural patterns; Architectural patterns
and styles.
|
UNIT 4 |
ARCHITECTURAL PATTERNS – 1: Introduction; from mud to structure:
Layers, Pipes and Filters, Blackboard.
|
PART – B |
UNIT 5 |
ARCHITECTURAL PATTERNS – 2: Distributed Systems: Broker;
Interactive Systems: MVC, Presentation-Abstraction-Control.
|
UNIT 6 |
ARCHITECTURAL PATTERNS – 3: Adaptable Systems: Microkernel;
Reflection.
|
UNIT 7 |
SOME DESIGN PATTERNS: Structural decomposition: Whole – Part;
Organization of work: Master – Slave; Access Control: Proxy.
|
UNIT 8 |
DESIGNING AND DOCUMENTING SOFTWARE
AOURCHITECTURE: Architecture in the life cycle; Designing the
architecture; Forming the team structure; Creating a skeletal system.
Uses of architectural documentation; Views; Choosing the relevant views;
Documenting a view; Documentation across views.
|
REFERENCE |
TEXT BOOKS: |
1. Software Architecture in Practice - Len Bass, Paul Clements,
Rick Kazman, 2nd Edition, Pearson Education, 2003.
2. Pattern-Oriented Software Architecture A System of Patterns,
Volume 1 - Frank Buschmann, Regine Meunier, Hans Rohnert,
Peter Sommerlad, Michael Stal, John Wiley and Sons, 2006
3. Software Architecture- Perspectives on an Emerging Discipline -
Mary Shaw and David Garlan, Prentice-Hall of India, 2007.
|
Reference Books |
1. Design Patterns- Elements of Reusable Object-Oriented
Software - E. Gamma, R. Helm, R. Johnson, J. Vlissides, Addison-
Wesley, 1995.
|