`

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中用不同颜色表示不同原型的对象
    

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. 可能具备一些共性,例如相同的属性、操作,以及相互之间的关系等,至少在设计时这些方面应当考虑 
    

参考: Object Modelling in Colour
 
 

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics