Home Tech & Coding Software development Software Design
Software Architecture & Design

Software Architecture & Design

Software Architecture and Design teaches the principles and concepts involved in the analysis and design of large software systems.
Video Beginner Advanced
UPVOTE 1
SAVE THIS COURSE
Course Website
www.udacity.com
Share this page
Other courses you might like
Gallery
Description

Summary

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.

Expected Learning

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 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\u2028 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

Required Knowledge

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.


Pricing:
Free
Level:
Intermediate
Duration:
8 weeks
Educator:
Spencer Rugaber
Organization:
Georgia Institute of Technology
Submitted by:
Coursearena
Reviews
Would you recomment this course to a friend?
Discussion
Please sign in to join the discussion.

zKwY@9CHy8ERVNF
zKwY@9CHy8ERVNF · 4 weeks ago
where can i take this course
Other courses you might like