SE4101 Software Architecture Syllabus:

SE4101 Software Architecture Syllabus – Anna University PG Syllabus Regulation 2021

COURSE OBJECTIVES

 Understand the fundamentals of software architecture.
 Study the various software modeling techniques.
 Understand software implementation and deployment
 Learn the architecture of different applications.
 Relate software architecture and software quality.

UNIT I BASIC CONCEPTS, DESIGNING ARCHITECTURES

Understanding Software Architecture-Concepts of Software Architecture, Models, Processes, Stakeholders, the Design Process, Architectural Conception, Refined Experience in Action: Styles and Architectural Patterns, Architectural Conception in Absence of Experience

Suggested Activities
1. Identifying the pitfalls that are likely to occur for software architecture teams
2. Discussing about the role of Software architects as Cost estimators

UNIT II CONNECTORS, MODELING

Connectors in Action: A Motivating Example, Connector Foundations, Connector Roles, Connector Types and Their Variation Dimensions, Example Connectors, Modeling Concepts, Ambiguity, Accuracy, and Precision, Complex Modeling: Mixed Content and Multiple Views, Evaluating  Modeling Techniques, Specific Modeling Techniques
1. Identifying a few commercial products which are infrastructure components that provide asynchronous messaging service.
2. Finding out the different possibilities of splitting the system into a number of computationally independent execution structures

UNIT III ANALYSIS, IMPLEMENTATION AND DEPLOYMENT

Concepts, Existing Frameworks, Software Architecture and Deployment, Software Architecture and Mobility, Pipes and Filters, Event- based, Implicit Invocation, Layered systems, Repositories Interpreters, Process control

Suggested Activities
1. Identifying the type of a given architectural pattern.
2. Representing software using pipe-filter architecture.

UNIT IV APPLIED ARCHITECTURES AND STYLES

Distributed and Networked Architectures, Architectures for Network-Based Applications, Decentralized Architectures, Service-Oriented Architectures and Web Services, Efficiency, Complexity, Scalability and Heterogeneity, Adaptability, Dependability.

Suggested Activities
1. Identifying functional aspects of a service oriented architecture.
2. Discussing the pros and cons of implementing a middle ware to deal with architectural issues.

UNIT V IMPLEMENTATION

Understanding quality attributes- Availability- Deployability- Working with Other Quality Attributes Virtualization- the Cloud and Distributed Computing- Architecturally Significant Requirements Designing an Architecture

Suggested Activities
1. Identifying the cost of modifications in projects that measure deployment separately.
2. “Using the cloud assumes your application is service oriented.” Find some examples that would support that statement and, if it is not universally true, find some that would falsify it.

TOTAL :45 PERIODS

Suggested Activity:
Students may be given problem domain that they may be encouraged to come out with multiple solution domains by applying some pattern. The best solution would be selected and presented.

COURSE OUTCOMES:

Upon completion of the course, the student will be able to
 Develop Software applications starting from software architecture and design.
 Apply different types of systems analysis techniques and software design strategies.
 Learn to implement and deploy software applications.
 Evaluate and implement different types of design patterns based on the requirement and functionality
 Evaluate the quality attributes for software architecture

REFERENCES:

1. Richard N. Taylor, Nenad Medvidovic, Eric Dashofy, Software Architecture: Foundations, Theory, and Practice, 2009.
2. Steven John Metsker, “Design Pattern Jav3a Workbook”, Addison Wesley Workbook”, 2002
3. Len Bass, Paul Clements, Rick Kazman: Software Architecture in Practice, Pearson, 4th Edition, 2021.
4. M. Shaw and D Garlan : Software Architecture Perspectives on an Emerging Discipline, Prentice- Hall. Digitized version 2007
5. Mark Richards, Neal Ford, “ Fundamentals of Software Architecture, An Engineering Approach”, O’Reilly Media 2020