📄 uml类图详解.mht
字号:
元件,无需考虑时间=
2290;在系统内,静态结ਗ਼=
0;通过显示类型和它们&=
#30340;实例进行传播。除=
102;显示系统类型和它们=
;的实例,结构图至少&#=
20063;显示了这些元素间į=
40;一些关系,可能的话=
,甚至也显示它们的=
0869;部结构。</span><span
lang=3DEN-US style=3D'font-size:9.0pt;color:black'><o:p></o:p></span>=
</p>
<p style=3D'line-height:11.25pt'><span style=3D'font-size:10.0pt;colo=
r:black'>贯穿整个软件生命&#=
21608;期,结构图对于各ķ=
81;团队成员都是有用的=
。一般而言,这些<span
class=3DGramE>图支持</span>设计验=
证,和个体与团队间=
0340;设计交流。举例来෾=
8;,业务分析师可以使&=
#29992;类或对象图,来为=
403;前的资产和资源建模=
;,例如分类账,产品&#=
25110;地理层次。<span
class=3DGramE>架构师</span>可以使=
用组件和部署图,来=
7979;试<span
lang=3DEN-US>/</span>确认他们的设=
计是否充分。开发者=
1487;以使用类图,来设෶=
5;并为系统的代码(或&=
#21363;将成为代码的)<span
class=3DGramE>类写文档</span>。</span><=
span
lang=3DEN-US style=3D'font-size:9.0pt;color:black'><o:p></o:p></span>=
</p>
<p class=3DMsoNormal style=3D'line-height:11.25pt'><span class=3Dtop1=
1><b><span
style=3D'font-size:10.0pt;font-family:SimSun;mso-bidi-font-family:Sim=
Sun;
color:black'>特殊的类图</span></b></spa=
n><span
class=3Dtop11><span style=3D'font-size:10.0pt;font-family:SimSun;mso-=
bidi-font-family:
SimSun;color:black'> </span></span><span class=3Dtop11><span lang=3DE=
N-US
style=3D'font-family:SimSun;mso-bidi-font-family:SimSun'><o:p></o:p><=
/span></span></p>
<p style=3D'line-height:11.25pt'><span lang=3DEN-US style=3D'font-siz=
e:10.0pt;
color:black'>UML 2 </span><span style=3D'font-size:10.0pt;color:black=
'>把结构图看成一个分&=
#31867;;这里并不存在称=
026;“结构图”的图。然&=
#32780;,类图提供结构图=
867;型的一个主要实例,=
;并为我们提供一组记&#=
21495;元素的初始集,供û=
52;有其它结构图使用。=
由于类图是如此基本=
5292;本文的剩余部分将ߩ=
0;把重点集中在类图记&=
#21495;集。在本文的结尾A=
292;你将对于如何画<span
lang=3DEN-US>UML 2</span>类图有所了#=
299;,而且对于理解在后=
;面文章中将涉及的其&#=
20182;结构图有一个稳固į=
40;基础。</span></p>
<p style=3D'line-height:11.25pt'><span style=3D'font-size:10.0pt;colo=
r:black'>基础<span
lang=3DEN-US><br>
<br>
</span>如先前所提到的ᦁ=
2;类图的目的是显示建&=
#27169;系统的类型。在大=
810;数的<span
lang=3DEN-US> UML </span>模型中这些=
867;型包括:</span><span
lang=3DEN-US style=3D'font-size:9.0pt;color:black'><o:p></o:p></span>=
</p>
<ul type=3Ddisc>
<li class=3DMsoNormal style=3D'color:black;mso-margin-top-alt:auto;
mso-margin-bottom-alt:auto;line-height:11.25pt;mso-list:l2 level=
1 lfo3;
tab-stops:list .5in'><span style=3D'font-size:10.0pt'>类 <=
/span><span
lang=3DEN-US style=3D'font-size:9.0pt'><o:p></o:p></span></li>
<li class=3DMsoNormal style=3D'color:black;mso-margin-top-alt:auto;
mso-margin-bottom-alt:auto;line-height:11.25pt;mso-list:l2 level=
1 lfo3;
tab-stops:list .5in'><span style=3D'font-size:10.0pt'>接&#=
21475;
</span><span lang=3DEN-US style=3D'font-size:9.0pt'><o:p></o:p><=
/span></li>
<li class=3DMsoNormal style=3D'color:black;mso-margin-top-alt:auto;
mso-margin-bottom-alt:auto;line-height:11.25pt;mso-list:l2 level=
1 lfo3;
tab-stops:list .5in'><span style=3D'font-size:10.0pt'>数&#=
25454;类型
</span><span lang=3DEN-US style=3D'font-size:9.0pt'><o:p></o:p><=
/span></li>
<li class=3DMsoNormal style=3D'color:black;mso-margin-top-alt:auto;
mso-margin-bottom-alt:auto;line-height:11.25pt;mso-list:l2 level=
1 lfo3;
tab-stops:list .5in'><span style=3D'font-size:10.0pt'>组&#=
20214;
</span><span lang=3DEN-US style=3D'font-size:9.0pt'><o:p></o:p><=
/span></li>
</ul>
<p style=3D'line-height:11.25pt'><span lang=3DEN-US style=3D'font-siz=
e:10.0pt;
color:black'>UML </span><span style=3D'font-size:10.0pt;color:black'>=
为这些类型起了一个=
9305;别的名字:“分类器=
;”。通常地,你可以=
5226;分类器<span
class=3DGramE>当做</span>类,但在=
技术上,分类器是更=
0026;普遍的术语,它还਷=
9;引用上面的其它三种&=
#31867;型为好。</span><span
lang=3DEN-US style=3D'font-size:9.0pt;color:black'><o:p></o:p></span>=
</p>
<p style=3D'line-height:11.25pt'><b><span style=3D'font-size:10.0pt;
color:black'>类名</span></b><span lang=3DEN-US
style=3D'font-size:9.0pt;color:black'><o:p></o:p></span></p>
<p style=3D'line-height:11.25pt'><span style=3D'font-size:10.0pt;colo=
r:black'>类的<span
lang=3DEN-US> UML </span>表示是一个&=
271;方形,垂直地分为三=
;个区,如图<span
lang=3DEN-US> 1 </span>所示。顶部ࡒ=
6;域显示类的名字。中&=
#38388;的区域列出类的属=
615;。底部的区域列出类=
;的操作。当在一个类&#=
22270;上画一个类元素时ʌ=
92;你必须要有顶端的区=
域,下面的二个区域=
6159;可选择的(当图描๤=
8;仅仅用于显示分类器&=
#38388;关系的高层细节时A=
292;下面的两个区域是不=
;必要的)。图<span
lang=3DEN-US> 1 </span>显示一个航ಬ=
7;班机如何作为<span
lang=3DEN-US> UML </span>类建模。正=
914;我们所能见到的,名=
;字是<span
lang=3DEN-US> Flight</span>,我们可以&#=
22312;中间区域看到<span
lang=3DEN-US>Flight</span>类的<span lang=3DEN-US>3</span>=
个属性:<span
class=3DSpellE><span lang=3DEN-US>flightNumber</span></span>,<=
span
class=3DSpellE><span lang=3DEN-US>departureTime</span></span><span
lang=3DEN-US> </span>和<span lang=3DEN-US> <span class=3DSpellE=
>flightDuration</span></span>。在底部区ࣉ=
5;中我们可以看到<span
lang=3DEN-US>Flight</span>类有两个操=
0316;:<span
class=3DSpellE><span lang=3DEN-US>delayFlight</span></span><span lang=
=3DEN-US> </span>和<span
lang=3DEN-US> <span class=3DSpellE>getArrivalTime</span></span>Ӎ=
0;</span><span
lang=3DEN-US style=3D'font-size:9.0pt;color:black'><o:p></o:p></span>=
</p>
<p align=3Dcenter style=3D'text-align:center;line-height:11.25pt'><sp=
an
lang=3DEN-US style=3D'font-size:10.0pt;color:black'><!--[if gte vml 1=
]><v:shapetype
id=3D"_x0000_t75" coordsize=3D"21600,21600" o:spt=3D"75" o:preferrel=
ative=3D"t"
path=3D"m@4@5l@4@11@9@11@9@5xe" filled=3D"f" stroked=3D"f">
<v:stroke joinstyle=3D"miter"/>
<v:formulas>
<v:f eqn=3D"if lineDrawn pixelLineWidth 0"/>
<v:f eqn=3D"sum @0 1 0"/>
<v:f eqn=3D"sum 0 0 @1"/>
<v:f eqn=3D"prod @2 1 2"/>
<v:f eqn=3D"prod @3 21600 pixelWidth"/>
<v:f eqn=3D"prod @3 21600 pixelHeight"/>
<v:f eqn=3D"sum @0 0 1"/>
<v:f eqn=3D"prod @6 1 2"/>
<v:f eqn=3D"prod @7 21600 pixelWidth"/>
<v:f eqn=3D"sum @8 21600 0"/>
<v:f eqn=3D"prod @7 21600 pixelHeight"/>
<v:f eqn=3D"sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok=3D"f" gradientshapeok=3D"t" o:connecttype=3D"r=
ect"/>
<o:lock v:ext=3D"edit" aspectratio=3D"t"/>
</v:shapetype><v:shape id=3D"_x0000_i1025" type=3D"#_x0000_t75" alt=
=3D""
style=3D'width:3in;height:96pt'>
<v:imagedata src=3D"file9728.files/image001.jpg" o:href=3D"http://ww=
w.xfbbs.com/UploadFiles2/200631195118734.jpg"/>
</v:shape><![endif]--><![if !vml]><img width=3D288 height=3D128
src=3D"file9728.files/image001.jpg" border=3D0 v:shapes=3D"_x0000_i10=
25"><![endif]><br>
<br>
</span><span style=3D'font-size:10.0pt;color:black'>图<span
lang=3DEN-US> 1: Flight</span>类的类图</span>=
<span
lang=3DEN-US style=3D'font-size:9.0pt;color:black'><o:p></o:p></span>=
</p>
<p style=3D'line-height:11.25pt'><b><span style=3D'font-size:10.0pt;
color:black'>类属性列表</span></b><span
lang=3DEN-US style=3D'font-size:9.0pt;color:black'><o:p></o:p></span>=
</p>
<p style=3D'line-height:11.25pt'><span style=3D'font-size:10.0pt;colo=
r:black'>类的属性节(中部&#=
21306;域)在分隔线上列Ñ=
86;每一个类的属性。属=
性节是可选择的,要=
6159;一用它,就包含类௚=
0;列表显示的每个属性&=
#12290;该线用如下格式:</sp=
an><span
lang=3DEN-US style=3D'font-size:9.0pt;color:black'><o:p></o:p></span>=
</p>
<div align=3Dcenter>
<table class=3DMsoNormalTable border=3D1 cellspacing=3D0 cellpadding=
=3D0
width=3D400 style=3D'width:300.0pt;mso-cellspacing:0in;mso-padding-a=
lt:3.75pt 3.75pt 3.75pt 3.75pt'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:=
yes'>
<td style=3D'padding:3.75pt 3.75pt 3.75pt 3.75pt'><pre style=3D'lin=
e-height:
11.25pt'><span lang=3DEN-US style=3D'font-size:10.0pt;color:black'>=
name : attribute type</span><span
lang=3DEN-US style=3D'color:black'><o:p></o:p></span></pre></td>
</tr>
</table>
</div>
<p class=3DMsoNormal align=3Dcenter style=3D'text-align:center;line-h=
eight:
11.25pt'><span lang=3DEN-US style=3D'font-size:9.0pt;color:black;disp=
lay:
none;mso-hide:all'><o:p> </o:p></span></p>
<div align=3Dcenter>
<table class=3DMsoNormalTable border=3D1 cellspacing=3D0 cellpadding=
=3D0
width=3D400 style=3D'width:300.0pt;mso-cellspacing:0in;mso-padding-a=
lt:3.75pt 3.75pt 3.75pt 3.75pt'>
<tr style=3D'mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:=
yes'>
<td style=3D'padding:3.75pt 3.75pt 3.75pt 3.75pt'><pre style=3D'lin=
e-height:
11.25pt'><span class=3DSpellE><span lang=3DEN-US style=3D'font-size=
:10.0pt;
color:black'>flightNumber</span></span><span lang=3DEN-US
style=3D'font-size:10.0pt;color:black'> : Integer</span><span lang=
=3DEN-US
style=3D'color:black'><o:p></o:p></span></pre></td>
</tr>
</table>
</div>
<p style=3D'line-height:11.25pt'><span style=3D'font-size:10.0pt;colo=
r:black'>继续我们的<span
lang=3DEN-US>Flight</span>类的例子,=
5105;们可以使用属性类ࣁ=
1;信息来描述类的属性&=
#65292;如表<span
lang=3DEN-US> 1 </span>所示。</span><span lang=3DEN=
-US
style=3D'font-size:9.0pt;color:black'><o:p></o:p></span></p>
<p style=3D'line-height:11.25pt'><b><span style=3D'font-size:10.0pt;
color:black'>表<span lang=3DEN-US> 1</span>:具=
377;关联类型的<span
lang=3DEN-US>Flight</span>类的属性名=
3383;</span></b><span
lang=3DEN-US style=3D'font-size:9.0pt;color:black'><o:p></o:p></span>=
</p>
<div align=3Dcenter>
<table class=3DMsoNormalTable border=3D1 cellpadding=3D0 width=3D400
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -