Chevron Left
Back to Software Architecture

Learner Reviews & Feedback for Software Architecture by University of Alberta

4.5
stars
868 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:

1 - 25 of 196 Reviews for Software Architecture

By Bruno T

•

Jan 20, 2018

The course provides useful concepts on software architecture but is very superficial. Videos are short and only allow the instructor to give a brief overview on the topics, without focusing on real world scenarios or more advanced examples on how to use the described concepts and strategies.

I recommend the course for the ones who do not know much about software architecture and are trying to grasp the initial concepts so they can start working in an architecture role, but developers on a senior level or who are already starting to work as an architect will not benefit that much from this course.

By Xavier J

•

Jan 31, 2018

Not enough examples were provided to demonstrate the required coursework; the particulars of the rubric didn't match the assignment. Also, tying the assignments to an Android Studio project was overkill; the same principles could have been demonstrated with a SIMPLE java application.

By Kamil K

•

Jun 11, 2019

To little real life examples, and meaningfull feedback. Participant is on his own throughout the course.

By Marton A

•

Dec 18, 2019

What concepts did you find most relevant to your software development projects?

I am an embedded SW arch and I found this course quite interesting. I found the part with the Diagrams very helpful and the part with the different architectural styles. Also the ATAM Method is a good method for architecture but in the real world it's seldom used as is....usually there's no time for it. It should become a company process to do the ATAM for each product developed in order to benefit from it. But in such a fast moving world usually nobody does it. I would have liked more in-depth exercises with the ATAM method since I feel I have just scratched the surface. Then I could adapt the ATAM to my company's process to enforce this method. There's an idea for a new course :)

2. If you had a friend just starting this course, what advice would you give regarding the content of this course in particular, or the general nature of finding success in online learning?

I would advise him to have at least 3 years of real-world programming experience before beginning this course. Otherwise it's no use since a lot of very complicated topics were covered very very quickly and if you do not have the background then you probably won't understand very much. Or you think you will "get it" but in fact there are a ton of aspects to cover for each topic (See architectural styles). And yes, you do have to do a lot of research on your own though (myself included) I am too lazy for that. I think the course could expand on topics such as that mentioned at point 1)

OH AND BY THE WAY: letting people review your work and giving you grades while they have not finished their own assignments and seeing the correct solution is a poorly inspired decision. I could grade other people while I still didn't get a grade myself nor seen the final solution to an exercise. Please take this into account. I frequently got grades from people who clearly did not have the best intentions.

By Igor

•

Feb 25, 2020

Very surface material with tons of unrelated stuff. The first and third weeks are partially useful, but overall the course could be compressed in a two-hour lecture without losing any valuable knowledge.

By Osmar S

•

Jul 23, 2018

Very comprehensive course, but in my opinion it lacks some updates in terms of new concepts like serverless architecture and cloud in general.

By Renato M

•

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.

By Cullen S

•

Jul 8, 2018

The ATAM is too abstract and difficult to manage after reading the course notes and watch the videos

By Michael N

•

Jan 20, 2020

Boring process of evaluation of other members, the low balance between lost time and gotten knowledge

By ABHIJEET T

•

Feb 26, 2018

The course was very introductory and ATAM was explained very poorly !

By Christopher S

•

Dec 24, 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.

By David Z

•

Feb 11, 2019

Excellent course

By Genís T V

•

Jul 26, 2019

As opposed to the excellent first course of the speciality, and the more than correct second course, which include deeply reasoned and exemplified lectures and constructive assignments, the third course is totally flawed: the content is supperficial, the assignments are on topics that have not been fully developped and their review criteria demand from the lecturer requirements that have not been explained.

The fourth course seems a bit better, but I'd recommend anyone that enjoyed the first two courses to give some time to the course creators to invest on the last two courses and add some material, resources and assignments to really get a sense of pride and not a sense of having been cheated upon completion.

By Schachaf a

•

Jun 11, 2019

The explanations in the videos are very vague and not really help when doing the assignments. It was really hard to understand what to do in the assignments

By Anushree N

•

Jan 11, 2021

This was a very insightful and interesting course which gave a deep and thorough knowledge of all aspects of Software architecture. Very well designed. Thanks

By Zaman M

•

Apr 5, 2020

I have learnt many concepts such as various diagrams.

Quality attributes and how to evaluate architecture.

It is outstanding course.

By Mía A

•

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.

By Ioan L

•

Apr 9, 2019

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

By Santo L

•

Sep 20, 2020

This is my 3rd course in the Software Design and Architecture Specialization, as the previous ones it is well designed and useful.

By Jorge A G S

•

Apr 7, 2021

The contents are very well explained but they felt a little bit shallow though and the capstone project seems unsufficient to me to give solid foundations on the learned material, but it is definitely a good starting point to keep digging deeper on your own. Sadly I saw a lot of work forgery / copied on the capstone exercise.

By Javier E C R

•

May 15, 2020

The content is very good, but the assignments are not very well explained.

By VANKAYALAPATI S

•

Oct 14, 2019

it was good experience

By Ayemun H

•

Aug 28, 2020

Quite helpful for me.

By Kullapareddypraneeth 1

•

Apr 27, 2020

The course was useful

By Nguyen K T

•

Sep 11, 2019

very useful