Course Code: MIT3083
Course Title: Software Architecture (4 Credits)
Unit-1: Introduction to Software Architecture: The Architectural Concept, Architectural Patterns, Reference Models and Reference, Importance of Software Architecture, Architectural Structures and Views.
Unit-2: Architectural Styles: Architectural Styles, Other Familiar Architectures.
Unit-3: Software Architecture – Case Studies: Key Word in Context, Instrumentation Software, Mobile Robotics, Cruise Control, Three Vignettes in Mixed Style, Real Time Applications and Distributed Applications.
Unit-4: Architectural Quality Attributes: Functionality and Architecture, Architecture and Quality Attributes, System Quality Attributes, Quality Attributes Scenario in Practice, Other System Quality Attributes.
Unit-5: Achieving Quality: Introduction, Tactics, Relationship of Tactics to Architectural Patterns.
Unit-6: Architectural Patterns –1: Architectural Pattern, From Mud to Structure- Layers, Pipes and filters, Blackboard.
Unit-7: Architectural Patterns – 2: Distributed Systems- Broker architecture,Interactive Systems- Model-View-Controller (MVC), Presentation-Abstraction-Control (PAC).
Unit-8: Architectural Patterns – 3: Adaptable Systems- Microkernel, Reflection.
Unit-9: Important Design Patterns: Design Patterns, Structural Decomposition, Organization of Work, Access Control.
Unit-10: Architectural Design Guidance: User Interface Architecture, The Quantified Design Space, Architectural Design Space Formalism.
Unit-11: Formal Models and Specifications: Z-Notation, Formalizing an Architectural Style, Formalizing an Architectural Design Space.
Unit-12: Linguistic Issues : Architectural Description Language, First Class Connectors, Adding Implicit Invocation to Traditional Programming Languages.
Unit-13: Tools for Software Architecture: CASE Tools, Analysis and Design tools, Software Development Tools, Software Tools for Architecture Design, Excel as an Architecture Tool, Exploiting Style in Architectural Design, Quality-Driven Software Architecture Design.
Unit-14: Designing and Documenting Software Architecture: Forming a Team Structure, Creating a Skeleton System, Uses of Architectural Documentation, Rules for Documentation, Views, Documenting a View.