SE 339: Software Architecture
Learning Outcomes
- Understand what a software architecture is and explain why it is important
- Ability to elicit software architecture drivers
- Ability to use architecture styles, patterns, and tactics
- Ability to use the attribute-driven method to design software architecture,
- Ability to evaluate software architecture
Lecture Sessions
Lecture (Online)
Tuesdays from 5:00 pm to 5:25 pm
Instructor
Dr. Lotfi ben Othmane
Durham Hall #315
Department of Electrical and Computer Engineering
Iowa State University
Phone: 515-294-2664
Email: othmanel@iastate.edu
Office Hours
4:00 - 5:00 Tuesdays and Thursdays
6:00 - 7:00 Wednesdays
Through Webex
Teaching Assistants
Ameerah-Muhsinah Jamil | amjamil@iastate.edu
Austin Boling | adboling@iastate.edu
Danny Yip Yi Kang | dannyyip@iastate.edu
Tentative Schedule
Week | Topic | Assignment |
---|---|---|
1 |
Syllabus Introduction of software architecture Understanding of software architecture |
Assignment 1 Article Assignment 1 |
2 |
Functional Overview Architecture of single-process system |
Assignment 2 |
3 |
Client- Server Architecture Concurrency |
|
4 | Architecture recovery | |
5 |
Microservices Microservices - Spring Boot |
|
6 | Architecture Patterns and Tactics | Practice Assignment 1 |
7 |
Architecture requirements for Cyberphysical systems Architecture drivers |
|
8 |
Eliciting architecture drivers Common quality attributes in software projects |
|
9 |
Architecture Styles and patterns for Cyberphysical systems |
|
10 | Software Security Architecture | Assignment3(Optional) |
11 | Architecture Design v4.0 | |
12 | Architecture Design v4.0 | Practice Assignment 2 |
13 | Architecture Evaluation | |
14 | Documenting Software Architecture |
Grading
- 20% for individual assignments
- 10% for participation
- 30% for the practice assignments
- 25% for Quizzes
- 15% for final exam
We will use the standard grade levels. Do not expect the grades to be curved. There will be limited bonus points – get them.
Evaluation
All assignments must be submitted through Canvas. Submission of late assignments are not considered if submitted after 2 days and will have 10% penalty otherwise.
Communication
The best way to communicate with me is by email—use [SE339] as subject prefix. I usually reply in 2 business days. Remind me if you do not get an answer. Do not expect me to respond to a communication when the exchange exceeds 4 or 5 emails. In such cases, the issue shall be addressed in a face-to-face meeting.