架构师系列《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.设备管理用于刷卡设备与系统通信。

    管理中心组件图

    管理中心包括5个基本组件: 1.用户管理组件负责管理开卡用户和系统管理员及商户基本信息。 2.卡片管理组件负责卡片基本信息管理。 3.户账户管理组件负责消费者金额账户基本信息管理。 4.消费记录组件负责消费记录信息管理。 5.收款机通信组件负责收款设备的在线管理。


    架构师系列《UML》

    注册序列图

    用户注册流程:1.消费者通过管理系统完成开卡2.消费者信息对卡片进行管理确认3.消费者同支付平台进行充值 4.消费者充值完成之后产生充值类型的消费记录

    架构师系列《UML》

    消费时序图

    用户消费流程:1.刷卡设备通过设备管理服务建立与服务器的通信。2.用户插入卡片,设备读取卡片ID通过管理系统获取卡片及账户基本信息。3.操作员输入金额确认通知管理系统进行扣款。并返回处理结果4.管理系统处理扣款后将消费记录同步到消费管理。



         UML 统一建模语言可以将沟通的成本降到最低(建立在对UML都有所了解的情况下)。学习UML的目的是帮助自己工作中理清设计思路,输出设计方案。架构不仅存在于大型的软件系统中,个人的生活,学习,职业发展也需要架构。架构是用来确定做事的边界。边界内做事才能将有限的精力发挥最大的价值。

    未完待续



    以上是关于架构师系列《UML》的主要内容,如果未能解决你的问题,请参考以下文章

    架构师必须学会的几种 UML图

    软考——系统架构师UML 建模与架构文档化

    架构师基础-初探UML

    架构师基础-UML建模概述

    TOGAF企业架构师

    软件架构师UML简介