一个活动组织的四色原型分析,求指教

14-04-14 zpp2025
              

以前的设计思路就是,通过画出usecase之后 找出需要被存储的表和属性,然后在业务操作的时候就是操作对应的表数据,这样典型的就是数据库驱动设计。如果碰到复杂的业务系统,数据库设计就会让人望而生畏,没有标准的设计原语,只有生涩的数据库图表,一旦复杂系统升级基本上是噩梦不如重做。

我先是看的《领域驱动设计》,然后才去看分析方法-四色原型。

四色原型看了一段时间,总感觉几年的数据库设计的思路在阻挡我正常的分析,一旦碰到概念性的问题的时候,总是会朝着数据如何做存储的方向思考。痛苦着。

列下一个简单的 活动组织系统 的 usecase。

需求简单如下:

1.张三以组织者的身份在 A球场 组织了周5下午2点~4点的 普通足球活动。

2.李四报名 A球场 周5下午2~4点的足球活动。

3.王五退出已经报名的 A球场 周五下午2~4点的足球活动。

4.张三以组织者的身份取消了李四的报名。

5.张三以组织者的身份取消了 A球场 周5下午2点~4点的足球活动。

规则: 普通足球活动 , 长包足球活动

普通足球活动就是简单是件区间的足球活动 --> 本周5 下午2点~4点。

长包足球活动也是区间的活动,只不过增加了周期性。--> 每周5下午 2点~4点。

usecase:

活动usecase

创建活动的四色原型图如下:


貌似感觉有点不对劲,模型是活动没错,可是角色呢? 我缺感觉到迷惑了,

按照活动作为模型的话,那角色就应该是活动对应的场景角色。普通活动|长期活动。

但是从需求来看,是不是i应该把人做为ppt?参与者作为角色??? 比如 -->活动组织者|球友。

报名活动的四色原型如下:


请教下高手门, 两个场景的 ppt 不一样,是否是有些问题? 或者我理解的四色方式有偏差。还有一些规则 Specification,应该放在 MI 里面换是在 Role 里面?

banq大哥 我的分析思路是不是i存在问题的?

[该贴被zpp2025于2014-04-14 15:11修改过]

              

5
banq
2014-04-14 15:13

四色原型图要紧扣用例图,或者说等同于用例图,只是做了归类,四种颜色的归类,可以认为是用例图+类图的结合。

用例图中有两个角色组织者和参与者,这直接映射到四色中的Role,这样也有两个不同有界上下文四色图(因为用例中有两种角色,分别有两种不同边界的功能集)。

确定好角色,我把四色原型总结为“什么人在什么地方干什么事情”,按照这个模板和用例图一起套,其中什么人代表角色Role,在什么地方代表PPT,或者是什么时间或者有什么结果都可以;干什么事是一个MI。

这样,1+1就能推到出2了。

zpp2025
2014-04-14 15:50

我习惯性的把 PPT 和ROLE 联系在一起,认为 ROLE 是PPT 的一种场景角色, 比如 活动创建,那就是 活动(PPT),普通活动(ROLE),创建(MI)。

按照你说的话,其实就可以直接通过系统的行为区别为,角色其实就是 参与者 和 组织者。

那创建活动 就变成: 球场(PPT) , 组织者 (ROLE),创建活动(MI) .

那活动就变成结果

感觉两种方式不一样,第一个是按照活动作为模型来寻找 对应的 特征 和场景 。第二个就是确定了 角色 在 PPT 做了 MI。

banq,大哥 我的理解是不是正确的。

这个是 组织者 剔除 参与者的 原型图


按照用户作为角色的方式, 我感觉我的mi 就是一个执行器了,传入参数执行,感觉怪怪的。

[该贴被zpp2025于2014-04-14 16:21修改过]

[该贴被zpp2025于2014-04-14 16:34修改过]

[该贴被zpp2025于2014-04-14 16:35修改过]

banq
2014-04-14 17:59

2014-04-14 15:50 "@zpp2025"的内容
感觉两种方式不一样,第一个是按照活动作为模型来寻找 对应的 特征 和场景 。第二个就是确定了 角色 在 PPT 做了 MI。 ...

是哦,两种方式是不同,第二种方式侧重行为,MI本身是一种与时间有关的活动过程,所以,有时MI让人感觉是一个执行器,因为其行为特征明显,MI落实到设计里面可能是一个服务,也可能是一个实体,比如足球比赛是一个聚合根实体,可见另外一个足球比赛的案例:http://www.jdon.com/44815