首页 > 其他分享 >面向对象建模语言UML

面向对象建模语言UML

时间:2023-12-07 19:11:06浏览次数:37  
标签:建模语言 对象 时序 面向对象 车辆 租车 UML

自从面向对象编程语言在软件开发中成为主流之后,遵循面向对象技术特点的软件设计工作,也一并发展了起来。

首先要提出一个问题,就是设计的工作是要做什么?

它包括的范围其实是很广泛的,从搜集用户需求,进行业务分析,到绘制系统流程图等。可以说,在动手编写代码之前,程序员要做的都属于设计工作。

就像建造房屋一样,先确定要造的房屋类型,然后是选址,设计样式。最后工程师带领施工队按照设计图纸将房子造出来。

而面向对象技术,因为其封装、继承、多态等特点,在对现实世界建模时,可以方便地以自然思维将事物抽象为计算机可处理的数据。关于面向对象技术的详细说明,可参看往期文章学好面向对象编程语言的关键,在于掌握它们的共通结构与特性 。

要做的事情清楚了,思维工具也有了,接下来就是如何将工作成果表述出来。一个相当有力的工具就是统一建模语言(Unified Modeling Language,简称UML),下一节会对其进行入门级的介绍。

最后会以一个示例讲述在面向对象设计中,如何应用UML来完成建模工作。

UML概述

UML虽然也是一门“语言”,但它其实是一套图形化的符号系统。UML最主要的作用,就是在现实世界与程序代码之间建起一座桥梁。

这就是UML的“统一”所要求的,所以它的各种图形都有着严格的定义。包括形状、连接线的方向、方法与属性的标明等。

用例图:表示系统提供的功能和使用者之间的关系。

面向对象建模语言UML面向对象建模语言UML

用例图

类图:表示类的规格和类之间的关系。

面向对象建模语言UML面向对象建模语言UML

类图

对象图:表示实例之间的关系。

面向对象建模语言UML面向对象建模语言UML

对象图

时序图:将实例之间的相互作用表示为时间序列。

面向对象建模语言UML面向对象建模语言UML

时序图

活动图:表示一系列处理中的控制流程。

面向对象建模语言UML面向对象建模语言UML

活动图

通信图:将实例之间的相互作用表示为组织结构。

面向对象建模语言UML面向对象建模语言UML

通信图

状态机图:表示实例的状态变化。

面向对象建模语言UML面向对象建模语言UML

状态机图

组件图:表示文件和数据库、进程和线程等软件的实现结构。

面向对象建模语言UML面向对象建模语言UML

组件图

部署图:表示硬件、网络等系统的物理结构。

面向对象建模语言UML面向对象建模语言UML

部署图

复合结构图:表示具有整体-部分结构的类的运行时结构。

包图:表示包之间的关系。

交互概览图:将根据不同条件执行不同动作的时序图放到活动图中进行表示。

定时图:采用带数字刻度的时间轴来表示实例之间的状态迁移和相互作用。

建模

什么是统一说了,用到的图形语言也说了,最后就得说一说怎么建模了。我们进行面向对象的设计工作,终归是要让计算机来帮助我们处理那些繁琐、重复性的工作。

那么,接下来我们就以一个租车业务为示例,使用UML工具进行设计过程吧。我们模仿实现一个线上租车应用,为了简化讨论,只提及最关键的几个功能点。

业务分析阶段

用户想要租一辆车开,第一步是要先挑选合适的车。例如是城市代步,还是郊游远行等。选好车之后,就是预约下单。用户办理好手续,将车开走使用,最后完成归还手续。

那么,对以上场景分析之后,可以通过活动图把整体流程画出来。

面向对象建模语言UML面向对象建模语言UML

租车业务整体流程

需求定义阶段

从上述业务分析可知,这个线上租车系统可以承担的自动化工作,包括展示车辆信息,处理预订订单,车辆出库,跟踪车辆行驶情况,以及车辆归还入库这些功能。

使用用例图展示客户与服务提供商可以使用的功能。

面向对象建模语言UML面向对象建模语言UML

租车业务功能用例

系统设计阶段

系统功能点梳理出来之后,就是对系统中的各个关键对象进行定义。车辆对象(Car)是基本单元,所有的租赁业务都要围绕它展开。接下来是汽车展示对象(ShowCar),它可以从车辆对象取得可供展示的信息,例如车型、厂商、颜色等。

当用户选定车辆之后,就可以执行预订功能。租赁管理对象(RentServer)将会接受订单、收取押金和预付款。用户取车时RentServer则进行出库处理,并通知车辆跟踪对象(TraceCar)持续监控车辆运行情况。

用户使用完,归还车辆时,RentServer则从TraceCar查询车况,确认无误后则执行入库处理,退还用户押金。

据以上描述,我们可以先画出类图。

面向对象建模语言UML面向对象建模语言UML

租车业务类图

从上图可以看到,Car作为系统的基本单元,被其他类聚合使用。关于聚合,这是一种整体与个体之间的关系,即has-a关系。而组合则要更高一级,是包含关系。例如汽车与发动机就是组合关系,因为离开了发动机,汽车就不可用了。

关联关系则比聚合还要弱一级,但需要注意的是,在程序代码中,关联与聚合的语法是一样的,它们的差异是存在于语义上的。这也是UML设计能比代码包含更多信息的优势。

类图表示的是类之间的静态关系,要看到对象实例之间的消息调用,则还要使用时序图。下面分步骤绘制,先看预订流程的时序图。

面向对象建模语言UML面向对象建模语言UML

租车预订时序图

接下来是用户归还车辆的时序图。

面向对象建模语言UML面向对象建模语言UML

归还车辆时序图

对象间的交互已经有了,接下来就是具体方法的实现过程。说明方法的执行过程,使用活动图比较适合。下面选取CheckOut方法,对其绘制活动图进行说明。

面向对象建模语言UML面向对象建模语言UML

标签:建模语言,对象,时序,面向对象,车辆,租车,UML
From: https://www.cnblogs.com/baizedegewuzhi/p/17883746.html

相关文章

  • UML九图
    1.类图类图(ClassDiagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。类图不仅用于可视化描述和记录系统的不同方面,也为构建可执行代码的软件应用程序。类图描述一类的属性和操......
  • UML几种图例介绍
    九种常见UML图 UML图中类之间的关系:依赖,泛化,关联,聚合,组合,实现类与类图1)类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。2)在系统中,每个类具有一定的职责,职责指的是类所担任的任务,即类要完成什么样的功能,要承......
  • uml学习
    1用例图用例图包含参与者、用例和关系这三种核心元素,不同的视角可以得到不同的用例视图,它展现了系统的功能性需求。所谓不同的视角,可以对应面向对象分析设计的三阶段。2类图类图用于展示系统中的类及其相互之间的关系。类图建模常用的方式是从概念层,到说明层,最后到实现层这......
  • UML九图介绍
    介绍一下UML九图UML九图是指统一建模语言的九种图表,分别是:用例图(UseCaseDiagram)、类图(ClassDiagram)、对象图(ObjectDiagram)、活动图(ActivityDiagram)、状态图(StateDiagram)、协作图(CollaborationDiagram)、时序图(SequenceDiagram)、构造图(ComponentDiagram)和部署图(Deploymen......
  • UML总结博客
    1.用例图用例图是UML中最常见的图之一,它主要用于描述系统的功能需求。用例图中包含了参与者(Actor)和用例(UseCase)两个主要元素。参与者是与系统交互的外部实体,而用例则表示系统的功能。画法: 用例图的画法相对简单,通过椭圆形表示用例,人形图标表示参与者。通过实线箭头表示参与者......
  • UML各类型含义
    箭头含义:导语在平时的开发中,难免会遇到画UML图的时候,也就是我们所说的类图,但是UML图中的箭头多种多样,所代表的含义也是各不相同,今天我们就来说说这几种箭头所代表的含义。1泛化概念:泛化表示一个更泛化的元素和一个更具体的元素之间的关系。泛化是用于对继承进行建模的UML元素......
  • UML各类基础知识总结
    1、UML关系泛化(也就是我们传统意义上的继承关系)子类继承父类,关系用extend关键字标识;关联可以说是一种属于关系,图中即说的是PhoneNumber类属于Master类,同时,除了一对一的关系之外,还可以用一对多、多对一、多对多的关联关系,除了单向关联之外,双向关联也是存在的;需要注意的是,在......
  • uml知识总结
    UML图的作用:UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。总之,UML是一个通......
  • UML知识点
    UnifiedModelingLanguage(UML)包含不同类型的类图,用于描述系统中的类、对象和它们之间的关系。以下是几种常见的类图类型及其介绍:类图(ClassDiagrams):类图是描述系统中类及其之间关系的静态结构图。它展示了类的属性、方法、关联、继承、接口等信息。主要元素包括类、接口......
  • UML图
    UML是一种常用的软件建模语言,其中类图是最常用的一类图。类图描述了系统中的类、接口、对象和它们之间的关系。除了类图,UML还包括其他八种类型的图,包括用例图、活动图、时序图、状态图、组件图、部署图、对象图和通信图。以下是UML中九种不同的类图的简单介绍:类图(ClassDi......