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

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. CardsTube/YouTubePlaylist

    CardsTube https://github.com/DesarrolloAntonio/CardsTube YouTubePlaylist https://github.com/akoscz/Y ...

  2. MVC - 身份验证

    FormsAuthenticationTicket  使用此类来为用户生成一个身份票据 持有该票据则说明该用户是通过了身份验证的用户 可以随时访问某些资源 我们先创建几个类 //用户 public c ...

  3. 截获导航控制器系统返回按钮的点击pop及右滑pop事件

    前几天看了@栾小布的一篇文章:Custom backBarButtonItem,在跟着做的时候我又顺便扩展了一些,写此文章的目的是为了总结一下自己所写的东西,方便以后翻看容易,同时也是自己入行iOS一 ...

  4. 关于AFNetworking访问网络超时的设置

    前言:有的猿会发现在设置AFNetworking访问网络超时时,直接用self.manager.requestSerializer.timeoutInterval =10.f不起作用. 解决办法:经过 ...

  5. 需要设置jdk的三处位置:

    需要设置jdk的三处位置:1.tomcat需要一个JDK : Windows--->Preferences--->MyEclipse--->Servers--->Tomcat- ...

  6. 启用aspnet

    1. 进入dotnetfw目录 cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 2. aspnet_regiis -i -enable

  7. c# switch case语句

    switch是一个控制语句,用于选择一个要执行的语句块. 一个switch语句包括一个或多个执行的语句块.每个语句块包括一个或多个case标签,case后接要执行的语句. 如下面的代码 Codeint ...

  8. 用 C# 如何判断数据库中是否存在一个值

    选定一个列,比如用户编号列 //欲插入的用户编号string ll_userID="xxxxxxxx"; //查询此编号是否存在SqlCommand mycmd = new Sql ...

  9. Android 讯飞语音之语音合成(在线有声朗读)

    原文:http://www.cnblogs.com/scetopcsa/p/3845427.html 在线语音合成的使用方法: 首先下载相关的sdk,这个网址里有多种版本,我选择的Android. h ...

  10. c语言学习之基础知识点介绍(二十):预处理指令

    一.预处理指令的介绍 预处理命令:在编译之前触发的一系列操作(命令)就叫预处理命令. 特点:以#开头,不要加分号. #include: 文件包含指令 把指定文件的内容复制到相应的位置 #define: ...