FREE
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.