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.
UAlberta is considered among the world’s leading public research- and teaching-intensive universities. As one of Canada’s top universities, we’re known for excellence across the humanities, sciences, creative arts, business, engineering and health sciences.
- 5 stars
- 4 stars
- 3 stars
- 2 stars
- 1 star
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.
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.
Content was well thought and prepared, though sometimes I would have appreciated a bit more practice/details on the topic then covered by peer-graded assignments.
Absolutly Fantastic Courses!! Well Designed. I got what I was looking for. Using Andoid as a way to pratices is also a very good idea. Thank you very all of you.
關於 Software Design and Architecture 專項課程
In the Software Design and Architecture Specialization, you will learn how to apply design principles, patterns, and architectures to create reusable and flexible software applications and systems. You will learn how to express and document the design and architecture of a software system using a visual notation.