讲讲项目中的数据管理

     在新建的项目中,数据初始化工作一般都会放在系统测试结束后,系统上线前完成各种系统数据的准备工作。这些数据包括了:维持系统运行的基础数据:包括组织机构数据,人员数据,岗位或者角色的权限数据,系统初始化元数据等等,这些不是经常变化的数据我们也把它们称为静态数据。当系统跑起来了,录入了业务数据,这些数据是动态的,可能实时会增加、更新或者删除。

     可是在我所经历的项目中,每次遇到要把存量的业务数据都录入到新系统中的时候,这真的是一个非常痛苦的事情。why?数据量大,数据格式千奇百怪,错误数据或者缺失数据,业务人员解释不清楚数据的用途,数据缺乏足够的标记,历史数据是中间产物不是原始的。

    曾经经历过一个项目,大概上述的问题都发生过,项目经理当时已经焦头烂额,20个工作日录进去的数据全部推倒重来,项目延期交付,有的项目组成员抱怨眼睛都花了,视力下降严重。我们来看看怎么解决项目组的问题。

    数据管理工作是在设计工作做完以后就要开始着手准备的工作了。

   第一步,选择你数据录入的工具。比如常见的excel,另外各大数据库都有excel导入到数据库的工具,或者有些非结构性的数据你需要非结构性的文本工具或者自己写脚本开发。

    第二步,数据定义。数据定义,最好要对数据进行一个分类,便于你查找和分工采集。分类可以按照业务分类、结构分类、用途分类等等。定义这个步骤和数据库的设计有关,如果项目中存在历史数据需要录入到数据库中,你需要把你设计的excel表样发给业务人员进行确认,最好让他们自己按照你定义的数据表格,填写一份自己的表格,你需要验证的内容包括:

  •     数据的完整性。有没有缺失或者多余的数据。
  •     数据的准确性。没有有定义错误的数据,一般都是把别的表格的数据填到了当前的表格中。
  •     数据的长度和精度。小数点几位数,数据的单位对不对。
  •     数据的逻辑性。有没有关联性的数据,或者需要用公式推导的数据。

   第二步工作真的非常非常重要,如果跳过了这个步骤,后面你会发现许多工作都是白做了,要重新再来一遍。

    第三步,编制数据收集计划。拿着你的表样,跟未来的用户或者客户的部门领导,一个一个的谈,跟他们确定好数据收集计划。

    计划应该包括以下的内容:

  •    数据收集的策略。比如一次性收集,还是分批,分次进行收集。这个里面会因为数据的耦合程度、时间顺序,业务的逻辑顺序,收集难易程度会有收集的先后顺序。
  •     历史业务数据的起止时间,就是从某年某月某日开始的数据要被收集,截止到哪天就不再收集。定好了时间就不要再变更了,这样便于你对数据进行配置管理。
  •     数据收集的负责人,汇总人员,验证人员,确认人员。有的小伙伴在问,怎么搞得这么麻烦,因为有些数据的收集还真的是跨部门,跨流程了,还真的需要一个人总协调。数据汇总,看上去是个很简单的收集工作,但是你别忘记了,你把数据做成了excel表格就变成了文件,文件是有版本的,可能错了一个数据改一下,然后文件版本就变了,版本多了你就不知道哪个是哪个了,又有人说不是有svn或者git可以保存文件的版本吗?但是这里有一个问题,每个人都更新自己的版本,没有汇总人你知道谁没有更新吗?验证人员就是要对收集上来的数据进行检查,数据里面有没有错误的。确认人员是要对数据最后录到系统中的功能性进行核实。
  • 数据收集后存放文件的目录,每个文件(excel或者其他文本)的命名方式。对这个是配置管理的部分,但是真的非常重要,因为你必须要知道你的数据版本是什么。有人喜欢用年月日标注数据的版本,但是我不建议你这么做,一天修改多次这种版本标记就不会起到什么作用。
  • 数据变更的流程。这个事情要讲清楚,更新以后一定有人进行检查,谁谁谁检查要说清楚。

     这个计划需要得到你的客户的认可,这样才能得到最大力的支持。很多情况下,客户方因为数据的事情可以来回扯皮,因为有的数据你并不一定找得到谁来产生或者谁去把数据找出来。数据收集负责人就需要出来协调了。数据收集好了,就进入下一步。

      第四步,数据转化。这里的转化是跟你的工具相关的,比如excel里面的日期可能录到系统里面是long型的数值,你需要把它转化成字符串。还有就是收集的数据是xml、html、json等各式各样的数据,你就不得不进行转化成cvs或者其它结构化各式。

      第五步,数据清洗。对你没看错,数据需要清洗,但不是为了做数据挖掘。重复的数据需要删除,标准不统一的数据要进行统一,缺省数据要有默认值,需要单位(比如:千克转化成吨)换算的数据值进行换算,需要计算的数据进行计算,明显超出数据范围的数值进行分析确定处理办法,精度问题要统一处理。

     第四步,第五步的工作你都需要对数据的版本进行管理,数据来源不管你是不是用svn等工具保存,有一点这些数据的版本不能搞错了。

     第六步,数据集成。好了,真正的问题可能出现在这一步。这个工作需要再分步骤完成,原则上应该把数据耦合性不强的数据先录入到系统中(数据彼此之间可以独立),然后检查数据是否录入完整和正确,是否影响系统功能,没有发现问题就需要进行数据库的备份,然后再录入关联性强的数据,这个工作要一步一步进行,每灌录一次就要备份一次数据库。看上去很麻烦,但是这有利于你对错误数据的定位。对,这是在做集成测试工作。

   发现了错误数据,要赶紧确定错误的原因,然后进行原始数据的纠正,再进行录入。

    第七步,系统测试。系统测试是要把一个完整的业务流程按照真实情况,模拟一次,你要判断你的输入是否得到了你希望的输出。我不清楚,为什么很多开发人员把数据集成的测试工作完成了,就不再去做系统测试,可能是觉得应该是测试人员或者用户测试做的,但是这是不对的,也许数据录进去了,可能会发生测试人员在使用模拟数据时没有出现的bug。我记得有个项目,因为接口读不到数据,结果就不发短信,导致所有消息都没有发送出去,消息数据在系统中堆积了上千条。

    当写到这里,想到一个数据量的问题。因为遇到过一个几千人的某个客户光历史数据就有3T,灌录数据就是一个大工程。

    很多都是word做成的表格,还有纸质的文档需要录到系统中,因为这些都是珍贵的过程资产。纸质的数据,我们买来了扫描仪 ,当然你可以用相机拍照编号,然后用图片识别工具进行识别然后做成word。word文档你可以撰写vba程序转成excel表格,再进行录入。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄鹤的故乡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值