MC4016 Software Architecture Syllabus:

MC4016 Software Architecture Syllabus – Anna University PG Syllabus Regulation 2021

COURSE OBJECTIVES:

 Understand software architectural requirements and drivers
 Be exposed to architectural styles and views
 Be familiar with architectures for emerging technologies

UNIT I INTRODUCTION AND ARCHITECTURAL DRIVERS

Introduction – Software architecture – Architectural structures – Influence of software architecture on organization – both business and technical – Architecture Business Cycle- Functional requirements – Technical constraints – Quality Attributes

UNIT II QUALITY ATTRIBUTE WORKSHOP

Quality Attribute Workshop – Documenting Quality Attributes – Six part scenarios – Case studies.

UNIT III ARCHITECTURAL VIEWS

Introduction – Standard Definitions for views – Structures and views – Representing views available notations – Standard views – 4+1 view of RUP, Siemens 4 views, SEI’s perspectives and views – Case studies

UNIT IV ARCHITECTURAL STYLES

Introduction – Data flow styles – Call-return styles – Shared Information styles – Event styles – Case studies for each style

UNIT V DOCUMENTING THE ARCHITECTURE

Good practices – Documenting the Views using UML – Merits and Demerits of using visual languages – Need for formal languages – Architectural Description Languages – ACME – Case studies. Special topics: SOA and Web services – Cloud Computing – Adaptive structures

SUGGESTED ACTIVITIES:

1. List the stakeholders for a software architecture. How do project managers, chief technical officers, chief information officers, analysts, customers, and users fit into your list?
2. Which quality attributes tend to be the most important to systems in your organization? How are those attributes specified? How does the architect know what they are, what they mean, and what precise levels of each are required?
3. Software architecture is often compared to building architecture. What are the strong points of this comparison? What is the correspondence in buildings to software architecture structures and views? To patterns? What are the weaknesses of the comparison? When does it break down?
4. How does a UML class diagram relate to the styles discussed? Does that diagram show decomposition, uses, generalization, or another combination?
5. You are a new hire to a project. Lay out a sequence of documentation you would like to have to acquaint you with your new position

TOTAL: 45 PERIODS

COURSE OUTCOMES:

Upon Completion of the course, the students will be able to
CO1:Explain influence of software architecture on business and technical activities
CO2:Summarize quality attribute workshop
CO3:Identify key architectural structures
CO4:Use styles and views to specify architecture
CO5:Design document for a given architecture

REFERENCES

1. Len Bass, Paul Clements, and Rick Kazman, “Software Architectures Principles and Practices”, 2n Edition, Addison-Wesley, 2003.
2. Anthony J Lattanze, “Architecting Software Intensive System. A Practitioner’s Guide”, 1st Edition, Auerbach Publications, 2010.
3. Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord, and Judith Stafford, “Documenting Software Architectures. Views and Beyond”, 2ndEdition, Addison-Wesley, 2010
4. Paul Clements, Rick Kazman, and Mark Klein, “Evaluating software architectures: Methods and case studies.”,1st Edition, Addison-Wesley, 2001.
5. Mark Hansen, “SOA Using Java Web Services”, 1st Edition, Prentice Hall, 2007
6. David Garlan, Bradley Schmerl, and Shang-Wen Cheng, “Software Architecture-Based Self Adaptation,” 31-56. Mieso K Denko, Laurence Tianruo Yang, and Yan Zang (eds.), “Autonomic Computing and Networking”.1st Edition, Springer Verlag 2009.