从程序员到架构师过度---笔记

阅读路径:

1. 架构设计入门。

2. 领悟大系统架构设计。

3. 从需求到架构的全过程。

4. 结合工作,解决实际问题。

第一章 介绍

基础篇

关键思想:“分而治之”和“迭代式设计”。

运用的方法:“逻辑视图+物理视图”。

 

模块化分

模块划分的不同方法:功能模块、分层架构、用例驱动的模块划分过程。

设计方式:“水平分层”、“垂直划分功能模块”、“从用例到类、再到模块”、“想到哪切到哪”。

 

 

 

大系统架构设计

概念架构设计

 

概念结构如何设计:

????详见书。

 

大系统和小系统结构的区别:

1.“概念架构的不同”,归根溯源是“关键需求”。

 

 

专业的架构设计师,必须掌握架构设计的“工程化过程”。

从需求到架构整个过程的关键任务项

 

统一不同成员对架构的理解????

统一思想??????

 

 

第一部分

基本概念篇

第二章 解析软件架构概念

2.1软件架构概念的分类

第一个问题:

什么叫做概念?一般性的表述。

比如电脑这个词,代表 的不是一个单独的东西,而是一类事物。所以这种一般性 的表述就是我们通常说的“概念”。

 

软件架构概念分成两类,组成派和决策派。

2.2概念思想的解析

2.2.1 关键架构关注分割与交互

架构设计是分与合的艺术。

架构=组建+交互

第三章 理解架构设计视图

解决三个问题:

1.设计架构时,架构视图为什么不可少?

2.什么是架构视图?

3.如何运用“逻辑视图+物理视图”设计 一个系统的架构?

 

 

 

 

3.3.1逻辑视图

逻辑架构规定软件系统由哪些逻辑元素组成以及这些逻辑元素之间的关系。

具体而言包括:逻辑层、功能子系统、模块。

“模块+接口”是设计的基本内容:

1.识别模块。

2.规划模块的接口。

3.明确模块之间的使用关系和使用机制。

3.3.2 物理架构

物理元素及之间的关系、以及部署到服务器上的策略。

 

 

3.3.3从“逻辑架构+物理架构”到设计实现

 

 

3.4 实际应用

1。分而治之。

2。迭代式设计。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第二部分 时间过程篇

第四章 架构设计过程

“需求决定架构”之所以是废话,是因为它没有告诉开发人员“架构设计怎么做”。

 

1。设计架构包含哪几个步骤?

1)需求分析。

2)领域建模。

3)确定关键需求。

4)概念架构设计。

5)细化架构设计。

6)架构验证。         

2。步骤之间的关系?下游步骤的“输入”依赖的是上游步骤的哪个“输出”?

 

 

4.1架构设计的实践脉络

做好架构的三个必要的条件:

1。原则1:看透需求。

2。原则2:构架大方向正确。

3。原则3:设计好架构的各个方面。

架构师对大中型系统关注的三个重点:

1。重大需求。

2。特色需求。

3。高风险需求。

 

 

架构的6个步骤

6个步骤:

1.需求分析。

2.领域建模。

3.确定关键需求。

4.概念架构设计。

5.细化架构设计。

6.架构验证。

4.2 架构设计的速查手册

 

 

 

 

 

 

 

 

 

 

4.2.2 领域建模

领域建模实践的精髓是:业务决定功能,功能决定模型。

 

 

4.2.3概念架构

概念架构:直指系统目标的设计思想、重大选择。

 

4.2.3细化架构设计

 

 

第五章 需求分析

 

 

 

 

 

 

 

5.3 掌握需求全不全

突破“需求列表”思维,应以“二维需求观”来看待需求。

 

 

AMMEMS矩阵

 

质量:

质量的三大分类:

 

 

UML和模式应用(第2版)》

约束需求=业务环境因素+使用环境因素+构建环境因素+技术环境因素

5.4 从需求向设计转化的“密码”

每一个架构师都要精通“功能、质量、约束影响架构的不同理解”

 

 

在设计架构时,就是要通过为功能规划职责协作链来发现职责,再将职责分配到子系统等软件单元中去,后续就可以定义接口,协作协作方式了。。。

 

 

 

第六章 用例与续期

6.1.1用例图

 

6.1.2用户简述、用户故事

 

6.1.3用例规约

 

第七章 领域建模

 

 

 

《敏捷软件开发生态环境》

 

领域只是的核心是领域概念之间的关系。

 

 

《高效能人的七个习惯》

 

 

你可能感兴趣的:(从程序员到架构师过度---笔记)