Chevron Left
Back to Software Architecture

Software Architecture, University of Alberta

4.5
(176 ratings)

About this Course

The way that software components — subroutines, classes, functions, etc. — are arranged, and the interactions between them, is called architecture. In this course you will study the ways these architectures are represented, both in UML and other visual tools. We will introduce the most common architectures, their qualities, and tradeoffs. We will talk about how architectures are evaluated, what makes a good architecture, and an architecture can be improved. We'll also talk about how the architecture touches on the process of software development. In the Capstone Project you will document a Java-based Android application with UML diagrams and analyze evaluate the application’s architecture using the Architecture Tradeoff Analysis Method (ATAM). After completing this course, you will be able to: • Compare and contrast the components, connections, protocols, topologies, constraints, tradeoffs, and variations of different types of architectural styles used in the design of applications and systems (e.g., main program and subroutine, object-oriented, interpreters, pipes and filters, database centric, event-based). • Describe the properties of layered and n-tier architectures. • Create UML ipackage, component, and deployment diagrams to express the architectural structure of a system. • Explain the behaviour of a system using UML activity diagrams. • Document a multi-application system with a layered architecture....

Top reviews

By IL

Apr 09, 2019

Combining practical knowledge with the information from this course i succeed to see the big picture of software architecture. Nice work.

By AM

Jan 17, 2018

Great material, handy for any architect. Reference architectures, ATAM, ASR were particularily useful.

Filter by:

29 Reviews

By Flavio Santos da Silva

May 01, 2019

Great

By Light0617

Apr 12, 2019

great!

By Ioan Lazar

Apr 09, 2019

Combining practical knowledge with the information from this course i succeed to see the big picture of software architecture. Nice work.

By SHAIK SOHAIL ANWAR

Apr 08, 2019

VERY NICE AND CONCEPT ORIENTED

By Eduardo Izurieta

Mar 26, 2019

There are some important concepts, but I think this course don't have the enough number of examples, in order to facilitate the assimilation of the concepts. But It is an good course

By Alexey Prokhorov

Mar 19, 2019

I think the course is much worse than Object-Oriented Design and Design Patterns. Especially ATAM part. It's too abstract, too hard for understanding and requires too much time. The benefits is not clear. And it seems that this process is rarely used in practice. Wasted time.

By David Zeindler

Feb 11, 2019

Excellent course

By Zayar Shin Thant

Feb 01, 2019

Very Broad Expression about Architecture but I bit of difficult.

By Cássio Rocha Scofield Souza

Jan 15, 2019

Good content, except for the ATAM method which is too superficial.

By Renato Martellini

Oct 22, 2018

The course must have more example from real life, it' too theoric and the exams are very objective. Because of that It's difficult to make them - you think you can answer anything you want based on the content or in your experience, but as the grades are objective you can't, you have to answer exactly what they thought you should write.