金融系统中可能用到的日志:
待补充 0.交易日志 1.用户操作日志 2.报文日志 3.记录出错信息的系统日志
待补充 0.交易日志 1.用户操作日志 2.报文日志 3.记录出错信息的系统日志
例: 在日终处理中,系统将每日自动清理如下数据: ? 超过保存期限的业务信息表记录; ? 超过保存期限的交易流水表记录; ? 超过保存期限的统计报表记录;
四种运算: 1.普通的四则运算、指数、高等数学运算等 2.求最值 3.汇总/平均 4.统计 第1种运算没什么可说的 如果考虑剩下的三种运算,在处理空值输入时,往往会使得业务逻辑比较复杂 a.如果输入都是空或者没有输入,则结果是空还是零? b.如果有些输入为空,有些不空,则不空的那个是当作零?还是不参与比较/汇总/平均/统计?
要约定:空格是“\0”,还是“\20”,还是其他
1.每个步骤都有可能发生异常,发生了异常怎么办? 2.异常可分为系统异常和业务上的“非理想状况”。比如一个网上购物网站,连不上支付网关是系统异常,用户余额不足不能支付则属于业务异常。 3.对于批量数据接口异常,要区分以下几种情况: a.未返回数据 b.返回了批量数据,但只是返回了一个空的容器(如空文件,空的java.util.List) c.返回了批量数据,但容器里记录的是报错信息 d.返回了批量数据,但容器里记录的信息不是我们想要的信息 e.返回了批量数据,且容器里有我们想要的数据,但是其中某些数据是正常的,某些是错误的 100.异常除了改变程序流程,异常信息本身该怎么记录? 不同级别的异常应有不同的记录方式
在工作日,数据接收者如果没拿到想要的数据,就会报个异常 但在工作日,它不应该报异常的 所以,要么 1. 将工作日、非工作日 的区分应用到程序逻辑中,使系统在非工作日不去获取数据 2. 不做这种区分,仍然报出异常,但要确保这种异常不会对系统的其他方面产生影响,并且用户也要人为地注意:这是个伪异常
1.NULL问题 规则:“如果三个月内有一次逾期,那么。。。” 问题是,如果前2个月的逾期信息为空,那怎么办? 这不仅是一个预防空指针的问题,而且还是一个需求问题 2.不在值域问题 规则:如果当前逾期,那么。。。 问题:如果当前逾期的标志不是M0-M6,而是 “侬好”,怎么办?
要不然万一数起来会死人
这个真要在做之前考虑周全,因为“用户”跟系统中很多其他资源都是挂勾的。如果一开始没做好,后来做起来就麻烦了 必须要考虑以下问题: 1.有没有guest用户? 此guest和彼guest是否当作同一个人? 对guest的登录点怎么控制? 2.有没有admin,test等系统专有用户? 这种用户在参与业务时该怎么对待? 3.在真实用户里,除了张三、李四,有没有“综合管理员”这种虚拟用户? 她在参与业务时该怎么对待?
当用户轻描淡写地谈到“卡”时,你必须打断她,并问道: 1.包括贷记卡和准贷记卡吗? 2.包括人民币卡和其他币种卡吗? 3.包括主卡和附卡吗? 4.包括正常卡和已销户卡吗? 当用户轻描淡写地谈到“卡数”时,你必须打断她,并问道: 1.包括贷记卡和准贷记卡吗? 2.包括正常卡和已销户卡吗? 3.主卡和附卡合起来算几张卡? 4.双币卡算几张卡?那种只有美元币种而没有人民币种的卡怎么算? 当用户轻描淡写地谈到“账户数”时,你必须打断她,并问道: 1.指的是卡总数,还是开户机构总数? 2.如果用户在某开户机构开的卡都销掉了,这个账户数还计入吗? 当用户轻描淡写地谈到“额度”时,你必须打断她,并问道: 1.是用户额度还是某张卡的额度?用户额度怎么算? 2.是各张卡的额度总和,还是各张卡中的最高额度? 3.如果用户爸爸给了用户一张附属卡,附属卡额度是否与我们正在谈的“额度”有关? 4.已销户卡的额度算不算进来? 5.如果用户的卡是双币卡,这个额度以哪个为准? 6.如果用户只有 美元卡,这个额度怎么算?