UML用例图绘制

一、plantuml用例图语法小结

1.用例

用法:用例用圆括号(),或者使用关键字来定义用例

示例1:

@startuml

(First UML)

(Another UML)as(UC1)

usecase WTL

usecase(Last UML)as UC2

@enduml

2.角色

用法:用两个冒号包裹来表示,或者通过关键字actor来定义角色

示例2

@startuml

:First role:

:Another\role:as NO1

actor wtl

actor:last role:as NO2

@enduml

3.用例描述

用法: 用双引号来定义多行的用例描述,--,==为分隔符

示例3

@startuml

usecase UC1 as"You can use

plantuml to write your uml.

--

Several separators are possible.

==

And you can add titles:

...wtl...

This allows large description."

@enduml

4.连接

用法:用箭头连接角色和用例,横杠越多箭头越长,可以在箭头定义的后面加一个冒号来添加标签

示例4

@startuml

:User:-->(Start)

:User:--->(Use the application):wtl

:Main Admin:---->(Use the application):wtl

@enduml

5.继承

用法:如果想要表示角色或者用例继承于另一个,可以用<|--符号表示

示例5

@startuml

:Main Admin:as Admin

(Use the application)as(use)

:wtl:<|--Admin

(Start)<|--(Use)

@enduml

6.使用注释

用法:可以使用note left of等关键字来给对象添加注释

示例6

@startuml

:Main Admin:as Admin

(Use the application)as(Use)

:User:->(Start)

:User:->(Use)

Admin-->(Use)

note right of Admin:wtl

note right of(Use)

wtl

end note

note"This note is wtl objects."as N2

(Start)..N2

N2..(Use)

@enduml

 7.构造类型

用法:用<<>>来定义角色或者用例的构造类型

示例7

@startuml

User<< wtl >>

:Main Database:as MySql<<wtl>>

(Start)<< wtl >>

(Use the application)as(Use)<< wtl >>

Use->(Start)

Use-->(Use)

MySql-->(Use)

@enduml

8.改变箭头方向

用法:可以用一个横杠或者点来表示水平连接,也可以通过翻转箭头来改变方向,还可以使用left,down等关键词来改变方向

示例8

@startuml

:User:->(wtl)

:User:->(wtl2)

@enduml

 

9.从左向右方向

用法:默认从上往下,可以用left to right direction来改变方向

示例9

@startuml

left to right direction

wtl1-->(Usecase1)

wtl2-->(Usecase2)

@enduml

三、绘制图书管理系统的UML用例图

1.plantuml脚本:

@satrtuml

left to right direction

skinparam packageStyle rectangle

actor 管理员

actor 读者

rectangle 图书馆系统{

:管理员:-->(办理借阅卡)

:管理员:-->(办理借书)

:管理员:-->(整理图书)

:管理员:->(逾期处理)

:管理员:-->(破损罚款)

:读者:->(办理借阅卡)

:读者:-->(办理借书)

:读者:-->(逾期处理)

:读者:-->(破损罚款)

}

:读者:-->(归还图书)

@enduml

2.用例图:

         

UML第一次作业:UML用例图绘制的更多相关文章

  1. UML与软件建模:第一次作业(用例图绘制)

    一.小结 用例图是UML用于描述软件功能的图形.用例图包括用例.参与者及其关系,用例图也可以包括注释和结束. 用例图的要素: (1)参与者,即与用例存在交互关系的系统外部实体; (2)用例,用来描述个 ...

  2. UML第一次作业

    一. 用例图:用例图(usecase diagram)是UML用于描述软件功能的图形.用例图包括用例.参与者及其关系,用例图也可以包括注释和约束.程序员要画时序图啥的用其他的比较麻烦,用plantum ...

  3. 软件工程与UML第一次作业

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE2/ 这个作业要求在哪里 https://edu.cnblogs.com/campus/f ...

  4. 软件工程UML第一次作业

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/ 这个作业要求在哪里 https://edu.cnblogs.com/campus/f ...

  5. UML与软件建模:第一次作业(UML用例图绘制)

    uml第一次作业: 用例图是什么? 用例图我感觉就是把网站中各个用户的动作分解一下,再用rational rose软件把图画出来. 画例图主要分为三个步骤:a 确定系统角色  b 确定用例  c 对用 ...

  6. UML作业第一次:UML用例图绘制

    UML第一次作业 一. 用例图:用例图(usecase diagram)是UML用于描述软件功能的图形.用例图包括用例.参与者及其关系,用例图也可以包括注释和约束.程序员要画时序图啥的用其他的比较麻烦 ...

  7. BUAA_OO第四单元总结性博客作业——UML(Floyd实现规则检查?)

    一.架构设计 1.UML第一次作业——类图 第一次作业基于不同element在UML规格中的从属关系来设计架构.继承了UmlInteraction接口的MyUmlInteraction类是主要的交互层 ...

  8. [福大软工] Z班 团队作业——UML设计 作业成绩

    团队作业--UML设计 作业链接 http://www.cnblogs.com/easteast/p/7745703.html 作业要求 1)团队分工(5分) 描述团队的每个成员分别完成了UML图的哪 ...

  9. UML基础系列:用例图

    1. 概述 用例图(Use Case Diagram)描述“用户.需求.系统功能单元”之间的关系,是参与者所能观察和使用到的系统功能模型图. 用例图用于需求分析阶段 用例图包含6个基本元素:参与者(A ...

随机推荐

  1. 二叉树之AVL树

    高度为 h 的 AVL 树,节点数 N 最多2^h − 1: 最少N(h)=N(h− 1) +N(h− 2) + 1. 最少节点数n 如以斐波那契数列可以用数学归纳法证明: 即: N(0) = 0 ( ...

  2. day2 购物车

    需求: 商家入口: 1.商品列表永久保存(暂时使用存储在文件,也可以使用sqlite)里. 2.商家可以增加商品,也可以修改商品价格 买家入口: 1.购物车信息永久保存,暂时使用存储在文件,也可以使用 ...

  3. JavaScript instanceof 运算符

    instanceof运算符简介 在 JavaScript 中 判断一个变量的类型常常会用 typeof 运算符 判断一个实例是否属于某种类型会使用instanceof 与 typeof 方法不同的是, ...

  4. 缺少新的栈标识:报出异常FLAG_ACTIVITY_NEW_TASK flag-是由于activity关闭之后开启一个新的acitivity时没有标识在栈中,所以需要给一个栈标识

    异常(栈里必须有activity的flag标识): 05-02 08:43:36.173: E/AndroidRuntime(3328): android.util.AndroidRuntimeExc ...

  5. onmouseover与onmouseenter区别

    1.onmouseover.onmouseout:鼠标经过时自身触发事件,经过其子元素时也触发该事件:(父亲有的东西,儿子也有) ,支持冒泡 2.onmouseenter.onmouseleave:鼠 ...

  6. js jquery 正则去空字符

    1.正则去空字符串: var str1=" a b c "; var strtrim=str1.replace(/\s/g,""); 2.js去前后空字符串: ...

  7. python enumerate用法总结

    enumerate()说明enumerate()是python的内置函数enumerate在字典上是枚举.列举的意思对于一个可迭代的(iterable)/可遍历的对象(如列表.字符串),enumera ...

  8. eclipse代码自动补全。

    打开 Eclipse -> Window -> Perferences 找到Java 下的 Editor 下的 Content Assist , 右边出现的选项中,有一个Auto acti ...

  9. j2ee第五周

    一.AJAX技术 AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.它有机地包含了以下几种 ...

  10. Java 使用 Redis存储系统

    redis是一个key-value存储系统.它支持存储的value类型很多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希 ...