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

Software Architecture


Computer science

Jianrong Wang



Course Name: Software Architecture

Course Code:S2293226

Semester: 5

Credit: 2

Program: Computer science

Course Module: Optional

Responsible:Jianrong Wang

E-mail: wjr@tju.edu.cn

Department: Tianjin International Engineering Institute

Time Allocation (1 credit hour = 45 minutes)













Course Description

The course is an elective course designed for Engineering Master of Computer Science in International Engineering Institute. Software architecture is a hierarchical software design. The course contains the general organization, the global control, communication protocol, data storage, data storage, data storage and synchronization. It is required to design elements of a specific function, organize the design elements and choose the proper design pattern based on the size and performance. By the end of this course, students could develop a software based on certain conditions.


  • Relational database and SQL language: the SQL language about insertion, deletion, update and selection

  • Proficiency in object-oriented programming : to use C++ or Java to design program

  • Web technology : HTML and Script

Course Objectives

The course is to make students know how to develop an effective software in detail. After this course, students should be able to:

  • Develop an application and pay attention to the details of the progress, and to

  • Master the situation of different methods in the software architecture.

Course Syllabus

  • Overview of the software architecture: the development of the software architecture and the demand of the quality

  • Method of the software architecture: the method of the design pattern

  • Software reuse and component library design: the communication protocol between the components, data synchronization protocol, etc.

  • Software size measurement: the quality and maintainability of the software

  • Organizational design of the software: the method of the prototype, the method of the waterfall, etc.

Textbooks & References

  • Gamma E, Helm R, Johnson R, et al.Design patterns: elements of reusable object-oriented software. Pearson Education, 1994.

  • Schmidt D C, Stal M, Rohnert H, et al.Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Object. John Wiley & Sons, 2013.

  • Ambriola V, Ciancarini P, Montangero C.Software process enactment in Oikos. ACM, 1990.

  • Eeles P, Cripps P.The process of software architecting. Pearson Education, 2009.

Capability Tasks

CT2: To master the details of the process in managing the project.

CT3: To master the advantages and disadvantages of each method in the software architecture.

CS1: To master the basic thought in the software architecture.

CS2: To make use of different advantages of the method in the software architecture and to develop an application.


  • To master the different methods and thoughts in the software architecture.–level: N

  • To develop a real project.–level: M

Students: Computer science,Year 3