COMP-SCI 5553: Software Architecture and Design

Spring 2018

Last Update: January 15, 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

Schedule

WeekDateTopicReadings/Assignments
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], [FGH06], Chapter 6
Feb 15, 2018Architecture Description Languages (ADLs)
6Feb 20, 2018ADLs, continued
Feb 22, 2018Group Presentation #3
7Feb 27, 2018Midterm Review
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, 2018Domain-Specific Software Engineering[KKL+98], [KAK08], Chapter 15
Mar 22, 2018Product Line Architectures - Modeling
11Mar 27, 2018Spring Break (No Class)
Mar 29, 2018
12Apr 3, 2018
Apr 5, 2018Project Presentation I
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 II
Apr 26, 2018Group Presentation #6
16May 1, 2018Course Review
May 3, 2018Project Presentation

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.


Textbook

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%


Policies

The UMKC academic honesty policy applies.


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