架构师训练营第一周总结
架构师的主要能力
编程能力
基础技术掌握能力
常用技术产品的理解与应用能力
性能优化与分析故障的能力
常用架构模式和框架的理解与应用能力
建模以及设计文档的方法和能力
业务理解与功能模块及非功能模块拆解的能力
快速学习能力
沟通与领导能力
什么是软件架构
软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
关于软件开发的几个事实
软件技术的进步使得程序员不需要了解技术细节和原理就能开发出能用的软件。
让程序员关注更少的事情有助于提高软件开发效率和质量。
什么是架构师
架构师是做架构设计、对系统架构负责的那个人
架构师是一顶帽子,而不是一把椅子。架构师是一个角色而不是一个职位。
(要让大家依赖你)
(主动的人才能去做架构师)
4+1 视图模型
软件架构={元素,形式,关系/约束}
单一的视图无法完整的表达架构,因此需要具备完整的视图集
逻辑视图,设计的对象模型
过程视图,捕捉设计的并发和同步特征
物理视图,描述了软件到硬件的映射,反映了部署特性
开发视图,描述了在开发环境中软件的静态组织结构
场景视图,描述用例场景
什么是模型
模型是一个系统的完整的抽象。人们对某个领域特定的问题的求解及解决方案,对它们的理解和认知都蕴含在模型中。
通常,开发一个计算机系统是为了解决某个领域特定问题,问题的求解过程,就是从领域问题到计算机系统的映射。
领域问题——分析抽取——领域模型设计模型——分析设计——解决方案
为什么要建造模型?
建造软件模型的目的
为了与它人沟通
为了保存软件设计的最终成果
前提:除非模型比代码更说明问题
UML 简介
什么是 UML?
unified modeling language 统一建模语言
以图形方式描述软件的概念
UML 可用来描述:
某个问题领域
构思中的软件设计
描述已经完成的软件实现
软件架构建模的一般方法和工具
静态建模
用例图,类图,对象图,包图,组件图,部署图
动态建模
协作图,序列图,活动图,状态图
评论