UML第二次作业:类图中类的表示
学习要求及步骤:
1:学习PlantUML类图绘制方法
2:以班级学生管理系统中的 —— “学生”类为例,分析属性、方法
3:用PlantUML编写 “学生”类绘图脚本;
4:在线绘制学生,导出生成的用例图。
一:PlantUML类图
PlantUML用下面的符号来表示类之间的关系:
类之间的关系:
(1)泛化, Generalization : <|--
(2)关联, Association : <--
(3)组合, Composition : *--
(4)实现, Realization:<|..
(5)聚合, Aggregation : o--
(6)依赖, Dependency : <..
以上是常见的六种关系, -- 可以替换成 .. 就可以得到虚线。另外,其中的符号是可以改变方向的
例如: <|-- 表示右边的类泛化左边的类; --|> 表示左边的类泛化右边的类。
例如:

生成的类图如下:

-- 可以替换成 .. ,对应的虚线:

生成的类图如下:

关系上的标签:
可以在关系上添加标签,只需要在文本后面添加冒号和标签名称即可。可以在关联的两边使用双引号。

生成的类图如下:

可以在关系上使用 < 或者 > 表名两个类之间的关系

生成的类图如下:

上面的类图意思是:
Driver驾驶Car
Car有4个Wheel
Person拥有Car
添加方法:
在类名后面添加冒号可以添加方法和方法的参数,例如:

也可以使用{}来定义所有的字段及字段和方法,例如

生成的类图如下:

定义可见性:
以下符号定义字段或者方法的可见性:
- :private
# :protected
~ :package private
+ :public
例如:


你可以使用skinparam classAttributeIconSize 0关掉icon的显示:


抽象和静态:
可以使用{static}或者 {abstract}来修饰字段或者方法,修饰符需要在行的开头或者末尾使用。
也可以使用{classifier}代替{static}。


类主体:
默认的,字段和方法是由PlantUML自动分组的,也可以使用 : -- .. == __ 这些分隔符手动进行分


注释和原型
原型使用class,<< 和 >> 进行定义。
注释使用note left of,note right of,note top of,note bottom of关键字进行定义。
你也可以在最后一个定义的类上使用 note left,note right,note top,note bottom关键字。
注释可以使用 .. 与其他对象进行连接。
注释的其他特性
注释可以使用一些html标签进行修饰:
<b>
<u>
<i>
<s> , <del> , <strike>
<font color="#AAAAAA"> 或者 <font color="colorName">
<color:#AAAAAA> 或者 <color:colorName>
<size:nn> 该表font大小
<img src="http://blog.javachen.com/2016/02/29/file"> 或者 <img:file> ,文件必须是可以访问的。
连接上的注释:
可以在连接上定义注释,只需要使用 note on link,你可以使用 note left on link,note right on link,note top on link,note bottom on link来改变注释的位置。
抽象类和接口
可以使用 abstract或者 interface来定义抽象类或者接口,也可以使用 annotation,enum关键字来定义注解或者枚举。
使用非字母
类名可以使用非字母的方式显示
隐藏字段和方法
隐藏类


使用泛型
包


命名空间
改变箭头方向
二、以班级学生管理系统中的 —— “学生” 类为例,分析属性、方法
属性:
学生基本信息(姓名,学号,年龄,班级,职务)
学生课程信息(课程名,上课教室,老师姓名)
学生成绩信息(学号,姓名,成绩)
三:用PlantUML编写 "学生"类绘图脚本;
@startuml
class 学生个人信息 {
-姓名:string
-学号:varchar
-年龄:varchar
-班级:string
-职务:string
__
+登录
+修改个人信息
+退出登录
}
class 学生课程信息{
-课程名:string
-教室:string
-老师:string
__
+登陆
+选课
+退出
+查看课程
+课程成绩
}
class 学生成绩 {
-学号:varchar
-姓名:string
-成绩:varchar
__
+登陆
+查看成绩
+退出
}
学生课程信息 --> 学生个人信息
学生成绩-left-> 学生个人信息
@enduml
四:用例图

浙公网安备 33010602011771号