Archive for the ‘UML’ Category

UML实践—-UML简介:用例图、顺序图、状态图、类图、包图、协作图(一)

Saturday, December 20th, 2008




Practical UML™: A Hands-On Introduction for Developers By: Randy Miller Abstract: This tutorial provides a quick introduction to the Unified Modeling Language™ The heart of object-oriented problem solving is the construction of a model. The model abstracts the essential details of the underlying problem from its usually complicated real world. Several modeling tools ...

UML学习

Saturday, December 20th, 2008




UML实践----UML简介:用例图、顺序图、状态图、类图、包图、协作图 Practical UML™: A Hands-On Introduction for Developers 协作图 协作图也是互动的图表。他们像序列图一样也传递相同的信息,但他们不关心什么时候消息被传递,只关心对象的角色。在序列图中,对象的角色放在上面而消息则是连接线。 对象角色矩形上标有类或对象名(或者都有)。类名前面有个冒号(:)。 协作图的每个消息都有一个序列号。顶层消息的数字是1。同一个等级的消息(也就是同一个调用中的消息)有同样的数字前缀,再根据他们出现的顺序增加一个后缀1,2等等。 状态图 对象拥有行为和状态。对象的状态是由对象当前的行动和条件决定的。状态图statechart diagram显示出了对象可能的状态以及由状态改变而导致的转移。 我们的模型例图建立了一个银行的在线登录系统。登录过程包括输入合法的密码和个人账号,再提交给系统验证信息。 登录系统可以被划分为四种不重叠的状态:Getting SSN, Getting PIN, Validating, 以及 Rejecting。每个状态都有一套完整的转移transitions来决定状态的顺序。 状态是用圆角矩形来表示的。转移则是使用带箭头的连线表示。触发转移的事件或者条件写在箭头的旁边。我们的图上有两个自转移。一个是在Getting SSN,另一个则在上Getting PIN。 初始状态(黑色圆圈)是开始动作的虚拟开始。结束状态也是动作的虚拟结束。 事件或条件触发动作时用(/动作)表示。当进入Validating状态时,对象并不等外部事件触发转移。取而代之,它产生一个动作。动作的结果决定了下一步的状态。 活动图 活动图activity diagram是一个很特别的流程图。活动图和状态图之间是有关系的。状态图把焦点集中在过程中的对象身上,而活动图则集中在一个单独过程动作流程。活动图告诉了我们活动之间的依赖关系。 对我们的例子来说,我们使用如下的过程。 “通过ATM来取钱。” 这个活动有三个类Customer, ATM和 Bank。整个过程从黑色圆圈开始到黑白的同心圆结束。活动用圆角矩形表示。 活动图可以被分解成许多对象泳道swimlanes ,可以决定哪些对象负责那些活动。每个活动都有一个单独的转移transition连接这其他的活动。 转移可能分支branch成两个以上的互斥的转移。保护表达式(在[]中)表示转移是从一个分支中引出的。分支以及分支结束时的合并merge在图中用菱形表示。 转移也可以分解fork成两个以上的并行活动。分解以及分解结束时的线程结合join在图中用粗黑线表示 组件与配置图 组件component是代码模块。组件图是是类图的物理实现。 配置图Deployment diagrams则是显示软件及硬件的配置。 下面的配置图说明了与房地产事务有关的软件及硬件组件的关系。 物理上的硬件使用节点nodes表示。每个组件属于一个节点。组件用左上角带有两个小矩形的矩形表示。 转载自:http://dn.codegear.com/article/31863