一线架构师指导指南阅读笔记1

通过阅读一线架构师实践南这本书,我对架构的整个脉络也有了一个比较详尽的了解,我希望通过这篇文章跟大家交流一下我的心得体会

首先插一句话,阐述一下什么是软件过程:六个基本活动:问题提出,软件规格需求说明,软件设计,软件实现,软件确认,软件演化。软件设计又分为系统设计(建立系统的体系结构等)和详细设计(细化原有的分析对象)。这笼统的过程就是架构师工作的流程。

架构设计的方法体系:

3个阶段,1个贯穿环节:

“Pre-architecture”阶段(简称PA阶段)

“Conceptual Architecture”阶段(简称CA阶段)

“Refined Architecture”阶段(简称RA阶段)

对非功能目标的考虑贯穿整个过程

Pre-architecture阶段:

主要是构建一个二维矩阵

1步:需求结构化

2步:分析约束影响

3步:确定关键质量

4步:确定关键功能

四大类约束:

1.业务环境的约束(客户或出资方)

上线时间?预算限制?集成需求?

业务领域?业务规则或业务限制?

法律法规或专利的限制?

2.使用环境的约束(用户)

何阶层用户?年龄段和偏好?多个国家?

是否存在电磁干扰或车船移动

3.构建环境的约束(开发者和维护人员)

技术水平,城市分布,磨合程度?

开发管理程度?

源代码保密?

4.技术环境的约束

技术平台、中间件、编程语言的流行度,认同度,优缺点?

技术发展趋势?

 

确定关键质量属性的原则:严格程度符合领域与规模特点

关键质量属性个数根据项目、产品、平台不同而不一样

确定关键功能的4条规则:

核心功能

必做功能

高风险功能

独特功能(覆盖上述未覆盖的职责)

Conceptual Architecture:

Conceptual-Architecture阶段任务:重大需求塑造做概念架构。

概念架构的定义:满足“架构=组件+交互”的基本定义;对高层组件的“职责”进行笼统界定,并给出高层组件的相互关系;不应涉及接口细节。

 

概要架构针对重大需求、特色需求、高风险需求,给出高层次的解决方案

基于关键功能

(而不是对所有功能)、借助鲁棒图

(而不是序列图)进行初步设计。

Refined Architecture阶段:落地的5视图方法

5视图方法提出,每个视图,一个思维角度

逻辑视图

物理视图

开发视图

数据视图

运行视图

这个过程需要细化架构,而细化的过程中我们往往需要参照以下的经验:

划分子系统:分层的细化

划分子系统:分区的引入

划分子系统:机制的提取

接口的定义:协作决定接口

选用序列图:杜绝协作图

-接口图:从结构到行为的桥

灰盒包图:描述关键子系统

循序渐进的螺旋思维

设计模式: 包内结构

设计模式:包间协作

至此,当Conceptual Architecture:阶段完成时,我们的架构过程初步工作就算是大功告成了。

猜你喜欢

转载自www.cnblogs.com/jyt123/p/13162383.html
今日推荐