架构师训练营作业 (1)
食堂就餐卡系统设计
总结
架构师职责
编写架构设计文档
开发编程框架
重构软件代码
设计系统架构
技术选型,解决技术应用中的问题
优化系统性能
模块分解与微服务架构重构
保障系统安全与高可用
大数据应用
技术创新
沟通管理
架构师主要能力
编程能力
基础技术掌握能力
常用技术产品的理解与应用能力
性能优化与分析故障的能力
常用架构模式和框架的理解与应用能力
建模以及设计文档的方法和能力
业务理解与功能模块及飞功能模块拆解能力
快速学习能力
沟通与领导能力
软件架构
软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。
软件开发的事实
软件技术的进步使得程序员不需要了解技术细节和原理就能开发出能用的软件。
让程序员关注更少的事情有助于提高软件开发效率和质量
什么是架构师
架构师是做架构设计、对系统架构负责的那个人。
机构师是一个帽子,而不是一把椅子;架构师是一个角色而不是一个职位。
4 + 1 架构视图
软件架构 = {元素, 形式,关系/约束}
单一的视图无法完整的表达架构,因而需要完整的视图集。
逻辑视图,设计的对象模型。
过程视图,捕捉设计的并发和同步特征。
物理视图,描述了软件到硬件的映射,反映了部署特征。
开发视图,描述了在开发环境中软件的静态组织结构。
场景视图,描述用例场景。
什么是模型
模型是一个系统的完整的抽象。人们对某个领域图特定问题的求解及解决方案,对它们的立即和认识都蕴含在模型中。
通常,开发一个计算机系统是为了解决某个领域特定问题,问题的求解过程,就是从领域问题到计算机系统的映射。
为什么要建造模型
建造畅通模型的目的
为了证明某件事物能否工作
建造软件模型的目的
为了与他人沟通
为了保存软件设计的最终成果
UML 简介
什么是 UML
Unified Modeling Language,或统一建模语言
以图形方式描述软件的概念
UML 可用来描述
某个问题
构思中的软件
描述已完成的软件实现
UML 图的分类
静态图
通过描述类、对象和数据结构以及他们之间存在的关系,来描述软件要素中不变的逻辑。
用例图
对象图
类图
组件图
包图
部署图
动态图
通过描绘执行流程或者实体状态变化的方式,来展示软件实体在执行过程中的变化过程。
合作图
时序图
活动图
状态图
实现模型
实现模型描述了系统实现的一些特性,又称为物理体系结构建模。包括代码的静态结构和运行时刻的实现结构
组件图
显示代码本身的逻辑结构,它描述系统中存在的软架构件以及他们之间的依赖关系。
部署图
描述了系统中硬件和软件的物理配置情况和系统体系结构。显示系统运行时刻的结构,部署图中的简单节点是指实际的物理设备以及在该节点上运行构建或对象。部署图还描述节点之间的联通以及通信类型。
评论