Software Architecture

  • 4.5
Approx. 10 hours to complete

Course Summary

This course focuses on the principles and concepts of software architecture, including design patterns, architectural styles, and software quality attributes. Students will learn how to create and evaluate software architectures that meet business and technical requirements.

Key Learning Points

  • Learn about software architecture principles and concepts
  • Explore design patterns and architectural styles
  • Understand software quality attributes and how to evaluate architectures
  • Learn how to create and evaluate software architectures that meet business and technical requirements

Job Positions & Salaries of people who have taken this course might have

  • Software Architect
    • USA: $121,000
    • India: ₹2,198,000
    • Spain: €50,000
  • Solution Architect
    • USA: $119,000
    • India: ₹2,285,000
    • Spain: €49,000
  • Enterprise Architect
    • USA: $131,000
    • India: ₹3,000,000
    • Spain: €60,000

Related Topics for further study


Learning Outcomes

  • Understand software architecture principles and concepts
  • Analyze and evaluate software architectures
  • Create software architectures that meet business and technical requirements

Prerequisites or good to have knowledge before taking this course

  • Basic programming knowledge
  • Familiarity with programming concepts and terminology

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced

Similar Courses

  • Software Design and Architecture Specialization
  • Advanced Software Construction in Java
  • Software Engineering Essentials

Related Education Paths


Related Books

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.

Outline

  • UML Architecture Diagrams
  • 3.1.1 – Architecture Overview and Process
  • 3.1.2 – Kruchten's 4 + 1 Model View
  • 3.1.3 – UML Component Diagram
  • 3.1.4 – UML Package Diagram
  • 3.1.5 – UML Deployment Diagram
  • 3.1.6 – UML Activity Diagram
  • Meet Your Presenter – Sam Jeffery
  • Meet Your Facilitators
  • Software Architecture – Course Notes
  • Software Architecture Glossary
  • Discussion: Introduce Yourself
  • Peer Review Request Forum
  • Capstone Assignment 3.1 - Draw a Component Diagram (Solution)
  • Capstone Assignment 3.2 - Draw a Deployment Diagram (Solution)
  • Module 1 Review
  • Architectural Styles
  • 3.2.1 – Abstract Data Types and Object-Oriented
  • 3.2.2 – Main Program and Subroutine
  • 3.2.3 – Databases
  • 3.2.4 – Layered Systems
  • 3.2.5 – Client Server n-Tier
  • 3.2.6 – Interpreters
  • 3.2.7 – Pipes and Filters
  • 3.2.8 – Event Based
  • 3.2.9 – Process Control
  • State Transition Systems
  • Publish–Subscribe
  • Discussions: Architectural Styles
  • Module 2 Review
  • Architecture in Practice
  • 3.3.1 – Quality Attributes
  • 3.3.2 – Analyzing and Evaluating an Architecture
  • 3.3.3 – Relationship to Organizational Structure
  • 3.3.4 – Product Lines and Product Families
  • Module 3 Review
  • Capstone Challenge
  • Capstone Assignment 3.3 - Analyze and Evaluate an Architecture (Solution)
  • Discussion: Last Word – Software Architecture
  • Acknowledgements
  • Credits
  • Final Exam

Summary of User Reviews

Discover the principles and practices of Software Architecture in this comprehensive course. Users have given high praise for this course, citing the real-world examples and practical applications as a key aspect that many found valuable.

Pros from User Reviews

  • Real-world examples and practical applications
  • In-depth coverage of Software Architecture principles and practices
  • Engaging and knowledgeable instructors
  • Flexible learning options
  • Great community support

Cons from User Reviews

  • Some users found the course content to be too basic
  • Limited focus on specific programming languages
  • Some technical issues with the online platform
  • Not enough hands-on exercises
  • Pacing may be too slow for some learners
English
Available now
Approx. 10 hours to complete
Kenny Wong
University of Alberta
Coursera

Instructor

Kenny Wong

  • 4.5 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses