谢谢邀请 。
一、UML简介1.什么是UML?
UML是面向对象分析与设计时的行业标准 。全称为UnifiedModelingLanguage(“同一建模语言”) 。其主要内容是针对面向对象的分析和设计 。UML是由OMG(ObjectManagementGroup)于1997年发表的图标式软件设计语言 。它是一个支持模型化和软件系统开发的图形化语言 。为软件开发的所有阶段提供模型化和可视化支持 。从需求规格描述到系统完成后的测试和维护 。是一种定义良好、易于表达、功能强大且普遍适用的建模语言 。
OMG是一个国际化的、开放成员的、非盈利性的计算机行业标准协会 。成立于1989年 。(不是LOL的战队哈?。?
UML具有以下重要的功能:
可视化功能(Visualizing)
说明功能(Specifying)
建造和建立文档的功能(Documenting)
2.为什么要建模?
模型就是对现实的一种简化 。模型提供了系统的一个蓝图 。其中包括了详细的计划 。也包括了从高层次考虑的总体设计 。建模就是为了能够更好地理解正在开发的系统 。通过建模可以达到如下的目的:
模型有助于按照实际情况或按照所需要的样式对系统进行可视化 。
模型能够规约系统的结构或行为 。
模型给出了指导构造系统的模板 。
模型对做出的决策进行文档化 。
3.UML由什么组成?
UML由图和元模型组成 。图是语法 。元模型是语义 。UML主要包括三个基本构造块:
事物(Things)
关系(Relationships)
图(Diagrams)
1)事物
事物是实体抽象化的最终结果 。是模型中的基本成员 。
(1)结构事物(StructuralThings)是模型中的静态部分 。主要用来呈现概念或实体的表现元素 。分为以下7种:
类(Class):指具有相同属性、方法、关系和语义的对象的集合 。
接口(Interface):指类或组件所提供的的服务 。描述了类或组件对外可见的动作 。
协作(Collaboration):描述合作完成某个特定任务的一组类及其关联的集合 。用于对使用情形的实现建模 。
用例(UseCase):定义了执行者和被考虑的系统之间的交互来实现一个业务目标 。
活动类(ActiveClass):活动类的对象有一个或多个进程或线程 。活动类和类很像 。只是它的对象所代表的元素的行为和其他的元素是同时存在的 。
组件(Component):是物理的、可替换的部分 。包含接口的集合 。
结点(Node):是系统在运行时存在的物理元素代表一个可计算的资源 。通常占用一些内存和具有处理能力 。
(2)行为事物(BehavioralThings)指的是UML模型中的动态部分 。代表语句里的“动词” 。表示模型里随着时空不断变化的部分 。包括如下两类:
交互(Ineraction):交互是由一组对象之间在特定上、下文中 。为了达到特定的目的而进行的一系列消息交换而组成的动作 。
状态机(StateMachine):状态机由一系列对象的状态组成 。
(3)分组事物(GroupingThings)可以看成是一个“盒子” 。模型可以在其中被分解 。目前只有一种分组事物——包(Package) 。结构事物、动作事物甚至分组事物都可能放在一个包中 。包只存在于开发阶段 。而组件在运行时存在 。
(4)注释事物(AnnotationalThings)是UML模型的解释部分 。
2)关系
关系是将事物联系在一起的方式 。UML中有如下四种关系:
依赖(Dependencies):两个事物之间的语义关系 。其中一个事物发生变化会影响另一个事物的语义 。
关联(Association):一种描述一组对象之间连接的结构关系 。
泛化(Generalization):一种一般化——特殊化的关系 。
实现(Realization):类之间的语义关系 。其中一个类指定了由另一个类保证执行的契约 。
3)图
图是事物集合的分类 。主要包含以下几种:
类图(ClassDiagram):描述系统所包含的类、类内部结构及类之间的关系 。
对象图(ObjectDiagram):是类图的一个具体实例 。
组件图(CompomentDiagram):描述代码部件的物理结构以及各部件之间的依赖关系 。
部署图(DeploymentDiagram):定义系统中软、硬件的物理体系结构 。
用例图(UsecaseDiagram):从用户的角度出发描述系统的功能、需求 。展示系统外部的各类角色与系统内部的各种用例之间的关系 。
时序图(SequenceDiagram):表示对象之间动态合作的关系 。
协作图(CollaborationDiagram):描述对象之间的协作关系 。
状态图(StatechartDiagram):描述一类对象的所有可能的状态及事件发生时状态的转移条件 。
推荐阅读
- 对联必须遵循平仄平仄平平仄,仄平仄平仄仄平的规则吗?
- 有哪些现代一点、好看点的UML图绘制工具?
- 古典小说《西游记》中猪八戒身上有哪些优秀的品质?
- 如何查询商标?
- 有没有自创的绝句或律诗分享一下?
- 白兔商标管理软件跟商标预警卫士功能一样吗?
- 国内最值得去的地方有哪些值得推荐?
- 商标注册查询哪个app最好用?
- 同城生活小程序