TrueschoTruescho
All Courses
Software Architecture
Coursera
Course
Unknown

Software Architecture

University of Alberta

Explore software architectural styles, represent them visually with UML, and evaluate system structure and qualities effectively.

Unknown4 weeksGerman, HI, PS, RU

About this Course

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

What You'll Learn

  • Compare architectural design styles
  • Describe layered and n-tier architecture properties
  • Create varied UML diagrams
  • Explain system behavior with activity diagrams
  • Document multi-application layered systems

Prerequisites

  • Basic familiarity with topic and terminology
  • Willingness to practice through applied exercises or case work

Instructors

K

Kenny Wong

Associate Professor

Topics

Software Development
Computer Science
Mobile and Web Development
Software Documentation
Software Design Patterns
Middleware
Scalability
Software Design
Application Deployment
Databases

Course Info

PlatformCoursera
LevelUnknown
PacingUnknown
PriceFree

Skills

تطوير البرمجيات
علوم الحاسوب
تطوير الويب والهاتف المحمول
توثيق البرمجيات
أنماط تصميم البرمجيات
البرمجيات الوسيطة
القابلية للتوسع
تصميم البرمجيات
Application Deployment
Databases

Start Learning Now