??xml version="1.0" encoding="utf-8" standalone="yes"?>久久丫精品国产亚洲av不卡,成人免费网站久久久,久久久这里只有精品加勒比http://www.shnenglu.com/Tongy0/category/20732.htmlNo sub titlezh-cnTue, 12 Nov 2013 13:55:46 GMTTue, 12 Nov 2013 13:55:46 GMT60UML时序?Note 006)http://www.shnenglu.com/Tongy0/archive/2013/11/12/204235.htmlJacc.KimJacc.KimTue, 12 Nov 2013 13:28:00 GMThttp://www.shnenglu.com/Tongy0/archive/2013/11/12/204235.htmlhttp://www.shnenglu.com/Tongy0/comments/204235.htmlhttp://www.shnenglu.com/Tongy0/archive/2013/11/12/204235.html#Feedback0http://www.shnenglu.com/Tongy0/comments/commentRss/204235.htmlhttp://www.shnenglu.com/Tongy0/services/trackbacks/204235.html的消息。时序图是以旉为序的表C方法,主要用来描述对象之间的时间顺序?br />----------------------------------
时序?Sequen四Diagram) 描述了对象之间传送消息的旉序Q它用来表示用例?br />的行为顺序。当执行 个用例行为时Q时序图中的每条消息对应?个类操作或状态机中引
赯{换的触发事g?br />时序囑֌含了4个元素,分别是对?0均ect)、生命线(L(zhn)line)、消?Message) ?br />Ȁz?Activation)?br />1  对象
时序图中对象的符号和对象图中对象所用的W号一P都是使用矩Ş对象名U包含v来,
q且对象名称下有下划Uѝ将对象|于时序囄剙意味着在交互开始的时?br />对象已l存在了Q如果对象的位置不在剙Q那么表C对象是在交互的q程中被创徏的?br />2  生命U?br />生命U?Lifeline) 是一条垂直的虚线Q表C时序图中的对象?D|间内的存在e 每个
对象的底部中心的位置都带有生命线?生命U是-个时间线Q从时序囄剙一直g伸到?br />部,所用的旉取决于交互持l的旉因对象与生命U结合在一L(fng)为对象的生命U,对象
的生命线包含矩Ş的对象图标以?qing)图标下面的生命Uѝ?br />提示: 实际上,对象的生命线可以代表一l对?
3  消息
消息(Message) 定义的是对象之间某种形式的通信Q它可以Ȁ发某个操作、唤起信?br />或导致目标对象的创徏或撤销。消息序列可以用两种图来表示:时序囑֒协作图。其中,?br />序图消息的时间顺序,而协作图交换消息的对象间的关pR?br />消息是两个对象之间的单\通信Q从发送方到接收方的控制信息流。消息可以用于在?br />象间传递参数。消息可以是信号Q即明确的、命名的、对象间的异步通信;也可以是调用Q?br />卛_有返回控制机制的操作的同步调用?br />在UML中,消息使用头来表C,头的类型表CZ消息的类型,时序图中常用的消息符号如下:(x)

注意Q消息在生命U上所处的位置q不是消息求生的准确旉.只是一个相对的位里.如果一个消息位
于另一个消息的上方Q只说明它先于另一个消息被发送?br />.4Ȁz?br />时序囑֏以描q对象的Ȁz?Activation) 和去Ȁz?Deactivation)。激z表C对象?br />占用以完成某个Q务,LzL的是对象处于I闲状态,在等待消息。在UML中,Z?br />C对象是ȀzȝQ可以将对象的生命线拓宽成ؓ(f)矩Ş。其中的矩ŞUCؓ(f)Ȁz?br />条或控制期,对象是在激zL的顶部被Ȁzȝ。对象在完成自己的工作后被去Ȁz,q?br />常发生在一个消息箭头离开对象生命U的时候?br />----------------------------------
如果要撤销一个对象,只要在其生命U终止点攄一?X"W号卛_Q该炚w常是对
删除或取消消息的回应?br />----------------------------------
时序囑־?br />一般情况下Q会(x)有很多时序图Q其中的一些是主要的,另一些用来描q可选择的\径或
例外条gQ可以用包来组l这些时序图的集合,q给每个图v一个合适的名字Q以便与?br />他图相区别?br />按时间顺序对控制徏模,要遵循如下策略?br />(1) 讄交互的语境,q些语境可以是系l、子pȝ、操作、类、用例或协作的脚本?br />(2) 通过识别对象在交互中扮演的角Ԍ讄交互的场景。以从左到右的顺序将对象?br />到时序图的上方,其中较重要的攑֜左边Q与它们盔R的对象放在右辏V?br />(3)为每个对象设|生命线。通常情况下,对象存在于整个交互过E中。对于那些在?br />互期间创建和撤销的对象,在适当的时刻设|它们的生命U,q用适当的构造型消息昑ּ?br />说明它们的创建和撤销?br />(4) 从引发某个消息的信息开始,在生命线之间d从顶到底依次展开的消息,昄?br />个消息的Ҏ(gu)?如参?。若有需要,解释交互的语义?br />(5) 如果需要可视化消息的嵌套或实际计算发生时的旉点,可以用激zM饰每个对?br />的生命期?br />(6) 如果需要说明时间或I间的约束,可以用时间标C饰每个消息,q上合适的?br />间和I间U束?br />(7) 如果需要Ş式化地说明某控制,可以为每个消息附上前|和后置条g?br />一个单独的时序囑֏能显CZ个控制流Q通常说来Q一个完整的控制肯定是复杂的,
所以,?个大的流分ؓ(f)几个部分攑֜不同的图中是比较合适的?img src ="http://www.shnenglu.com/Tongy0/aggbug/204235.html" width = "1" height = "1" />

Jacc.Kim 2013-11-12 21:28 发表评论
]]>
UMLzd?Note 005)http://www.shnenglu.com/Tongy0/archive/2013/11/12/204218.htmlJacc.KimJacc.KimMon, 11 Nov 2013 16:42:00 GMThttp://www.shnenglu.com/Tongy0/archive/2013/11/12/204218.htmlhttp://www.shnenglu.com/Tongy0/comments/204218.htmlhttp://www.shnenglu.com/Tongy0/archive/2013/11/12/204218.html#Feedback0http://www.shnenglu.com/Tongy0/comments/commentRss/204218.htmlhttp://www.shnenglu.com/Tongy0/services/trackbacks/204218.htmlC一个活动到另一个活动的控制?zd囑֜本质上是一U流E图?br />-------------------------------
什么是zdQ活动图与状态图的区别是什么?
zd是某件事情正在进行的状态,既可以是现实生活中正在进行的?工作,也可以是?br />件系l某个类对象的一个操作。活动在状态机中表Cؓ(f)׃pd动作l成的非原子的执行过E?br />虽然zd图与状态图都是状态机的表现Ş式,但是两者还是有本质区别·zd囄重表
C一个活动到另一个活动的控制,是内部处理驱动的程:而状态图着重描qC一个状
态到另一个状态的程Q?主要有外部事件的参与?br />-------------------------------
zd囄囑Ş表示
在UML中,zd图表C成圆角矩ŞQ与状态图的圆角矩形相比,zd囄矩Ş的圆?br />更柔和,看上Lq椭圆。活动图的图标包含对zd的描q?如活动名)。如果一个活动引?br />下一个活动,两个zd的图标之间用带箭头的直线q接?与状态图cMQ活动圈也有L(fng)?br />l点Q表C法和状态图相同?br />zd图中q包括分支与合ƈ、分叉与汇合{模型元素?分支与合q的图标和状态图中判?br />的图标相同,而分叉与汇合则用一条加_的U段表示?br />-------------------------------
zd图与程囄区别
虽然zd图描q系l用的zd、判定点和分支,看v来和程图没什么两Pq且?br />l的程图所能表C的内容Q大多数情况下也可以使用zd图表C,但是两者是有区别的Q?br />不能两个概忉|؜淆?br />zd图与程囄区别如下?br />(1)程阁着重描q处理过E,它的主要控制l构是顺序、分支和循环Q各个处理过E?br />之间有严格的序和时间关p?而活动图描述的是对象zd的顺序关pL遵@的规则,它着
重表现的是系l的行ؓ(f)Q而非pȝ的处理过E?br />(2) zd图能够表Cƈ发活动的情ŞQ而流E图不能?br />(3) zd图是面向对象的,而流E图是面向过E的.
-------------------------------
zd囄l成元素
UML的活动图中包含的囑Ş元素有动作状态?zd状态、动作流、分支与合ƈ、分叉与
汇合、泳道和对象等?br />4  分支与合q?br />动作一般会(x)自动q行控制转换Q直到遇到分?分支在Y件系l流E中很常见,?shy;
般用于表C对象类所h的条件行为。一个无条g的动作流可以在一个动作状态的动作完成
后自动触发动作状态的转换以激发下一个动作状态,而有条g的动作流则需要根据条Ӟ?br />一个布?yu)(dng)表辑ּ的真假来判定动作的流?条g行ؓ(f)用分支和合ƈ表达?br />在活动图中分支与合ƈ用空心小菱Ş表示。分支包括一个入转换和两个带条g的出?br />换,{换的条g应当是互斥的Q这样可以保证只有一条出转换能够被触发。合q包括两?br />带条件的入{换和一个出转换Q合q表CZ对应的分支开始的条g行ؓ(f)的结束?
5  分支与汇?br />对象在运行时可能?x)存在两个或者多个ƈ发运行的控制,Z对ƈ发的控制徏馍,
在UML中寻|入了分叉与汇合的概念Q分叉用于将动作分Z个或者多个ƈ发运行的分支Q?br />而汇合则用于同步q些q发分支Q以辑ֈ共同完成一事务的目的?br />分叉可以用来描述q发U程Q每个分叉可以有一个输入{换和两个或多个输{换,?br />个{换都可以是独立的控制?br />汇合代表两个或多个ƈ发控制流同步发生Q当所有的控制都辑ֈ汇合点后Q控制才?br />l箋往下进行。每个汇合可以有两个或多个输入{换和一个输{换?br />分叉和汇合都使用加粗的水q线D表C?br />6  泳道
泳道活动图中的zd化分q组Qƈ把每一l指定给负责q组zd的业务组l?&P
对象?在活动图中,泳道区分了负责活动的对象Q它明确地表CZ哪些zd是由哪些对象q?br />行的?在包含泳道的zd图中Q每个活动只能明地属于一个泳道?br />在活动图中,泳道用垂直实U绘出,垂直U分隔的区域是泳道。在泳道上方可以l出
泳道的名字或对象(对象cR的名字Q该对象(对象cR负责泳道内的全部活动。泳道没?br />序Q不同泳道中的活动既可以序q行也可以ƈ发进行,动作和对象允许穿分隔线?br />7 对象?br />对象是动作状态或者活动状态与对象之间的依赖关p,表示动作使用对象或者动作对
对象的媄(jing)响?用活动图描述某个对象Ӟ可以把涉?qing)到的对象放|在zd图中q用一个依?br />其q接到进行创?修改和撤销的动作状态或者活动状态上Q对象的q种使用Ҏ(gu)构?br />了对象流?br />对象中的对象有如下特点·
(1)  个对象可以由多个动作操纵Q?br />2)一个动作输出的对象可以作ؓ(f)另一个动作输入的对象:
(3)在活动图中,同一个对象可以多ơ出玎ͼ它的?ơ出现表明该对象正处于对象生
存期的不同时间点.
在活动图中,对象用带有头的虚U表C。如果箭头从动作状态出发指向对象,则表
C动作对对象施加了一定的影响。施加的影响包括创徏、修改和撤销{。如果箭头从对象?br />向动作状态,则表C动作使用对象所指向的对象?br />-------------------------------
zd的分?br />一个活动可以分q个动作或子zdQ这些动作和子活动本w又可以l成一个活?br />图。不含内嵌活动或动作的活动称之ؓ(f)单活?嵌套了若q活动或动作的活动称之ؓ(f)l合
zdQ组合活动有自己的名字和相应的子zd图?br />-------------------------------
zd囑־模技?br />在系l徏模的q程中,zd图能够附加到M建模元素中以描述其行为,q些元素包括
用例、类、接口、节炏V协作、操作和Ҏ(gu){。通常来说Q用zd囑֯工作徏模可遵@?br />下步?
(1)识别要对工作描q的cL对象a 扑և负责工作实现的业务对象Q这些对象可?br />是显CZ务领域的实体Q也可以是一U抽象的概念和事物。找Z务对象的目的是ؓ(f)每一?br />重要的业务对象徏立泳道?br />(2) 定工作的初始状态和l止状态,明确工作的边界?br />(3)对动作状态或zd状态徏模。找出随旉发生的动作和zdQ将它们表示为动作状
态或zd状态?br />(4) 对动作流建模。对动作徏模时可以首先处理序动作Q接着处理分支与合q等?br />件行为,然后处理分叉与汇合等q发行ؓ(f)?br />(5) 对对象流建模。找Z工作相关的重要对象Qƈ其q接到相应的动作状态和z?br />动状态?br />(6) 对徏立的模型q行_֌和细化?img src ="http://www.shnenglu.com/Tongy0/aggbug/204218.html" width = "1" height = "1" />

Jacc.Kim 2013-11-12 00:42 发表评论
]]>
UML状态图(Note 004)http://www.shnenglu.com/Tongy0/archive/2013/11/11/204217.htmlJacc.KimJacc.KimMon, 11 Nov 2013 14:33:00 GMThttp://www.shnenglu.com/Tongy0/archive/2013/11/11/204217.htmlhttp://www.shnenglu.com/Tongy0/comments/204217.htmlhttp://www.shnenglu.com/Tongy0/archive/2013/11/11/204217.html#Feedback0http://www.shnenglu.com/Tongy0/comments/commentRss/204217.htmlhttp://www.shnenglu.com/Tongy0/services/trackbacks/204217.html间变化的动态行为?br />----------------------------
状态机是展C状态与状态{换的图。在面向对象分析与设计中Q对象的状态、状态的?br />换、触发状态{换的事g、对象对事g的响?即事件的行ؓ(f)〉都可以用状态图来描q?br />UML用状态机对Y件系l的动态特征徏模?通常一个状态机依附于一个类Qƈ且描q?shy;
个类的实?卛_象的状态机包含了一个类的对象在其生命期间所有状态的序列以及(qing)对象?br />接收到的事g所产生的反应?br />----------------------------
状态机q态、{换、事件、活动和动作5部分l成?br />(1)状态表CZ个模型在其生存期内的状况Q如满某些条g、执行某些操作或{待?br />些事件。一个状态的生存期是有限的一个时间段.
(2) 转换表示两个不同状态之间的联系Q事件可以触发状态之间的转换.
(3)事g是在某个旉产生的,可以触发状态{换的Q如信号、对象的创徏和销毁、超
时和条g的改变等?br />(4) zd是在状态机中进行的一个非原子的执行,׃pd动作l成?br />(5) 动作是一个可执行的原子计,它导致状态的变更或者返回一个倹{?br />状态机不仅可以用于描述cȝ行ؓ(f)Q也可以描述用例、协作和Ҏ(gu)甚至整个pȝ的动态行为?br />----------------------------
状态图pC状态的节点和表C状态之间{换的带箭头的直线l成。若q个状态由一?br />或者多条{换箭头连接,状态的转换׃件触发。模型元素的行ؓ(f)可以q态图中的一条?br />路表C,沿着此通\状态机随之执行了一pd动作?br />l成UML的图形元素有状态、{换、初始状态、终l状态和判定{?br />(1) 状态由一个带圆角的矩形表C,状态图的图标可以分?部分: 名称、内部{换和嵌套
状态图?br />        a) 名称表示状态的名字Q通常用字W串表示
        b) 内部转换。在内部转换中可以包含进入或者走出此状态应该执行的zd或动作,?br />们将响应对象所接收到的事gQ但是不改变对象的状态?br />        c) 嵌套状态图。状态图中的状态有两种·一U是单状态,单状态不包含其他状态;
一U是l合状态,l合状态是包含子状态的状态。在l合状态的嵌套状态图部分包含的就?br />此状态的子状态?br />(2) 转换用带头的直U表C,一端连接源状态,卌{出的状态,头一端连接目标状态,
卌{入的状态。{换可以标注与此{换相关的选项Q如事g、动作和监护条g?br />注意: 如果转换上没有标注触发{换的事gQ则表示此{换ؓ(f)自动q行.
(3) 每个状态图都应该有 个初始状态,此状态代表状态图的v始位|。初始状态只能作?br />转换的源Q而不能作{换的目标。v始状态在一个状态图中只允许有一个,用一个实心的
圆表C?br />(4) l止状态是模型元素的最后状态,是一个状态图的终止点。终止状态只能作{换的?br />标,而不能作{换的源。终止状态在一个状态图中可以有多个Q它?个含有实心圆的空
心圆表示?br />(5) 判定处在状态图中这样一个位|? 工作在此处按监护条件的取D发生分支?判定?br />I心?yu)菱形表C。因为监护条件ؓ(f)布尔表达式,所以通常条g下的判定只有一个入转换和两
个出转换。根据监护条件的真假可以触发不同的分支{换?
----------------------------
入口动作和出口动作表C入或退出某个状态所要执行的动作。入口动作用"entry/要执
行的动作"表达Q而出口动作用"exit/要执行的动作"表达?br />----------------------------
事g表示在某一特定的时间或I间出现的能够引发状态改变的q动变化Q如接收到的?br />一个对象对另一个对象发送的信号、某些值的改变或一个时间段的终l。事件是一个激q
出现Q?它定义一个触发子以触发对象改变其状态,M影响对象的事物都可以是事件?br />事g有多U,大致可分为入口事件、出口事件、动作事件、信号事件、调用事件、修?br />事g、时间事件和延迟事g{儿U?br />1  入口事g
入口事g表示 个入口的动作序列Q它在进入状态时执行。入口事件的动作是原子的Q?br />q且先于人和内部zd或{换?br />2  出口事g
出口事g表示一个出口的动作序列Q它在退出状态时执行。出口事件也是原子的Q它?br />在所有的内部zd之后Q但是先于所有的出口转换?br />3  动作事g
动作事g也称?do 事g".它表C对一个嵌套状态机的调用。与动作事g相关的活?br />必定引用嵌套状态机Q而非引用包含它的对象的操作?br />4  信号事g
信号是两个对象之间的通信媒介Q信L(fng)接收是信h收对象的一个事件?信号分ؓ(f)?br />步单路通信和双路通信.在异步单路通信中,发送者是独立的,它不必等待接收者处理信?
在双路通信模型中,臛_在每个方向上都要有一个信Pq就是所谓的多信号B 在信号事?br />中,发送者和接收者可以是同一个对象?br />5  调用事g
调用事g是一个对象对调用的接Ӟq个对象用状态的转换而不是用固定的处理过E实
现操作。调用事件至涉?qing)两个以上的对象Q一个对象请求调用另 个对象的操作?对调?br />者来_(d)一旦调用的接收对象通过׃件触发的转换完成了对调用事g的处理或调用p|Q?br />而没有进行Q何状态{换,则控制返回到调用对象?调用事g既可以ؓ(f)同步调用Q也可以?br />异步调用。如果调用者需要等待操作的完成Q则是同步调用,否则是异步调?
6  修改事g
修改事g依靠特定属性值的布尔表达式所表示的条件的满来触发状态的转换. 它表C?br />了一U具有时间持l性的q且可能是涉?qing)全局的计过E,试修改事g的代价可能很大,
因ؓ(f)原则上修改事件是持箋不断的?br />监护条g与修改事件的区别在于监护条g只是在引赯{换的触发器事件触发时和事?br />接收者对事gq行处理时被赋?ơ,而修改事件则可以被多ơ赋值直到条件ؓ(f)真,多次?br />值满x件后转换也会(x)被激发?br />7  旉事g
旉事g代表旉的流逝?br />8  延迟事g
延迟事g是在本状态不处理Q要推迟到另外一个状态才处理的事件?通常Q在一个状?br />生存期出现的事g若不被立卛_应就?x)丢?但是Q这些未立即触发转换的事件可以放在一
个内部的延迟事g队列中,{待需要时触发或者撤消, 如果一个{换依赖一个存在于内部?br />q事仉列中的事Ӟ则事件立卌发{?如果存在多个转换Q则内部延迟事g队列中的
W一个事件将有优先触发相应{换的权利?br />----------------------------
转换表示当一个特定事件发生或者某些条件得到满xQ一个源状态下的对象在完成一
定的动作后将发生状态{变,转向?个称之ؓ(f)目标状态的状态。当发生转换Ӟ转换q入
的状态ؓ(f)zd状态,转换d的状态变为非zd状?

转换通常分ؓ(f)外部转换、内部{换、完成{换和复合转换4U。一个{换一般包??br />分的信息:源状态、目标状态?触发事g、监护条件和动作?br />
1  外部转换
外部转换是一U改变对象状态的转换Q它是战常见的一U{换。外部{换用从源状态到
目标状态的头表示?br />2  内部转换
内部转换有一个源状态但是没有目标状态,它{换后的状态仍旧是它本w?内部转换?br />Ȁ发规则和改变状态的外部转换的激发规则相同,如果一个内部{换带有动作,动作也要?br />执行。内部{换用于对不改变状态的插入动作建立模型Q例如徏立帮助信息?br />内部转换和自转换不同Q?自{换是d本状态后重新q入
该状态,它会(x)Ȁ发状态的入口动作和出口动作的执行;而内部{换自始至l都不离开本状态,
所以没有出口或入口事gQ也׃执行入口和出口动作。内部{换和入口动作或出口动作采
用相似的表示Ҏ(gu)?br />4  复合转换
复合转换q单{换组成,q些单{换通过分支判定、分叉或接合l合在一??br />面所讲的由判定参与的转换是复合转换.除了单的两个分支的判定,q有多条件的?br />支判?多条件的分支判定又分为链式的和非铑ּ的分支?br />5  触发事g
状态机描述了对象的h事g驱动的动态行为,对象动作的执行、状态的改变都是以特
定事件的发生为前提的Q触发事件就是能够引L(fng)态{换的事g。触发事件可以是信号、调
用和旉D늭?br />6  监护条g
转换可能h一个监护条Ӟ监护条g是触发{换必L的条gQ它是一个布?yu)(dng)表?br />式?当事件被触发Ӟ监护条g被赋? 如果布尔表达式的gؓ(f)真,那么转换被触?如果
布尔表达式的gؓ(f)假,则不?x)引赯{换?监护条g只能在触发事件发生时被赋gơ,如果
在{换发生后监护条g才由假变为真Q那么{换也不会(x)被触发?br />?个状态引出的多个转换可以有同L(fng)触发器事Ӟ但是每个转换必须h不同的监
护条件。当其中一个监护条件满xQ触发器事g?x)引L(fng)应的转换Q监护条件应该确?br />个触发器事g的发生能够引h些{换?br />7  动作
动作是一l可执行语句或者计处理过E。动作可以包括发送消息给另一个对象、操?br />调用、设|返回倹{创建和销毁对象等。动作也可以是一个动作序列,即一pd单的动作
的组合。动作是原子的,不可中断的,动作或动作序列的执行不会(x)被同时发生的其他动作?br />响或l止?动作的执行时间非常短Q与外界事g所l历的时间相比是可以忽略的,因此Q在
动作的执行过E中不能再插入其他事?
整个pȝ可以在同一旉执行多个动作。动作在它的控制U程中是原子性的Q一旦开?br />执行必L行到底ƈ且不能与同时处于zd状态的动作发生交互作用。与pȝ处理外部?br />件所需要的反应旉相比Q动作的执行q程应该z到能做出实时响应?br />----------------------------
状态图建模技?br />状态图一般用于对pȝ中的某些对象Q比如类、用例和pȝ的行为徏模。徏模的时候要
扑և对象所处的状态?触发状态改变的动作Q以?qing)对象状态改变时应执行的动作.具体的徏
模步骤如下?br />(1)扑և适合用模型描q其行ؓ(f)的类?br />(2)定对象可能存在的状态?br />(3)定引v状态{换的事g?br />(4) 定转换q行时对象执行的相应动作Q?br />(5) 对徏模的l果q行相应的精化和l化?img src ="http://www.shnenglu.com/Tongy0/aggbug/204217.html" width = "1" height = "1" />

Jacc.Kim 2013-11-11 22:33 发表评论
]]>
UMLcd(Note 003)http://www.shnenglu.com/Tongy0/archive/2013/11/10/204198.htmlJacc.KimJacc.KimSun, 10 Nov 2013 13:16:00 GMThttp://www.shnenglu.com/Tongy0/archive/2013/11/10/204198.htmlhttp://www.shnenglu.com/Tongy0/comments/204198.htmlhttp://www.shnenglu.com/Tongy0/archive/2013/11/10/204198.html#Feedback0http://www.shnenglu.com/Tongy0/comments/commentRss/204198.htmlhttp://www.shnenglu.com/Tongy0/services/trackbacks/204198.html各个cȝ静态结构。类图是一U模型类型,切地说Q是一U静态模型类型?br />cd是面向对象系l徏模中最常用的图Q它是定义其他图的基Q在cd的基上,?br />以用状态图、协作图、组件图和配|图{进一步描q系l其他方面的Ҏ(gu)?br />cd包含7 个元?c?Class)、接?1nterface )、协?Collaboratio川、依赖关p?br />( Dependency )、泛化关p?Generalization)、关联关p?Association)以及(qing)实现关系(Realization) ?br />说明Q其实还有聚合、组合?br />另外Q所谓的协作Q其实就是指各类、接口间存在的各U关pR因此,各类间一般不是孤立存在的?br />注意Q?br />A) 在UML中,公有cd?+"表达Q私有类型用"-"表达Q而受保护cd则用"# "表达。UML的类中不存在
默认的可见性,如果没有昄M一U符PpC没有定义该属性的可见性?br />B) 。类中操作的可见性主要包括公?PubliC)、私?Private)、受保护(Protected)
和包内公?Package) 4U,分别?+"?-"?#"?~"来表C?br />其中Q只要调用对象能够访问操作所在的包,可以调用可见性ؓ(f)公有的操?只有?br />于同一个类的对象才可以调用可见性ؓ(f)U有的操作,只有子类的对象才可以调用父类的可?br />性ؓ(f)受保护的操作:只有在同一个包里的对象才可以调用可见性ؓ(f)包内公有的操作?br />----------------------
UML定义?U基本依赖类型,分别是?Usage) 依赖、抽象CAbstraction) 依赖?br />授权(Permission) 依赖和绑定CBinding) 依赖.其中Q用依赖是cM最常用的依赖?br />在实际徏镇中.3 U情况下产生使用依赖Q客L(fng)的操作需要提供者类的参?客户cȝ
操作q回提供者类的?客户cȝ操作在实C使用提供者类的对象。用的构造型
包括调用和实例。在实际建模中,调用依赖和参C赖较?yu)被使用。发送依赖规?br />客户把信号发送到非指定的目标Q实例化依赖则规定客户创建目标元素的实例?br />---------------------
兌关系(Association )
兌关系是一U结构关p,它指明一个事物的对象与另一个事物的对象之间的联pR也
是_(d)兌描述了系l中对象或实例之间的Lq接。关联的M一个连接点都叫做关?br />端,与类有关的许多信息都附在它的端点上。在UML中,兌关系用一条连接两个类的实
U表C?br />---------------------
聚合(Aggregation )。聚合关pL一U特D类型的兌Q它表示整体与部分关pȝ
兌。简单的_(d)兌关系中一l元素组成了一个更大、更复杂的单元,q种兌关系是
聚合。聚合关pLqC"has a" 的关pR在UML中,聚合关系用带I心菱Ş头的实线来表
C,其中头部指向整体?br />---------------------
l合关系(Composition)。组合关pL聚合关系中的一U特D情况,是更强Ş式的
聚合Q又被称为强聚合e 在组合中Q成员对象的生命周期取决于聚合的生命周期Q聚合不?br />控制着成员对象的行为,而且控制着成员对象的创建和解构。在U孔伍中,l合关系用带?br />心菱形头的实U来表示Q其中头部指向整体?br />---------------------
D?Navigation)。导航性描q的是一个对象通过?兌的实例〉进行导航访
问另一个对象,卛_一个关联端点设|导航属性意味着本端的对象可以被?端的对象讉K?br />可以在关联关pM加箭头表C导航方向。只在一个方向上可以D的关联称为单向关?br />(Unidirectional Association)Q用→条带头的实U来表示Q如?-23所C?在两个方向上?br />可以D的关联称为双向关?Bidirectional Association)Q用一条没有箭头的实线来表C?br />另外Q用导航性可以降低类间的_֐度,q也是好的面向对象分析与设计的目标之一?br />----------------------
对象?lt;ObjectDiagram) 描述的是参与交互的各个对象在交互q程中某一时刻的状?#183;
对象囑֏以被看作是类囑֜某一时刻的实例?在UMQ对象图使用的是与类囄同的
W号和关p,因ؓ(f)对象是cȝ实例?img src ="http://www.shnenglu.com/Tongy0/aggbug/204198.html" width = "1" height = "1" />

Jacc.Kim 2013-11-10 21:16 发表评论
]]>
UML用例?Note 002)http://www.shnenglu.com/Tongy0/archive/2013/11/10/204196.htmlJacc.KimJacc.KimSun, 10 Nov 2013 12:13:00 GMThttp://www.shnenglu.com/Tongy0/archive/2013/11/10/204196.htmlhttp://www.shnenglu.com/Tongy0/comments/204196.htmlhttp://www.shnenglu.com/Tongy0/archive/2013/11/10/204196.html#Feedback0http://www.shnenglu.com/Tongy0/comments/commentRss/204196.htmlhttp://www.shnenglu.com/Tongy0/services/trackbacks/204196.html包含关系(Include)、扩展关p?Extend) 以及(qing)泛化关系(Generalization)?br />
2) 参与者有三大c?pȝ用户、与所建造的pȝ交互的其他系l和一些可以运行的q程?br />W一cd与者是真实的hQ即用户Q是最常用的参与者,几乎存在于每一个系l中。命
名这cd与者时Q应当按照业务而不是位|命名,因ؓ(f)一个h可能有很多业务。例如汽车租
赁公司的客户服务代表Q通常情况下是客户服务代表Q但是如果他(?自己要租车的时候,
变成了客户Q所以,按照业务而不是位|命名可以获得更E_的参与者?br />W二cd与者是其他的系l?例如汽RU赁pȝ可能需要与外部应用E序建立联系Q验
证信用卡以便付款?其中Q外部信用卡应用E序是一个参与者,是另一个系l。因此在当前
目的范围之外,需要徏立与其他pȝ的接口。这cM于程序边界之外的pȝ也是参与者?br />W三cd与者是一些可以运行的q程Q如旉。当l过一定时间出发系l中的某个事?br />Ӟ旉成了参与者。例如,在汽军租赁系l中Q到了还车的旉客户q没有归q汽车,
pȝ?x)提醒客h务代表致?sh)客戗?׃旉不在人的控制之内Q因此它也是一个参与者?br />注意Q参与者之_(d)q存在着一般化与特D化的关pR一般用泛化关系来表C。具体表C法
同类的泛化关pȝ同?br />
3) 用例是外部可见的pȝ功能单元Q这些功能由pȝ单元所提供Qƈ通过-pdpȝ单元
与一个或多个参与者之间交换的消息所表达。用例的用途是Q在不揭C系l内部构造的前提
下定义连贯的行ؓ(f)?br />在系l层Q用例表C整个系l对外部用户可见的行为?个用例就像外部用户可以?br />的系l操作。但是,它又与操作不同,用例可以在执行过E中持箋接受参与者的输入信息?br />
4) 识别用例
识别用例最好的Ҏ(gu)是从分析系l的参与者开始,考虑每个参与者是如何使用pȝ
的。用这U策略的q程中可能会(x)发现新的参与者,q对完善整个pȝ的徏模有很大的帮助?br />用例建模的过E就是一个法代和逐步_֍的过E,pȝ分析者首先从用例的名U开始,然后
d用例的细节信息。这些信息由短的描述l成Q它们被_֍成完整的规格说明?br />在识别用例的q程中,通过回答以下的儿个问题,pȝ分析者可以获得帮助?br />(1)特定参与者希望系l提供什么功能?br />(2)pȝ是否存储和检索信息,如果是,由哪个参与者触发?br />(3)当系l改变状态时Q是否通知参与者?br />(4) 是否存在影响pȝ的外部事件?br />(5) 哪个参与者通知pȝq些事g?br />
5) 用例间的关系
用例除了与其参与者发生关联外Q还可以hpȝ中的多个关系Q这些关pd括关联关pR?br />包含关系、扩展关pd泛化关系。应用这些关pȝ目的是ؓ(f)了从pȝ中抽取出公共行ؓ(f)?br />其变体?br />1  兌关系(Association )
兌关系表示参与者用例之间的通信?br />2  包含关系(Include )
虽然每个用例的实例都是独立的Q但是一个用例可以用其他的更单的用例来描q。这
有点像通过l承父类q增加附加描q来定义一个类?个用例可以简单地包含其他用例h
的行为,q把它所包含的用例行Zw行为的一部分Q这被称作包含关pR在q种情况
下,新用例不是初始用例的一个特D例子,q且不能被初始用例所代替。在m伍中Q包?br />关系表示U箭头加<<include> >字样Q箭头指向被包含的用例?br />包含关系?个用例的功能可以在另一个用例中使用Q如下所q?br />(1)如果两个以上用例有大量一致的功能Q则可以这个功能分解到?个用例中o ?br />他用例可以和q个用例建立包含关系?br />(2) 一个用例的功能太多Ӟ可以用包含关pd模两个小用例?br />3 扩展关系(Extend )
一个用例也可以被定义ؓ(f)基础用例的增量扩展,q称作扩展关p,扩展关系是把新的?br />为插入到已有用例中的Ҏ(gu)。同一个基用例的几个扩展用例可以在一起应用。扩
展关p表CZؓ(f)虚线头?lt;<extend>>字样Q箭头指向被扩展的用?卛_用例?br />基础用例提供了一l扩展点Q在q些新的扩展点中可以d新的行ؓ(f)Q而扩展用例提?br />了一l插入片D,q些片段能够被插入到基础用例的扩展点上。基用例不必知道扩展用例
的Q何细节,它仅为其提供扩展炏V事实上Q基用例即没有扩展用例也是完整的,q点
与包含关pL所不同。扩展关pMؓ(f)处理异常或构建灵zȝpȝ框架提供了一U十分有效的Ҏ(gu)?br />4. 泛化关系(Generaliza苗。n)
一个用例可以被特别列DZ个或多个子用例,q被UC用例泛化。当父用例能够被?br />用时QQ何子用例也可以被使用。在UML中,用例泛化与其他泛化关pȝ表示法相同,?br />一个三角箭头从子用例指向父用例?img src ="http://www.shnenglu.com/Tongy0/aggbug/204196.html" width = "1" height = "1" />

Jacc.Kim 2013-11-10 20:13 发表评论
]]>
UML构成(Note 001)http://www.shnenglu.com/Tongy0/archive/2013/11/10/204193.htmlJacc.KimJacc.KimSun, 10 Nov 2013 10:51:00 GMThttp://www.shnenglu.com/Tongy0/archive/2013/11/10/204193.htmlhttp://www.shnenglu.com/Tongy0/comments/204193.htmlhttp://www.shnenglu.com/Tongy0/archive/2013/11/10/204193.html#Feedback0http://www.shnenglu.com/Tongy0/comments/commentRss/204193.htmlhttp://www.shnenglu.com/Tongy0/services/trackbacks/204193.htmlM来说.UML׃下几个部分构成?br />(1)视图。视图是表达pȝ的某斚w特征的UML建模元素的子集,视图q不是图Q?br />它是׃个或者多个图l成的对pȝ某个角度的抽象。在建立一个系l模型时Q通过定义?br />个反映系l不同方面的视图Q才能对pȝ做出完整、精的描述?br />说明Q一般情况下Q视囑֏可以分ؓ(f)多种不同层次、不同功能用途的视图Q?br />        a) 用例视图、b) 逻辑视图、c) q发视图、d) lg视图、e) 配置视图
(2) 图。视囄囄?UML通常提供9U基本的图,把这几种基本囄合v来就可以
描述pȝ的所有视图?br />说明Q?br />        a) 在UML1.4时代Q基本的9U图分别为:(x)用例图、活动图、时序图、协作图、类图、状态图、对象图、组件图、部|图?br />        b) 在UML2.0时代Q还扩展了其他的几种图。如Q交互图{等?br />(3)模型元素?UML中的模型元素包括事物和事物之间的联系。事物描qC一般的面向
对象的概念,如类、对象、接口、消息和lg{?事物之间的关p能够把事物联系在一P
l成有意义的l构模型。常见的联系包括兌关系、依赖关pR泛化关pR实现关pd聚合
关系.同一个模型元素可以在几个不同的UML图中使用Q不q同一个模型元素在M图中
都保持相同的意义和符受?br />说明Q?br />        a) UML模型元素一般ؓ(f)Q类、对象、活动、用例、协作、状态、接口、以?qing)种事g关系{等?br />(4)通用机制。UML提供的通用机制可以为模型元素提供额外的注释、信息或语义.q?br />些通用机制同时提供扩展机制Q扩展机制允许用户对UMLq行扩展Q以侉K应一个特定的
Ҏ(gu)/q程、组l或用户?br />说明Q常用的通用机制为:(x)a) 修饰、b) 注释、c) 规格说明、d) 通用划分、e) 扩展机制?/div>

Jacc.Kim 2013-11-10 18:51 发表评论
]]>
þۺϸϾþù| þþƷƷ| ۺպþóAV| þþȹ͵ۺ| ۺϾþþþۺ| 칫ҾþþƷ| Ʒ99þþþþ鶹| þþƷ99þ㽶ɫ| ɫۺϾþĻ| ˾þþƷһ| þþþAV| 99ξþþŷƷվ| ɫݺݾþAVۺ| ˾þۺ| Ʒþþþþþþ| Ʒҹþ| þɫۺҹž| AëƬþþƷ| þþƷԴվ| Ʒþþþ龫Ʒ| þ99ۺϾƷ| þۺϹɫ88þþƷۺ | ޹Ʒþþþ| ձɫվWWWþ| þۺۺϾþúݺݺ97ɫ88| þ91Ʒ91| þ޸ۺ| ĻѾþ| ھƷþ| þþƷ| þҹɫƷ| þˬˬAVƬ| ձ޿һþ | þѾDzݲƷ| þþƷվ| þó˹Ʒ| Ʒþþþþø69| ݺɫþۺ| ƷŮþþþ| ھƷþþþ| ۺϾƷþ|