博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UML作业第三次
阅读量:4658 次
发布时间:2019-06-09

本文共 2796 字,大约阅读时间需要 9 分钟。

一. 类图语法学习小结(类间关系的表示方法)

1.抽象类和接口

我们用关键字abstractabstract class来定义抽象类(抽象类用斜体显示).也可以使用interface,annotationenum关键字.

abstract class AbstractListabstract AbstractCollectioninterface Listinterface CollectionList <|-- AbstractListCollection <|-- AbstractCollectionCollection <|- ListAbstractCollection <|- AbstractListAbstractList <|-- ArrayListclass ArrayList {  Object[] elementData  size()}enum TimeUnit {  DAYS  HOURS  MINUTES}annotation SuppressWarnings

 

2.包

我们可以使用 package 声明包(包可以被定义为嵌套).

@startumlpackage "Classic Collections" #777777 {  Object <|-- ArrayList}package net.sourceforge.plantuml {  Object <|-- Demo1  Demo1 *- Demo2}@enduml

 

3.命名空间

在包中,类的名称是该类的唯一标识符,这意味着在不同的包中不能有两个同名的类.

在这种情况下,应该使用名称空间而不是包。

@startumlclass BaseClassnamespace net.dummy #777777 {    .BaseClass <|-- Person    Meeting o-- Person        .BaseClass <|- Meeting}namespace net.foo {  net.dummy.Person  <|- Person  .BaseClass <|-- Person  net.dummy.Meeting o-- Person}BaseClass <|-- net.unused.Person@enduml

 4.关系类

我们可以在定义了两个类之间的关系后定义一个 关系类 association class.

@startumlclass Student {  Name}Student "0..*" - "1..*" Course(Student, Course) .. Enrollmentclass Enrollment {  drop()  cancel()}@enduml

5.帮助布局

有时,帮助布局并不完美.我们可以使用together关键字将一些类组合在一起:布局引擎将尝试将它们组合在一起(就像它们在同一个包中).

@startumlclass Bar1class Bar2together {  class Together1  class Together2  class Together3}Together1 - Together2Together2 - Together3Together2 -[hidden]--> Bar1Bar1 -[hidden]> Bar2@enduml

二. 书店图书管理系统

类:

图书|会员|会员卡|工作人员|售卖信息

类的属性:

图书:

图书编号:string

ISDN号:string

书名:string

作者:string

出版社:string

定价:float

出版日期:date

会员:

会员编号:string

姓名:string

性别:string

出生日期:date

职业:string

电话:string

地址:string

邮编:int

邮箱:string

会员卡:

会员编号:string

办证日期:date

会员积分:string

会员等级:string

补办日期:date

工作人员:

工作人员编号:string

姓名:string

性别:string

出生日期:date

岗位:string

学历:string

职称:string

售卖信息:

图书编号:string

出售日期:date

书名:string

会员编号:string

工作人员编号:string

三. 上述类之间关系

会员(1)--(1)会员卡

       会员卡

        |

工作人员 -- 出售 -- 售卖信息

        |

       图书

图书(1)<--(n)售卖信息(n)-->(1)会员卡

         (n)

         |

        \/

        (1)

       工作人员

四. 类图脚本程序

@startumlskinparam class {    BackgroundColor F0F0F0    ArrowColor 919191    BorderColor B5B5B5}skinparam stereotypeCBackgroundColor CDC5BFpackage "图书信息"  #D6D6D6{ class 图书{  - 图书编号:string  - ISDN号:string  - 书名:string  - 作者:string  - 出版社:string  - 定价:float  - 出版日期:date } class 售卖信息{  - 图书编号:string  - 出售日期:date  - 书名:string  - 会员编号:string  - 工作人员编号:string }}package "会员信息" <> #D6D6D6{ class 会员{  - 会员编号:string  - 姓名:string  - 性别:string  - 出生日期:date  - 职业:string  - 电话:string  - 地址:string  - 邮编:int  - 邮箱:string } class 会员卡{  - 会员编号:string  - 办证日期:date  - 会员积分:string  - 会员等级:string  - 补办日期:date }}class 工作人员{- 工作人员编号:string- 姓名:string- 性别:string- 出生日期:date- 岗位:string- 学历:string- 职称:string}会员卡"1" -- "1"会员图书"1" <-left- "n"售卖信息售卖信息"n" -right-> "1"会员卡售卖信息"n" --> "1"工作人员@enduml

五.类图

转载于:https://www.cnblogs.com/Liuhuaqing/p/10701985.html

你可能感兴趣的文章
银联高校极客挑战赛 初赛 第二场
查看>>
windows更改文件打开方式
查看>>
windows10 注销 锁定
查看>>
下载文件的文件名之思考
查看>>
微信分享链接时怎样才能带上带缩略图和简介
查看>>
2019 年百度之星·程序设计大赛 - 复赛
查看>>
添加其它邮箱
查看>>
Fiji-imageJ 无法打开
查看>>
excel acm 高校排名(hdoj)
查看>>
给从论文复制的文本设置正确的格式(可设置快捷键)
查看>>
堆排序和优先队列
查看>>
非比较排序
查看>>
归并排序
查看>>
scrapy
查看>>
初学java 之 类型转化 笔记
查看>>
冒泡排序
查看>>
git使用系列 4.1 git 实践(一) pull的使用
查看>>
git 问题记录
查看>>
网站收集整理
查看>>
git使用系列 4.1 git 实践(二) push的使用
查看>>