Project

The course project will give you an opportunity to examine and describe the architecture of a realistic software system. You will work in teams assigned at the beginning of the semester. In this project your team will propose and document an architectural design, and analyze the relative merits of that design. To carry out your analysis you will be using a modified form of ATAM, a method for architecture evaluation, to assess your architectural design vis-à-vis the quality attribute goals that you have identified (and prioritized).

The objective of this assignment is to foster deeper thinking and more comprehensive documentation regarding why architectures will or will not meet the quality attribute goals that they are intended to satisfy. Techniques used in this assignment include Architecture Tradeoff Analysis Method (ATAM) and Quality Attribute Workshop (QAW). These methods will help you move beyond “hand waving” statements like "pipes and filters are great for performance since they capitalize on parallel processing" to provide more explicit arguments about the strengths and weaknesses of an architectural design. We will discuss ATAM and QAW in more detail during class lectures.

Download project materials (coming up).