架构师系列《UML》
Posted 质量互变
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了架构师系列《UML》相关的知识,希望对你有一定的参考价值。
三,UML
UML(Unified Modeling Language)是一种标准语言,用于制定,可视化,构造和文档的软件系统。对于UML的学习成本较高,个人认为应该采取 “抓大放小” 的学习方式。如果一上来就注重每一个实现细节,无疑成本是巨大的。而且现实工作环境中如果不是做专业的设计输出,UML 带来的价值远远不如同事们坐一起,把设计想法在草纸上画一下效率更高。所以以下内容只抓“大”。
面向对象的世界
UML是强大到足以代表所有的概念存在于面向对象的分析和设计。UML图是面向对象的概念的表示。因此,学习UML之前,先熟悉一下面向对象的概念(特性)。
• 抽象: 抽象代表现实世界中实体及实体之间的关系。
• 封装: 封装是将信息或数据隐藏的访问的保护。
• 继承: 继承是用来表示类之间的 is-a 关系的,分为单继承和多继承。
• 多态: 定义的机制来以不同的形式存在(子类可以动态的替换父类的方法并执行)。
• 对象: 对象代表一个实体的基本构建块。
• 类: 类是对象的蓝图。
UML概念模型
概念模型可以被定义为模型,它是由概念和它们之间的关系组成。概念模型的第一步是绘制UML图之前。它有助于了解在现实世界中的实体,以及他们如何互相交流。有三个主要的模型:1.功能模型:从用户的角度展示系统的功能,包括用例图。2.对象模型:采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类别图、 对象图。3.动态模型:展现系统的内部行为。包括序列图,活动图,状态图。
区分UML模型和UML图是非常重要的,UML图,包括用例图、协作图、活动图、序列图、部署图、构件图、类图、状态图,是模型中信息的图形表达方式,但是UML模型独立于UML图存在。
UML图
结构性图形(Structure diagrams)
目标:强调的是系统式的建模。
图形:静态图(static diagram)「类图,对象图,包图」,实现图(implementation diagram)「组件图,部署图」,剖面图,复合结构图。
行为式图形(Behavior diagrams)
目标:强调系统模型中触发的事件。
图形:活动图,状态图,用例图。
交互性图形(Interaction diagrams)
目标:属于行为图形的子集合,强调系统模型中的资料流程。
图形:通信图,交互概述图,时序图,时间图。
案例(食堂就餐卡系统设计)
功能描述:系统中每个消费者都有一张卡,在管理中心注册缴费,卡内记着消费者的身份、余额。使用时将卡插入收款机则显示卡上金额,服务员按收款机上数字键,收款机自动计算并显示消费额及余额。管理中心的管理员监视每一笔消费,可打印出消费情况的相关统计数据。非功能描述(暂不讨论)。
部署图
部署图:1.管理系统用于餐卡,人员,刷卡设备,消费,支付的统一管理系统。2.消费管理用于用餐人员消费记录记录。3.支付系统用于餐卡充值对接第三方支付平台。4.设备管理用于刷卡设备与系统通信。
管理中心组件图
注册序列图
消费时序图
用户消费流程:1.刷卡设备通过设备管理服务建立与服务器的通信。2.用户插入卡片,设备读取卡片ID通过管理系统获取卡片及账户基本信息。3.操作员输入金额确认通知管理系统进行扣款。并返回处理结果4.管理系统处理扣款后将消费记录同步到消费管理。
UML 统一建模语言可以将沟通的成本降到最低(建立在对UML都有所了解的情况下)。学习UML的目的是帮助自己工作中理清设计思路,输出设计方案。架构不仅存在于大型的软件系统中,个人的生活,学习,职业发展也需要架构。架构是用来确定做事的边界。边界内做事才能将有限的精力发挥最大的价值。
未完待续
以上是关于架构师系列《UML》的主要内容,如果未能解决你的问题,请参考以下文章