我公司安排我完成此类任务,但我很头痛。
一个客户共有7个分店(7个分店模式有些差别,不完全一样的)的货物配送管理系统。此客户领导是这样跟我讲的:他们以前使用一套老系统(C/S)版的,但是,先前的软件公司共给他设计了5(A,B,C,D,E)套系统,即1,2,3号公司使用A,4号公司使用B,5号公司使用C,6=D,7=E。他们很头痛,不能统一起来,因而他们要查业务时很累,要登录数次。要求我(我打算使用php+mysql实现)统一一套新的系统,只能是一套。不同的分店只换一个模块即可。现在我难住了:我说,我安不同的分店做,最后我再统一战起来。或者,单独做一个管理员做统计全体分店的系统(只给领导管理统计用)。他们阻止我的做法,他们不同意。为什么呢?因为7个分店的,管理不一样,我很难一次性实现一个统一的一个系统。我只能做7个系统(做出一个来,修改一些关键即可),他们死活不同意。说我做的太慢了。
他们就是坚持,我做出一个来,不同的分店使用不同的模块呢?是我没见识吗?我想不同的公司引入不同的文件(include),但,短时间内。我又没有整体掌握他们的运行模式。

解决方案 »

  1.   

    他们的要求并不过分,况且只做一套成本要低的多
    引入RBAC即可
      

  2.   

    其实我认为对于你来说做一套系统和做n套系统没区别。
    客户其实关心的只是前端展现。他们不希望进每个系统都需要单独登陆。这很好解决吧?把账户系统统一起来,前端展现是一个登陆页面。后端存储就是把所有账户都存在一个表呢。加个字段标识某用户可以登陆哪个或哪几个系统。对于不同分店管理模式不同。你完全可以做出n个管理页面。顶部菜单加个导航:
    分店a 分店b ...
    只需要点击一下就可以切换至那个分店的管理界面。在我看来,每个界面只是表单内容不同罢了。你可以把不同分店的管理界面存储在n个表。这一点客户并不关心。你做n套系统还多了n个登陆界面,多个n个表来存储账户。先别着急做,好好设计设计结构。这样以后你在维护系统的时候,自己也会轻松很多。
      

  3.   

    上面是从宏观设计角度说的。具体的代码结构。
    你把n个系统的共同点和不同点抽象出来先。账户系统,权限管理这些应该都是统一的。分别将方法全部放在一个class中就可以了。他们不同的地方,你可以设计n个class,每个class放置自己的独有方法,然后继承那些拥有他们共同方法的class。