subject

Udacity: Software Architecture & Design

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.

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

Syllabus

The [Course Wiki](https://www.udacity.com/wiki/saad) serves as the syllabus for Software Architecture and Design. But, for a high-level view of the course, we have listed the lessons:

### Part 1: Introduction

- Lesson 1: Introduction
- Lesson 2: Text Browser Exercise (Analysis)
- Lesson 3: Design Concepts

### Part 2: UML and Analysis

- Lesson 1: Review of UML
- Lesson 2: Object Oriented Analysis Exercise
- Lesson 3: UML Class Models
- Lesson 4: Design Studies
- Lesson 5: Library Exericse (UML)
- Lesson 6: Formal Specification
- Lesson 7: OCL
- Lesson 8: Library Exercise (OCL)
- Lesson 9: Behavior Modeling
- Lesson 10: Clock Radio Exercise

### Part 3: Software Architecture

- Lesson 1: KWIC Exercise
- Lesson 2: Overview of Software Architecture
- Lesson 3: Architectural Views
- Lesson 4: Text Browser Exercise (Architecture)
- Lesson 5: Non-Functional Requirements
 and Architectural Styles
- Lesson 6: Connectors
- Lesson 7: Acme
- Lesson 8: Refinement
- Lesson 9: Middleware
- Lesson 10: Guest Interview: LayerBlox

### Part 4: Software Design

- Lesson 1: Components
- Lesson 2: Coffee Maker Exercise
- Lesson 3: Object Design
- Lesson 4: Design Patterns
- Lesson 5: Design Principles
- Lesson 6: Design Reviews
- Lesson 7: Design Review Exercise
FAQ View All
What are MOOCs?
MOOCs stand for Massive Open Online Courses. These are free online courses from universities around the world (eg. Stanford Harvard MIT) offered to anyone with an internet connection.
How do I register?
To register for a course, click on "Go to Class" button on the course page. This will take you to the providers website where you can register for the course.
How do these MOOCs or free online courses work?
MOOCs are designed for an online audience, teaching primarily through short (5-20 min.) pre recorded video lectures, that you watch on weekly schedule when convenient for you.  They also have student discussion forums, homework/assignments, and online quizzes or exams.

1 review for Udacity's Software Architecture & Design

Write a review
4 out of 4 people found the following review useful
2 years ago
Kevin Wu is taking this course right now.
This is a great course if you have some familiarity with Software Engineering Principles, but would now like to take the next step. The lectures are designed in a very engaging manner, with short and concise videos. I definitely recommend this course.
Was this review helpful to you? YES | NO

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free