Loading...

Course Description

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

  • 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: Cloud and Mobile Software Architecture

Required text and materials

Students are responsible for purchasing the required materials on their own:

  • Fowler, M. (2004). UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd ed.). Addison-Wesley.
    Type: Textbook. ISBN: 9780321193681 / 9780134865126

Note: This item can be purchased directly from the following link.

  • Bass, L., Clements, P., & Kazman, R. (2022). Software Architecture in Practice (4th ed.). Addison-Wesley Professional.
    Type: E-Textbook. ISBN: 9780136886020

Note: This item can be purchased directly from Campus eBookstore via Wolfie's Campus Store.

Additional requirements

The following software is required for this course:

  1. Van der Wulp, M. (2011). ArgoUML (Version 0.34). 

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%
Mandatory Final Exam 40%
Total 100%

Recommended requisite(s)

  • COMP 1230 with a score of C or better;
    or
  • COMP 1231 with a score of C or better

Exclusions

COMP 2920

Loading...

Enrol now - select a section to enrol in

Section Title
Software Architecture and Design
Section Schedule
Any Time (30 weeks duration)
Course Fee(s)
Canadian in BC/YT non-credit $837.62 Click here to get more information
Canadian outside BC/YT non-credit $946.70 Click here to get more information
International Student non-credit $1,661.15 Click here to get more information
Available for Credit
3 credits

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.

Required fields are indicated by .