建模的种类:
需求建模:用户对系统的需求(用例图)
分析建模:系统的概念性的构造及行为
构造建模(静态):类图
行为建模(动态):通信图、状态机图、活动图、序列图
设计建模:实现系统的方法==》具体化,详细化
实现建模:定义实际作用系统的构成要素 部署图、构件图
UML(Unified Modeling Language)统一建模语言
面向对象的 有OMG软件标准化组织统一标准化
静态结构图:
类图、对象图、包图、构件图、组合结构图、部署图。
动态行为图:
用例图、活动图、交互图(顺序图、通信图、交互概览图、时序图)、状态图
类图(重头戏)
类的组成元素:
类(类名、属性、操作)
表示方法:①传统的类名、方法、属性②类名③类名、属性④类名、方法
属性可见性:-减号表示私有(只有类中可见) #井号 保护类型(类中和其子类可见) + 公有类型(所有子类都可见) ~ 包的属性(在一个包内可见)
先定义属性名,再定义类型。
属性名:类型 (=初始值) ==》初始值可省略
例如 -name: char = "m"
派生属性:可以通过其他属性计算出来的。在名字前加/即可。
注释:虚线链接折角方框。
类的操作
方法1() 方法2(参数1:类型1,参数2:类型2):返回类型
操作名 (输入输出类型 参数名: 类型=默认值):返回值类型
多个参数用逗号隔开
输入输出类别(in默认 out inout)、参数名、参数类型、默认值、返回值类型均可省略
例:+setNane(in name:String="OO"):void
静态:横线下划线(默认值不变的属性或操作)
关系(关联、泛化、依赖、实现)
直线+空心三角箭头:继承。箭头指向的是父类。
虚线+一个角箭头:依赖。指向的是被使用的类。
直线:关联关系。(结构上的关系)。
中间写关联名,关联名后跟黑三角表示关联名的方向。关联名一般为动词。
关联端名:写一段对于另一端的特征、功能和立场。写在关联端处。
多重性:1...n 1 表示相关联类的实例对象之间的对应关系
限定符:减少相关联对象数目。把一对多变成一对一
两端都画一个角箭头:双向关联 中间打叉:单向关联(不常用)
派生关联:关联名前加/加以区别
递归关联:一个类的多个对象之间有某种关系
多重关联:两个类之间有多个不同意义的关联,通过附加关联名或关联端加以区分。
关联类:拥有类之间的关联信息的类。把多对多转换为一对一。关联类可以放在关联线里面,也可以在外面用虚线连接。
抽象类:斜体或者在类底下加一个{abstract}
直线+空心菱形:聚合。菱形地方的类是使用了别的类的。
直线+实心菱形:组合(强聚合)。同生命周期。
接口的表示方式:在类上方写<<interface>>下方写操作或者直接画个圈,地下写interface,横线,操作。
约束{int >=0}
Visio
Visio这个软件最好用和Office配套的正版,否则可能会出现很多问题。
版本不对应的话2013之后的版本会安装不上,让你卸载Office,然而卸了之后还是安不上
因此我选择了2013版本。
绘图
绘图时选择【基本框图】,然后在左边的【更多形状】→【软件和数据库】→【软件】→【UML类】
本文地址:https://blog.jixiaob.cn/?post=63
版权声明:若无注明,本文皆为“赵苦瓜のBlog~”原创,转载请保留文章出处。
- 使用Win10自带的投屏快速将手机屏幕投到电脑
- 使用go-cqhttp和Python的QQ机器人
- Python与websocket——基于cqhttp的Grasscutter上下线通知机器人
- 【点滴记录】Django框架的入门 - 第二篇(切换SQL数据库、基本模板、Django Shell、简单数据集连、模型层)
- 【点滴记录】Python进阶——类和实例、面向对象
- 小米手环/手机复制加密门卡教程
- 【点滴记录】Java的初步入门(更新中)
- Grasscutter外置CDK兑换系统——Grasscutter-CDKeySystem
- 【点滴记录】C语言的初步学习
- 【点滴记录】选学课程-计算机网络技术基础