Close Banner

软件架构及设计

在佐治亚理工学院的课程编号为 CS 6310

中级

大约 2 个月

6小时每周 (按照自己的节奏)

由以下企业参与制作:
加入成千上万的全球学员

开始免费课程

加入课程
免费
可享受
课程视频
实战练习
中级

大约 2 个月

6小时每周 (按照自己的节奏)

由以下企业参与制作:
加入成千上万的全球学员

课程概述

本课程将教授大型软件系统分析和设计中涉及的原理和概念。本课程分为四个部分:(1) 简介,(2) 统一建模语言 (UML) 和分析,(3) 软件架构和 (4) 软件设计。

为什么学习这门课程?

本课程将使学生具备实现以下目标所需的技能和知识:

  • 使用 UML 来表达应用程序的分析和设计
  • 使用对象约束语言(OCL)指定应用程序的功能语义
  • 指定和评估软件架构
  • 选择和使用适当的架构风格
  • 理解和应用面向对象的设计技术
  • 选择并使用适当的软件设计模式
  • 理解并执行设计审查

先修要求

学生最好完成了本科软件工程课程或具有软件开发的行业经验。

查看使用优达学城的技术要求

学习计划

第 1 部分:简介

  • 第 1 课:简介
  • 第 2 课:文本浏览器练习(分析)
  • 第 3 课:设计概念

第 2 部分:UML 和分析

  • 第 1 课:统一建模语言(UML)回顾
  • 第 2 课:面向对象的分析练习
  • 第 3 课:UML 类模型
  • 第 4 课:设计研究
  • 第 5 课:库练习(UML)
  • 第 6 课:正式规范
  • 第 7 课:对象约束语言(OCL)
  • 第 8 课:库练习(OCL)
  • 第 9 课:行为建模
  • 第 10 课:时钟收音机练习

第 3 部分:软件架构

  • 第 1 课:上下文关键字(KWIC)练习
  • 第 2 课:软件架构概述
  • 第 3 课:架构视图
  • 第 4 课:文本浏览器练习(架构)
  • 第 5 课:非功能性要求和架构风格
  • 第 6 课:连接器
  • 第 7 课:Acme 架构工具
  • 第 8 课:优化
  • 第 9 课:中间件
  • 第 10 课:嘉宾访谈 - LayerBlox

第 4 部分:软件设计

  • 第 1 课:组件
  • 第 2 课:咖啡机练习
  • 第 3 课:对象设计
  • 第 4 课:设计模式
  • 第 5 课:设计原则
  • 第 6 课:设计评审
  • 第 7 课:设计评审练习

讲师与合作伙伴

Spencer Rugaber

Spencer Rugaber

Spencer Rugaber 博士是佐治亚理工学院计算机学院的一名教职员。他的研究方向侧重软件工程领域,尤其是逆向工程、程序理解、软件演化与维护和设计。Rugaber 博士曾担任美国国家科学基金会软件工程和语言项目的项目主管,以及 IEEE 逆向工程技术委员会副主席。

Eric Feron

Eric Feron

Eric Feron 自 2005 年以来一直在佐治亚理工学院担任航空航天软件工程专业的 Dutton-Ducoffe 教授(一种职称)。在那之前,从 1993 年到 2005 年,他是麻省理工学院航空航天系的一名教职工。他分别从法国巴黎综合理工大学、法国巴黎高等师范学校和美国斯坦福大学获得了理学士、理学硕士和哲学博士学位。Eric Feron 热衷于使用控制系统、优化和计算机科学的基本原理解决航空航天工程方面的重要问题,包括:无人机的飞行控制、多代理操作,例如空中交通管制系统和航空航天软件系统认证。Eric Feron 出版过两本书和多篇研究论文;他教过的研究生遍布整个学术界、政府和工业界。他还是法国理工学院的一名指导教授。工作之余,Eric Feron 喜欢在佛罗里达的海岸边扬帆起航。 http://www.feron.org/Eric/

Jarrod Parkes

Jarrod Parkes

Jarrod 擅于尝试与教育相关的一切新事物:他积极主动,倡导改变现有的学习方式。他第一次向现状提出挑战,是帮助哈森生物技术研究所的中学生建立的虚拟科学实验室。在阿拉巴马大学亨茨维尔分校学习计算机科学的时候,他在大学课程之外还经常学习网上课件,这让他受益匪浅。他拥有阿拉巴马大学亨茨维尔分校的计算机科学学士学位。

官方微信公众号二维码

优达学城(Udacity)微信