Software Architecture and Design Aberdeen

コースカテゴリ阿伯丁数据科学与人工智能学院

The general goal of the this course is to give students a broad yet sound view of what is software architecture, how it is created, documented, and used in practice. This course draws fundamental concepts from a vast body of theoretical knowledge available about software architecture, and complements that with key information and best-practices to
be successful working with software architecture in industrial projects at any scale. This is a lecture-based course, and students will work on several exercises with practical focus.

Specific objectives of this class include:
● Exercise the creation and evaluation of software designs from three different
perspectives: implementation units; runtime components; deployment.
● Recognize the importance of quality attributes and learn tactics and patterns that help
to realize quality attribute requirements of performance, availability, usability,
modifiability, and others.
● Learn how to document an architecture using multiple views, using informal notations
and UML.
In support of these objectives students will be exposed to several example designs, with an
opportunity to discuss the tradeoffs of key design decisions. Students will be expected to
demonstrate understanding of theoretical concepts as well as the ability to make sound design
decisions and communicate architectural design they create to others.