Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diplom.doc
Скачиваний:
2
Добавлен:
07.07.2019
Размер:
4.75 Mб
Скачать

2. Специальная часть

2.1. Постановка задачи Задача состоит в воссоздании следующего функционала и структуры страниц:

  • Функционал предоставляемый для всех пользователей системы

    • Регистрация

    • Редактирование личной информации

    • Изменение аватара

    • Просмотр статистики, графиков успеваемости и посещаемости

    • Просмотр журнала

    • Подписка на уроки учителей, возможно других школ

    • Прохождение тестов, голосований

    • Доступ ко всем лекциям системы

    • Поиск нужной информации по системе: школ, директоров, учителей, учеников, классов, уроков

    • Возможность сообщения об ошибках т.е. обратная связь

    • Получение всех связанных с системой запросов

  • Функционал предоставляемый для директоров

    • Настройка школы

      • Редактирование информации школы

      • Редактирование расписания

      • Установка расписания для учителей

      • Добавление и удаление учителей

      • Добавление и удаление учеников

      • Редактирование классов

      • Установка времени проведения занятий: начало, длительность урока, перемена, большая перемена и т.д.

    • Редактирование любого журнала школы

    • Создание тестов, голосований, лекций

  • Функционал предоставляемый для учителей

    • Редактирование журналов тех классов которым учитель преподает

    • Создание тестов, голосований, лекций

    • Получение запросов о уроках которые должны быть проведены за текущий день

  • Функционал предоставляемый для учеников

    • Просмотр своей статистики по успеваемости, посещаемости и активности

    • Просмотр дневника за весь промежуток времени который школа существует в системе

2.2. Описание алгоритма

Все возможности программы можно представить в виде структурной схемы изображенной на рисунке 2.1.

Рис 2.1

2.3. Текст программы с описанием

Текст программы составлен в соответствии с ГОСТ 19.101-77 (СТ СЭВ 1626-79) представляет собой запись программы на языке PHP с необходимыми комментариями.

Описание программы.

Наименование программы: «Система дистанционного обучения iSchool»;

Объем программы: 1,2 МБ.

В необходимое программное обеспечение для данной программы входит операционная система WINDOWS XP SP2.

Язык программирования PHP 5

Работа с системой любого пользователя начинается с главной станицы (рис. 2), которая выглядит следующим образом:

Рис. 2.2

Эта страница выводится в том случае если пользователь не выполнил вход в систему. Чтобы стать пользователем системы необходимо зарегистрироваться, нажав на ссылку регистрация под формой входа логина Рисунок 2.3:

Рис. 2.3

Открывается форма регистрации, где необходимо предварительно выбрать тип регистрируемого аккаунта. Регистрация для всех трех видов пользователей проходит по разному, директору предлагается создать образовательное учреждение, школу, учителю найти и связать свой регистрируемый аккаунт со своим профилем, предварительно созданным зарегистрированным раннее директором того образовательного учреждения в котором работает данный учитель, и соответственно ученику предлагается связать свой регистрируемы аккаунт с профилем. После заполнения всех этих форм необходимо подтвердить правильность своего электронного адреса активировав аккаунт (рис. 4).

Рис. 2.4

Код PHP файла в котором проверятся зарегистрирован ли пользователь его тип аккаунта и т.д. :

<?php

@session_start();

function oute(){//функция для выхода из системы

unset($_SESSION['utype']);

unset($_SESSION['login']);

unset($_SESSION['password']);

session_destroy();

header("Location: /");

}

require_once('idb-class.php');//подключаем файл класса БД

require_once('functions.php');//подключаем файл функций

$db = new iDB;//создаем новый класс БД

//utype - тип пользователя директор уичтель или ученик

if (!isset($_SESSION['utype'])){

//форма входа и регистрации

require_once('firstpage.php');//загружаем первую страницу

}

else{

//процедура для кнопки выхода

if(isset($_POST['oute'])){

oute();

}

//проверяем правильные ли логин и пароль сохранены в сессии

$prov = autantification($db);

if(!is_array($prov)){

if($prov == 'needactiv'){

header('Location: /activation.php');

exit();

}

else{

header('Location: /');

}

}

if(!$prov){

oute();//неправильный логин стираем все и перезагружаемся

}

else{

//login существует проверяем пароль

//пароль правильный проверяем тип

switch($prov[0]){

case 'dr':

//все правильно выводим страницу *директора

require_once('director.php');

break;

case 'th':

//все правильно выводим страницу *учителя

require_once('teacher.php');

break;

case 'pu':

//все правильно выводим страницу *ученика

require_once('pupil.php');

break;

}

}

}

?>

После входа в систему каждый пользователь попадает на свою страницу. У всех трех типов пользователей она разная.

Страница пользователя типа директор:

Рис. 2.5

На рисунке красными кружочками показаны логические блоки страницы:

1. Выводится логотип системы iSchoool. Далее идет меню, первый пункт показывает сколько запросов ожидает модерации, второй пункт ведет на журнал школы а третий на страницу поиска.

2. Имя и фамилия директора после чего идут список вкладок. По умолчанию выбрана первая вкладка школа в которой выводятся логические блоки 6, 7, 8, 9

3. Аватарка которую можно поменять нажав на ссылку которая показывается при наведении на аватар.

4. Меню директора состоящее из ссылок на страницу настройки аккаунта, настройки школы и на страницу школы

5. Выводятся два блока показывающих людей из подписки. В первом блоке выводится люди которые подписаны на уроки директора. Во втором люди на которых подписан директор. Также заголовки этих блоков ведут на страницу подписки, где можно посмотреть всю подписку и отредактировать ее.

6. Краткая информация о школе. Отредактировать эту информацию директор может пройдя по ссылке настройки школы.

7. Четыре случайных класса из всего списка классов школы

8. Расписания четырех случайных классов

9. Четыре случайных учителя из списка всех учителей школы

Блоки 6, 7, 8, 9 имеют ссылки на редактирование в верхнем правом углу. Также снизу каждой страницы располагаются копирайты и ссылки на страницу с формой поддержки, страницу с правилами и страницу информации о проекте.

Следующие три картинки показывают содержание вкладок лента, статистика, информация директора.

Рис. 2.6

На вкладке Лента у директора выводятся все уроки школы директора и уроки людей, на которых подписан директор. Также над все лентой выводится форма добавления урока, которая имеет возможность прикреплять к уроку тесты, голосования и лекции.

Рис. 2.7

Как видно на рисунке 2.7 на вкладке статистика выводится три графика. Графики успеваемости школы, посещаемости и активности. Статистики отдельно для ученика класса выводятся соответственно на страницах ученика и класса.

Рис. 2.8

Выводится подробная информация о директоре и сводка, о школе, т.е. сколько учителей зарегистрировано в системе из этой школы, сколько учеников и средний балл школы.

Страница пользователя типа учитель:

Рис. 2.9

Страница учителя в точности такая же, как и у директора. Отличия составляют то, что у учителя меньше вкладок сверху, по умолчанию сразу выводится список уроков учителя и уроков людей, на которых подписан учитель и меньше пунктов в меню под аватаркой, меню состоит из одной ссылки на страницу редактирования аккаунта.

Страница пользователя типа ученик:

В целом страницы всех трех типов пользователей одинаковы отличие лишь в количестве вкладок и в меню.

Рис. 2.10

По умолчанию выводится список уроков.

Рис. 2.11

Дневник, как и обычный школьный дневник, разбит по дням. Для навигации по дневнику в верхнем правом углу две стрелки вперед и назад.

Страница школы:

Рис. 2.12

По умолчанию на странице школы открывается вкладка с информацией о школе, остальные вкладки показывают статистику, список учителей и список классов. Вкладка со списком учителей

Рис. 2.13

Как видно на рисунке, справа напротив имени учителя располагается кнопка подписаться/отписаться, она дает возможность подписываться на учителей данной школы, тем самым получая возможность видеть их уроки в своей ленте уроков.

На следующем рисунке показана вкладка со списком классов:

Рис. 2.14

Страница класса:

Рис. 2.15

По умолчанию на странице класса открывается вкладка с информацией о классе. Также имеются три дополнительные вкладки со статистикой, учениками и расписание класса.

Список учеников:

Рис. 2.16

Расписание класса:

Рис. 2.17

Страница поиска:

Рис. 2.18

На странице поиска есть поле ввода слова или фразы, по которому будет производиться поиск, и разделы, в которых можно искать нужную информацию. Результаты поиска выводятся под полем ввода.

Страница подписки:

Рис. 2.19

Страница подписки состоит из двух вкладок. В первой вкладке выводится список пользователей, на которых подписан текущий пользователь, во второй список пользователей которые подписаны на пользователя. Также эти списки разделяются на типы пользователей.

Рис. 2.20

Страница настройки школы разбита на пять вкладок: информация, расписание, учителя, классы, время. По умолчанию открыта вкладка редактированием информации школы.

Вкладка расписание:

Рис. 2.21

Расписание максимально приближенно к обычному школьному расписанию.

Вкладка учителя:

Рис. 2.22

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

Вкладка классы:

Рис. 2.23

Вкладка время:

Рис. 2.24

В этой вкладке редактируется время проведения уроков.

Страница журнала:

Рис. 2.25

Журнал похож на обычный школьный журнал. Слева список учеников справа оценки. Оценки разбиваются на месяца, месяца на года, чтобы посмотреть год месяца достаточно навести на месяц курсором, сверху появится год месяца. Для добавления оценки нужно кликнуть на нужную ячейку, после чего появится меню с выбором оценки. Уроки по расписанию добавляются автоматически если, для добавления урока не по расписанию нужно кликнуть на кнопку добавить урок (вне расписания). При нажатии на дату урока под журналом открывается подробное описание урока: тема урока, время, учитель, тест, голосование, лекция. По умолчанию в журнале выводятся последние 26 уроков по данному предмету. Чтобы посмотреть другие уроки достаточно выбрать нужный промежуток даты.

Прикрепление к уроку теста, лекции и голосвания :

Тесты в системы пользователи могут создавать только с двух страниц: со своей главной страницы (в ленте уроков) или на странице журнала. При добавлении урока под журналом открывается следующая панель

Рис. 2.26

После клика на красную панель открывается форма прикрепления к уроку темы, лекции, теста, голосования и домашнего задания на следующий урок:

Рис. 2.27

Окно добавления текста выглядит следующим образом:

Рис. 2.28

Форма создание тестов должна быть интуитивна понятно любому директору.

При добавлении лекции система предлагает выбрать тип добавляемой лекции т.е. прикрепить лекцию как файл или просто как текст:

При добавлении лекции типа текст открывается текстовый редактор:

Рис. 2.29

А при добавлении лекции типа файл, простое поле для выбора файла. Форма создания голосования, чем то, похожа на форму добавления теста:

Рис. 2.30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]