COMP-SCI 5553: Software Architecture and Design

Fall 2017

Last Update: November 6, 2017

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, 4pm - 5:15pm. Katz Hall-Room 206.

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

Schedule

WeekDateTopicReadings/Assignments
1Aug 22, 2017Course Introduction[PW92], [GS94], Chapter 2
Aug 24, 2017Software Architectures in Context
2Aug 29, 2017Architecture Recovery
Aug 31, 2017Group Presentation #1
3Sep 5, 2017Designing Architectures[Par72], [CRW01], Chapter 4
Sep 7, 2017Designing Architectures, continued
4Sep 12, 2017Architecture Styles
Sep 14, 2017Group Presentation #2
5Sep 19, 2017Architecture Modeling[MT00], [FGH06], Chapter 6
Sep 21, 2017Architecture Description Languages (ADLs)
6Sep 26, 2017ADLs, continued
Sep 28, 2017Group Presentation #3
7Oct 3, 2017Midterm Review
Oct 5, 2017Midterm Exam
8Oct 10, 2017Implementing Architectures[ACN02], [ZT12], Chapter 9
Oct 12, 2017Implementing Architectures, continued
9Oct 17, 2017Architecture-Implementation Conformance
Oct 19, 2017Group Presentation #4
10Oct 24, 2017Domain-Specific Software Engineering[KKL+98], [KAK08], Chapter 15
Oct 26, 2017Product Line Architectures - Modeling
11Oct 31, 2017
Nov 2, 2017Project Presentation I
12Nov 7, 2017Product Line Architectures - Implementation
Nov 9, 2017Group Presentation #5
13Nov 14, 2017WWW, REST, and Web Services[BCL+94], [FT02]
Nov 16, 2017REST IProject Checkup I (5%)
14Nov 21, 2017Thanksgiving Break (No Class)
Nov 23, 2017
15Nov 28, 2017REST IIProject Checkup II (5%)
Nov 30, 2017Group Presentation #6
16Dec 5, 2017Course Review
Dec 7, 2017Project PresentationProject Final Deliverables (10%)

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 500 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, 2017.