blogjava-凯发k8网页登录

blogjava-凯发k8网页登录http://www.blogjava.net/algz/category/50990.htmlpurple butterfly flying qq群:7101519 flex,ext,spring,hibernate,eos,springsecurity,struts http://algz.googlecode.com/svn/trunk/zh-cntue, 22 may 2012 01:25:08 gmttue, 22 may 2012 01:25:08 gmt60[转]uml类图符号 各种关系说明以及举例http://www.blogjava.net/algz/articles/378313.html紫蝶∏飛揚↗紫蝶∏飛揚↗wed, 16 may 2012 07:49:00 gmthttp://www.blogjava.net/algz/articles/378313.htmlhttp://www.blogjava.net/algz/comments/378313.htmlhttp://www.blogjava.net/algz/articles/378313.html#feedback0http://www.blogjava.net/algz/comments/commentrss/378313.htmlhttp://www.blogjava.net/algz/services/trackbacks/378313.htmluml中描述对象和类之间相互关系的方式包括:依赖(dependency),关联(association),聚合(aggregation),组合(composition),泛化(generalization),实现(realization)等。

依赖 (dependency):元素a的变化会影响元素b,但反之不成立,那么b和a的关系是依赖关系,b依赖a;类属关系和实现关系在语义上讲也是依赖关 系,但由于其有更特殊的用途,所以被单独描述。uml中用带箭头的虚线表示dependency关系,箭头指向被依赖元素。

泛化(generalization):通常所说的继承(特殊个体 is kind of 一般个体)关系,不必多解释了。uml中用带空心箭头的实线线表示generalization关系,箭头指向一般个体。

实现(realize):元素a定义一个约定,元素b实现这个约定,则b和a的关系是realize,b realize a。这个关系最常用于接口。uml中用空心空心箭头和虚线表示realize关系,箭头指向定义约定的元素。

关联(association):元素间的结构化关系,是一种弱关系,被关联的元素间通常可以被独立的考虑。uml中用实线表示association关系,箭头指向被依赖元素。

聚合(aggregation):关联关系的一种特例,表示部分和整体(整体 has a 部分)的关系。uml中用带空心菱形头的实线表示aggregation关系,菱形头指向整体。

组 合(composition):组合是聚合关系的变种,表示元素间更强的组合关系。如果是组合关系,如果整体被破坏则个体一定会被破坏,而聚合的个体则可 能是被多个整体所共享的,不一定会随着某个整体的破坏而被破坏。uml中用带实心菱形头的实线表示composition关系,菱形头指向整体。

其中依赖(dependency)的关系最弱,而关联(association),聚合(aggregation),组合(composition)表示的关系依次增强。换言之关联,聚合,组合都是依赖关系的一种,聚合是表明对象之间的整体与部分关系的关联,而组合是表明整体与部分之间有相同生命周期关系的聚合。

而关联与依赖的关系用一句话概括下来就是,依赖描述了对象之间的调用关系,而关联描述了对象之间的结构关系。

后面的例子将针对某个具体目的来独立地展示各种关系。虽然语法无误,但这些例子可进一步精炼,在它们的有效范围内包括更多的语义。

依赖(dependency)

实体之间一个“使用”关系暗示一个实体的规范发生变化后,可能影响依赖于它的其他实例(图d)。 更具体地说,它可转换为对不在实例作用域内的一个类或对象的任何类型的引用。其中包括一个局部变量,对通过方法调用而获得的一个对象的引用(如下例所 示),或者对一个类的静态方法的引用(同时不存在那个类的一个实例)。也可利用“依赖”来表示包和包之间的关系。由于包中含有类,所以你可根据那些包中的 各个类之间的关系,表示出包和包的关系。

图d


关联(association)

实体之间的一个结构化关系表明对象是相互连接的。箭头是可选的,它用于指定导航能力。如果没有箭头,暗示是一种双向的导航能力。在java中,关联(图e) 转换为一个实例作用域的变量,就像图e的“java”区域所展示的代码那样。可为一个关联附加其他修饰符。多重性(multiplicity)修饰符暗示 着实例之间的关系。在示范代码中,employee可以有0个或更多的timecard对象。但是,每个timecard只从属于单独一个 employee。

图e

聚合(aggregation)

聚合(图f)是关联的一种形式,代表两个类之间的整体/局部关系。聚合暗示着整体在概念上处于比局部更高的一个级别,而关联暗示两个类在概念上位于相同的级别。聚合也转换成java中的一个实例作用域变量。

关联和聚合的区别纯粹是概念上的,而且严格反映在语义上。聚合还暗示着实例图中不存在回路。换言之,只能是一种单向关系。

图f



合成(composition)

合成 (图g) 是聚合的一种特殊形式,暗示“局部”在“整体”内部的生存期职责。合成也是非共享的。所以,虽然局部不一定要随整体的销毁而被销毁,但整体要么负责保持局 部的存活状态,要么负责将其销毁。局部不可与其他整体共享。但是,整体可将所有权转交给另一个对象,后者随即将承担生存期职责。

employee和timecard的关系或许更适合表示成“合成”,而不是表示成“关联”。

图g

泛化(generalization)

泛化(图h)表示一个更泛化的元素和一个更具体的元素之间的关系。泛化是用于对继承进行建模的uml元素。在java中,用extends关键字来直接表示这种关系。

图h


实现(realization)

实例(图i)关系指定两个实体之间的一个合同。换言之,一个实体定义一个合同,而另一个实体保证履行该合同。对java应用程序进行建模时,实现关系可直接用implements关键字来表示。

图i




转自: 



紫蝶∏飛揚↗ 2012-05-16 15:49 发表评论
]]>
主机为202.130.82.97子网屏蔽码为255.255.192.0,它所处的网络为什么http://www.blogjava.net/algz/articles/378170.html紫蝶∏飛揚↗紫蝶∏飛揚↗tue, 15 may 2012 03:42:00 gmthttp://www.blogjava.net/algz/articles/378170.htmlhttp://www.blogjava.net/algz/comments/378170.htmlhttp://www.blogjava.net/algz/articles/378170.html#feedback0http://www.blogjava.net/algz/comments/commentrss/378170.htmlhttp://www.blogjava.net/algz/services/trackbacks/378170.html (1)先了解基础运算
异或运算:相同为0,不同为1 与运算:两者为1时为1,有0为0 或运算:有1为1 

(2)ip网段的计算和划分
ip和子网掩码 我们都知道,ip是由四段数字组成,在此,我们先来了解一下3类常用的ip
a类ip段 0.0.0.0 到127.255.255.255
b类ip段 128.0.0.0 到191.255.255.255
c类ip段 192.0.0.0 到223.255.255.255

xp默认分配的子网掩码每段只有255或0
a类的默认子网掩码 255.0.0.0 一个子网最多可以容纳1677万多台电脑
b类的默认子网掩码 255.255.0.0 一个子网最多可以容纳6万台电脑
c类的默认子网掩码 255.255.255.0 一个子网最多可以容纳254台电脑
我以前认为,要想把一些电脑搞在同一网段,只要ip的前三段一样就可以了,今天,我才知道我错了。如果照我这说的话,一个子网就只能容纳254台电脑?真是有点笑话。我们来说详细看看吧。

要想在同一网段,只要网络标识相同就可以了,那要怎么看网络标识呢?首先要做的是把每段的ip转换为二进制。(有人说,我不会转换耶,没关系,我们用windows自带计算器就行。打开计算器,点查看>科学型,输入十进制的数字,再点一下“二进制”这个单选点,就可以切换至二进制了。)
把子网掩码切换至二进制,我们会发现,所有的子网掩码是由一串连续的1和一串连续的0组成的(一共4段,每段8位,一共32位数)。
255.0.0.0 11111111.00000000.00000000.00000000
255.255.0.0 11111111.11111111.00000000.00000000
255.255.255.0 11111111.11111111.11111111.00000000
这是a/b/c三类默认子网掩码的二进制形式,其实,还有好多种子网掩码,只要是一串连续的1和一串连续的0就可以了(每段都是8位)。如11111111.11111111.11111000.00000000,这也是一段合法的子网掩码。子网掩码决定的是一个子网的计算机数目,计算机公式是2的m次方,其中,我们可以把m看到是后面的多少颗0。如255.255.255.0转换成二进制,那就是11111111.11111111.11111111.00000000,后面有8颗0,那m就是8,255.255.255.0这个子网掩码可以容纳2的8次方(台)电脑,也就是256台,但是有两个ip是不能用的,那就是最后一段不能为0和255,减去这两台,就是254台。我们再来做一个。
255.255.248.0这个子网掩码可以最多容纳多少台电脑? 计算方法: 把将其转换为二进制的四段数字(每段要是8位,如果是0,可以写成8个0,也就是00000000) 11111111.1111111.11111000.00000000 然后,数数后面有几颗0,一共是有11颗,那就是2的11次方,等于2048,这个子网掩码最多可以容纳2048台电脑。
一个子网最多可以容纳多少台电脑你会算了吧,下面我们来个逆向算法的题。 一个公司有530台电脑,组成一个对等局域网,子网掩码设多少最合适? 首先,无疑,530台电脑用b类ip最合适(a类不用说了,太多,c类又不够,肯定是b类),但是b类默认的子网掩码是255.255.0.0,可以容纳6万台电脑,显然不太合适,那子网掩码设多少合适呢?我们先来列个公式。 2的m次方=560 首先,我们确定2一定是大于8次方的,因为我们知道2的8次方是256,也就是c类ip的最大容纳电脑的数目,我们从9次方一个一个试2的9次方是512,不到560,2的10次方是1024,看来2的10次方最合适了。子网掩码一共由32位组成,已确定后面10位是0了,那前面的22位就是1,最合适的子网掩码就是:11111111.11111111.11111100.00000000,转换成10进制,那就是255.255.252.0。 分配和计算子网掩码你会了吧,下面,我们来看看ip地址的网段。 相信好多人都和偶一样,认为ip只要前三段相同,就是在同一网段了,其实,不是这样的,同样,我样把ip的每一段转换为一个二进制数,这里就拿ip:192.168.0.1,子网掩码:255.255.255.0做实验吧。 192.168.0.1 11000000.10101000.00000000.00000001 (这里说明一下,和子网掩码一样,每段8位,不足8位的,前面加0补齐。) ip 11000000.10101000.00000000.00000001 子网掩码 11111111.11111111.11111111.00000000 在这里,向大家说一下到底怎么样才算同一网段。 要想在同一网段,必需做到网络标识相同,那网络标识怎么算呢?各类ip的网络标识算法都 是不一样的。a类的,只算第一段。b类,只算第一、二段。c类,算第一、二、三段。 算法只要把ip和子网掩码的每位数and就可以了。
and方法:0和1=0 0和0=0 1和1=1 如:and 192.168.0.1,255.255.255.0,先转换为二进制,然后and每一位 ip 11000000.10101000.00000000.00000001 子网掩码 11111111.11111111.11111111.00000000 得出and结果 11000000.10101000.00000000.00000000 转换为十进制192.168.0.0,这就是网络标识, 再将子网掩码反取,也就是00000000.00000000.00000000.11111111,与ip and 得出结果00000000.00000000.00000000.00000001,转换为10进制,即0.0.0.1, 这0.0.0.1就是主机标识。要想在同一网段,必需做到网络标识一样。 我们再来看看这个改为默认子网掩码的b类ip 如ip:188.188.0.111,188.188.5.222,子网掩码都设为255.255.254.0,在同一网段吗? 先将这些转换成二进制 188.188.0.111 10111100.10111100.00000000.01101111 188.188.5.222 10111100.10111100.00000101.11011010 255.255.254.0 11111111.11111111.11111110.00000000 分别and,得 10111100.10111100.00000000.00000000 10111100.10111100.00000100.00000000 网络标识不一样,即不在同一网段。 判断是不是在同一网段,你会了吧,下面,我们来点实际的。 一个公司有530台电脑,组成一个对等局域网,子网掩码和ip设多少最合适? 子网掩码不说了,前面算出结果来了11111111.11111111.11111100.00000000,也就是255.255.252.0 我们现在要确定的是ip如何分配,首先,选一个b类ip段,这里就选188.188.x.x吧 这样,ip的前两段确定的,关键是要确定第三段,只要网络标识相同就可以了。我们先来确定网络号。(我们把子网掩码中的1和ip中的?对就起来,0和*对应起来,如下:)
255.255.252.0 11111111.11111111.11111100.00000000
188.188.x.x 10111100.10111100.??????**.********
网络标识 10111100.10111100.??????00.00000000 由此可知,?处随便填(只能用0和1填,不一定全是0和1),我们就用全填0吧,*处随便,这样呢,我们的ip就是 10111100.10111100.000000**.********,一共有530台电脑,ip的最后一段1~254可以分给254台计算机,530/254=2.086,采用进1法,得整数3,这样,我们确定了ip的第三段要分成三个不同的数字,也就是说,把000000**中的**填三次数字,只能填1和0,而且每次的数字都不一样,至于填什么,就随我们便了,如00000001,00000010,00000011,转换成二进制,分别是1,2,3,这样,第三段也确定了,这样,就可以把ip分成188.188.1.y,188.188.2.y,188.188.3.y,y处随便填,只要在1~254范围之内,并且这530台电脑每台和每台的ip不一样,就可以了。


紫蝶∏飛揚↗ 2012-05-15 11:42 发表评论
]]>
软件设计师重点难点---原码,反码,补码,移码计算方式http://www.blogjava.net/algz/articles/371231.html紫蝶∏飛揚↗紫蝶∏飛揚↗sun, 04 mar 2012 14:55:00 gmthttp://www.blogjava.net/algz/articles/371231.htmlhttp://www.blogjava.net/algz/comments/371231.htmlhttp://www.blogjava.net/algz/articles/371231.html#feedback1http://www.blogjava.net/algz/comments/commentrss/371231.htmlhttp://www.blogjava.net/algz/services/trackbacks/371231.html(1)正数

原码和反码,补码都是一样的,都是正数本身。


(2)负数

原码是符号位为1,数值部分取x绝对值的二进制。
反码是符号位为1,其它位是原码取反。
补码是符号位为1,其它位是原码取反,未位加1。也就是说,负数的补码是其反码未位加1。

正负0都为0 000.

(3) 移码

就是将符号位取反的补码.无论正数和负数,0除外,0的补码和移码相同.

也可以理解成:不算符号位外,最高数据位的进位.最高数据位为0,符号位为0;为1,符号位为1.

例:

原码 反码 补码 移码

0 0 000 0 000 0 000 1 000

-0 1 000 1 111 0 000 0 000

1011 原码:01011 反码:01011 //正数时,反码=原码 补码:01011 //正数时,补码=原码 移码:11011 //原数 10000 -1011 原码:11011 反码:10100 //负数时,反码为原码取反 补码:10101 //负数时,补码为原码取反+1 移码:00101 //原数 10000 0.1101 原码:0.1101 反码:0.1101 //正数时,反码=原码 补码:0.1101 //正数时,补码=原码 移码:1.1101 //原数 1 -0.1101 原码:1.1101 反码:1.0010 //负数时,反码为原码取反 补码:1.0011 //负数时,补码为原码取反+1 移码:0.0010 //原数 1



紫蝶∏飛揚↗ 2012-03-04 22:55 发表评论
]]>
软件设计师重点难点---磁盘格式化容量,非格式化容量,数据传输率计算http://www.blogjava.net/algz/articles/371179.html紫蝶∏飛揚↗紫蝶∏飛揚↗sat, 03 mar 2012 13:22:00 gmthttp://www.blogjava.net/algz/articles/371179.htmlhttp://www.blogjava.net/algz/comments/371179.htmlhttp://www.blogjava.net/algz/articles/371179.html#feedback0http://www.blogjava.net/algz/comments/commentrss/371179.htmlhttp://www.blogjava.net/algz/services/trackbacks/371179.html 

非格式化容量   =   位密度×内圆周长×每面磁道数×记录面数 
      格式化容量   =   扇区大小×每磁道扇区数×每面磁道数×记录面数 
      数据传输率   =   扇区大小×每磁道扇区数×转速    

计算容量时,单位应统一.cm换成mm;mb换成kb; 位转换成字节=除以8.

(1)单记录面磁道数=磁道密度×(盘面外半径-盘面内半径)

(2)非格式化容量= 记录位密度×内圆周长×单记录面磁道数×记录面数

总磁道数=  单记录面磁道数×记录面数

内圆周长=3.14*内圆直径=2××半径 = 圆周率×直径

(3)格式化容量=记录面数×单记录面磁道数×每个磁道扇区数×扇区字节数

(4)一个磁道存储的字节数=磁盘扇区数×扇区字节

(5)数据传输率=每磁道扇区数×扇区大小×转速 

(6)平均等待时间=磁盘转速时间的一半
平均存取时间是反应磁盘数据操作速度的指标,单位是毫秒(ms),他包括3个时间段:平均寻道时间,平均定位时间,转动延迟,其中后面两个统称为等待时间。

 

举例:
假设一个有3个盘片的硬盘,共有4个记录面,转速为7200/分钟,盘面有效记录区域的外直径为30cm,内直径为10cm,记录位密度为250位/mm,磁道密度为8道/mm,每个磁道分16扇区,每扇区512字节。

总磁道数:ct=磁盘面数*(外直径-内直径)/2*磁道密度=4*(30-10)*10/2*8=3200
非格式化容量:cuf=总磁道数*内径磁道周长*位密度=3200*(3.14*10*10)*(250/8)字节=29.95m
格式化容量:cf=总磁道数×每扇区数×每扇区字节数=4*=25m
平均数据传输速率:cg=每磁道扇区数16×每扇区字节数512kb×转速(7200/60s)=983040=960kb/s

 



紫蝶∏飛揚↗ 2012-03-03 21:22 发表评论
]]>
软件设计师重点难点——系统可靠性计算http://www.blogjava.net/algz/articles/371157.html紫蝶∏飛揚↗紫蝶∏飛揚↗fri, 02 mar 2012 15:02:00 gmthttp://www.blogjava.net/algz/articles/371157.htmlhttp://www.blogjava.net/algz/comments/371157.htmlhttp://www.blogjava.net/algz/articles/371157.html#feedback0http://www.blogjava.net/algz/comments/commentrss/371157.htmlhttp://www.blogjava.net/algz/services/trackbacks/371157.html软件设计师重点难点——系统可靠性计算

  系统可靠性计算是软件设计师考试的一个重点,近些年几乎每次考试都会考到,但这个知识点的难度不高,了解基本的运算公式,即可轻松应对。

  可靠性计算主要涉及三种系统,即串联系统、并联系统和冗余系统,其中串联系统和并联系统的可靠性计算都非常简单,只要了解其概念,公式很容易记住。冗余系统要复杂一些。在实际的考试当中,考得最多的就是串并混合系统的可靠性计算。所以要求我们对串联系统与并联系统的特点有基本的了解,对其计算公式能理解、运用。下面将对这些计算的原理及公式进行详细的说明。

  串联系统

  假设一个系统由n个子系统组成,当且仅当所有的子系统都能正常工作时,系统才能正常工作,这种系统称为串联系统,如图1所示。 

  设系统各个子系统的可靠性分别用r1,r2,……,rn表示,则系统的可靠性r=r1×r2×…×rn 。

  如果系统的各个子系统的失效率分别用λ1,λ2,……,λn来表示,则系统的失效率λ=λ1×λ2×…×λn 。

  并联系统

  假如一个系统由n个子系统组成,只要有一个子系统能够正常工作,系统就能正常工作,如图2所示。

  设系统各个子系统的可靠性分别用r1,r2,……,rn表示,则系统的可靠性r=1-(1-r1)×(1-r2)×…×(1-rn) 。

  假如所有子系统的失效率均为λ,则系统的失效率为μ:

  在并联系统中只有一个子系统是真正需要的,其余n-1个子系统都被称为冗余子系统。该系统随着冗余子系统数量的增加,其平均无故障时间也会增加。

  串并混合系统

  串并混合系统实际上就是对串联系统与并联系统的综合应用。我们在此以实例说明串并混合系统的可靠性如何计算。

  例1:

  某大型软件系统按功能可划分为2段p1和p2。为提高系统可靠性,软件应用单位设计了如下图给出的软件冗余容错结构,其中p1和p2均有一个与其完全相同的冗余备份。若p1的可靠度为0.9,p2的可靠度为0.9,则整个系统的可靠度是 。

  供选择的答案

  a. 0.6561

  b. 0.81

  c. 0.9801

  d. 0.9

  试题分析

  当系统采用串联方式时,其可靠度r可由公式r=r1r2…rn求得。当系统采用并联方式时,其可靠度r可由公式r=1-(1-r1)*(1-r2)…(1-rn)求得。这个系统总的来说是串联,但分成两个并联部分。第一部分的可靠度为:r1=1-(1-0.9)*(1-0.9)=0.99;第二部分的可靠度也为:r2=0.99;所以整个系统的可靠度为:r=r1*r2=0.9801 ,c答案。

  试题答案

  c

  上面的例题是属于常规形式的可靠性计算题,如果把这种试题再拨高一个层次,可以。

  例2:

  1台服务器、3台客户机和2台打印机构成了一个局域网(如图4所示)。在该系统中,服务器根据某台客户机的请求,数据在一台打印机上输出。设服务器、各客户机及各打印机的可靠度分别为a、b、c,则该系统的可靠度为 。

  a.ab3c3

  b.a(1-b3)(1-c2)

  c.a(1-b)3(l-c)2

  d.a(1-(1-b)3)(1-(l-c)2)

  例题分析

  在试题给出的系统中,客户机之间是并联的(任何一台客户机出现故障,对其他客户机没有影响),同理,打印机之间是也并联关系。然后,客户机、服务器、打印机之间再组成一个串联关系。因此,我们可以把该系统简化为:

  已知服务器、各客户机及各打印机的可用性分别为a、b、c,因此整个系统的可用性为:r=(1-(1-b)3)a(1-(1-c)2)=a(1-(1-b)3)(1-(1-c)2
 
  例题答案d

  4.模冗余系统

  m模冗余系统由m个(m=2n 1为奇数)相同的子系统和一个表决器组成,经过表决器表决后,m个子系统中占多数相同结果的输出可作为系统的输出,如图5所示。

  在m个子系统中,只有n 1个或n 1个以上的子系统能正常工作,系统就能正常工作并输出正确结果。假设表决器是完全可靠的,每个子系统的可靠性为r0,则m模冗余系统的可靠性为:

紫蝶∏飛揚↗ 2012-03-02 23:02 发表评论
]]>
网站地图