doucuo9126 2011-03-13 18:57
浏览 66
已采纳

在使用面向对象的PHP设计ERP系统时需要遵循哪些步骤?

I have been assigned to design an ERP system for a small enterprise with Object oriented PHP.I have already designed the database for that.

Previously I have designed some web applications but never used Object oriented programming.
I have the following doubts.

  1. I know that the documentation of a project matters a lot, but do not know the procedure to do that.

  2. Not sure which architecture to follow like MVC or 3-tier etc.

  3. Significance of UML in the project and how to design it from the database or the classes and objects.

  4. How to map the database to classes and objects.

I have already designed the database for the project ,but not sure how to proceed further.

  • 写回答

1条回答 默认 最新

  • dongmacheng3222 2011-03-13 19:27
    关注

    You've already created the database, but you haven't documented the project? My friend, you are in for a world of pain.

    Documentation for the project, including an end-user-readable functional specification with complete managerial sign-off is critical. (Even if you're following an Agile process and there's no Big Design Up Front specification!) While each component of an ERP system is pretty straight-forward, the workflows of the users are going to be critical to understand before writing any code. Failure to get user buy-in and managerial sign-off for any component is going to kill your project and/or make it an utter failure after rollout.

    It's very possible that the current user workflow is either ad-hoc or poorly documented... or worse, there is no process and it's just people working independently with no understanding of the overall flow of data/money/inventory/whatever throughout the rest of the organization. While it's not your responsibility to extract a workflow out of people, it is going to be your responsibility to ensure that workflow is created and that your application follows it. If you're the type to use UML, here's where it may shine. Just remember that UML is just a tool in the toolbox, and there are lots of other ways to represent user interaction throughout a process.

    I give you this advice from personal experience. I'm a full time PHP developer, and my primary project is my employer's home-grown PHP-based ERP/CMS/CRM system. Failing to understand process before coding results in poor tools. Failing to ensure there is a process before coding results in poor tools. Failing to get both user and managerial buy-in results in poor user satisfaction, and that will hurt both your reputation and the project.

    You've tagged this as a PHP question. MVC with a modern PHP framework is going to be wise. I kind of like Zend Framework, but many others swear by CodeIgniter, Symfony, Yii, Kohana and Lithium. Evaluate a few, and make at least one choice. Many modern frameworks are loosely-coupled and can work well together. I understand that ZF and Symfony can make a good pair.

    As for the mapping of database tables to classes and objects, always keep in mind the "M" in MVC -- the Models. Models are responsible for containing business logic and the related data. Your Models should be the parts responsible for working with the database. The frameworks I've mentioned include many tools that make it easy to build useful, correct, extensible models using a variety of methods and patterns. Again, evaluate your available framework options and how they prefer building their Models to find a solution that will work well for you.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号