架构师 3 期 3 班 -week1- 总结
架构师的主要职责
系统架构设计,输出设计文档
开发编程框架
重构、模块分解与微服务架构重构
技术选型
性能优化
解决技术应用中的问题,保障系统安全和高可用
大数据应用
技术创新
沟通管理
架构师的主要能力
编程能力
技术能力(基础技术掌握,常用产品、框架的理解及应用)
性能优化与分析故障能力
设计能力(建模,模块拆分,输出设计文档)
业务理解能力
快速学习能力
沟通与领导能力
4+1 视图模型
单一视图难以完整的描述系统架构,因此需要完备的视图集
逻辑视图(Logical View),设计对象模型
过程视图(Process View),捕捉设计的并发和同步特征
物理视图(Physical View),描述软件到硬件的映射,反映了部署特性
开发视图(Development View),描述在开发环境中软件的静态组织结构
场景视图(Scenarios),描述用例场景
逻辑视图
描述系统的逻辑关系。
相关方:客户,用户,开发组织管理者
视角:系统的功能元素,以及它们的接口,职责,交互
主要元素:系统,子系统,功能模块,子功能模块,接口
用途:开发组织划分,成本/进度的评估
开发视图
描述系统如何开发实现
相关方:开发人员,测试人员
视角:系统的开发实现
主要元素:描述系统的层,分区,包,框架,系统通用服务,业务通用服务,类和接口,系统平台和相关基础框架
用途:指导开发组织设计和实现
物理视图
描述部署方案
相关者:系统集成商,运维人员
视角:系统逻辑组件到物理节点的部署和节点之间的网络配置
主要元素:物理节点及节点的通信
过程视图
相关者:性能优化,开发相关人员
视角:系统运行时的线程和进程情况
主要元素:系统进程,线程及处理队列等
场景视图
相关者:用户,设计和开发人员
视角:概括了架构上最重要的场景(最典型或者最有风险)及非功能性需求,通过这些场景的实现,阐明了架构的广度或众多架构元素的运行方式
软件设计的三个阶段
需求分析
概要设计
详细设计
UML
统一建模语言
建模就是对事物的抽象
UML 分为静态图和动态图
静态图
通过描述类、对象和数据结构以及它们之间的关系,来描述软件要素中不变的逻辑
静态图包括:
* 用例图,主要在需求分析阶段,来描述系统功能
* 对象图 不常用
* 类图,主要在详细设计阶段,描述类,类与类之间的关系
* 组件图 用来描述系统组件关系的图
* 包图 不常用
* 部署图 概要设计阶段 描述系统最终的部署情况
动态图
通过描绘执行流程或者实体状态的变化方式,来展示软件实体在执行过程中的变化过程
动态图包括:
* 协作图 不常用
* 时序图 描述对象之间动态交互的模型图
* 活动图 描述流程信息
* 状态图 描述特定对象的状态变迁
版权声明: 本文为 InfoQ 作者【zbest】的原创文章。
原文链接:【http://xie.infoq.cn/article/4086e8b06ccb9e01207d93868】。未经作者许可,禁止转载。
评论