极客架构师训练营第一周
作业一:食堂就餐卡系统设计
系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。
使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额。
管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据
1 用例图:
2 部署图
3 组件图
4 时序图
作业二:根据当周学习情况,完成一篇学习总结
关于架构师
从宏观到微观了解架构师的工作和成长
1 软件架构 具体到整体和组件的抽象,完成指导软件各方面的设计
2 架构不是给自己做着自己看的,是给产品,运营,运维,甲方,开发等等人员看的,不同的人关观的点也不一样,
要分清主次,明白给什么人看,就要有不同方法的呈现和描述,满足相关方的诉求
3 架构师一定要明白对方的需求,也要明白对方人员的关注点,能把自己做过的架构进行最佳说明,不要自己考虑不周,对方
也听得不清楚彻底
4 架构元素:有什么服务器组成、需要多少软件、需要哪些模块、类及相互之间的关系是什么,如何调用的?是同步还是异步?
元素间的关系:它们之间的关系如何表现出来?是通过架构文档进行表现的
架构视图:具体就是通过架构视图表现出来的
系统:是为相关方来设计的
5 架构视图
4+1 架构视图
如何呈现自己的架构设计?软件开发的本质
逻辑视图、过程视图、物理视图、开发视图及埸景视图,前四者都是为埸景视图服务的
开发视图:针对的是开发人员、测试人员
描述的是系统的层、分区、包、框架,系统通用的服务,业务通用的服务,类和接口,这样能才指导开发组织设计和开发实现
6 UML 建模语言
为什么称为语言?因为是用来交流的
如何使用UML进行软件架构的设计和建模?
模型是什么?模型是一个系统的完整的抽象,解决的是特定领域的特定问题
UML可以用来描述:某个问题的领域、构思中的软件设计、描述已经完成的软件实现
7 模型元素:依赖、关联、继承、聚合、实现、组合
8 用例建模:用于描述系统的功能需求。使开发者能够有效地了解用户的需求,可以不断的精化
9 UML的消息:简单消息、同步消息、异步消息
10 合作图:也称协作图,用于描述相互合作的对象间的交互关系和链接关系
11 部署图:各结点之间进行交互的通信路径称为连接,用结点之间的连线表示连接,在连接线上标注通信类型
12 整体设计:从高到低,总览全貌
13 架构文档:
需求分析:用例图、活动图、状态图、时序图
概要设计:部署图、子系统的时序图、组件图、组件时序图
详细设计:类图、类时序图、方法的活动图、状态图、时序图
14 关心的问题:
架构师与全栈工程师的区别?两者之间的关系?
架构师如何成长?哪些人适合做架构师?
技术的广度和深度怎么去选择和平衡?
如何突破自我?
有没有什么好的方式来沉淀领域(行业)知识?构建个人中台?
https://shimo.im/docs/hwGrhrKTwDVYpyXj
评论