Systems engineering and software architectures; Hatley Pirbhai architectural template; architectural flow diagrams; requirements engineering and software architecture; architectural design processes; real-time architectures; architectural design patterns; software architecture and maintenance management; object oriented architectures; client server architectures; forward engineering for object oriented and client server architectures; emerging software architectures.
Scope and Objectives
The scope of the course is primarily to understand architectural abstractions, localizing and codifying the ways components interact, and distinguish among the various ways in which architectural principles can be applied to software system and analysis and design.
At the end of studying this course, the student should be able:
• To illustrate the current state of the discipline of Software Architecture and examine the ways in which architectural design can affect software design.
• To study the various architectural styles used in software engineering.
• To understand the evaluate designs of existing software systems from an architectural perspective.
• To provide the intellectual building blocks for designing new systems in principled ways, using well-understood architectural paradigms.
• To present concrete examples of actual system architectures that can serve as model for new designs.
1) Bass, Len . Software Architecture in Practice. Pearson Education.
2) Buschmann, F. Pattern Oriented Software Architecture. Vol 1, Wiley Student Edition