UML标准建模语言
2016-07-05 16:21
288 查看
UML:Unified Modeling Language,统一建模语言(标准建模语言)。
内容预览:
下图中任务形状的图像元素表示的是使用者,椭圆形表示的是用例,他们之间的连线则表示了他们的关系。图中描述注册用户和签约用户与4大用例之间的关系。
使用者和用例之间的关系比较直接,一般都是有直接关系。用例之间的关系有三种:
泛化关系
扩展关系
包含关系
类与类之间的关系有4中:
依赖关系
关联关系
聚合关系
组合关系
文章开头的思维导图上已经标记对他们做了相应的解释。他们的符号表示如下:
下图举例表示类图关系的具体使用方式,图中,Vehicle类表示一个机动车的抽象类,由他派生出两个子类,分别为Auto和Bicycle。
又有一个Person的抽象类,由他派生出两个子类,分别为Man和Woman。
Person和Auto,Bicycle之间都是直接关联的关系。一个人可以对应多个Auto或者Bicycle。
由上图可以看出,有些时候一个好图,胜过很多的文字解释。图可以将食物表述的更加清楚。
下面举一个例子说明ATM刷卡过程的流程图。
这里有点不同的是用一个“导轨”将两个系统进行区分。
内容预览:
1. UML用例图
UML用例图是用来描述使用者,用例之间关系的一种UML图。一般使用在项目初期,用于描述客户的需求,分析客户所描述的功能。下图中任务形状的图像元素表示的是使用者,椭圆形表示的是用例,他们之间的连线则表示了他们的关系。图中描述注册用户和签约用户与4大用例之间的关系。
使用者和用例之间的关系比较直接,一般都是有直接关系。用例之间的关系有三种:
泛化关系
扩展关系
包含关系
1.1 泛化关系
上图中的4中支付方式和”支付”之间的关系就是属于泛化关系,泛化关系就是对相似的一类事物的抽象。对应于编程中的抽象类的意思。1.2 扩展关系
扩展关系表示的是:在一定的条件下,使用者使用用例会扩展使用另一个用例。下面为例:比如一个学生成绩登记系统,登记分数的教师登记分数,如果该学生的成绩不及格,那个就扩展的去打印补考通知单。1.3 包含关系
一个用例中会包含另外用例,这种关系称之为包含关系。下图为例,辅导员添加会使用三个用例来操作学生信息,其中操作学生信息的用例中又都会去调用更新数据库的用例。2.类图
类图表示的是类与类之间的关系,这个在设计模式学习中是使用最多的一种图。类与类之间的关系有4中:
依赖关系
关联关系
聚合关系
组合关系
文章开头的思维导图上已经标记对他们做了相应的解释。他们的符号表示如下:
下图举例表示类图关系的具体使用方式,图中,Vehicle类表示一个机动车的抽象类,由他派生出两个子类,分别为Auto和Bicycle。
又有一个Person的抽象类,由他派生出两个子类,分别为Man和Woman。
Person和Auto,Bicycle之间都是直接关联的关系。一个人可以对应多个Auto或者Bicycle。
由上图可以看出,有些时候一个好图,胜过很多的文字解释。图可以将食物表述的更加清楚。
3. 时序图
时序图表示的随着时间的顺序,对象之间的相关作用关系。最典型的时序图就是TCPIP的三次握手过程和四次挥手过程。下面举一个例子说明ATM刷卡过程的流程图。
4. 活动图(流程图)
流程图在算法的设计中经常会被使用,StarUML工具绘制流程图也是相当的好用!流程图的具体含义不用过多的解释。这里有点不同的是用一个“导轨”将两个系统进行区分。
总结
绘制UML图的目的是为了让问题的描述变得清晰,并不是为了绘图而去绘图。所以对于使用不常见的UML图在需要的时候在进行相关的学习。相关文章推荐
- 我们无法创建新的分区
- 项目开发和管理需要弄清楚的6个问题
- win8系统取消微软账号登录
- tomcat启动服务闪退的问题
- Stack Overflow大揭密:哪一种程序员工资最高?
- java静态代理和动态代理
- WIX心得
- 利用宏定义中的##实现函数模板的作用
- php中的基类,派生类
- Spring Data Repository有趣的定义query方法
- SQL语句备份和恢复
- 当用到反射的程序部署时出现System.Data - System.Reflection.ReflectionTypeLoadException: Unable to load one or more
- Oracle Create Sequence
- 计算机组成原理要点 唐朔飞版2
- JQuery技巧|教你如何更快的赋值取值
- web产品浏览器兼容性问题你有考虑到吗?
- 分页插件jBootstrapPage
- 自调用匿名函数的三种写法
- Entity Framework Code-First(7):Inheritance Strategy
- Java多线程基础-2-简单继承Thread,实现Runnable例子