iLeichun

当前位置:首页

UML类图依赖关系和其他关系区别

分类:软件工程  来源:网络  时间:2010-11-8 23:54:37

本节和大家学习一下UML类图依赖关系和其他关系区别,UML类图中的关系分为四种,这里向大家一一介绍,相信通过本节的介绍你对UML类图依赖关系以及其他几种关系有明确的认识。

UML类图依赖关系和其他关系区别

UML类图中的关系分为四种:UML类图依赖关系、泛化关系、关联关系、实现关系;关联关系又可以细化为聚合和组合。

1. 泛化(Generalization)

泛化是父类和子类之间的关系,子类继承父类的所有结构和行为。在子类中可以增加新的结构和行为,也可以覆写父类的行为。
                          

2. 依赖(Dependencies)

UML类图依赖关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的事物,反之不成立。在你想显示一个事物使用另一个事物时使用,两个元素之间的一种关系,其中一个元素(服务者)的变化将影响另一个元素(客户),或向它(客户)提供所需信息。它是一种组成不同模型关系的简便方法。依赖表示两个或多个模型元素之间语义上的关系。它只将模型元素本身连接起来而不需要用一组实例来表达它的意思。它表示了这样一种情形,提供者的某些变化会要求或指示依赖关系中客户的变化。

根据这个定义,关联和泛化都是依赖关系,但是它们有更特别的语义,故它们有自己的名字和详细的语义。我们通常用依赖这个词来指其他的关系。依赖用一个从客户指向提供者的虚箭头表示,用一个构造型的关键字来区分它的种类,通常情况下,UML类图依赖关系体现在某个类的方法使用另一个类作为参数 。
       

3. 关联(Association)

关联是一种结构化的关系,指一种对象和另一种对象有联系。给定有关联的两个类,可以从一个类的对象得到另一个类的对象。关联有两元关系和多元关系。两元关系是指一种一对一的关系,多元关系是一对多或多对一的关系。一般用实线连接有关联的同一个类或不同的两个类。当你想要表示结构化关系时使用关联,如果几个类元的实例之间有联系,那么这几个类元之间的语义关系即关联。关联描述了系统中对象或实例之间的离散连接。

关联将一个含有两个或多个有序表的类元,在允许复制的情况下连接起来。最普通的关联是一对类元之间的二元关联。关联的实例之一是链。每个链由一组对象(一个有序列表)构成,每个对象来自于相应的类。二元链包含一对对象。关联带有系统中各个对象之间关系的信息。当系统执行时,对象之间的连接被建立和销毁。关联关系是整个系统中使用的“胶粘剂”,如果没有它,那么只剩下不能一起工作的孤立的类。在关联中如果同一个类出现不止一次,那么一个单独的对象就可以与自己关联。如果同一个类在一个关联中出现两次,那么两个实例就不必是同一个对象,通常的情况都如此。二元关联用一条连接两个类的连线表示。

聚集表示部分与整体关系的关联,它用端点带有空菱形的线段表示,空菱形与聚集类相连接。组成是更强形式的关联,整体有管理部分的特有的职责,它用一个实菱形物附在组成端表示。每个表示部分的类与表示整体的类之间有单独的关联,但是为了方便起见,连线结合在一起,现在整组关联就像一棵树。

关联关系是通过类的成员变量 来实现的 。下面看一下UML类图依赖关系和聚合的联系。                   

3.1 聚合(Aggregation)

聚合是一种特殊的关联。它描述了“has a”关系,表示整体对象拥有部分对象。

来源:(http://blog.sina.com.cn/s/blog_4c4d6e740100aixn.html) - UML类图中的关系_匆匆路人_新浪博客
关联关系和聚合关系来语法上是没办法区分的,从语义 上才能更好的区分两者的区别。聚合是较强的关联关系,强调的是整体与部分 之间的关系。

与关联关系一样,聚合关系也是通过类的成员变量 来实现的。               

3.2 组合(Composition)

组合是聚合的一种形式,它具有更强的拥有关系,强调整体与部分的生命周期 是一致的。整体负责部分的生命周期的管理。如果整体被销毁,部分也必须跟着一起被销毁,如果所有者被复制,部分也必须一起被复制。

与关联关系一样,组合关系也是通过类的成员变量 来实现的。  

4. 实现(Realization)

实现关系指定两个实体之间的一个合约。换言之,一个实体定义一个 合约 ,而另一个实体保证履行该 合约 。

警惕常见骗术

分类:默认分类  来源:网络  时间:2010-11-8 12:40:45

手机短信6+1这个是假的,我以前暗访过这个,只要把电话打过来,就要你交报名费。这和说你的QQ号码中奖了,奖给你一台电脑,但是需要你先交邮寄费是一样的。
  还有一些骗子上门通知你要上6+1,说是他们随机抽取到了你的地址为幸运观众,要你缴纳报名费。
  这些骗子非常可憎,无孔不入。大家一定要提放。
  
  还有一种骗子给你发短信,让你把钱打到什么什么卡号上,说是他的卡号换了,新换成这个。就是这样拙劣的骗术也有人相信了。我曾经接到过一个这样的爆料,有一个女士正准备汇兑钱,就突然接到了一个这样的短信,立即就把钱汇了过去。这属于小概率事件,但是骗子就连这样的小概率也不放过。
  
  还有一种短信说你的车子违章了,要求你把钱打到某某账号上,否则就要扣押你的车子,结尾署名交警大队,还有交警大队的查询电话。如果你打电话过去,真的是交警大队。还真的有人不敢再问,就把钱打到了那个账号上。其实这是骗子搞的呼叫转移。
  
  还有的短信说你中奖了,回返给你200元话费,详情请咨询什么什么电话。这也是假的。如果你是移动,那么短信只有来自10068,详情电话只有咨询10068,才会是真的。如果你是连通,只有10010发送的短信,才是真的。但是这些10068和10010一般发的是哪里开业的短信,绝对不会给你发话费返还几百元的短信。
  
  还有的短信说你的朋友给你点了一首歌曲,详情请拨打什么什么号码咨询,这也是骗局,骗的是你的话费,你拨打过去,一分钟就是一元以上。

色狼的正确理解

分类:默认分类  来源:网络  时间:2010-11-6 16:46:22

 

  世人都看不起色狼,恨不能群起而诛之,如今,我要为色狼说两句公道话。

  其实,色狼是很可敬的,色狼善于发现美,善于从寻常的琐事中发现MM们优秀的品质,当俗人们在为油盐忙忙碌碌的时 候,色狼们却不顾疲倦地为世界寻找着美。

  色狼敢于追求美,有为了美而献身的勇气,试问在现在这个物欲横流的社会中,还有什么人肯为了美而付出一切。只有色狼,色狼们的动机是单纯的,目的是明确的,不是为了工作、房子、金钱,只是为了美。所以说,色狼们是唯美主义者,是理想主义者。

  色狼们对于提高MM们的自信心有着不可磨灭的贡献,很多MM就象没有打磨过的美玉,一直对自己缺少自信,这时候,是我们可爱的色狼同志们,在MM之前发现了MM们身上的闪光点,于是,MM的自信心得到了前所未有的提高。色狼也是可怜的,很多次,当色狼们发现一只温柔可爱的绵羊,色狼理理狼毛,舔狼爪,刚刚想对可爱的绵羊“噢~~~噢~~”的叫两句,这时候,从绵羊身后却冒出一只体形巨大,齿尖爪利的牧羊狗,对着色狼“汪~~汪”两声,于是,色狼们只好夹着尾巴走了。色狼们也是很可悲的,世人只道是绵羊是色狼的猎物,这真是谬论,君须知,真正来说,都是绵羊把色狼玩弄于股掌之上的,可爱的MM羊们说一字可以令色狼如浴春风,也可以如身入地狱。当MM羊们烦了的时候,还会拿色狼出气,一句“我不喜欢你,你自做多情”就可以让色狼们心碎。

  色狼们受的也是很不公平的待遇,多少年了,一说色狼,人们就会把同情给绵羊,把鄙夷给色狼们。This is unfair!唉!暮春三月,羊欢草长,世人怜羊,狼心独怆......

  纵观色狼们的一生,是发现美,追求美的一生。是悲剧的一生,是一无所得的一生。

  为色狼平反!为色狼平反!!为色狼平反!!!

莫生气

分类:默认分类  来源:网络  时间:2010-11-6 16:43:51

人生就像一场戏   因为有缘才相聚

相扶到老不容易   是否更该去珍惜

为了小事发脾气   回头想想又何必

别人生气我不气    气出病来无人替

我若气死谁如意   况且伤神又费力

邻居亲朋不要比   儿孙琐事由他去

吃苦享乐在一起   神仙羡慕好伴侣

至少还有你(考试作弊版)

分类:默认分类  来源:网络  时间:2010-11-6 16:42:47

        我怕不及格,我要靠著你
  直到看著你的试卷,有了墨水的痕迹
  直到肯定你有自信
  直到全部抄袭
  抄了后,我高兴
  做也不会做,也要看著你
  直到感觉你的笑颜,有了做对的表情
  直到视线变得清晰
  直到全部看清
  让我们越坐越近
  如果监考官有时可以出去
  至少我还能┅┅
  抄得比较安心
  而他在这里┅┅
  就是抄袭的阻力
  也许考试铃马上就要响起
  就是不愿意
  放弃最后的生机
  我没抄的题
  我总记得在哪里

男人这辈子挺难的

分类:默认分类  来源:网络  时间:2010-11-6 16:42:01

男人这辈子挺难的:  
找个漂亮女人吧,太操心,
找个不漂亮的吧,又不甘心;  
光顾事业了,人家说你没责任感,  
光顾家了,人家又说你没本事;  
专一点吧,人家说你不成熟; 
花心点吧,人家说你是禽兽;  
有钱,说你是坏人,  
没有钱,人家骂你窝囊废;  
自己奋斗吧,等有钱了女友也老了,  
让女人养吧,不如自宫练葵花宝典算了。  
不去应酬,怕被老板废了,
去应酬吧,怕被老婆废了。
哎!这年月做男人真难。
女人可以等嫁,俺们等啥呀?
女人还有个三八节,俺们有啥呀?
祝所有大老爷们自安天命!     
男人这辈子挺难的: 
长帅点吧,太抢手,
不帅吧,拿不出手;
活泼点吧,说你太油, 
不出声吧,说你太闷; 
穿西装吧,说你太严肃,
穿随便一点吧,说你乡吧佬; 
会挣钱吧,怕你包二奶; 
不挣钱吧,又怕孩子断奶
结婚吧,怕自己后悔;
不 结婚吧,怕她后悔, 
要个孩子吧,怕出来没钱养, 
不要孩子吧,怕老了没人养。 
这年头做女人难,做男人更难,

卫视的图标都代表了什么涵义

分类:默认分类  来源:网络  时间:2010-11-6 15:18:20

卫视的图标都代表了什么涵义:各电视台台标图案大约可包含下面几种涵义的:

一、各电视台名称的拼音缩写

这大概是最普遍的台标吧。中央电视台的cctv是最直白的,没多大花哨,一目了然。而其他各台的拼音缩写多多少少是含在图案的变化中的。

大致的有:

浙江台,蓝色的小方框里有个白色斜体的z,zjtv都在其中,色彩明了大方;

广西台,黄色的G里含着一个小星,隐约可见x;

山东台,是个横着的s,只是色彩并不如何。

江苏台,与浙江台相似,红色的菱形里有变体的s,是js的化身;

还有重庆台的比较有意思,CQTV的Q中有个地球不断旋转,别具一格。

还有江西台、贵州台等等台标皆出于此。

二、取其电视台台名的中文形

山东台,横着的s是个草书的山字,既有拼音又含中文字;

四川台,是个草书的四字。

引申的还有凤凰台。凤凰台的台标图案取其名,是由凤尾组成的圈,很大气简洁,与该台风相似。

大约由于中文字的繁复,很难用一个简单的图形来表达出来,所以台标中用中文字的好象还是不是很多。

三、取各地文化,包括地方特色各地盛产物种之类的

河南台。我一直纳闷河南台台标的含义,后有人指点,河南本是中原地区,中华文化发源地,几千年前有大象,遂台标中间是一大象形状,暗喻河南渊源流长的文化。后来再仔细端详该台标,见中间的图形确似大象。河南台台标是否这般含义,望大家指点。

云南台。台标图形是细长的孔雀飞翔形成的圈。云南的孔雀颇负盛名,更何况还出了个专跳孔雀舞的新梅超风杨丽萍。

河北台。是一长城的图形,这个就不必多说了吧。

辽宁台。记得很久以前看是个北斗七星,也不知现在还是不是这个台标。我想也许是因为辽宁的地处位置,才有这个台标的创意吧。不过对其深义也一直觉得有点疑惑。

上海东方台,旭日海鸥的台标,使得上海这座港口城市生动形象。

杭州电视台。去年杭州电视台改版,于是台标重设。现台标用的是杭州的特色之一三潭印月,尤其是水墨画的设计风格和点睛之笔,显出杭州古城的雅意。可作为台标,显得不够简洁和突显。
测。

湖南台的台标是代表鱼米之乡,是鱼的样子,也是谷的样子

Java通过JDBC调用MYSQL存储过程实现分页

分类:J2EE  来源:网络  时间:2010-11-5 23:21:49

本文的代码讲解Java通过JDBC调用MYSQL存储过程实现分页,存储过程的一个特点是运行效率较高。

  1. import java.sql.CallableStatement;   
  2. import java.sql.Connection;   
  3. import java.sql.DriverManager;   
  4. import java.sql.ResultSet;   
  5. import java.sql.SQLException;   
  6. import org.junit.Test;   
  7.   
  8. public class Test2 {   
  9.   
  10.     @Test  
  11.     public void test() throws SQLException {   
  12.         Connection conn = null;   
  13.         ResultSet rs = null;   
  14.         CallableStatement cstmt = null;   
  15.         try {   
  16.             Class.forName("com.mysql.jdbc.Driver");   
  17.             conn = DriverManager.getConnection(   
  18.                     "jdbc:mysql://localhost/test",   
  19.                     "root""root");   
  20.             cstmt = conn.prepareCall("{call pro_pager(?,?,?,?,?)}");   
  21.             cstmt.setInt(1111111111);   
  22.             cstmt.setInt(21);   
  23.             cstmt.setString(3"select * from student");   
  24.             cstmt.registerOutParameter(41);   
  25.             cstmt.registerOutParameter(51);   
  26.             cstmt.execute();   
  27.             System.out.println("共" + cstmt.getObject(4) + "条");   
  28.             System.out.println("共" + cstmt.getObject(5) + "页");   
  29.             rs = cstmt.getResultSet();   
  30.             while (rs.next()) {   
  31.                 System.out.print(rs.getString("id") + "----");   
  32.                 System.out.print(rs.getString("name") + "----");   
  33.                 System.out.println(rs.getString("age"));   
  34.             }   
  35.         } catch (ClassNotFoundException e) {   
  36.             e.printStackTrace();   
  37.         } catch (SQLException e) {   
  38.             e.printStackTrace();   
  39.         } finally {   
  40.             cstmt.close();   
  41.             conn.close();   
  42.         }   
  43.     }   
  44. }  

腾讯向360投出原子弹,360被迫退让

分类:个人日志  来源:网络  时间:2010-11-4 23:28:09
        (我仅以一名IT爱好者的名义写下本文,以表示对互联网的关注与支持,感谢您对下文的继续阅读。)
360与腾讯之战一个多月来,已经对互联网的健康稳定发展产生了不良影响,同时受到影响的还有众多的用户。然而却以腾讯于昨天发出的《致广大QQ用户的一封信》达到了此次战争史无前例的高潮,腾讯的做法显然只能让用户从QQ和360二者中选择其一。
 
9月27日,360公司推出“隐私保护器”,专门曝光窥私软件,而该软件目前仅支持监控一款软件,即腾讯即时通讯QQ软件。360安全卫士公开向腾讯宣战的起因是中秋节期间,QQ用户发现其使用的旧版QQ软件管理和QQ医生自动升级为QQ电脑管家,众多QQ用户对此不满的是安装过程中并未收到任何告知信息,被诸多人士评价为一次“强行捆绑的流氓行为”。
此事引起业内诸多人士关注,也被认为是腾讯继QQ医生后,希望借助强行捆绑继续抢夺安全市场领域的一次布局。业内人士认为,背靠强大的IM工具QQ,此种强推手段无疑会引起其最大竞争对手360安全卫士的紧张。
  360安全卫士并未对此次腾讯的进攻示弱。今日早间其发布“360隐私保护器”,其针对的软件目前只有一个即腾讯QQ。
  “此次发布的360隐私保护器第一版,目前仅支持用户投诉最多、覆盖量最大的即时通讯软件QQ(TM暂不支持)。该软件为绿色软件,会默认安装在用户电脑桌面,如需卸载只要将文件夹删除即可。”360安全卫士表示。

  360隐私保护器直指腾讯QQ
  据测试,启动360隐私保护期后,其显示“本工具将监督并记录其他软件对您电脑内隐私文件的窥视”,并在5分钟内检测出多少个文件或目录被QQ查看过。并将建议用户将360隐私保护期“一直开着,实时进行检测”。(更多请看原文……http://www.enet.com.cn/article/2010/0928/A20100928741116.shtml 
 
分析
腾讯昨天发出的第一封公开信,对360来说好像二战中美国投在广岛的原子弹一样,如果360还不“投降”将面临“亡国”的考验。虽然这两种软件在国内都占据着相似比例的庞大用户群,但从不同的角度分析有不同看法:
一、用户的角度。QQ和360对用户的影响都很大,甚至对不少用户来说是不可或缺的。然而用户对QQ的依赖性却远高于360,为此当让用户做出艰难选择的时候,更多用户将忍痛割爱地卸载360。为了电脑的安全,将有其他免费安全类软件进驻用户电脑以弥补对360的依依不舍。
二、360角度。腾讯的这个决定无疑对360的影响是最大的,这也是腾讯行动的主要动机。如果360不做出任何选择,将面对大量用户卸载360的惨面。
三、腾讯角度。然而并不是所用用户都会选择卸载360,我认为还有不少用户在支持360。这样腾讯也将面临经济损失,同时用户对它的做法也将产生不良情绪,公司形象将受到不同程度的影响。
四、其他安全软件厂商。这对于其他安全类软件厂商进军广大用户的毫无疑问是一个很好的机会,例如金山毒霸今天宣布免费一年就是一个很好的例子。
 
行动跟踪
9月27日,360公司推出“隐私保护器”。
10月27日下午消息 金山联合百度、腾讯、傲游、可牛等来自互联网公司共同发表了一份《反对360不正当竞争及加强行业自律的联合声明》,反对360的的不正当竞争行为。
2010年10月29日360公司在京宣布,推出一款名为“扣扣保镖”的安全工具,全面保护QQ用户的安全,包括防止隐私泄漏、防止木马盗取QQ帐号以及给QQ加速等功能。
11月3日
腾讯《致广大QQ用户的一封信》。
360《腾讯要挟用户卸载360 360将保证和QQ同时正常使用
360《反抗QQ霸权,需要你的力量!——360致网民的紧急求助信
11月4日
360宣布召回扣扣保镖。
金山独霸宣布免费一年。
QQ群,各大贴吧,论坛,网站均出现关于对360和腾讯的看法,更引人注目的是出现了很多用“做出了一个艰难的决定”的造句大赛。
腾讯《难以承受之痛的背后——致QQ用户的第二封信》。
360《360致用户的一封公开信
360《360驳斥腾讯有关扣扣保镖的谣言
 
期待
不管怎么说,我还是希望360与腾讯之间尽快结束“二战”,并澄清到底是谁的错。互联网是用来为人民服务的,不是用来吵架的,推动信息化建设需要你我的努力,更离不开大型互联网公司的支持。

Java MD5加密

分类:Java  来源:网络  时间:2010-10-28 23:37:06
  1. package cn.org.jshuwei.j2ee.util;
     

  2.  
  3. import java.security.MessageDigest;
     

  4.  
  5. /**
     
  6. *
     
  7. * MD5加密工具类
     
  8. *
     
  9. * @author huwei(jshuwei.org.cn)
     
  10. * @since 1.4
     
  11. *
     
  12. */
     
  13. public class MD5 {
     
  14.         private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
     
  15.                         "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };
     

  16.  
  17.         private static String byteArrayToHexString(byte[] bytes) {
     
  18.                 StringBuffer sb = new StringBuffer();
     
  19.                 for (byte b : bytes) {
     
  20.                         sb.append(byteToHexString(b));
     
  21.                 }
     
  22.                 return sb.toString();
     
  23.         }
     

  24.  
  25.         private static String byteToHexString(byte b) {
     
  26.                 int n = b;
     
  27.                 if (n < 0)
     
  28.                         n = 256 + n;
     
  29.                 int d1 = n / 16;
     
  30.                 int d2 = n % 16;
     
  31.                 return hexDigits[d1] + hexDigits[d2];
     
  32.         }
     

  33.  
  34.         /**
     
  35.          * 将字符串加密成MD5字符串
     
  36.          *
     
  37.          * @param origin
     
  38.          *            需要加密的字符串
     
  39.          * @return 加密后的字符串
     
  40.          */
     
  41.         public static String MD5Encode(String origin) {
     
  42.                 String ret = null;
     
  43.                 try {
     
  44.                         ret = new String(origin);
     
  45.                         MessageDigest md = MessageDigest.getInstance("MD5");
     
  46.                         ret = byteArrayToHexString(md.digest(ret.getBytes()));
     
  47.                 } catch (Exception e) {
     
  48.                 }
     
  49.                 return ret;
     
  50.         }
     
  51. }
  • 60
  • |<
  • <<
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • >>
  • >|