COMP-SCI 5553: Software Architecture and Design

Spring 2018

Last Update: April 2, 2018

Instructor:Yongjie Zheng
Email:[yzheng at umkc dot edu] To ensure a response, please include "5553" in the subject line.
Office Hours:Thursday, 2:30pm - 3:30pm.
Lectures:Tuesday/Thursday, 11:30AM - 12:45PM. Haag Hall-Room 315.

Schedule  -  Course Description  -  Course Design  -  Textbook  -  Grading and Evaluations  -  Policies  -  Reading List


1Jan 16, 2018Course Introduction[PW92], [GS94], Chapter 2
Jan 18, 2018Software Architectures in Context
2Jan 23, 2018Architecture Recovery
Jan 25, 2018Group Presentation #1
3Jan 30, 2018Designing Architectures[Par72], [CRW01], Chapter 4
Feb 1, 2018Designing Architectures, continued
4Feb 6, 2018Architecture Styles
Feb 8, 2018Group Presentation #2
5Feb 13, 2018Architecture Modeling[MT00], [DHT05], [FGH06], Chapter 6
Feb 15, 2018Architecture Description Languages (ADLs)
6Feb 20, 2018University Closed (Ice Storm)
Feb 22, 2018ADLs, continued
7Feb 27, 2018Group Presentation #3
Mar 1, 2018Midterm Exam
8Mar 6, 2018Implementing Architectures[ACN02], [ZT12], Chapter 9
Mar 8, 2018Implementing Architectures, continued
9Mar 13, 2018Architecture-Implementation Conformance
Mar 15, 2018Group Presentation #4
10Mar 20, 2018
Mar 22, 2018Project Presentation I
11Mar 27, 2018Spring Break (No Class)
Mar 29, 2018
12Apr 3, 2018Domain-Specific Software Engineering[KKL+98], [KAK08], Chapter 15
Apr 5, 2018Product Line Architectures - Modeling
13Apr 10, 2018Product Line Architectures - Implementation
Apr 12, 2018Group Presentation #5
14Apr 17, 2018WWW, REST, and Web Services[BCL+94], [FT02]
Apr 19, 2018REST I
15Apr 24, 2018REST IIProject Checkup
Apr 26, 2018Group Presentation #6
16May 1, 2018Course Review
May 3, 2018Project PresentationFinal Exam: Tuesday, May 8, 3:30-5:30 p.m.

Course Description

This is a research-oriented course. By research-oriented, we mean two things. (1) Some of the concepts, notations, and technologies that we will be learning in this course are research results, and may not have been widely used in industry. (2) The way we learn them is close to how people do research in the area of software architecture and design. Specifically, we will be reading research papers, analyzing the existing results, writing critiques, giving presentations, and exercising the research results with real examples. The course introduces a number of basic concepts and enabling technologies of software architecture, including architecture styles, architecture description languages, architecture-implementation mapping, and product line architectures. It also covers some advanced topics, such as the REST architecture style and Web Services. In addition, students will have an opportunity to work in groups and study the architecture of some real software systems.

Course Design

The goal of this course is to (1) introduce the area of software architecture, including basic concepts and techniques; (2) improve students' technical writing and presentation skills; (3) inspire research interests in software architecture. The course primarily consists of three parts: lectures, assignments, and a class project. Each is briefly described below.

Lecture. Lectures will be given on a regular basis with slides provided. All the materials are from the textbook listed below and the research papers included in the course reading list. Class attendance is mandatory, and students are highly encouraged to participate in class discussion.

Assignment. Every two weeks, two research papers from the course reading list will be assigned for students to read. Each student is obliged to write a short analysis of these assigned papers. The analysis should be about 800 words long, and focuses on your own assessment of the papers. After that, students will give an oral presentation in class about their critique of the papers. Each presentation is ten to fifteen minutes long, and is done in groups (around two people each group).

Project. The project covers the technical part of this course. Students will use the techniques they learned from this class and work on some real software systems. Again, the project is done in groups (same group as your presentation). More details about the project are to come.


Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. Software Architecture: Foundations, Theory, and Practice. John Wiley and Sons. ISBN-10: 0470167742; ISBN-13: 978-0470167748. 2010.

Grading and Evaluations

Midterm: 20%
Final Exam: 20%
Assignments: 30%
Class Project: 30%


The UMKC academic honesty policy applies.

Back to Top© University of Missouri - Kansas City, 2018.