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
 
 
标签:   Design
绿色通道:   好文要顶   关注我   收藏该文 与我联系  
0
0
 
(请您对文章做出评价)
 
« 上一篇: memcached client - memcacheddotnet (Memcached.ClientLibrary) 1.1.5
» 下一篇: 特征驱动开发 Feature-Driven Development - FDD

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

 
 
 
 

导航

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

阅读排行榜

评论排行榜

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值