重构机房收费系统之最终的UMl图(类图)

        个人版的机房收费系统 已基本完成,在过程中遇到很多问题,当然到现在为止也还存在问题,逻辑上,实现上等等。。但是系统从开始到现在也将近3个月了,严重超期,到现在为止让我感触最深的就是类图。因为之前的时候总是把重点放在时序图上,但是在代码实现的过程中越来越觉得类图很重要,由于这是第一次对一个系统完全按照文档,UML图,代码实现的过程实现的,所以在实现时,发现自己之前的UML图有太多不合理的地方,所以修改的地方很多,这是之前类图的实现:http://blog.csdn.net/jly4758/article/details/8983790

             在这里把最终版和开始的版本做一下简单的总结,对于U层的类图,当然没有多大的出入,和之前的基本差不多,就不做介绍,然后就是实体层,之前有说过实体层是根据数据库结构来的,所以在大的方向上没有什么变动,只是在个别属性上做了微调,比如添加了组合查询实体类,主要是把组合查询作为一个实体,更容易查询:下面是变更后的实体类:

重构机房收费系统之最终的UMl图(类图)_第1张图片


      由于D层是实现的IDAL接口层,所以这两个类的改变基本上是一致的,至于修改的内容那就有很多了,因为在之前画图的过程中,想的不够周到,没有想到会有那么多的与数据库连接的查询或者增删改,所以最开始的图是比较简单一点儿的,最终做出的调整是这样的:(由于D层和IDAL基本一致,这里用一张工厂类图来表示)


         改动最大的部分就是B层,因为B层是整个系统的逻辑判断层,之前可能想的不是很周到,导致B层的逻辑不够用,或者存在不合理,下面是改动后的B层:


       因为用到了外观层,但是外观层是跟U层的窗体基本对应的,方法也基本一致,做最大改动的地方就是上下机类,如图所示:

重构机房收费系统之最终的UMl图(类图)_第2张图片


         这就是整个系统所有的类图,虽然在过程中觉得还是挺完美的,但是越来越发现,这样做似乎有些太繁琐了,在验收的时候师哥就有说这样的B层和F层似乎不太好,因为B层基本和D层一致,而且相对来说B层的逻辑有些少,而F层就略微显得太繁琐了,而且我的U层用到了逻辑。。。这样想想这个系统还有很多漏洞的地方,但是好在还有一次合作版可以让我改正在个人版中出现的问题。

        所以任务依旧很艰巨,追逐的步伐也依旧没有停止!奋斗吧少年。。。

在这里做一下 修改,就是上文说到的IDAL 和 DAL 的问题,有孩纸评论说有问题,后来在师哥和同学的引领下找到问题所在,上张图是简单的抽象工厂的实现,而在项目实现的时候我却利用的反射,所以说不是所谓的工厂不能引用DAL而是,在反射的时候,工厂类只有一个且只引用接口,实现图是这样的:


    


你可能感兴趣的:(重构机房收费系统之最终的UMl图(类图))