CP7014 SOFTWARE ARCHITECTURES Syllabus - Anna University ME CSE 2nd Sem Regulation 2013 Syllabus
OBJECTIVES:
Understand architectural requirements
Identify architectural structures
Develop architectural documentation
Generate architectural alternatives
Evaluate the architecture against the drivers
UNIT I ARCHITECTURAL DRIVERS
Introduction – Standard Definitions of Software Architecture– Architectural structures – Influence of software architecture on organization – Architecture Business Cycle – Functional requirements – Technical constraints – Quality Attributes – Quality Attribute Workshop (QAW) – Documenting Quality Attributes – Six part scenarios
UNIT II ARCHITECTURAL VIEWS AND DOCUMENTATION
Introduction – Standard Definitions for views – Structures and views- Perspectives: Static, dynamic and physical and the accompanying views – Representing views-available notations – Good practices in documentation– Documenting the Views using UML – Merits and Demerits of using visual languages – Need for formal languages - Architectural Description Languages – ACME
UNIT III ARCHITECTURAL STYLES
Introduction – Data flow styles – Call-return styles – Shared Information styles – Event styles – Case studies for each style
UNIT IV ARCHITECTURAL DESIGN
Approaches for architectural design – System decomposition – Attributes driven design – Architecting for specific quality attributes – Performance, Availability – Security – Architectural conformance
UNIT V ARCHITECTURE EVALUATION AND SOME SPECIAL TOPICS
Need for evaluation – Scenario based evaluation against the drivers – ATAM and its variations – Case studies in architectural evaluations – SOA and Web services – Cloud Computing – Adaptive structures
OUTCOMES:
Upon Completion of the course,the students will be able to
Explain key architectural drivers
Explain the influence of architecture on business and technical activities
Identify key architectural structures
Adopt good practices for documenting the architecture
Develop alternative architectures for a given problem
Explain how to use formal languages to specify architecture
Evaluate the architecture against the drivers
Describe the recent trends in software 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”, 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”, 2nd Edition, Addison-Wesley, 2010.
4. Paul Clements, Rick Kazman, and Mark Klein, “Evaluating software architectures: Methods and case studies.”, Addison-Wesley, 2001.
5. David Garlan and Mary Shaw, “Software architecture: Perspectives on an emerging discipline”, Prentice Hall, 1996.
6. Rajkumar Buyya, James Broberg, and Andrzej Goscinski, “Cloud Computing. Principles and Paradigms”, John Wiley & Sons, 2011
7. Mark Hansen, “SOA Using Java Web Services”, Prentice Hall, 2007
8. 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”. Springer Verlag, 2009.
ADS HERE !!!