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 ·4mo 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.
AI explanation not available for this lesson yet
This lesson is still being prepared for the AI tutor. In the meantime, explore lessons that are ready.
Browse explainer-ready lessons →

Related Reads

📰
Understanding RCDA: A Strategic Approach to Managing Risk and Cost in Architecture
Learn how to apply RCDA to manage risk and cost in architecture and improve decision-making
Dev.to · Christian Twilfer
📰
Vẽ sơ đồ kiến trúc bằng Claude Code và Draw.io MCP server
Create architectural diagrams using Claude Code and Draw.io MCP server for efficient documentation
Dev.to AI
📰
From Fixed Levels to L(n): Building an Extensible Taxonomy System
Learn how to replace a rigid taxonomy system with an extensible L(n) type system, leveraging YAML, GCS, and API adapters
Dev.to · Humza Tareen
📰
I Bombed 4 System Design Interviews Before I Realized the Problem Was Never the System.
System design interviews often focus on more than just technical knowledge, highlighting the importance of understanding the interviewer's needs and communication skills
Medium · Programming
Up next
System Design: Notifying 50 Million Users in One Shot 🔔
KodeKloud
Watch →