UML学习(一)

1、什么是UML?

统一建模语言UML是OMG(Object Management Group)在1997年发表的图标式软件设计语言,它综合了多种当时已经存在的面向对象的建模语言、方法和过程。

2、特点:

对于一个软件系统而言,UML具有以下的重要功能:可视化功能、说明功能、建造功能和建文档功能。

2.1:可视化功能

可视化功能可以促进对问题的理解和解决,并且方便我们熟悉UML语言的设计师之间彼此的交流和沟通。

可以较容易的发现设计草图中可能的逻辑错误,保证最后完成的软件确实能按照要求运行,避免和减少错误。

2.2:说明功能

对于一个系统的说明应当通过一种通用的、精确的、没有歧义的通信机制进行,显然,UML特性使得UML很适合这种说明工作。

系统的整体设计可以指导软件的开发过程。由于重要的决定均可以在开始写代码之前就做出,因此可以减少底质量的代码,进一步降低开发成本。

2.3:建造功能

UML有它自己的开发规则,这使得人们可以通过建模软件对一个系统设计模型加以解释,并将设计模型映射到一种计算机语言上。这也就是说,使用一种建模工具可以大大加快建模和系统设计的过程。

可以通过UML可以看到总体的图像,这样一来可以均衡调配系统所消耗的资源,使系统更有效率。因为系统设计的首先完成,所以很容易就能发现可以复用的代码。代码能够高效率地实现复用,可以降低开发成本。

2.4、建文档功能

使用UML进行设计可以产生系统设计文档。

由于使用UML软件设计的系统在写出代码之前就有了专业化的设计和文档资料,所以程序员可以事先精确的指导他们的计划是什么。当需要修改一个已有的系统的时候,如果能找到当时那个系统的UML文档资料,则会节省学习时间,使工作事半功倍。这样可以降低维修成本。

如果在项目进行的过程中,有新的程序员参加项目的话,有些程序员可以借助UML图形文档资料很快熟悉开发中的系统。

3、UML包括什么?

UML包括以下图:

  • 使用案例图
  • 类图
  • 序列图
  • 合作图
  • 状态图
  • 活动图
  • 构件图
  • 部署图

在以上这些图中,案例图、类图、序列图是最为有用的。

根据这些图的用意,大体上可以分为结构型图和行为型图两种。结构型图描述了系统的静态结构,在显示一个系统已有的类及他们之间的静态关系时最为有用。行为型图描述一个系统的动态性质,在显示系统的元素如何协作产生满足要求的系统行为方面最为有用。

结构型图

 

结构型图
图的名称介绍
类图(Class Diagram)类图主要是描述一个类、包的静态结构和他们之间的静态关系
对象图(Class Diagram)对象图给出一个系统中的对象的快照
构件图(Class Diagram)描述可以部署的软件构件(比如jar文件、EJB等)之间的静态关系
部署图(Class Diagram)描述一个系统的拓扑结构

行为型图

行为型图
图的名称介绍
使用案例图(Use Cse Diagram)使用案例图描述一系列的角色和使用案例及他们之间的关系。可以用来对一个系统的最基本行为进行建模
活动图(Activity Diagram)描述不能过程之间的动态接触。活动图是使用案例图所描述的行为的具体变化
状态图(State Diagram)描述一系列对象的内部状态以及状态的变化和转移。注意两个类不能有两个不同的状态
时序图(Sequence Diagram)时序图是一种相互作用图,描述不同对象之前信息传递的时序
合作图(Collaboration Diagram)

合作图是一种相互作用图,描述发出信息、接收信息的一系列对象的组织结构

显然,描述一个设计模式的行为特性,使用状态图和时序图 比较合适。

只要有意义,所有类型的UML图都可以混合在一起使用。比如一个对象图可以和一个类图同时出现在一个结构图中,一个构件图中可以有类图的出现等等(但是有的时候,UML建模软件并不一定允许这样做)。

类图、状态图和时序图是比较常见的图。

参考书籍:JAVA与模式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值