实战-浅谈当需求来临时怎么做好的设计二

接着上一期的需求谈

最初别人提的设计是这样的:

项目信息这里设计一张主表,然后再设计几张从表,主要参数一张表,设备资源一张表,人力资源一张表,主要材料消耗一张表,效率工期一张表等。

合同收入:主表一张;采集收入表一样,字端类型1类型2类型3......八十个字段;其他收入表一张9个字段

合同成本:主表一张;详细信息一张,按科目的字段建表200个字段。。。。。额!有点停不下去 ,某?脑洞大开分表,按大类拆分成7个表子表。

     靠!刚刚才三个功能,搞出来20多张表,大约400个字段。谁去给字段起名字本人文化低英文更差。

        我们认真的去分析一下需求,不难发现投标项目信息和实际的项目信息是一样的,那这就表公用就OK了,在想这100个字段怎么整?why不把他转换成竖列的,怎么转?

        合同收入的采集收入,其他收入和实际项目预算收入,实际项目实际收入里的是一样的,那就公用OK

了,既然采集收入字段那么多,而且用户也不确认,怎么弄?

       项目成本看似有好多种类型,其实它真正的核心在那个科目树上,其他的按类别划分成常规的表就行。

那么就上图了,然后讲一下每个表,欢迎来拍砖,图片可以下载下来



 

现说里面核心的表:科目树表,按类型存储着项目信息和成本信息。有一个字段是公式,例如,人工费=职工费+合同工+零时工,那么填写完子节点父节点就可以计算出数据,写一个公用的方法免去每次查询是还要计算

项目综合信息表,存储科目树和值的K_V的结构

采集收入表:默认有40列初始数据,每次新增收入就复制一份然后进行修改,保证了每个单据都是40条

成本明细表:K_V的结构,加一个表头字段(采集期,遣散期,动迁期,数量。。等)。如果科目树有200行,那么一个合同成本便有,采集期200行,遣散期200.。。。数量200,备注200,共约1000行。项目实际成本有国内200,国际200,去年200等。我只需在后台写一个方法,你传入那几个表头,我变将这几个表头的所有数据组合成一颗tree给你。

其他的就不说了,打字很累,有不明白的和有优化的地方,欢迎共同进步。

后面还有一些开发中的问题,比如性能如何提升,代码的耦合内聚等。。。

猜你喜欢

转载自yafei-bian.iteye.com/blog/2323370