UML总结

面试被问了几次什么是UML,什么鬼UML总结,软件工程的东西,没有学过。

查一下资料,总结一下。

百度百科:

Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、Rumbaugh和Jacobson的表示方法,而且对其作了进一步的发展,并最终统一为大众所接受的标准建模语言
Grady Booch的描述对象集合和它们之间的关系的方法。James Rumbaugh的对象建模技术(OMT)。Ivar Jacobson的包括用例方法的方式。还有其他一些想法也对UML起到了作用,UML是Booch, Rumbaugh, Jacobson。UML已经被对象管理组织(OMG)接受为标准,这个组织还制定了通用对象请求代理体系结构(CORBA),是分布式对象编程行业的领头羊。计算机辅助软件工程(CASE)产品的供应商也支持UML,并且它基本上已经被所有的软件开发产品制造商所认可,这其中包括IBM和微软(用于它的VB环境)。
UML规范用来描述建模的概念有,类(对象的)、对象、关联、职责、行为、接口、用例、包、顺序、协作,以及状态。[1] 

UML的应用场景:

这家伙干嘛用的??

对于一些不了解UML的程序员来说一听到 UML? 恩 听说过 不过没有详细研究过.....等。 但是随着现在对于项目的要求也越来越高,使用图的方式来更明确、清晰的表达项目中的架设思想、项目结构、执行顺序等 一些逻辑思维 是越来越重要和不可缺少的一部分了。

既然叫统一建模语言,关键词,统一的好处:

好处:帮助开发团队以一种可视化的方式理解系统的功能需求。
1,UML统一了各种方法对不同类型的系统、不同开发阶段以及不同内部概念的不同观点,从而有效的消除了各种建模语言之间不必要的差异。
2,UML建模能力比其它面向对象建模方法更强。它不仅适合于一般系统的开发,而且对并行、分布式系统的建模尤为适宜。
3,使用UML使硬件组件和软件组件之间将会有更大的透明度。便携性和综合效率将会增加。

UML支持从需求分析开始的软件开发的全过程。UML通过三类图形建立系统模型:用例(Use Case)图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序图、协同图、状态图、活动图),这些图可以从不同的抽象角度实现系统的可视化。

浅谈UML的概念和模型之UML九种图

   点击打开链接


总结面试中关于UML的问题:

1、什么是UML?具体包括哪些内容?

   答:标准建模语言UML。包括用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图和合作图)和实现图。

2、UML中最重要的几个图

有三种图最为重要,分别是:用例图(用来捕获需求,描述系统的功能,通过该图可以迅速的了解系统的功能模块及其关系)、类图(描述类以及类与类之间的关系,通过该图可以快速了解系统)、时序图(描述执行特定任务时对象之间的交互关系以及执行顺序,通过该图可以了解对象能接收的消息也就是说对象能够向外界提供的服务)。

用例图:用来捕获需求,描述系统的功能,通过该图可以迅速的了解系统的功能模块及其关系

UML总结


类图:描述类以及类与类之间的关系,通过该图可以快速了解系统

UML总结

  在UML类图中,常见的有以下几种关系: 泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)

具体细节见连接:点击打开链接



时序图:描述执行特定任务时对象之间的交互关系以及执行顺序,通过该图可以了解对象能接收的消息也就是说对象能够向外界提供的服务

UML总结


3. 类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述。(选择1项)

A.正确

B.不正确

解答:B

类图是对系统静态结构的描述。

4、为什么我们要使用UML?

我们了解一下软件开发的历史,才明白为什么要使用UML。

软件历史分为3个阶段:

  • 程序设计阶段【1946年~1955年 对硬件进行开发,规模很小,程序设计追求节省空间和编程技巧】
  • 软件设计阶段 【在1956年~1970年,硬件增长速度快,性价比越来越高,软件开发技术没有重大突破,软件产品的质量不高,生产效率低下,导致了“软件危机”
  • 软件工程阶段【1970年~至今,大量需求被提出,采用工程化的思想来管理软件

软件工程的目标:利用工程化的方法.在给定成本、进度的前提下,开发出具有可维护性、正确性、可移植性的软件. 提高软件产品的质量和开发效率,减少维护的困难

随着软件工程地进展,IT界想用一种语言来描述它们完成的需求,设计,但是不同的公司开发了自己的产品。

于是乎,为了统一起来,就有了OMG组织【ObjectManagementGroup对象管理组织】,这个组织让这种描述需求、设计的语言统一了,就称作是UML了。

也就是说,UML用来给我们设计,需求分析

5、使用IBM Rational

我是写不出这么好的,用前人的*走:点击打开链接