课程介绍
This course introduces the basic concepts, techniques and methodologies of software architecture. It describes the quality attribute scenarios from the standpoints of software architecture, and specially explain the quality attributes including the availability, interoperability, modifiability, performance, and security. After introducing the common patterns and tactics of software architecture, it covers the quality attribute analysis models and methods. Moreover, the course explains the architecture and agile project, describes the roles that software architecture plays in the life cycles of software projects including requirement analysis, design, implementation and test, evaluation, and so on. It finally introduces the design principles and tactics of software architecture in cloud computing.
课程大纲
学习目标
After completing the course, students will have the following abilities: (1) Understand the basic concepts of software architecture, preliminarily master the analysis, design and evaluation methods of large-scale software architectures; be familiar with the impact cycle of software architecture, and recognize that the impact of business, technology and projects onto stakeholders; understand the relationship between the software architecture and 7 major quality attributes such as performance, availability, security and so on; understand the impact of these attributes on the architect's design decisions.
(2) Be familiar with common software architecture patterns and tactics; be able to analyze the impact of tactics on quality attributes; master Attribute-Driven design methods for software architectures; be able to use the tactics to design architectures that meet the requirements on the quality attributes; use software architecture to finish tasks in the life cycle of software projects.
学习要求
课程性质:必修课
学分: 2.5
学时 :48
理论课时:32
实验时:16
考核标准
Attendance and Homework, 20%
Experiment, 20%
Final Examination, 60%
教材教参
Textbook:
【1】Len Bass, Paul Clements, Rick Kazman. Software Architecture in Practice (the 3rd edition). Tsinghua University Press, 2013
Reference Book:
【1】Yousheng Zhang. Software Architecture (in Chinese). Tsinghua University Press. 2016.
【2】Martin Fowler. Refactoring: Improving the Design of Existing Code, Second Edition (in Chinese). Posts & Telecom Press, 2019.
【3】Bixin Li. Software Architecture Theory and Practice (in Chinese). China Machine Press, 2019.