Chevron Left
Back to Software Architecture

Learner Reviews & Feedback for Software Architecture by University of Alberta

4.5
stars
899 ratings

About the 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

CS

Dec 23, 2019

This is a excellent course for Software architects, addressing all key areas needed in the field. Good content, definitely recommend this course for anyone aspiring to be a Software architect.

MA

Jul 21, 2021

This course integrates the previous courses (Object oriented design and Design patterns) and applies the knowledge taught in those courses to real life problems. Highly recommended.

Filter by:

126 - 150 of 203 Reviews for Software Architecture

By Diego M G

•

Aug 29, 2019

Nice!

By Flávio S

•

May 1, 2019

Great

By Mauricio M J M

•

May 14, 2021

El curso es muy completo. Algún detalle en algunas traducciones, pero todo muy bien.

By Rim G

•

Sep 13, 2020

would add more project assignments, but it was great content

By Austin p

•

May 14, 2020

There could be more session on architecturing and analysis

By Adrian A

•

Jul 22, 2019

Good course I would definitely recommend it to my peers.

By Lorenzo C

•

Nov 6, 2019

Useful introduction to software architecture.

By Evgeny P

•

Dec 26, 2017

Good in general as an introductory course.

By Linwei Z

•

Oct 18, 2018

a little bit abstract

By Eric A

•

Mar 7, 2022

It's fine. I was expecting more about how to come up with the internal design of an applcation, but the grand-scheme examples are good to consider.

I still have some gripes, though:

The instructions for assignment 3.1 are very misleading. It says you need to make a component diagram of an application, then says to install Android Studio and look over an app's code, which implies you have to make a diagram of the Android app. I had been working on it for an hour before I noticed the real instructions at the very bottom of the page, which do not actually require you to run the app or really look at the source code at all; the whole app is just one single component in the diagram. I could understand making it optional or recommended, but please just make the instructions say what to do. The 3.1.5 video doesn't show examples of <<uses>> arrows, and doesn't show a label for a link between nodes, but the grading rubric for assignment 3.2 requires both of those. I don't think the definition of a sensitivity point makes sense. The solution to the last assignment doesn't say which category each scenario should have been.

The website reloaded itself while I was grading an assignment and lost all of my radio button choices. I was more than halfway done with it. It also reloaded while I was writing this review.

By Marcello B

•

Apr 24, 2023

The course is good if you have zero knowledge of Software Architecture and want to learn the basic concepts and language. The assignments, however, are a complete joke. No example is given on how to complete an assignment, so the first attempt is just garbage. Then, you learn what was asked of you by reviewing other people's assignment and reading the grade scale, and submit a revised attempt. There's lots of plagiarism too.

By Elix F

•

Apr 22, 2021

It had good things but honestly it's lacking a lot, it barely explains the material and expects you to take on tasks with barely any examples so you need to go and research in other places.

By JOSKO R

•

Mar 27, 2020

.

By Gregory P

•

Jun 3, 2021

Course content was OK but not explained thoroughly, especially the ATAM process. Assignment evaluations expect details that are not actually covered in the course. The capstone assignment grading is particularly superficial, asking only if an architecture evaluation was done, not whether it was any good. There is zero expert feedback. Since it is impossible to see the solution until after grading peers, I am forced to guess at whether responses "make sense". Most of the capstone assignments I reviewed were plagiarized, but there is no incentive to report it because you can't complete the course until you have 3 completed reviews, and reporting plagiarism does not count as a review.

By Dániel S

•

Dec 20, 2021

This course is easy. The part that is actually about the different software architectures is interesting, but not too deep. The course does not prepare you for final capstone assignment.

By Ali A

•

Apr 19, 2020

The course wasn't providing practical knowledge or the know-how. It seemed to be just bullet-points and someone is talking about them in general.

By Daniel C A

•

Dec 17, 2021

Basic, should have had more practice and real world examples

By Norbert M

•

Feb 12, 2020

T

By Евгений Ш

•

Mar 30, 2024

The course is as bad as the previous one: too abstract material with explanation on analogies instead of real software. Unclear assignments, where a 3-minute video explains to you how to draw a complex UML diagram. No control of your knowledge or understanding. Instead of some objective control, the assignments are reviewed by different learners, and you do not know: either your assignment is correct or a reviewer does not understand the material in the same way as you or the reviewer just marked your assignment as correct without reviewing. It is disastrous for such complex topic as "Software Architecture". A good example of level of nightmare is the recommendations on reviewing other learners' assignments in the final assignment of this course: the criteria is "Does it make sense for you? (Yes - 1 point, No - 0 points)" So, just avoid this course.

By Denys K

•

Dec 24, 2022

The content is great, but the overall structure and assignments are done poorly (2 assignments with pretty bad descriptions which are graded by other students it's a joke). Also, the speaker in the video just read the lines (very fast) which makes me feel that just reading a notes.pdf on my own would be enough without videos at all. I would never suggest anyone from my friends to take that course.

By Muneer S

•

Dec 7, 2020

Expectation was not fulfilled. Just overview on so many theories and unrelated assignment at the end of the course. That too rated by another peer who can rate it like a robot using the pre-defined answer patterns. It would be good if the assignment are corrected by the instructor or at-least there is a way to directly get feedback from instructor.

By sana y

•

Dec 1, 2023

very bad

By Ayesha F

•

Mar 5, 2023

At first I thought that I have the relevant experience already and most topics seemed familiar to me but, as the weeks progressed I learnt a lot of new techniques that I hadn't heard of/used before in my career, which I will add to my toolbox now. Thoroughly enjoyed the layout of this well-organized course and will be referring back to it in the future. I highly recommend taking the course whether you're a beginner or an expert in the field. The course learnings can be applied to any software project including cross-functional projects that span other engineering domains as well.

By Ariana P

•

Apr 28, 2023

Foram dias de muito aprendizado e prática, que me fizeram pensar fora da caixa encontrar soluções, conforme as especificações que me eram solicitadas nas atividades. Cada nova etapa um novo desafio, noites que me deixavam sem sono. No fim, estou pronta para meu próximo desafio.

By Nilanshu V R

•

Apr 8, 2022

This course provides important info in a brief manner about major architectures used in the current software industry. The course is easy to follow and the assignments also provide good exercise. Overall I recommend this course to beginners of Software Architecture.