第一周学习总结
沟通的表象是沟通,沟通的背后是你对事物规律的认知
技术深度决定技术的广度
架构师的主要职责
编写架构设计文档
开发编程框架
重构软件代码
设计系统架构
进行技术选型,解决技术应用中的问题
优化系统性能
模块分解与微服务架构重构
保障系统安全与高可用
大数据应用
技术创新
沟通管理
架构师主要能力
编程能力
基础技术掌握能力
常用技术产品的理解与应用能力
性能优化与分析故障的能力
常用架构模式和框架的理解与应用能力
建模以及设计文档的方法和能力
业务理解与功能模块及非功能模块拆解能力
快速学习能力
沟通与领导能力
什么是软件架构?
软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
什么是架构师?
架构师是做架构设计、对系统架构负责的那个人。
架构师是一顶帽子,而不是一把椅子;架构师是一个角色而不是一个职位。
4+1视图模型
使用 UML 进行软件架构设计与建模
模型是一个系统的完整的抽象。人们对某个领域特定问题的求解及解决方案,对它们的理解和认识都蕴涵在模型中。
通常,开发一个计算机系统是为了解决某个领域特定问题,问题的求解过程,就是从领域问题到计算机系统的映射。
何时画图?
讨论、交流时
最终设计文档
只保留少量的、重要的图
避免涉及过多内容和实现细节
什么是 UML?
Unified Modeling Language,或统一建模语言
以图形方式描述软件的概念
UML 可用来描述:
某个问题领域
构思中的软件设计
描述已经完成的软件实现
UML 图的分类 -静态图
静态图 - 通过描述类、对象和数据结构以及它们之间存在的关系,来描述软件要素中不变的逻辑结构。
用例图(Use Case Diagrams)
对象图(Object Diagrams)
类图(Class Diagrams)
组件图(Component Diagrams)
包图 (Package Diagrams)
部署图(Deployment Diagrams)
UML 图的分类 -动态图
动态图 - 通过描绘执行流程或者实体状态变化的方式,来展示软件实体在执行过程 中的变化过程。
协作图(Collaboration Diagrams)
序列图(Sequence Diagrams)
活动图(Activity Diagrams)
状态图(State Diagrams)
版权声明: 本文为 InfoQ 作者【Griffenliu】的原创文章。
原文链接:【http://xie.infoq.cn/article/cd0f698015d9c7228d403f8be】。未经作者许可,禁止转载。
评论