Software Architecture

Product type

Software Architecture

Coursera (CC)
Logo Coursera (CC)
Provider rating: starstarstarstar_halfstar_border 7.2 Coursera (CC) has an average rating of 7.2 (out of 6 reviews)

Need more information? Get more details on the site of the provider.

Description

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: Welcome to our course on Software Architecture, provided in partnership by the University of Alberta, and Coursera! This is the third course in a specialization called Software Design & Architecture. If you were with us for the first two courses, you’ve put in a lot of hard work to get here. We are so happy to have you back!. If you are just joining us, welcome! We have two courses before this one, called “Object-Oriented Design” and “Design Patterns”. These are foundational to Software Architecture, but you can take this course as a stand-alone one if it suits you and your goals! In this course we will talk about software architecture. Architecture is the high-level …

Read the complete description

Frequently asked questions

There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.

When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan

  • Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
  • Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.

About this course: Welcome to our course on Software Architecture, provided in partnership by the University of Alberta, and Coursera! This is the third course in a specialization called Software Design & Architecture. If you were with us for the first two courses, you’ve put in a lot of hard work to get here. We are so happy to have you back!. If you are just joining us, welcome! We have two courses before this one, called “Object-Oriented Design” and “Design Patterns”. These are foundational to Software Architecture, but you can take this course as a stand-alone one if it suits you and your goals! In this course we will talk about software architecture. Architecture is the high-level form of the software design, so we are no longer talking about objects and classes, but components. Components are software units - subroutines, classes, functions, etc. - that are grouped on the basis of separation of concerns. The way that these components are arranged, and the interactions between them, are called the architecture. We will discuss the ways these architectures are represented, both in UML and other visual tools, and introduce the most common architectures, their qualities, and tradeoffs. In the last module, we will talk about how architectures are evaluated; what makes a good architecture? how can it be made better? We'll also talk about how the architecture touches on the process of software development. All the while you'll be practicing these architectures yourself and gaining hands-on experience. We have estimated that you will need about 4 hours per week to get the most out of this course, so it is hard work, but worth the effort. Good luck! Upon completion of this course, a learner 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.

Created by:  University of Alberta
  • Taught by:  Kenny Wong, Associate Professor

    Computing Science, Faculty of Science
Basic Info Course 3 of 4 in the Software Design and Architecture Specialization Level Intermediate Commitment Four weeks of study, 5 – 8 hours/week Language English How To Pass Pass all graded assignments to complete the course. Coursework

Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.

Help from your peers

Connect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.

Certificates

Earn official recognition for your work, and share your success with friends, colleagues, and employers.

University of Alberta UAlberta is considered among the world’s leading public research- and teaching-intensive universities. As one of Canada’s top universities, we’re known for excellence across the humanities, sciences, creative arts, business, engineering and health sciences.

Syllabus


WEEK 1


UML Architecture Diagrams
In this module you will learn about software architecture. You will learn why architecture is important, what perspectives need to be considered, and how to communicate architecture using UML.


6 videos, 6 readings expand


  1. Reading: Meet Your Presenter – Sam Jeffery
  2. Reading: Meet Your Facilitator – Christopher Djuric
  3. Reading: Software Architecture – Course Notes
  4. Reading: Software Architecture Glossary
  5. Video: 3.1.1 – Architecture Overview and Process
  6. Discussion Prompt: Introduce Yourself
  7. Video: 3.1.2 – Kruchten's 4 + 1 Model View
  8. Video: 3.1.3 – UML Component Diagram
  9. Video: 3.1.4 – UML Package Diagram
  10. Video: 3.1.5 – UML Deployment Diagram
  11. Video: 3.1.6 – UML Activity Diagram
  12. Reading: Capstone Assignment 3.1 - Draw a Component Diagram (Solution)
  13. Reading: Capstone Assignment 3.2 - Draw a Deployment Diagram (Solution)

Graded: Capstone Assignment 3.1 – Draw a Component Diagram
Graded: Capstone Assignment 3.2 – Draw a Deployment Diagram
Graded: Module 1 Review

WEEK 2


Architectural Styles



Software comes in all shapes and sizes. The architecture you choose will affect every part of your software, from its security and efficiency, to its modularity and maintainability. In this module we will examine the different architectures that you have to choose from to shape your software.


9 videos, 2 readings expand


  1. Video: 3.2.1 – Abstract Data Types and Object-Oriented
  2. Video: 3.2.2 – Main Program and Subroutine
  3. Video: 3.2.3 – Databases
  4. Video: 3.2.4 – Layered Systems
  5. Video: 3.2.5 – Client Server n-Tier
  6. Video: 3.2.6 – Interpreters
  7. Reading: State Transition Systems
  8. Video: 3.2.7 – Pipes and Filters
  9. Video: 3.2.8 – Event Based
  10. Reading: Publish–Subscribe
  11. Video: 3.2.9 – Process Control
  12. Discussion Prompt: Architectural Styles

Graded: Module 2 Review

WEEK 3


Architecture in Practice



The architecture is the most fundamental aspect of software. You will learn how development teams describe architectures, plan successful architectures based on quality attributes, and evaluate the resulting architecture. You will also learn how architecture relates to organization structure and even product planning!


4 videos expand


  1. Video: 3.3.1 – Quality Attributes
  2. Video: 3.3.2 – Analyzing and Evaluating an Architecture
  3. Video: 3.3.3 – Relationship to Organizational Structure
  4. Video: 3.3.4 – Product Lines and Product Families

Graded: Module 3 Review

WEEK 4


Capstone Challenge
Now, in the final module of the course, you will evaluate the proposed architecture to extend the functionality of the example Android code base.


3 readings expand


  1. Reading: Capstone Assignment 3.3 - Analyze and Evaluate an Architecture (Solution)
  2. Discussion Prompt: Last Word – Software Architecture
  3. Reading: Acknowledgements
  4. Reading: Credits

Graded: Capstone Assignment 3.3 – Analyze and Evaluate an Architecture
Graded: Final Exam
There are no reviews yet.

Share your review

Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate £1.- to Stichting Edukans.

There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.