UML之九种图分析

    前边的博客已经分别讨论了UML的九种图(重点介绍了六个),但是,讨论完以后,这些图还只是孤立的模型,怎么把它们联系起来呢?它们之间是什么关系?通过这篇博客来分析这些图的关系。

         我们从它的用途开始。这九种图来源于哪?UMLUML是什么?可视化的建模语言,通俗点,它就是一个工具,帮助我们了解、研究、开发系统的建模工具。既然是帮助我们了解和研究系统,我们都从系统的哪些方面开始研究呢?系统的硬件模型和软件模型,外部模型和内部模型,整体模型和局部模型,静态模型和动态模型等等;

         本着发现问题解决问题的目的,我们依次来解决这些问题。硬件模型由部署图实现,软件模型包括剩余的八种图;外部模型由部署图、构件图、用例图、包图实现,内部模型由类图、活动图、状态图、顺序图协作图实现;动态模型由行为图和交互图实现,静态模型由类图、对象图、包图、构件图、部署图和用例图完成。可见,UML的九种图可以满足所有的模型要求,从系统的角度来说,UML可以完整的从各个方面来描述它,这是一个功能强大的工具。


   

         UML既然是工具,就是要为用户服务的,我们从用户的角度来考虑问题。系统的用户包括两部分,系统开发者和系统使用者,系统使用者只需要简单的整体使用说明即可,所以系统使用者的要求需要部署图和构件图;对于系统开发者来说,比较复杂,因为系统开发人员分为很多类,各类人员对于系统的层次要求是不一样的,系统的分析员需要用到用例图和类图、顺序图、协作图、状态图、活动图;系统设计人员需要用到类图、包图;系统实施人员则需要用到类图;测试人员需要用到类图、包图、构件图、协作图。系统开发者和使用者需要使用用例图进行交流。

 

         再从软件工程的角度来分析这些图,从需求开始,需求了解需要用用例图和客户交流,以确定系统功能;系统分析需要使用类图描述系统静态结构,行为图和交互图来描述系统动态行为,通过系统分析来明确系统细节;系统设计需要使用类图和包图,这个阶段需要设计类的接口并就系统的细节问题给出解决方案;实现阶段需要用到类图,程序员需要将类用面向对象语言实现;测试阶段会用到类图、包图、构件图、协作图、用例图,不同的测试阶段,测试内容和测试用途也不一样。


    最后用对比的方法来分析这些图,顺序图和协作图,这两个图属于交互图,主要描述系统的动态行为,顺序图强调消息传递的时间顺序,协作图则强调对象之间的交互关系,顺序图的预期使用人员是系统分析人员,协作图的预期使用人员是系统分析人员和测试人员,这两个图是可以相互转换的。

顺序图举例:


协作图举例:


        活动图和状态图,这两个图都属于行为图,主要描述系统的活动状态,状态图强调系统在某时刻所处的状态,活动图强调系统在某段时间内所发生发生的变化,活动图的预期使用对象是系统分析人员,状态图的预期使用人员也是分析人员,这两个图不可以相互转换。

活动图举例:


状态图举例:


        部署图和构件图,这两个图都属于实现图,属于集成与交付阶段,部署图强调硬件设备及其相互关系,构件图则是其他元素的物理实现,部署图的预期使用对象是客户,构件图的预期使用搞对象是系统测试人员。

部署图举例:


构件图举例:


         最后分析类图,用例图,包图,对象图,用例图是需求人员和客户的沟通桥梁,它是系统开发人员和客户达成的功能上的某种协议,类图是系统实现的基本的单元,也是面向对象程序设计的标准构件,对象是类的实例化,包图可以理解为类、对象的集合。

用例图举例:


类图举例:


        纸上得来终觉浅,绝知此事要躬行。以上这些,算是UML的理论分析,更多的知识和心得需要通过天量的练习来获得了。


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值