Это довольно большая и волосатая проблема;ты знаешь это, верно?Хорошо, что вы не рассматриваете безопасность как запоздалую мысль, но я не думаю, что вы спрашиваете о безопасности.
Я потратил некоторое время на разработку системы академического менеджмента несколько лет назад.Часть требуемого дизайна была довольно вовлечена.Как и предметы и студенты, мы быстро обнаружили, что нам нужна структура класса, чтобы мы могли сказать, что этот студент был в этом предмете в этом семестре, но не в следующем.И сказать, что этот учитель преподавал этому уроку этот предмет в этом термине, но другой учитель преподавал этому уроку этот же предмет в этом термине.механизм расписания.(Я не буду вдаваться в подробности, так как это было очень сложно.) И затем нам пришлось сохранять несколько видов оценок для ученика в классе, который создавал несколько типов задач, только один из которых был завершающим.семестровые экзамены.
Наконец, мы абстрагировали наших учеников и преподавателей в общие контакты.Это позволило системе разрешений обобщать для редактирования принадлежащих им объектов.Это также позволило нам поддержать продвинутые концепции, такие как бывший студент, возвращающийся для обучения.И для всех контактов, чтобы войти в различные емкости.