回到首页

输入关键词,多个关键词用空格分隔。

← 返回栏目

软件架构与设计

20 篇课堂笔记、6 篇习题课与期中复习,覆盖架构风格、连接器、建模、质量属性、设计模式和架构评估。

27 篇 · 按学习顺序阅读

专题目录

课堂笔记20 篇

  1. 软件架构与设计 第 1 课 总览

    记得大二的时候,我走进老师办公室,问怎么样成为一个架构师,或者成为一个游戏制作人。五年快要过去了,总算是在两个方向都摸到了一点门道。上这门课与其说是学东西,更不如说是验证自己的想法。

  2. 软件架构与设计 第 2 课 Architectures in Context

    架构可以看作是一组关于软件系统的总体设计准则。每个应用都有一个架构,对应一名或多名架构师,并且,架构不是开发的一个阶段。这一讲我们就来了解软件架构放在具体的情境中是什么。

  3. 软件架构与设计 第 3 课 Basic Concepts

    在总体介绍了软件架构之后,这一讲主要介绍基本的概念,为之后的深入夯实基础。其中很多定义不是特别好翻译,就直接引用英文原文了。

  4. 软件架构与设计 第 4 课 Designing Architectures

    有了前面的基本概念和第一次作业的练习,这一讲我们主要来看看如何设计架构。

  5. 软件架构与设计 第 5 课 Architectural Styles

    前面我们大致了解了一下整体的系统设计与领域相关知识组合的各种设计阶段,这一讲我们主要来看看架构风格。

  6. 软件架构与设计 第 6 课 Styles and Greenfield Design

    前一讲了解了简单的架构风格,这节课看一下稍微复杂一点的风格,以及针对 Greenfield 设计(类似于开放式问题)的相关内容。

  7. 软件架构与设计 第 7 课 Software Connectors

    在了解了整体的框架之后,这节课我们来看架构中很重要的一部分——连接器。这里主要是一些概念和设计的介绍。

  8. 软件架构与设计 第 8 课 Choosing Connectors

    上一讲中我们了解了连接器的基本概念,这一讲我们来看看,在这么多不同的选项中,如何找到最适合项目的连接器。

  9. 软件架构与设计 第 9 课 Introduction to Modeling

    既然建模很重要,我们这节课就来了解一下关于建模的基本知识。

  10. 软件架构与设计 第 10 课 Visualizing Software Architectures

    前面我们了解了基本的建模概念和方法,现在我们来看看如何把整个模型可视化。

  11. 软件架构与设计 第 11 课 Service-Oriented Architecture

    这一课是根据老师的课程安排添加的,之后应该会按照课本的脉络结合老师的思路来进行讲解。

  12. 软件架构与设计 第 12 课 Analysis of Software Architectures

    这节课我们继续回到课本中,来看看如何对软件架构进行分析,以及一些常见的分析技巧。

  13. 软件架构与设计 第 13 课 Implementing Architecture

    上节课我们非常简略地了解了分析架构的大概方法,这节课我们再来看看如何去实现一个架构。

  14. 软件架构与设计 第 14 课 Architecture Tradeoff Analysis Method

    这节课具体会介绍进行架构分析时候的一些权衡考量的方法,还是非常有用的(至少比前面两课那么『虚』的要好很多)。这里也会综合老师给出的阅读材料,争取给大家一个完整的概念。

  15. 软件架构与设计 第 15 课 Applied Architectures

    上节课我们了解了具体分析不同架构的方法,这节课我们主要来看看,如何应用不同的架构。

  16. 软件架构与设计 第 16 课 Non-Functional Property

    虽然非功能属性不会直接体现在具体的实现上,但仍然会对如何实现各种功能产生巨大的影响,这节课我们就来具体了解一下。

  17. 软件架构与设计 第 17 课 Security and Trust

    安全和信任,同样也是系统设计中不可以获取的一部分,这节课我们来了解一下常见的解决方案和应用场景。

  18. 软件架构与设计 第 18 课 Deployment and Mobility

    当软件开发接近尾声,部署和灵活性就成为了重要的考量,这一课我们简要了解一下大概的流程和步骤,具体可能要工作之后实际接触生产环境才有更多领悟。

  19. 软件架构与设计 第 19 课 People, Role, Teams

    这节课我们来讲讲人在整个系统开发过程中所发挥的重要作用,或者再简单一点,就是成为一个架构师,到底需要什么特质以及在团队中扮演什么角色。

  20. 软件架构与设计 第 20 课 设计模式

    前面讲了这么多『玄学』概念,这一次终于回到软件开发的主战场——设计模式!

习题课6 篇

  1. 软件架构与设计 习题课 1 面向对象复习

    前面几讲我们了解了一堆概念,这一节课里我们借用 ATM 的例子,来回顾一下面向对象设计的基本知识(注:本『课』由第一次作业拓展而成)

  2. 软件架构与设计 习题课 2 不同架构风格应用

    这次的作业主要是利用课上所学过的各种架构风格来对之前设计的 ATM 来进行不同的理念尝试。

  3. 软件架构与设计 习题课 3 从不同视角描述系统

    这一次的作业,会在之前的基础上,通过不同的观察角度,更加科学系统来展示整个软件的架构和各个部分的关系。老师给出了一篇论文,这里也会简单总结下。

  4. 软件架构与设计 习题课 4 面向服务系统架构设计

    这一次的作业,是结合面向服务架构设计的思想,来优化我们之前的 ATM 设计。这次只需要围绕一个主题来思考,所以会稍微深入一些。

  5. 软件架构与设计 习题课 5 设计模式练习

    这次的作业就是对设计模式的练习和熟悉,直接来看情境吧。

  6. 软件架构与设计 习题课 6 设计模式进阶练习

    接着上次的练习,这次给出具体场景,来进行设计模式的应用,咱们直接看习题。

期中复习1 篇

  1. 软件架构与设计 期中考试复习

    这一部分是根据老师给出的复习提纲总结的部分相关内容,但是由于架构这个东西太抽象,所以只能尽力去理解一下了。