About this Course

Software Architecture and Design teaches the principles and concepts involved in the analysis and design of large software systems. This course is split into four sections: (1) Introduction, (2) UML and Analysis, (3) Software Architecture, and (4) Software Design.

Course Cost
Free
Timeline
Approx. 2 months
Skill Level
Intermediate
Included in Course
  • Rich Learning Content

  • Interactive Quizzes

  • Taught by Industry Pros

  • Self-Paced Learning

  • Student Support Community

Join the Path to Greatness

This free course is your first step towards a new career with the Machine Learning Engineer Nanodegree Program.

Free Course

Software Architecture & Design

by Georgia Institute of Technology

Enhance your skill set and boost your hirability through innovative, independent learning.

Icon steps 54aa753742d05d598baf005f2bb1b5bb6339a7d544b84089a1eee6acd5a8543d

Course Leads

  • Spencer Rugaber
    Spencer Rugaber

    Instructor

  • Eric Feron
    Eric Feron

    Instructor

  • Jarrod Parkes
    Jarrod Parkes

    Instructor

What You Will Learn

Lesson 1

Introduction

  • Introduction
  • Browser Exercise (Analysis)
  • Design Concepts
Lesson 1

Introduction

  • Introduction
  • Browser Exercise (Analysis)
  • Design Concepts
Lesson 2

UML and Analysis

  • Review of UML
  • Object Oriented Analysis Exercise
  • UML Class Models
Lesson 2

UML and Analysis

  • Review of UML
  • Object Oriented Analysis Exercise
  • UML Class Models
Lesson 3

Software Architecture

  • KWIC Exercise
  • Overview of Software Architecture
  • Architectural Views
Lesson 3

Software Architecture

  • KWIC Exercise
  • Overview of Software Architecture
  • Architectural Views
Lesson 4

Software Design

  • Components
  • Coffee Maker Exercise
  • Object Design
Lesson 4

Software Design

  • Components
  • Coffee Maker Exercise
  • Object Design

Prerequisites and Requirements

Students are expected to have completed an undergraduate software engineering course or have industry experience in software development. Additionally all students must follow the policies listed on the Course Wiki.

For other requirements, see Udacity's Technology Requirements.

See the Technology Requirements for using Udacity.

Why Take This Course

This course will equip students with the skills and knowledge necessary to accomplish the following objectives:

  • Express the analysis and design of an application using UML
  • Specify functional semantics of an application using OCL
  • Specify and evaluate software architectures
  • Select and use appropriate architectural styles
  • Understand and apply object-oriented design techniques
  • Select and use appropriate software design patterns
  • Understand and perform a design review
What do I get?
  • Instructor videos
  • Learn by doing exercises
  • Taught by industry professionals
Icon globe

Udacity 现已提供中文版本! A Udacity tem uma página em português para você! There's a local version of Udacity for you! Sprechen Sie Deutsch?

Besuchen Sie de.udacity.com und entdecken Sie lokale Angebote, unsere Partnerunternehmen und Udacitys deutschsprachigen Blog.

前往优达学城中文网站 Ir para a página brasileira Go to Indian Site Icon flag de Zu de.udacity.com continue in English