Software Architecture

Course Code: MIT3083

Course Title: Software Architecture (4 Credits)

 

Back

 

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.

 

Back