标签:
对于需求而言,最宏观的概念是六字诀:
Who->Where->Which->How->End->Effect;谁(Who)在什么地方(Where),对那个对象(Which)做了什么(How),做完了(End),影响是什么(Effect);
在How上面要做的文章是最多的,How其实本质就是场景,操作,数据(对象)。
刷墙
只要是被操作的数据就需要考虑是否需要添加状态,比如IMS审批从NPIOT系统中抽调的数据就需要考虑是否需要加状态,防止审批期间物料被移动;不加状态,就代表着,操作本身不具有数据"加锁"性或者"刷墙性"(狗撒尿性,数据刷一层油标记),比如简单的查询看结果;但是一旦被刷墙了,就要考虑是否需要再刷回去。
覆盖刷墙
需求的任何操作都要考虑一个"数据冲突问题"(是否破坏了人家安静的生活),现有的操作是否会导致信息冲突,比如数据导入,如果导入图纸,重复了怎么处理,怎么来判定处理;IMS审批的数据也是这个歌道理,你要考虑到如果别的数据动用了你操作的数据是否可以?两个方向考虑问题:你的动作是否导致了别的数据的冲突(导入);你的动作"维护的"数据是否导致了别的数据冲突(IMS审批);
冲突问题的本质就是刷墙,本来数据已经被人刷墙了,结果你又刷了一遍,如果你的优先级就是高或者就是要覆盖性的刷墙,没问题;但是如果没有权限去覆盖或者不确定,你就要考虑是否是要用户来判断,或者新添加一个字段(墙,用来刷)来标识;
亲戚关系
每创建一条数据的时候,都要捋清一个问题,他和"近亲"数据的关系(比如WAS单预留项和需求的关系,WAS单预留项和WAS单的关系); 八竿子打不到的亲戚就不要管了,我们只管"近亲"的。
标签:
原文地址:http://www.cnblogs.com/xiashiwendao/p/4286785.html