Introduction and Context of Software Architecture
What software architecture is and what it is not; Architectural Structures and views; Architectural patterns; What makes a “good” architecture? Why is software important? Technical Context; Project life-cycle context; Business context; Professional context; Stake holders; How is Architecture influenced? What Do Architecture influence?
Understanding Quality Attributes
Architecture & Requirements; Functionality; quality attribute considerations; Specifying and achieving Quality attribute requirements; Guiding quality design decisions; Availability; Interoperability; Modifiability; Performance; Security; Testability; Usability.
Quality Attribute modeling and Analysis, Architecture and requirements Gathering
Modeling Architecture to enable quality attribute analysis; Quality attribute check lists; Through experiments and Back-of-the envelope analysis; Experiments; Simulations and prototypes; Analysis at different stages of the life cycle. Architecture and requirements Gathering ASRs from requirements documents; ASRs by interviewing stake holders; ASRs by understanding the business; capturing ASRs in a utility tree; Typing the methods together.
Designing an Architecture, Documenting Software Architecture and Architecture, Implementation & Testing
Design strategy; the attribute driven design methods; the steps of ADD, Uses and Audiences for architecture documentation; Notations, View and Behavior; Documentation and quality attributes, Architecture and implementation; Architecture and testing.
Architectural Patterns
Introduction to patterns; From Mud to structure; Layers; Pipes and filters; Blackboard; Distributed systems; Brocker; Interactive systems; Model-viewcontrol; Presentation- abstraction- control; Adaptable systems; Microkernel
Question paper pattern:
Text Books:
1. Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice, 3rd Edition, Pearson Education, 2013(Listed Topics only from Chapters 1,2,3,4,5,6,7,8,9,10,11,14,16,17,18,19)
2. Frank Buschmann, RegineMeunier, Hans Rohnert, Peter Sommerlad, Michael Stal: Pattern- Oriented Software Architecture, A System of Patterns, Volume 1, John Wiley and Sons, 2012 (chapter 2).
Reference Books:
1. Richard N.Taylor, NenadMedvidovic and Eric M. Dashofy: Software Architecture: Foundations, Theory, and Practice, Wiley- India 2012
2. Mary Shaw and DavidGarlan : Software Architecture - Perspectives on an Emerging Discipline, Prentice Hall of India, 2007.