Course Name (Chinese):软件体系架构
(English): Software Architecture
Course Name: Software Architecture |
|||||
Semester: 4, 2 |
|||||
Program: Computer Science |
|||||
Course Module: Specialized Compulsory |
|||||
Responsible:Shizhan Chen |
E-mail:shizhan@tju.edu.cn |
||||
Department: School ofComputer Science and Technology, Tianjin University |
|||||
Time Allocation (1 credit hour = 45 minutes) |
|||||
Exercise |
Lecture |
Lab-study |
Project |
Internship (days) |
Personal Work |
8 |
12 |
20 |
0 |
Course Description Software architecture refers to the high level structures of asoftware system, the discipline of creating such structures, and the documentation of these structures. These structures are needed to reason about the software system. Each structure comprises software elements, relations among them, and properties of both elements and relations. Opinions vary as to the scope of software architectures: Ÿ Overall, macroscopic system structure; this refers to architecture as a higher level abstraction of a software system that consists of a collection of computational components together with connectors that describe the interaction between these components. Ÿ The important stuff—whatever that is; this refers to the fact that software architects should concern themselves with those decisions that have high impact on the system and its stakeholders. Ÿ That which is fundamental to understanding a system in its environment Ÿ Things that people perceive as hard to change; since designing the architecture takes place at the beginning of a software system's lifecycle, the architect should focus on decisions that "have to" be right the first time. Following this line of thought, architectural design issues may become non-architectural once their irreversibility can be overcome. Ÿ A set of architectural design decisions; software architecture should not be considered merely a set of models or structures, but should include the decisions that lead to these particular structures, and the rationale behind them. This insight has led to substantial research into software architecture knowledge management. |
||||||||
Prerequisite Ÿ Programming design knowledge with high-level language Ÿ software engineering |
||||||||
Course Objectives This course discusses basic concepts of computer system to help students understand the program better and enhance their professional skills. After this course, students should be able to: Ÿ Understand the fundamental underlying structure of a software system Ÿ Masterthe common Software Architecture in Practice |
||||||||
Course Syllabus Ÿ Understanding Software Architecture. Ÿ Architectural Patterns Ÿ Design Patterns Ÿ Idioms Ÿ Just Enough Software Architectureand Some New Topics |
||||||||
Textbooks Ÿ Frank Buschmann, Regine Meunier, Hans Rohnert, etc. Pattern-Oriented Software Architecture Volume 1: A System of Patterns, 1 edition, Wiley,1996.ISBN 978-0471958697. References Ÿ Perry, D. E.; Wolf, A. L. (1992). Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes 17 (4): 40. doi:10.1145/141874.141884. Ÿ Bass, Len; Paul Clements; Rick Kazman (2012). Software Architecture In Practice, Third Edition. Boston: Addison-Wesley. ISBN 978-0-321-81573-6. Ÿ George Fairbanks (2010). Just Enough Software Architecture. Marshall & Brainerd. Ÿ Angelov, Samuil; Grefen, Paul; Greefhorst, Danny. A Classification of Software Reference Architectures: Analyzing Their Success and Effectiveness. Proc. of WICSA/ECSA 2009 (IEEE): 141–150. doi:10.1109/WICSA.2009.5290800. Ÿ Chen, Lianping; Ali Babar, Muhammad; Nuseibeh, Bashar (2013). Characterizing Architecturally Significant Requirements. IEEE Software 30 (2): 38–45. doi:10.1109/MS.2012.174. Ÿ De Silva, L. and D. Balasubramaniam, Controlling software architecture erosion: A survey, Journal of Systems and Software 01/2012; 85:132–151 Ÿ Brooks, Jr., Frederick P. (1975). The Mythical Man-Month - Essays on Software Engineering. Addison-Wesley. ISBN 0-201-00650-2. Ÿ Erich Gamma,Richard Helm, Ralph Johnson (1994),Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley Professional. ISBN:9780201633610. |
||||||||
Capability Tasks CT1: Master the basic knowledge ofsoftware architecture. CT2: understandSoftware architecture principles, when you encounter problems in practical work or research, find solutions with a more professional way. |
||||||||
Achievements Ÿ To understand what issoftware architecture, as well as its importance. - Level: N Ÿ To masterthe fundamentals of Software Architecture. - Level: M Ÿ Tomaster the common Software Architecture in Practice. - Level: M |
||||||||
Students:Computer Science, Year 1, 2 |
||||||||
Assessment: |
||||||||
Exam |
Assignment |
Report |
Term Paper |
Presentation |
Others |
|||
√ |
√ |
√ |
||||||
Language of assessment:Chinese Attendance: 10 % Homework: % Mid-term report/test: 30 % Final report/test: 60 % |