SE 480 Software Architecture I
This course is designed to teach students the fundamentals of the software architecture lifecycle, including envisioning, creating, analyzing, documenting, and managing software architectures. Students will be exposed to case studies from real-world projects, and will also use the skills they learn in this course to develop an architecture for a non-trivial software system.
Specific topics covered in the course will include:
- The role of the architect in the software development lifecycle
- Architecture within the context of business drivers and organizational constraints
- The role of social technical congruence on architecture
- Eliciting, specifying, and managing quality concerns, and their role as architectural drivers
- A broad set of architectural tactics, patterns, constraints, frameworks, and styles
- Attribute driven design (ADD)
- Documenting architectures including structural, behavioral, and interface views.
- Architectural assessment methods using ATAM
- Cost Benefit Analysis Method: creating and assessing software architectures within the context of business drivers and constraints
- Architectures for product lines
This course builds on knowledge from SE 450. Some of the assignments will involve java programming.
The course will be built around a series of case studies, and a major term project. This project may be performed individually or in groups of 2-3 people (although if performed as a group, each individual must fully account for their contribution to the project, and must be able to answer questions on any part of the project). The workload will NOT be decreased for anyone choosing to perform the project individually.
Students will be expected to read and review real-world case study materials in preparation for each class. It is anticipated that each student will commit approximately 8-12 hours of work in addition to the lecture each week.
A complete week-by-week syllabus will be provided at http://dl2.depaul.edu
1. Mandatory readings will be posted on D2L each week.
2. (Optional) Software Architecture in Practice, Second Edition, by Len Bass, Paul Clements, and Rick Kazman. Addison-Wesley, 2003.
Grades will be based on the following assignments and projects:
1.Homework Assignments: 60%
(4 shorter assignments worth 100 points, and 1 larger assignment worth 200 points.)
Everyone will prepare a 15 minute presentation on a Software Architecture Topic. In class students will give their presentations in weeks 6-10. Online students will post their presentations by week 8 to D2L (more details coming).
3.Final Exam: 25%
Online students will need to arrange to have this exam proctored (or arrange with me to take it in class).
Grades will be assigned according to the following scale. Students scoring equal to, or higher than the following grades will receive the highest relevant score.
A (94), A- (90)
B+ (87), B(83), B-(80)
C+ (77), B(73), C-(70)
D+ (67), D(63), D-(60)
Introduction to Software Architecture; the role of the architect; the architectural life-cycle.
Quality attributes as architectural drivers; specifying attributes as scenarios; identifying critical attributes.
Architectural analysis using the ATAM (Architecture Tradeoff and Analysis Method) applied to large and non-trivial systems.
ATAM Workshop (1 hour)
Introduction to Architectural Tactics
Architectural styles, frameworks, patterns, tactics, and constraints. (Part A)
Architectural styles, frameworks, patterns, tactics, and constraints. (Part B)
Documenting the architecture. Structural, behavioral, and interface views. Architectural modeling techniques.
Creating architectures; Attribute driven design methodology (ADD). From tactics to decisions to architectural solutions.
Architectural Reconstruction and Reconciliation
CBAM: Cost Benefit Analysis Method. Making architectural decisions within the context of financial constraints and business goals. Social Technical Congruence.
Architectures for Product Lines.
Evaluations are a way for students to provide valuable feedback regarding their instructor and the course. Detailed feedback will enable the instructor to continuously tailor teaching methods and course content to meet the learning goals of the course and the academic needs of the students. They are a requirement of the course and are key to continue to provide you with the highest quality of teaching. The evaluations are anonymous; the instructor and administration do not track who entered what responses. A program is used to check if the student completed the evaluations, but the evaluation is completely separate from the student’s identity. Since 100% participation is our goal, students are sent periodic reminders over three weeks. Students do not receive reminders once they complete the evaluation. Students complete the evaluation online in CampusConnect.
Email is the primary means of communication between faculty and students enrolled in this course outside of class time. Students should be sure their email listed under "demographic information" at CampusConnect is correct.
This course will be subject to the academic integrity policy passed by faculty. More information can be found at http://academicintegrity.depaul.edu/
The university and school policy on plagiarism can be summarized as follows: Students in this course should be aware of the strong sanctions that can be imposed against someone guilty of plagiarism. If proven, a charge of plagiarism could result in an automatic F in the course and possible expulsion. The strongest of sanctions will be imposed on anyone who submits as his/her own work any assignment which has been prepared by someone else. If you have any questions or doubts about what plagiarism entails or how to properly acknowledge source materials be sure to consult the instructor.
An incomplete grade is given only for an exceptional reason such as a death in the family, a serious illness, etc. Any such reason must be documented. Any incomplete request must be made at least two weeks before the final, and approved by the Dean of the College of Computing and Digital Media. Any consequences resulting from a poor grade for the course will not be considered as valid reasons for such a request.
Students who feel they may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. All discussions will remain confidential.
To ensure that you receive the most appropriate accommodation based on your needs, contact the instructor as early as possible in the quarter (preferably within the first week of class), and make sure that you have contacted the Center for Students with Disabilities (CSD) at:
Student Center, LPC, Suite #370
Phone number: (773)325.1677