Complex software systems require abstraction and analysis at an architectural level of abstraction. In this course we study, typical software system structures (architectural styles), techniques for designing and implementing these structures, models for characterizing and reasoning about architectures, and tools architectural modelling. Role of architecture in Software engineering; Enterprise Architectures, Zachman's Framework; Architectural Styles, Design Patterns; Architecture Description Languages; Product-line architectures; Component based development
Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Miachel Stal, Douglas Schmidt.Pattern Oriented Sofware Architecture, Volumes 1 &2
Len Bass, Paul Clements, Rick Katzman, Ken Bass_Software Architecture in Practice_.
George T. Heineman, William T. Councill.Component Based Software Engineering
Kurt Wallnau, Scott Hissam and Robert Seacord.Building Systems from Commercial Components.
Source material available on the Internet.