Вы уже создали базу данных, но не задокументировали проект?Мой друг, тебя ждет мир боли.
Документация для проекта, включая функциональную спецификацию, читаемую конечным пользователем, с полным управленческим выходом является критической .(Даже если вы следуете 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 - Модели.Модели несут ответственность за содержание бизнес-логики и связанных данных.Ваши Модели должны быть частями, ответственными за работу с базой данных.Упомянутые мною фреймворки включают в себя множество инструментов, которые позволяют легко создавать полезные, правильные, расширяемые модели с использованием различных методов и шаблонов.Опять же, оцените имеющиеся у вас варианты фреймворка и то, как они предпочитают создавать свои модели, чтобы найти решение, которое будет хорошо работать для вас.