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.