00:00
给大家讲一下UML类图,前面我们在讲设计原则的时候,大家有发现我们经常会用到类图,所以说对这个类图呢,应当有所了解,所以说我在这给大家讲一下,如果你已经学过或者你已经掌握了右面类图这些这个知识的话呢,你可以跳过直接听设计模式,如果你没有学过右面类图,我建议大家还是听一下,因为对我们理解设计模式会有。非常大的帮助,后边我们在讲设计模式的时候,会反复的使用到,或者我们在讲设计模式的时候呢,通常都是通过UML类图来描述这个设计模式是怎么设计的,因此还是比较重要知识点,你会你就跳过,你不会就认真听。那现在我们来看一下UMUM这个是个什么东西,首先我们对UML做一个基本的介绍。右面L呢,它是统一建模语言,也就是它本身也是一种语言,这种这种语言呢,是用来建模的。
01:02
这种语言呢,跟我们传统的编程语言不一样,它是什么呢?它是用一些符号来描述的。它用符号来描述你的一些这个设计思想。说它是这样子的,它是一种用于用于软件系统分析和设计的语言工具,只是这个语言呢,不是编程语言,而是用图形来描述的。它用于帮助软件开发人员进行思考和记录思路的结果。这第一点,第2.uml呢,它有一套符号,这套符号我待会给大家介介绍一下啊,就好像我们学数学符号和化学符号一样,这些符号用于描述软件模型的各个元素它们之间的关系,比如说类接口、实现泛化、依赖、组合、聚合等。你比如说看这边这个图。这个图就是一个UML类图。那么它每个图形,包括这个呢,都有自己的含义,我跟大家看一下有哪些含义啊,我们来看一个。
02:01
嗯,就以这个图为例吧,我跟大家说一下这些图形的含义。来看一看。首先我们看这这个no。这个是用来做注释的。做注释。对什么呢?对你的优美图进行一个注释。没问题吧,好,那么我们再看这个,如果你。你拖拽用这个class拖拽一个出来,就会产生这么一个图形,这个是干什么呢?表示一个类。它表示一个类,这个类里面呢,可以添加属性。对,添加这一个属性和方法没有任何问题。那这个在下一个interface不用多说表示什么呀,表示接口。它就是表示接口的,如果说你在画类图的时候,你需要一个接口。用这个鼠标选中,选中这个。
03:02
这这个图标,图标直接往这一拖拽,就会产生一个接口。就interface接口,那下面最重要的就是这个relation,就是它的关系了。那么它一共有这么几种图形,我们分别介绍一下,In,呃,Dependency。这个表示以赖。它表示一种依赖,表示依赖你可以认为就是表示使用的意思,就是使用,就比如说我A类要使用到B类,我就代表一种依赖。那下面这个符号表示什么呢?表示关联。表示的是一种关联。比如说一对一的关系,一对N的关系,多对多的关系,对吧,这就是表示关联的一种符号,下面这个呢,表示泛化。这是表示类与类之间的泛化关系。表示泛化。泛化。那番话说的再通俗易懂一点,就是继承。啊,它就表示一种继承关系,比如说A类去继承B类就用这个符号来表示。
04:05
再下下看下面这一个,这个表示什么呢?表示实现。表示实现,后面我们都会用哈,比如说A类实现了一个接口,那么就用这个符号来表示。下面这个表示什么呢?同学们看这里。OK,这个表示的是一种聚合关系。它是表示聚合的。聚合其实是关联关系的一个特例。什么叫聚合呢?呃,打个比方。打个比方。啊,比如说比如说刚才我们讲的这个例子,它就表示一个聚合。呃,我我这换一这个我还不敢乱动哈。呃,不,我就用语言来描述,就说比假设有一个A类。注意听有个A类,A类里面呢,我有一个成员变量是B类。
05:00
有一个成员变量是B类,B类是通一个赛的方法,通过一个赛的方法给它,呃,进行这个。进进行这个传递的,那么我们就认为什么呢?就认为A类聚合了。这个B类。下面这个我们再来看,下面这个叫是表示什么呢?表示组合。它表示一个组合的关系,组合,它也是我们关联关系的一个特例。什么叫组合呢?举个例子,比如说大家看这边。比如说这个B类,这个B类他用到了一个A类,而且这个A类是new的,它的A类的一个A类是一个成员,呃,这个对象是他的一个属性,而且大家有没有发现,当B类实例化的时候,它的这个里面的这个成员变量就A也被实例化了,所以说这种关系呢,就叫组合。它的这种耦合性要比要比这个聚合要强一些,它也是我们关联的一种特例啊,关联关系这种特例,好这就是这么几个符号,大家要有所了解。
06:03
好,这个图我们先放这儿,待会儿我要用。这个图要要用哈,好,这是这是关于第二句话的解释。那用用优棉来建模呢?我们用可以用哪些工具呢?其实最常用的工具是rational Rose这个工具。这个工具呢,可以画各种各样的图。对,他还可以画画什么呢?画除了画类图,还可以画呃时序图,还可以画用力图等等。如果你觉得这个R的Rose比较重呢,也可以安装一个插件来进行来优建模,我这里就是在eclipse里面装了一个插件就可以画了,我装了一个插件就完事就,但是大家看到我这只能画一个类图,不能画别的图,对吧,那有些同学就说了。说说老师,那你这个,嗯,这个插件怎么装的呢?我这有篇文档给大家分析一下,这篇文档大家可以看。这一篇文档看一下,呃,为了画优面优优面类图呢,在eclips我们可以装安装这么一个插件,具体的步骤这样子的下面我都有写哈,第一步第二步,第二步要把这个炸包放这边来,到这边来过能重启一个clipse,重启一个clips,当我们新建六一个R的时候,下面就会出现。
07:20
这样一个选择。比如说我可以去。啊,创建类图,也可以创建时序图,创建用例图,这是活动图。我在这个地方只能创建我的。内图,如果说你要创建刚才说的用力图,你看这一点点r.R过后,大家可以看到我这也有四个选项,对吧?这是活动图,时序图,用力图。如果你点了这个呢,只能创建类图了,它是分开的。就你创建什么样的图,你就选用哪一个方式进来就可以了。好,这是关于什么呀?关于U的一个基本介绍就先说到这,很简单,说你就理解一点,就是UM,这个是一个统一建模语言,它可以画各种图形,这个图形呢,可以帮助我们对软件系统设计去进行理解,最核心的类图有哪些呢?待会我们再介绍好吧。
08:14
但是有一点要记住啊,就是这几个图标要记住,就是。这个表是啥意思?Interface表示啥意思?这几根线表示什么含义?这个要理解好,我把刚才讲的内容呢,做一个简单的板书。把刚才讲的内容做一个简单版,书在哪里,在这?我们在这儿板一下。刚才给同学们讲的是哪一块内容呢?是我们的UML类图。好的,我插入一个分页。插入一个分页,这是我们的第三章,对不对?刚才我们讲的就是关于UML的基本介绍三点。UML的基本介绍三点。
09:00
找一个哪三点。放这儿。对吧,放这就可以了,刚才呢,我这画了一个图。画了两张图,第一张图,第一张图就这张图,这张图呢,就是这这个就是接口,这是一个类实现了这个接口。Client这个虚线大家还记得什么意思吧,表示依赖,就是client这个客户端会用到这个类,还会用到这个类,这个就是note,表示一个注释的。好,这个我把这个图翻过来。大家有个印象,还有一张图,就是这张图。这张图表示的就是我们。在画类图的时候,下面的这些图标代表什么含义?后面我们都会用好都会用,还有一点呢,就是如果同学们要跟着老师也能画,比如说你听这个课的时候,我希望同学们也能动手跟老师一样,诶老师讲到,那你也能把这个类图画一下呢,建议大家安装一个插件。
10:00
安装插件,安装插件的这个方式,我这个文档里面是有的,你你就照这个文档来来来安装就行,很简单,就三步,第一步就是先把这个插件装好。想把哪个插件呢?把这个这个GF这个插件先装好,装好完了过后我们下载一个炸包,这个炸包我这也有大家看到,就这个炸包,把这个炸包里面的呃几个文件炸文件拷贝到。Eclip的这个plug in。Plug这个in这个文件夹里面去,然后重启eclipse,点击的时候就可以创建我们相应的各个UUML图了,比如说活动图、类图、时序图、用例图等,好,我把这个文档也给大家分享到这里好吧,一个是这个。我压缩一下。我把这一个文档压缩一下。压缩过,诶,他说这个在正在使用,那我先把这个关闭一下,不然压缩不了。好把这一个先。我压一下。
11:01
把这个这文件呢,我就直接放到哪里,放到我们笔记里面去。啊粘到这儿,你要用的话把它打开就可以了,好吧,把它打开就可以了,还有一个炸包,炸包我也给大家放这。复制一下直接放这就可以了,好同学们从这直接直接把它弄下来就就完事,怎么弄啊,你不要这样啊,有些同学可能是拷贝。然后粘贴这个不行啊,你这样拷贝拷贝不了,怎么怎么弄出来呢,很简单。你把鼠标移动到这个位置,双击。双双击你看啊。再再点一下双击。双击过后呢,他就会说你打开打开过后,这这里面就诶把这个先关闭,这里面就有我的炸包了,你把这个炸包选中拷贝。拷贝一下把把把它拖拽出去就可以了,好吧,嗯,这个这幅文件也是一样的方式打开,不要这样去复制啊,你复制完了过后,这边得到得到的只是一个图片而已,你要双击它再打开,比如双击打开,打开这个文档。
12:08
就可以了,好的,那同学们关于UUML的一个基本介绍,先聊到这,先聊到这。
我来说两句