Какие шаги необходимо выполнить при разработке ERP-системы с использованием объектно-ориентированного PHP? - PullRequest
1 голос
/ 13 марта 2011

Мне поручено разработать ERP-систему для небольшого предприятия с объектно-ориентированным PHP. Я уже разработал базу данных для этого.

Ранее я проектировал некоторые веб-приложения, но никогда не использовал объектно-ориентированное программирование.
У меня есть следующие сомнения.

  1. Я знаю, что документация проекта имеет большое значение, но не знаю, как это сделать.

  2. Не уверен, какой архитектуре следовать, например, MVC или 3-х уровневой и т. Д.

  3. Значение UML в проекте и как проектировать его из базы данных или классов и объектов.

  4. Как сопоставить базу данных с классами и объектами.

Я уже спроектировал базу данных для проекта, но не уверен, что делать дальше.

1 Ответ

2 голосов
/ 13 марта 2011

Вы уже создали базу данных, но не задокументировали проект?Мой друг, тебя ждет мир боли.

Документация для проекта, включая функциональную спецификацию, читаемую конечным пользователем, с полным управленческим выходом является критической .(Даже если вы следуете Agile-процессу и не существует спецификации Big Design Up Front!) Хотя каждый компонент системы ERP довольно прост, рабочие процессы пользователей будут иметь решающее значение дляпонять до написания любого кода.Если пользователь не получит вступительный взнос и разрешение на управление для любого компонента, это может привести к уничтожению вашего проекта и / или к полной неудаче после развертывания.

Очень возможно, что текущийрабочий процесс пользователя является либо специальным, либо плохо документированным ... или, что еще хуже, не является процессом, и это просто люди, работающие независимо друг от друга, не понимающие общий поток данных / денег / ресурсов / чего-либо еще в остальноморганизации.Хотя вы не обязаны извлекать рабочий процесс из людей, он будет нести ответственность за то, чтобы рабочий процесс был создан и ваше приложение им следовало.Если вы тип для использования UML, вот где он может светить.Просто помните, что UML - это всего лишь инструмент в наборе инструментов, и существует много других способов представления взаимодействия с пользователем в процессе.

Я даю вам этот совет из личного опыта.Я полный рабочий день на PHP-разработчике, и мой основной проект - доморощенная ERP / CMS / CRM-система моего работодателя.Неспособность понять процесс до кодирования приводит к плохим инструментам.Неспособность убедиться, что является процессом, прежде чем кодирование приведет к плохим инструментам.Неспособность получить как пользовательский, так и управленческий бай-ин приводит к неудовлетворительному удовлетворению пользователей, и это повредит как вашей репутации, так и проекту.

Вы отметили это как вопрос PHP. MVC с современной платформой PHP будет разумным .Я вроде как Zend Framework, но многие другие клянутся CodeIgniter, Symfony, Yii, Kohana и Lithium.Оцените несколько и сделайте хотя бы один выбор.Многие современные структуры слабо связаны и могут хорошо работать вместе.Я понимаю, что ZF и Symfony могут составить хорошую пару.

Что касается отображения таблиц базы данных на классы и объекты, всегда помните "M" в MVC - Модели.Модели несут ответственность за содержание бизнес-логики и связанных данных.Ваши Модели должны быть частями, ответственными за работу с базой данных.Упомянутые мною фреймворки включают в себя множество инструментов, которые позволяют легко создавать полезные, правильные, расширяемые модели с использованием различных методов и шаблонов.Опять же, оцените имеющиеся у вас варианты фреймворка и то, как они предпочитают создавать свои модели, чтобы найти решение, которое будет хорошо работать для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...