Java Modeling in Color with UML

Richie

Sometimes at night when I look up at the stars, and see the whole sky just laid out there, don't you think I ain't remembering it all. I still got dreams like anybody else, and ever so often, I am thinking about how things might of been. And then, all of a sudden, I'm forty, fifty, sixty years old, you know?

彩色建模(四色原型) Object Modeling in Color

Object Modeling in Colour,Java Modeling in Color with UML一书中提出这种方法

定义4种类的原型,在UML中用不同颜色表示不同原型的对象
    Java Modeling in Color with UML

1. Party, Place, Thing
Party: 事件的参与方,例如某人人、某组织等
Place: 事件的发生地,例如仓库、零售店铺
Thing: Thing classes are those that identify individual items such as individual cars, airplanes, DVD's, books, pieces of equipment, etc. 
按照字面意思理解,应当是指事件中具体的物品,比如客户的购买事件中,thing可能不是指订单(order),而是订单中具体的物品,例如图书、衣服等

2. Role,角色,对party, place, thing的参与行为、方式的抽象

3. Moment-Interval
models something that one needs to work with and track for business and legal reasons, something that occurs at a moment in time or over an interval of time. 
指业务的活动、对象等,因业务需要和法律原因等需要操作、记录、追踪的东西,例如销售、订单、预定、航班、会议、行程等

4. Description
对某一类型事物的额外描述数据,例如产品有各种基本属性,但各种类型的产品差异比较大,比如做电子商务系统时,图书、服装、眼镜等不同类型的商品,在前台购买流程、后端订单处理流程、财务记账处理、库存管理方式、售后服务原则等各方面都会存在比较大的差异,这些差异按照产品类型设计成产品的额外描述属性,这些被称为description
其效果就是,当你看到产品主对象时,可以明确的知道他代表什么,他的其他附属资料则在description中。大部分地方可能使用的是产品基本属性,只需关心产品主对象;涉及到差异处理的部分才需要关心description相关数据。因此将其分成不同的原型类型,使用不同颜色表示

不同的原型
1. 在UML图中采用不同的颜色表示,便于对复杂的UML图的理解
2. 具有各自的职责
3. 可能具备一些共性,例如相同的属性、操作,以及相互之间的关系等,至少在设计时这些方面应当考虑 
    Java Modeling in Color with UML

参考: Object Modelling in Colour
 
 
标签: Design
绿色通道: 好文要顶 关注我 收藏该文与我联系 Java Modeling in Color with UML
0
0
 
(请您对文章做出评价)
 

posted on 2009-11-25 11:59 riccc 阅读(828) 评论(0) 编辑 收藏

 
 
 
<iframe id="google_ads_iframe_/1090369/cnblogs_blogpost_C1_sitehome_0" style="vertical-align: bottom; border: 0px;" name="google_ads_iframe_/1090369/cnblogs_blogpost_C1_sitehome_0" src="javascript:%22&lt;html&gt;&lt;body%20style='background:transparent'&gt;&lt;/body&gt;&lt;/html&gt;%22" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="300" height="250"></iframe>
<iframe id="google_ads_iframe_/1090369/cnblogs_blogpost_C2_sitehome_0" style="vertical-align: bottom; border: 0px;" name="google_ads_iframe_/1090369/cnblogs_blogpost_C2_sitehome_0" src="javascript:%22&lt;html&gt;&lt;body%20style='background:transparent'&gt;&lt;/body&gt;&lt;/html&gt;%22" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="468" height="60"></iframe>
 

导航

NEWS

搜索

 
 

常用链接

我的标签

随笔档案

RUBY & RAILS

其它

数据库

最新评论

  • 1. Re:NHibernate的缓存管理机制 - NHibernate 2.1.2
  • 看不懂, 但是我遇到的就是缓存问题,查询的东西居然一成不变,数据库里面的数据已经增加了好多条但是就只查出当初的那两条, Nhibernate确实好蛋疼
  • --dhx
  • 2. Re:NHibernate的缓存管理机制 - NHibernate 2.1.2
  • @ICE_INFO引用先从二级缓存读取CacheLock对象,如果返回null说明锁已经过期(事务时间太长造成) 如果锁已经过期,或者返回的CacheLock已经不是加锁时返回的那个(锁过期后又被其他线程重新加锁了),则新建一个CacheLock,设为 unlock状态放回二级缓存,结束整个更新处理 如果CacheLock为并发锁状态,则将CacheLock并发锁计数器减一,更新回...
  • --riccc
  • 3. Re:NHibernate的缓存管理机制 - NHibernate 2.1.2
  • @ICE_INFO
    跟数据库乐观锁机制一样,使用时间戳作为版本号。
  • --riccc
  • 4. Re:NHibernate的缓存管理机制 - NHibernate 2.1.2
  • 先从二级缓存读取CacheLock对象,如果返回null说明锁已经过期(事务时间太长造成) 如果锁已经过期,或者返回的CacheLock已经不是加锁时返回的那个(锁过期后又被其他线程重新加锁了),则新建一个CacheLock,设为 unlock状态放回二级缓存,结束整个更新处理 如果CacheLock为并发锁状态,则将CacheLock并发锁计数器减一,更新回二级缓存,结束整个更新...
  • --ICE_INFO

阅读排行榜

评论排行榜

Powered by: 
博客园 
Copyright © riccc

uml

相关推荐