Skip to main contentSkip Navigation or Skip to Content

COMP 2921: Software Architecture and Design

Students learn how to establish, define and manage the requirements for a software system. Students gain knowledge of fundamental concepts and methods of software design. Students learn how to use design notations of unified modeling language to develop design of a software product. Students are introduced to the design guidelines, quality, and evaluation criteria of software architecture. Students study how to design, generate, and modify software patterns and their use in software development.

Learning outcomes

After successfully completing this course, students will be able to:

  • Understand the concept of software design.
  • Explain the various models of software development.
  • Explain the need and role of software architecture.
  • Identify both functional and non-functional requirements of a software system.
  • Explain and develop object-oriented design.
  • Design a simple software architecture using UML modelling.
  • Construct various models of the design of a simple software system.
  • Articulate and evaluate overall architecture of a simple client/server system.
  • Understand the intellectual property rights of a software design.
  • Able to draw 4+1 model of the software.

Course topics

  • Module 1: Introduction to Software Architecture
  • Module 2: Foundation of Software Architecture
  • Module 3: Software Requirements
  • Module 4: Introduction to Software Development
  • Module 5: Programming Paradigms and Contexts of Software Architecture
  • Module 6: UML Modelling โ€“ Structural Diagrams
  • Module 7: UML Modelling โ€“ Behavioural Diagrams
  • Module 8: Software Architecture Practices
  • Module 9: Intellectual Property
  • Module 10: Software Architecture in the Cloud

Required text and materials

The following materials are required for this course:

  1. Bass, L., Clements, P., & Kazman, R. (2012). Software architecture in practice (3rd. ed.). Addison-Wesley Professional.
    Type: Textbook. ISBN: 978-0-321-81573-6
  1. Fowler, M. (2004). UML distilled: A brief guide to the standard object modeling language (3rd ed.). Addison-Wesley.
    Type: Textbook. ISBN: 978-0-321-19368-1

Additional requirements

The following software is required for this course:

  1. Van der Wulp, M. (2011). ArgoUML (Version 0.34) [Computer software].

Assessments

Please be aware that should your course have a final exam, you are responsible for the fee to the online proctoring service, ProctorU, or to the in-person approved Testing Centre. Please contact exams@tru.ca with any questions about this.

To successfully complete this course, students must achieve a passing grade of 50% or higher on the overall course, and 50% or higher on the final mandatory exam.

Assignment 1 10%
Assignment 2 10%
Quiz 1 5%
Assignment 3 10%
Assignment 4 10%
Quiz 2 5%
Assignment 5 10%
Final Exam (mandatory) 40%
Total 100%

Open Learning Faculty Member Information

An Open Learning Faculty Member is available to assist students. Students will receive the necessary contact information at the start of the course.

Search To Top