> ## Content Index
> Fetch the complete content index at: https://fsc.stevens.edu/llms.txt
> Use this file to discover other available public pages before exploring further.

# SSW565: Software Architecture and Component-Based Design
- URL: https://fsc.stevens.edu/ssw565-software-architecture-and-component-based-design/
- Published: 2020-05-12T19:28:55.000Z
- Updated: 2026-05-16T22:40:49.000Z
- Author: Tulsi Patel
- Tags: Courses, #Import 2024-05-30 10:26, #Import 2025-11-08 22:14

Course Catalog Description

# Introduction

This course provides the student with a working knowledge of the terms, principles and methods of Software Architecture and Component-Based Design, introducing students to a wide variety of processes and alternatives that can be deployed in creating and/or evaluating software architectures and designs. Numerous case studies of working software architectures are studies and the student will acquire an appreciation of the role that software architecture and design activities play in the acquisition and/or development of complex software-intensive systems.

Special consideration is given to the role of architecture and design in software assurance for dependability, including performance, reliability and security, Recent advances in design techniques, software patterns, component based design and design refactoring are introduced.

**Prerequisites:** 

SSW 540 or equivalent experience

  
| Campus     | Fall | Spring | Summer |
| ---------- | ---- | ------ | ------ |
| On Campus  |      |        |        |
| Web Campus |      |        |        |

  
Instructors

| Professor                                                                                          | Email               | Office       |
| -------------------------------------------------------------------------------------------------- | ------------------- | ------------ |
| [Robbie Cohen](https://web.stevens.edu/facultyprofile/?id=1347&ref=fsc.stevens.edu "Robbie Cohen") | rcohen2@stevens.edu | Altorfer 404 |

  
More Information

# Course Outcomes

After taking this course, the student will be able to:

1. Construct an architecture using the "4+1" model, emphasizing architectural styles and nonfunctional requirements
2. Base software design on components, patterns and classes using a domain driven approach
3. Re-factor code to improve understanding or modification
4. Apply a continuous learning approach to software architecture and design

  
Course Resources

# Textbook

Required 
- **Beautiful Architecture**, edited by Diomidis Spinellis and Georgios Gousios. O’Reilly Media, Inc., 2009\. ISBN: 978-0-596-51798-4.
- **Domain-Driven Design: Tackling complexity in the heart of software**, authored by Eric Evans. Addison-Wesley, 2004, ISBN 0-321-12521-5.
Recommended, but not required 

**Just Enough Software Architecture: A Risk-Driven Approach**, authored by George Fairbanks. Published by Marshall & Brainerd, 2010\. ISBN 978-0-9846181-0-1.

  
Grading

# Grading Policies

**Required Readings:** 

Most weeks, assigned readings include 1 or more chapters from a text plus 1 or more journal articles found as resources on the course Moodle site. Students are expected to have completed the assigned reading **BEFORE** attending a live or recorded lecture event each week.

**Assignments** 
- **Assigned readings** are listed on thecourse schedule for each week. For web campus students, each week begins on Monday with the posting of lecture slides and/or notes for the week.
- **Quizzes or assigned written work** should be submitted by noon, Eastern time, on Thursday of the week when due.
- **Logbooks** relating the principles learned in this course to each student’s software experiences should be kept and updated at least weekly. There should be at least 13 dated entries in the log, one for each week of class. Logs will be collected before the 14th week of class, and individual assignments, entered in the logs may be collected earlier.
- There will be a single **examination** covering all of the course material at the end of the course.
**Grading:** 

Grades will be based on the following distribution of credits:

1. Class and Discussion Forum participation: 20%
2. Written Assignments and Quizzes, if any: 35%
3. Logbook: 15%
4. Open book Examination: 30%
**Total: 100%**   

Final grades will be awarded in accordance with the following scale:

| Grade | Percentage |
| ----- | ---------- |
| A     | 93 - 100   |
| A-    | 90 - 92    |
| B+    | 87 - 89    |
| B     | 83 - 86    |
| B-    | 80 - 82    |
| C     | 70 – 79    |
| F     | < 70       |

  
Lecture Outline

|         | Topic                                          |             | Reading            |                                        |
| ------- | ---------------------------------------------- | ----------- | ------------------ | -------------------------------------- |
|         |                                                | BA1         | DDD2               | Article3                               |
| Week 1  | What is Software Architecture                  | 1           |                    | Perry & Wolfa                          |
| Week 2  | Styles & Frameworks                            | 2           |                    | Garlan & Shawb                         |
| Week 3  | Building Blocks                                | 6           |                    | Kruchtenc Mitradb                      |
| Week 4  | Architecturally Significant Requirements       | 4           | 1 - 3, + p 507-510 |                                        |
| Week 5  | Component Based Design                         |             | 4 - 6              |                                        |
| Week 6  | NFRs                                           | 3, 7, 8     |                    | Shae                                   |
| Week 7  | Designing Real Systems                         | 5, 12       |                    | Chappellf                              |
| Week 8  | Architecture Evaluation                        | 7 - 9       |                    | Maranzanog                             |
| Week 9  | Supple Design & Patterns                       | 11          | 10 - 13            |                                        |
| Week 10 | Strategic Architecture and Design              | p 372 - 379 | 14                 | Avgeriou etal.h                        |
| Week 11 | Big Architecture/Big Design                    |             | 15 - 17            |                                        |
| Week 12 | Additional Methods of Architecting & Designing |             |                    | Fairbanksi McCabe & Polenj Hofmeisterk |
| Week 13 | Architecture & Design Research                 |             |                    | Taylor and Hoekl                       |
| Week 14 | Final Exam                                     | 2           |                    | Garlan & Shawb                         |

  
Notes for Course Schedule: Chapters or pages (p) in the *Beautiful Architecture* text. Chapters in the *Domain-Driven Design* text. 
- Journal Articles are listed here and found on Moodle in the assigned week.
 a. “Foundations for the Study of Software Architecture” by Dewayne Perry and Alexander Wolf. **ACM SIGSOFT Software Engineering Notes** 17:40-52, 1992\.   
b. “An Introduction to Software Architecture”, by David Garlan and Mary Shaw in **Advances in Software Engineering and Knowledge Engineering**, 1993\.   
c. “Architectural Blueprints—“The ‘4 + 1’ View Model of Software Architecture” by Philippe Kruchten. **IEEE Software** 12, November 1995\.   
d. “Documenting software architecture, Part 2: Develop the system context”, by Tilak Mitra. **IBM developerWorks**, 2007\.   
e. “Integrate Mixed-Criticality Components with Formalized Architecture Patterns” by Lui Sha, 2008\.   
f. “Introducing SCA” by David Chappell. David Chappell & Associates Internet Document, 2007\.   
g. “Architecture Reviews: Practice and Experience” by Joseph F. Maranzano et al., **IEEE Software**, 2005\.   
h. “Toward Using Architectural Knowledge” by Paris Avgeriou, Patricia Lago and Philippe Kruchten. **ACM SIGSOFT Software Engineering Notes**, March 2009\.   
i. “The Risk-Driven Model: Just Enough Architecture” by George Fairbanks, **Crosstalk** Nov-Dec 2010, pp. 8-11\.   
j. “Effective Practices for Object-Oriented System Software Architecting”, by Rich McCabe and Mike Polen, **Crosstalk** June 2005\.   
k. “A General Model of Software Architecture Design Derived from Five Industrial Approaches” by Christine Hofmeister, Philippe Kruchten, Robert L. Nord, Henk Obbink, Alexander Ran and Pierre America. **The Journal of Systems and Software** 80: 106-127, 2007\.   
l. “Software Design and Architecture: The once and future focus of software engineering” by Richard N. Taylor and André van der Hoek, **IEEE Future of Software Engineering** (FOSE’07), pp. 226-243, 2007\. 
- See Moodle for each detailed assignment.