Software Architecture

External: Coursera Courses ↗ · Coursera

Open Course on External: Coursera

Free to audit · Opens on External: Coursera

Software Architecture

Coursera · Intermediate ·🏗️ Systems Design & Architecture ·3mo ago

Key Takeaways

Studies software architecture representation using UML and other visual tools

Original Description

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.
Watch on External: Coursera ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Related Reads

📰
The system doesn't fail the day you break it. It fails the day you finally touch it.
Learn why systems often fail when you finally interact with them, not when you break them, and how to apply this insight to improve system reliability
Dev.to AI
📰
React Server Components vs Client Components in Next.js — A Practical Decision Framework
Learn to decide between React Server Components and Client Components in Next.js with a practical framework
Dev.to · Aon infotech
📰
Server Components vs Client Components: The Mental Model Shift Every Vite Developer Needs
Understand the difference between server and client components in Vite development to improve your workflow and application performance
Dev.to · Digital dev
📰
Go context.Context Done Right: Cancellation, Timeouts, and Values
Learn to use Go's context.Context correctly for cancellation, timeouts, and values to improve your concurrent programming skills
Medium · Programming
Up next
Book Summary and Review - The Kubernetes Bible (2nd ed.) by Gineesh & Russ #Kubernetes #K8s #MLOps
Abonia Sojasingarayar
Watch →