1. Введение, описание задачи.
В настоящее время Web получила огромнейшее распространение по
всему миру, с помощью неё можно получить информацию на самые
различные темы, причём процесс её получения стал максимально
прост. Именно поэтому сложно переоценить значимость наличия на
кафедре web-сервера. На сервере помимо всего прочего хранится
информация о студентах математического факультета и сотрудниках
кафедры. По ряду причин (максимальная универсальность
использования данных) она сохранена в XML формате. Для
редактирования этих данных приходится вручную изменять XML
файлы, что не очень удобно, а точнее очень не удобно. Хотелось бы
сделать удобный интерфейс для возможности редактирования
вышеописанных данных. Вследствие этого возникает задача -
написать соответствующую программу для редактирования информации
о сотрудниках/ студентах. Таким образом программная система
должна предоставлять доступ к информации о студентах/ сотрудниках
и возможность редактирования выбранных данных. Причём возможность
редактирования должна быть доступна только после авторизации, а
точнее для пользователя с соответствующими правами.
Подразумевается, что такими правами будет обладать администратор
web-сайта.
Расшифруем примерную схему работы программной системы:
- выбрать объект для редактирования (список групп -> группа ->
студент, список преподавателей -> преподаватель),
- редактировать данные объекта,
- сохранить изменения.
Не трудно заметить, что здесь появляется ещё несколько подзадач.
Нужен php-скрипт, для вывода списка всех групп/преподавателей, для
вывода состава выбранной группы, для вывода информации о выбранном
студенте/ преподавателе. Причём эти скрипты должны передавать по
цепочке запрашиваемую информацию. Есть и другая проблема - данные,
которые пользователь выбрал и пытается сохранить, должны быть
сохранены или хотя бы не приводить к потере информации, то есть
необходимо разработать механизм безопасного сохранения изменяемой
информации так, чтобы в худшем случае - в результате каких-либо
сбоев сервера или программной системы - пользователь потерял
вносимые изменения, а не изменяемые данные и уж тем более не всю
информацию о студенте (сотруднике)/ группе/ факультете.