|
January 19, 2011 |
Last Day to Add |
|
January 26, 2011 |
Last Day to Drop with no record |
|
March 18, 2011 |
Last Day to Drop with no final grade |
|
March 21 - 25, 2011 |
Spring Break
|
|
May 6, 2011 |
Final Exam – 7:00 PM |
|
|
|
|
2 exams |
30 points each |
|
Architecture projects |
30 points |
|
Research summaries |
5 points |
|
Class participation |
5 points |
Topical
Outline
The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them.
Software architecture involves technical knowledge, domain knowledge, and business knowledge. The architecture is developed in the context of constraints imposed by each of these areas.
The introductory case study investigates a system that has been successful for a long time.
Attributes such as performance and modifiability are enhanced or degraded through the choices made by the architect.
Long experience with many systems results in the identification of patterns of reoccurring architectural structures. These styles are used to speed the development of other systems with similar requirements.
These are a set of fundamental actions that are used to form new architectural structures. The architect can reason about the effects of an action before it is taken.
Case studies are selected to complement the projects chosen in a semester
The Architecture Trade-Off Analysis Method (ATAM) and Guided Inspection are techniques that evaluate the architecture in the context of the system requirements.
The development process changes when an architecture is available to guide development.
Reuse of architecture knowledge takes many forms such as product line development and the recognition of new architectural styles.
UML has been used with additions and modifications. Other specialized modeling languages have also been developed.
Projects
One or two projects will be assigned. Each will take half of the semester (or perhaps one for the entire semester). In the project the students will develop an architecture from a set of requirements, justify the architecture using the quality attributes of the architecture to show that the architecture is "fit for purpose", and will participate in a systematic evaluation of their architecture and revise it based on the results of the evaluation. One or more architectural description languages will be used to document the architecture.
Research
Summaries
Students will read, summarize, and critique research papers over the course of the semester.