简短的UML课
我们今天上了一堂简短的UML课程,讲师是我们技术老大。这堂课上,他用四种颜色来表示四类对象,据说叫做彩色建模。红色——最重要的对象,与时间或时间段有关,比如在某个过程中产生的重要单据;黄色,role,角色,比如说领料人(当一个员工参与到出库过程中时,他的角色可能就是领料人);绿色,thing,比如公司;蓝色,description,描述,公司类型。公司和公司类型之间的关系如同对象与类之间的关系,而thing和role有时候并不需要严格区分。
然后开始分析我们的项目,首先选择一个简单的部门——分拨库,我们开始集体头脑风暴。由分拨库可以想到什么东西?分拨库管理员,库位,出库单,入库单……由一个人在白板上记录大家联想到的所有词汇,这个过程不能打断,说no,或辩论。
接着,我们把白板上的词汇移动到白纸上(在巨大的白纸上,用四种颜色的卡片分别标识各种对象)。移动一个对象之前,要首先决定这个对象应该用什么颜色表示,决定后,将字汇用铅笔写在这种颜色卡片上,然后贴在白纸上,最后将白板上的该词汇划横线以示删除。
然后迅速决定一个核心对象,从核心对象开始分析整个业务,在决定核心对象的时候,不要一下子就选择了业务流程的起点,还是要思考一下哪一个才是真正的核心对象,当然从哪开始都没有大的妨碍,比如我们就是从业务流程的始端开始分析的。在这个过程中比较积极的人一般都有较多的业务经验。另外,这个过程要分清楚对象之间的关系,所以应该是建模的核心过程,相对漫长,可以看到还有哪些业务需求并不清晰,往往能产生一些问题。
最后,我们列举了该部门的一些功能,需要的统计,以及画了一个简单的状态图。状态图的功能可以用一个例子说明:如果一份提单上的货物已经出库,是否就不应该删除入库记录?如果是,那么就需要给该提单加一个“已出库”的状态,于是,状态便起到了防止数据被删除,产生不合法数据的作用。实际上,状态图也在我们以往的项目中也起到过很大的作用。
注:简短,讲授的时间简短,但动手的时间相对长很多。
2011-03-05晚