Course Information
Class/Laboratory Schedule:
3 lectures per week, 50 minutes each (3-0-3)
Designation: Elective Course
Course Level: Undergraduate
Prerequisites
Prerequisite(s) by Topic:
- Software Design and Architecture
Prerequisite Courses:
Catalog Description:
Study the concepts, principles, methods, and best practices in software architecture. Different architectural styles, patterns and product lines are presented and compared. Methods to analyze, evaluate and document software architectures are also discussed. Students participate in a group project on software architecture design.
Textbook(s):
Software Architecture in Practice (2nd edition), by Len Bass, Paul Clements, and Rick Kazman, Addison-Wesley, 2003.
Reference(s) and Other Material:
- Documenting Software Architectures: Views and Beyond, by Clements et al.
- Beyond Software Architecture, Luke Hohmann.
Course Outcomes:
- Learn the different software architecture styles.
- Learn how to document software architectures.
- Analyze and evaluate software architectures.
- Learn how to work in teams.
Topics Covered:
- Software Design concepts.
- Design strategies.
- Architectural design.
- Software & Systems Architecture context.
- Quality Attributes.
- Software architecture styles & patterns.
- Analyzing and evaluating Software Architecture.
- Designing Software Architecture.
- Reconstructing Software Architecture.
- Documenting Software Architecture.
- Software Product Lines.