Course Description

This course covers key drivers of software development project success - clear product requirements and an overall architecture design in response to those requirements.

Gathering and specifying software requirements is one of the most difficult aspects of software product development. This course will provide techniques for extracting/ eliciting architecturally significant requirements.

Given a set of software requirements, there are many ways to develop a product architecture that meets those requirements. This course will cover architecture styles for various types of software products, how to develop and document software architecture, and how to analyze proposed software architectures with respect to the software product requirements.

To properly create an architecture it is critical to understand how software and systems are put together. Which means you need to understand computers, networks, Operating Systems and how they all fit together. This class will also provide an introduction to those topics.

Prerequisites: one term of co-op and one of the following courses: SWEN-342, or a design elective.

Corequisite: SWEN-444.

Course Topics

The course will encompass a variety of concepts and topics, among them are the following:

Objectives

By the end of this course the successful student will be able to:

Method of Instruction

The course is a combination of projects, daily lectures, and in-class or homework activities. There will be assigned readings from the textbook and other materials. There will be 2 interim exams and a comprehensive final exam.

Textbooks - Required

  • Software Architecture in Practice, 4th Edition, by Len Bass, Paul Clements and Rick Kazman, Addison-Wesley, 2021, ISBN 13: 978-0136886099

Textbooks - Recommended

  • Software Requirements, 3rd Edition, Karl Wiegers and Joy Beatty, Microsoft Press, 2013.
  • In-class materials and supplemental materials will be available on the course's myCourses site or on Wallace Library electronic books

Course Policies

Class Participation:

The participation grade evaluates attendance, in-class participation, and team participation. Attendance will periodically be taken, but you are expected to be present in all the class sessions. To receive full credit for in-class participation students must complete all quizzes and assignments on time, and contribute to the learning process in the classroom in a positive way.

Participate in class discussions. Stay off of your devices!! Demonstrate critical thinking by asking challenging questions, reflecting on and articulating your personal opinions, and critiquing the ideas of others. Initiate class discussion by offering and explaining your ideas and opinions, and providing relevant examples and anecdotes.

Project Participation:

Students are expected to actively contribute in team projects. Peer evaluations will be performed and an individual's grade can increase or decrease the overall project grade based on these evaluations and instructor observations. A grade of 'zero' may be assigned to a project deliverable for any student who is clearly not engaged with their project team.

Attendance:

Come to class. You have one unexcused absence (slept in, car won't start, etc.) with no consequences. After that you may be penalized for unexcused absences:

Also, you will miss credit for activities that took place during classes that you were absent.

Make up exams will only be granted for very good reasons (job interviews known in advance, documented sickness, family emergencies, etc.) Heavy workload in other (maybe to you more important) courses is typically not a very good reason.
Typically late submissions will result in a 10% deduction. Late submissions after 1 week will not be accepted, unless special arrangements are made. Any adjustments to this policy may be applied in individual assignments.
Excused absences include documented illness, family emergencies, job interviews, or school related activities such as participation in an athletic team event. Contact the instructor to determine if an absence can be excused.

Be professional:
Practice common courtesy toward your classmates, your instructor, and guest speakers.

ChatGPT/ AI Policy

Original Student work

All student work is required to be their own. While we encourage research and reuse, all submissions must be your own, original creation. Copying/ Plagiarism is NOT tolerated. This is standard policy. This applies to ALL work, be it code related or written/ essay style submission.

Use of GPT/ AI

Again, all work is required to be your original creation. In situations where use of online resources is prohibited, this includes prohibition of GPT/ AI. In situations where it is not prohibited (unless otherwise stated), you may use online search for reference, but the output you create must be your own. This includes situations where you may use GPT or other AI tools for searching and/ or reference, with the following provisos:

    If you use GPT (ChatGPT or other, similar tools) you must also do the following:
  1. Submit your prompts for GPT (as a separate file) as part of your work
  2. Provide a confirming statement that GPT was used as reference only, and your work is original.
    If ANY of your work is found to be copied (from online sources OR ChatGPT/ AI), you would be subject to serious penalties which could be one or more of the following:
    • Zero on the assignment
    • Zero on a full project
    • “F” on the course
    • Reported as plagiarism to the University and subsequent disciplinary action at the Institution level

In short - just don't do it. It's not worth the consequences to cheat (and it's not ethical)!

Grading Breakdown

A final course grade is a combination of your grades on exams, quizzes, class activities and team projects.

Component Percentage of Final Grade
Assignments/ Activities (see myCourses) 10%
Business Proposal and Arch Response Project 10%
Architecture and Evaluation Project (N-tier services) 30%
Exam 1 15%
Exam 2 15%
Final Exam 15%
Quizzes 5%

The numeric to letter grade conversion is as follows:

Letter Grade Numeric Grade GPA Points
A93-1004.000
A-90-923.667
B+87-893.333
B83-863.000
B-80-822.667
C+77-792.333
C73-762.000
C-70-721.667
D60-691.000
FBelow 600.000

Note: The individual project grades may be adjusted in either direction from the team grade based on the assessment of your contribution by the instructor and your colleagues on the team.

* Please be aware that the myCourses grade-book feature will be used to communicate “raw” grades to you, but is NOT used for calculating final grades.