Home - Students - My Studies - Courses - S - Content

Software Architecture

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 %