CPSC 875: Introduction to Software Architecture
Instructors: Dr. John D. McGregor
Associate Professor, School of Computing
312 McAdams Hall; phone 864-656-5859; email: johnmc@cs.clemson.edu
Office Hours: TTh: 9:30 – 10:45; other hours by appointment
Catalog Description:
Textbooks:
Instructor notes and available web resources such as the SEI’s Architecture Practice web page
|
2 exams |
30 points each |
|
Architecture projects |
35 points |
|
Class participation |
5 points |
Academic Integrity:
The university’s academic integrity statement says: As members of the Clemson University community, we have inherited Thomas Green Clemson's vision of this institution as a "high seminary of learning." Fundamental to this vision is a mutual commitment to truthfulness, honor, and responsibility, without which we cannot earn the trust and respect of others. Furthermore, we recognize that academic dishonesty detracts from the value of a Clemson degree. Therefore, we shall not tolerate lying, cheating, or stealing in any form. See: http://www.cs.clemson.edu/html/academics/academic_integrity_2002.html for more.
January 14 Last day to register or add a class
January 22 Last day to drop
a class or withdraw from the University
without a W grade
March 14 Last day to drop a class or withdraw from the
University
without final grades
March 17-21 Spring break
May
2 Exam 7 – 9:30pm
Topical course outline (not a
chronological ordering):
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.