架构师入门感悟一
食堂就餐卡系统设计
系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。
使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额。
管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。
请设计系统用例图,组件图,组件时序图,部署图。
用例图
组件图
组件时序图
消费者注册缴费
部署图
学习总结
画图工具
draw.io
vscode集成draw.io
特性:
在 Draw.io 编辑器或者 XML 文件编辑 .drawio 和 .dio 文件。
编辑嵌入许多 Draw.io 图表的 .drawio.svg 文件。
创建简单。
.drawio.svg 是有效的 .svg 文件。
默认情况下使用 Draw.io 的离线版本。
可以配置在线 Draw.io URL。
可以选择 Draw.io 主题。
软件架构
1、任何一个系统都有架构。该架构由“架构元素”、“元素间的关系”组成。
2、架构落地方法:每个架构都有架构文档,架构文档由架构视图组成,架构视图需要描述架构的关注点,这些关注点、架构文档均为相关方服务。
4+1视图
从不同的视角来看软件架构。
需求上使用场景视图;功能上使用逻辑视图划分子系统、模块;开发上使用开发视图;部署上使用物理视图;运行上使用运行视图(系统运行的调用关系、运行效率)。
以满足业务需求为目标,从需求分析、系统设计、编码实现、部署上线、运行五个方面关注软件。
软件架构 = {元素,形式,关系/约束}
场景视图,描述用例场景
逻辑视图,设计的对象模型
过程视图,捕捉设计的并发和同步特征
物理视图,描述了软件到硬件的映射,反映了部署特征。
开发视图,描述了在开发环境中软件的静态组织结构。
版权声明: 本文为 InfoQ 作者【Geek_13684f】的原创文章。
原文链接:【http://xie.infoq.cn/article/f6ca5dd5930387dc2e08cf5cc】。未经作者许可,禁止转载。
评论