﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-weidagang2046的专栏-文章分类-UML</title><link>http://www.blogjava.net/weidagang2046/category/13823.html</link><description>物格而后知致</description><language>zh-cn</language><lastBuildDate>Wed, 28 Feb 2007 07:42:26 GMT</lastBuildDate><pubDate>Wed, 28 Feb 2007 07:42:26 GMT</pubDate><ttl>60</ttl><item><title>软件设计起步：画UML类图 </title><link>http://www.blogjava.net/weidagang2046/articles/62055.html</link><dc:creator>weidagang2046</dc:creator><author>weidagang2046</author><pubDate>Sun, 06 Aug 2006 08:48:00 GMT</pubDate><guid>http://www.blogjava.net/weidagang2046/articles/62055.html</guid><wfw:comment>http://www.blogjava.net/weidagang2046/comments/62055.html</wfw:comment><comments>http://www.blogjava.net/weidagang2046/articles/62055.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/weidagang2046/comments/commentRss/62055.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/weidagang2046/services/trackbacks/62055.html</trackback:ping><description><![CDATA[      <span>学习设计模式，画</span><span lang="EN-US">UML</span><span>类图是基础，通过</span><span lang="EN-US">UML</span><span>类图，能更好地和大家交流，也能很容易就表达出自己的设计想法，它就好比普通话，是一种标准语言。</span><p><span lang="EN-US"><span>       </span><span>现在流行的主要工具有两种：</span><span lang="EN-US">Rational Rose </span><span>和</span><span lang="EN-US">Microsoft Visio</span><span>，这两种工具都比较易用，选择哪种工具就看个人的喜好了。本人对</span><span lang="EN-US">Microsoft</span><span>的软件比较有好感，所以自然</span><span lang="EN-US">Microsoft Visio 2003</span><span>是我的首选。</span></span></p><p><span lang="EN-US"><span>       </span>UML</span><span>类图常用元素。</span></p><p><b><span>类：</span></b><b></b></p><p><span lang="EN-US"><span>       </span><span>类是一种复杂的数据类型，它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。</span></span></p><p align="center"></p><p><span lang="EN-US"><span>             <br />      <img height="118" hspace="5" src="http://goodcandle.cnblogs.com/images/cnblogs_com/goodcandle/class.gif" width="438" align="baseline" /><br /></span>        CPerson</span><span>是一个抽象类，它是不能被实例化的，而</span><span lang="EN-US">CFamily</span><span>可以被实例化。</span></p><p><span lang="EN-US"></span></p><p><b><span>接口：</span></b><b></b></p><p><b><span lang="EN-US"><span>       </span></span></b><span>接口是被调用者调用的一组操作方法。</span></p><p align="center"></p><p><span lang="EN-US"><span><img height="95" hspace="0" src="http://goodcandle.cnblogs.com/images/cnblogs_com/goodcandle/Interface.gif" width="180" />       <br /></span><span>    其实</span><span lang="EN-US">CPerson</span><span>也可以作为接口。</span></span></p><p><span lang="EN-US"></span> </p><p><span lang="EN-US"><span>       </span>UML</span><span>类图中常见的几种关系。</span></p><p><b><span>泛化（</span></b><b><span lang="EN-US">Generalization</span></b><b><span>）：</span></b><b></b></p><p><b><span lang="EN-US"><span>       </span></span></b><span>一句话，就是继承的表示。是</span><span lang="EN-US">is-a</span><span>的关系。<br /><img height="221" hspace="0" src="http://goodcandle.cnblogs.com/images/cnblogs_com/goodcandle/fanhua.gif" width="175" /><br /></span></p><p align="center"></p><p><b><span>依赖（</span></b><b><span lang="EN-US">Dependency</span></b><b><span>）</span></b><b><span lang="EN-US">:</span></b></p><p><b><span lang="EN-US"><span>       </span></span></b><span>依赖是一种使用关系，它说明一个事物规范的变化可能影响到使用它的另一个事务，但反之则不然。</span><span>依赖关系的表示法是虚线箭头，箭头尾部的元素依赖箭头头部的元素，是</span><span lang="EN-US">use-a</span><span>的关系。<br /></span></p><p align="center"></p><p><b><span><img height="90" hspace="0" src="http://goodcandle.cnblogs.com/images/cnblogs_com/goodcandle/dependency.gif" width="600" /><br />关联（</span></b><b><span lang="EN-US">Association</span></b><b><span>）：</span></b><b></b></p><p><b><span lang="EN-US"><span>       </span></span></b><span>用于描述类与类之间的连接，是</span><span lang="EN-US">has­-a</span><span>的关系。<br /></span><b><span><img height="112" hspace="0" src="http://goodcandle.cnblogs.com/images/cnblogs_com/goodcandle/guanlian.gif" width="508" /><br />聚合（</span></b><b><span lang="EN-US">Aggregation</span></b><b><span>）：</span></b><b></b></p><p><span lang="EN-US"><span>       </span><span>聚合是关联的特例。如果类与类之间的关系具有“整体和局部”的特点，则把这样的关联称为聚合。它往往有“包含”，“由……组成”的意思。<br /></span><span lang="EN-US"><img height="168" hspace="0" src="http://goodcandle.cnblogs.com/images/cnblogs_com/goodcandle/juhe.gif" width="271" /> </span></span></p><span lang="EN-US"><span>       </span><span>我这里举的都是平时画</span><span lang="EN-US">UML</span><span>图时常用的几种情况，当然</span><span lang="EN-US">UML</span><span>还有很多知识我没有了解，比如关联就有许多种。还是需要继续学习，</span><span lang="EN-US">Good good study, Day day up<img src="http://goodcandle.cnblogs.com/Emoticons/emsmile.gif" align="absMiddle" border="0" /></span><span>。</span></span><br /><br />from: <a href="http://goodcandle.cnblogs.com/archive/2005/10/19/258015.aspx">http://goodcandle.cnblogs.com/archive/2005/10/19/258015.aspx</a><img src ="http://www.blogjava.net/weidagang2046/aggbug/62055.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/weidagang2046/" target="_blank">weidagang2046</a> 2006-08-06 16:48 <a href="http://www.blogjava.net/weidagang2046/articles/62055.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>