Software Architecture

Course Code: MIT3083

Course Title: Software Architecture (4 Credits)




Course Contents


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.