- •Содержание
- •Введение
- •Анализ и сравнение существующих систем тьюторской поддержки
- •Методологии разработки программного обеспечения
- •Архитектура программного обеспечения
- •Основы разработки по
- •Сравнение современных архитектур ис
- •Выбор архитектуры по и программных средств разработки
- •Разработка и реализация базовых классов
- •Описание программных модулей
- •Реализация базовых классов контроллера
- •Класс Tutor
- •Класс Admin
- •Класс Index
- •Реализация базовых классов компонента Модель
- •Список использованной литературы
Класс Admin
Class Admin отвечает за назначение прав пользователей. При регистрации новый пользователь получает права студента, только просмотр материалов и выполнение тестов. Также администратор публикует новости.
Были созданы контроллеры по функциям администратора (рис.12):
Рис.12. Контроллеры класса Admin
В контроллере index.php описан класс Controller_Admin_Index. Внутри него есть только один метод action_index(), отображающий данные на панели управления администратора.
В контроллере news.php описан класс Controller_Admin_News. Внутри него описаны методы action_index(), action_add() – добавление, action_edit() – редактирование новости, action_delete() – удаление новости.
Администратор для работы с новостями нажимает на ссылку «Новости». При нажатии на ссылку срабатывает метод action_index(): происходит запрос на выбор всех записей из таблицы news и массив с этими данными передается в представление.
Чтобы добавить новость, администратор заполняет необходимые поля формы, такие как «Название», «Краткая новость», «Полная новость». Эти значения передаются в глобальный массив $_POST. Далее формируется запрос на добавление новой записи в таблицу, где id автора, это id текущего пользователя, все остальные данные получаем из массива $_POST. Если запрос на добавление записи выполнен успешно, администратор перенаправляется на страницу «Новости».
За редактирование новостей отвечает метод action_edit(). Когда администратор нажимает на ссылку редактировать, он перенаправляется на страницу «Редактирование новости». Метод action_edit() получает id новости и происходит выбор записей из таблицы news по соответствующему id. В форму редактирования выгружаются данные. Администратор редактирует новость и нажимает кнопку «Обновить». Обновленные значения передаются в глобальный массив $_POST. Далее формируется запрос на обновление записи в таблице. Если запрос на обновление записи выполнен успешно, администратор перенаправляется на страницу «Новости».
Удаляется новость функцией delete() по полученному идентификационному номеру новости.
Таким образом, был реализован класс Admin, созданы контроллеры и их методы, удовлетворяющие функциональным возможностям администратора системы.
Класс Index
Class Index предназначен для работы со студентами и не авторизованными пользователями. Студент может проходить курсы, читать лекции, выполнять тесты, смотреть новости, отправлять сообщения. Также в этом классе описан метод для работы с профилем всех пользователей и администратора и преподавателя.
Были созданы контроллеры по функциям студента (рис.13):
Рис.13. Контроллеры класса Index
Контроллер auth.php описан класс Controller_Index_Auth, который содержит методы action_login() – авторизация пользователя, action_register() – регистрация нового пользователя, action_logout() – выход из системы.
Метод action_index() контроллера courses.php класса Controller_Index_Courses передает данные о существующих курсах, такие как название, категория и записан ли пользователь на данных курс. Метод action_view() отображает содержимое курса. Метод передает в представление массив данных из таблицы lections и tests, выбранных для соответствующего курса.
Отображает содержимое лекции метод action_view() класса Controller_Index_Lection в контроллере lection.php. При выборе лекции метод получает идентификационный номер лекции и выполняется запрос на выбор из таблицы lection значений по соответствующему id лекции. Полученный массив данных передается в представление.
Метод action_view() контроллера main.php получает данных из модели для вывода их на главную страницу ИС.
В контроллере news.php описан класс Controller_Index_News с методами action_index() и action_view(). Метод action_index() отправляет запрос к модели на выбор записей сортированных по уменьшению даты. Этот массив данных передается в представление, где отображается весь список новостей с кратким описанием. Для просмотра полной новости надо нажать на название новости и тогда сработает метод action_view(), который получит id выбранной новости и передаст данных в представление, выбранные из модели.
Один из главных контроллеров tests.php. В нем описан класс Controller_Index_Tests c методами action_index() и action_go(). При работе метода action_index() происходит выбор из вопросов и вариантов ответов по выбранному курсу. Когда тестирование завершено, работает метод action_go(), который подсчитывает результат тестирования и записывает результат в таблицу testresult.
Контроллер user.php предоставляет функции одинаковые для всех пользователей, такие как отображение информации в личном профиле, список пройденных курсов - метод action_index(), просмотр полученных и отправленных сообщений – метод action_message(), отправка сообщений другим пользователям – метод action_sendpm(), изменение данных своего профиля – метод action_settings(), обновление аватара пользователя - action_updateavatar().
Таким образом, был реализован класс Index, созданы контроллеры и их методы, удовлетворяющие функциональным возможностям пользователя системы.
В каждом методе необходимо было передавать значения в шаблон. Во всех контроллерах есть свойства public $template = '', которые определяет базовый шаблон представления для каждого пользователя. В самом контроллере свойство $template является строкой, а в методах контроллера обращение к нему как к объекту. Более подробно описана работа с представлениями в пояснительной записке к курсовому проекту Пакульских Е.И [10].