SOFTWARE ARCHITECTURE

Paper Code: 
MCS 329C
Credits: 
04
Periods/week: 
04
Max. Marks: 
100.00
Objective: 

The primary objectives of this course are to understand the role of a software architecture in the development of application systems, to understand the role of a software architect, examine and compare various architecture view types and styles, develop the ability to read and understand the models that are used to document a software architecture, and to understand the nature of and the advantages and disadvantages for various architectural choices.

12.00
Unit I: 

Introduction to Software Architecture:  Fundamentals, Requirements, Design, Implementation, Analysis and Testing, Evolution and Maintenance, Processes.

Basic Concepts: Terminology, Models, Processes, Stakeholders.

12.00
Unit II: 

Software Architecture Design:  Design Process, Architectural Conception, Styles and Architectures Patterns, Architectural Conception in unprecedented design, Design Processes.

Connectors:  Connectors Foundations, Roles, Types and their Variation Dimensions, Examples (Event-Based, Grid-Based, Client-Server-based, P2P-based Data Distribution Connectors), Connector Framework.

12.00
Unit III: 

Modeling:  Modeling Concepts, Ambiguity, Accuracy and precision, Complex Modeling, Evaluating Modeling Techniques, Specific Modeling Techniques.

Visualization:  Visualization Concepts, Evaluating Visualizations, Common issues in Visualization, Visualization Techniques and its Evaluation.

12.00
Unit IV: 

Analysis:  Analysis Goals, Scope of Analysis, Architectural Concern being Analyzed, Level of Formality of Architectural Models, Type of Analysis, Level of Automation, System Stakeholders, Analysis Techniques.

12.00
Unit V: 

Implementation:  Mapping Problem, Frameworks and its evaluation, Middleware, Component models and Application frameworks, Concurrency, Architecture-to-Implementation Consistency. Frameworks for the Pipe-and-filter and C2 architectural Style.

Deployment and Mobility:  Challenges, Software Architecture and Deployment: Concepts, Activities and Tool Support, Software Architecture and Mobility: Concepts, Paradigms and Challenges in migrating code

ESSENTIAL READINGS: 
  1. Richard N. Taylor, N. Medvidovic & E.M. Dashofy, “Software Architecture: Foundations, Theory, and Practice”, Wiley-India, 2011
REFERENCES: 
  1. Ian Gorton, “Essential Software Architecture”, Springer, 1st edition, Nov. 2010.
  2. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, “Design Patterns: Elements of Reusable Object-Oriented Software”, Addison-Wesley Professional, 1st edition, January 1995.
  3. Christine Hofmeister, Robert Nord, Deli Soni, “Applied Software Architecture”,
    Addison-Wesley Professional, 1st edition, November 1999.
  4. Frank Buschmann, Hans Rohnert, Kevin Henney, Douglas C. Schmidt, “Pattern-Oriented Software Architecture”, Volume 1, Wiley, 1st edition, August 1996
  5. Mary Shaw, David Garlan, , “Software Architecture: Perspectives on an Emerging Discipline”, PHI Pvt. Ltd., New Delhi, 2010.
Academic Year: