对于需求而言,最宏观的概念是六字诀:

Who->Where->Which->How->End->Effect;谁(Who)在什么地方(Where),对那个对象(Which)做了什么(How),做完了(End),影响是什么(Effect);

在How上面要做的文章是最多的,How其实本质就是场景,操作,数据(对象)。

刷墙

只要是被操作的数据就需要考虑是否需要添加状态,比如IMS审批从NPIOT系统中抽调的数据就需要考虑是否需要加状态,防止审批期间物料被移动;不加状态,就代表着,操作本身不具有数据"加锁"性或者"刷墙性"(狗撒尿性,数据刷一层油标记),比如简单的查询看结果;但是一旦被刷墙了,就要考虑是否需要再刷回去。

覆盖刷墙

需求的任何操作都要考虑一个"数据冲突问题"(是否破坏了人家安静的生活),现有的操作是否会导致信息冲突,比如数据导入,如果导入图纸,重复了怎么处理,怎么来判定处理;IMS审批的数据也是这个歌道理,你要考虑到如果别的数据动用了你操作的数据是否可以?两个方向考虑问题:你的动作是否导致了别的数据的冲突(导入);你的动作"维护的"数据是否导致了别的数据冲突(IMS审批);

冲突问题的本质就是刷墙,本来数据已经被人刷墙了,结果你又刷了一遍,如果你的优先级就是高或者就是要覆盖性的刷墙,没问题;但是如果没有权限去覆盖或者不确定,你就要考虑是否是要用户来判断,或者新添加一个字段(墙,用来刷)来标识;

亲戚关系

每创建一条数据的时候,都要捋清一个问题,他和"近亲"数据的关系(比如WAS单预留项和需求的关系,WAS单预留项和WAS单的关系); 八竿子打不到的亲戚就不要管了,我们只管"近亲"的。

外一篇 When:场景集市

When的概念有两个,一个是出发需求的时间点,另外一个就是场景(外景);考虑需求"支撑"一定要把支撑的场景想全了,比如发放控制,需要跟踪需求的预留量,支撑场景一是精确预留,每一个需求,会精确到一条UP记录;但是还有场景二,费精确预留,所以客户有一个需求,一定会有一个场景集市来做做支持,一定要把场景集市都考虑清楚了;比如Peter之前就有一种思想:把所有的物料类型都过一遍,以确定所有的场景,我们设计的需求流程图都走得通,很多时候可能就是某一类物料(关联的内容和约束不一样)就走不通了,这个时候需要考虑一下。

关于How,刷墙和亲戚的更多相关文章

  1. P2070 刷墙 (洛谷)

    题目描述 Farmer John已经设计了一种方法来装饰谷仓旁边的长栅栏(把栅栏认为是一根一维的线).他把一只画刷绑在他最喜爱的奶牛Bessie身上,之后就去喝一杯冰水,而Bessie隔着栅栏来回走, ...

  2. 题解【洛谷P2070】刷墙

    题面 将每一次移动的距离进行差分,前缀和判断移动的距离是否\(\geq 2\)即可. #include <bits/stdc++.h> #define itn int #define gI ...

  3. 题解 P2070 【刷墙】

    前言 \(ZHK\)私人博客体验更佳 这道题目,\(n<=10^5\),显然在暗示我们使用\(n \log n\)的做法,我就是用了一个简单的贪心,通过了此题. 正文 在这道题中,我们发现,可以 ...

  4. 《WPF程序设计指南》读书笔记——第2章 基本画刷

    1.Color结构 using System; using System.Windows; using System.Windows.Input; using System.Windows.Media ...

  5. 淘宝PK京东:哥刷的不是广告,刷的是存在

    冯强/文 (昨晚看阿根廷vs瑞士时手机上敲的,看完太激动忘发了,现配了图发上来) 这两天,关于京东.淘宝渠道下沉的新闻中,两家略带喜感的农村墙体广告在互联网上传播,例如以下图: 京东这图片,越看越像P ...

  6. 2012 Multi-University #9

    计算几何 A Farmer Greedy 题意:n个点选3个组成三角形,问m个点在三角形内的数字是奇数的这样的三角形个数. 分析:暴力O(N^3*M)竟然能过!我写的搓,加了优化才过掉.正解是先处理出 ...

  7. CF448C Painting Fence (分治递归)

    Codeforces Round #256 (Div. 2) C C. Painting Fence time limit per test 1 second memory limit per tes ...

  8. POJ 1681 Painter's Problem (高斯消元)

    题目链接 题意:有一面墙每个格子有黄白两种颜色,刷墙每次刷一格会将上下左右中五个格子变色,求最少的刷方法使得所有的格子都变成yellow. 题解:通过打表我们可以得知4*4的一共有4个自由变元,那么我 ...

  9. CodeForces Round 198

    总体感觉这次出的题偏数学,数学若菜表示果断被虐.不过看起来由于大家都被虐我2题居然排到331,rating又升了74.Div2-AA. The Walltime limit per test1 sec ...

随机推荐

  1. hi3531的h264压缩中改动波特率

    typedef struct hiVENC_ATTR_H264_CBR_S { HI_U32 u32Gop; HI_U32 u32StatTime; HI_U32 u32ViFrmRate; HI_F ...

  2. PHP获取IP所在地区(转)

    1.获取IP地址的API新浪的IP地址查询接口:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js新浪多地域测试方法:http:/ ...

  3. 写个 Hello World 而已,要不要这么震撼?!

    Atom 编辑器的一个插件,可以让你写代码的时候体验狂拽酷炫的效果! 如果来点音乐.再配上机械键盘的话,写代码是不是爽到爆呢? 这货全名叫: activate-power-mode atom pack ...

  4. hdu1016JAVA

    import java.util.Arrays;import java.util.Scanner;public class Main { public static int kase=0,n; pub ...

  5. Storm集群扩容——从单机模式拓展到集群模式,以此类推

    Storm是分布式的实时流处理系统,单机模式肯本不能体现其强大特点,尤其是当需要处理的数据很大很快的 时候,Storm可以随时扩容,而且操作非常简单,编写的应用程序自动负载均衡. 前面已经介绍了如何安 ...

  6. Java并发——Fork/Join框架

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/ShiJiaqi. http://www.cnblogs.com/shijiaqi1066/p/4631466. ...

  7. ThinkPHP函数详解:I方法

    ThinkPHP的I方法是3.1.3版本新增的,如果你是之前的3.*版本的话,可以直接参考使用3.1快速入门教程系列的变量部分. 概述 正如你所见到的一样,I方法是ThinkPHP众多单字母函数中的新 ...

  8. ACM——A + B Problem (3)

    Home Problems 1086 A + B Problem (3) 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte总提交:2317 ...

  9. ACM——简单排序

    简单选择排序 时间限制(普通/Java):1000MS/3000MS          运行内存限制:65536KByte总提交:836            测试通过:259 描述 给定输入排序元素 ...

  10. java新手笔记22 接口示例2

    1.USB package com.yfs.javase; public interface USB { //定义规范 public void read(); public void write(); ...