Система администрирования данных студентов
Описание работы системы приведено после описания таблиц.
1. Table “STUDENT”
- ID_S студента
- фамилия азбукой
- имя азбукой
- фамилия латинкой
- имя латинкой
- номер паспорта
- имя-отчество родителя
- фамилия родителя
- тел. родителя
- e-mail родителя
- посылать отчеты - да/нет
- контактный адрес
- тел. моб. студента
- публиковать моб. тел. – да/нет
- местный адрес проживания
- оплачивает проживание – да/нет
- kurs1_ID – предмет, на который студент записант – выбор из таблицы курсов
- kurz2_ID – предмет, на который студент записант – выбор из таблицы курсов
- kurz3_ID – предмет, на который студент записант – выбор из таблицы курсов
- скидка
- оплата1
- дата-оплаты1
- оплата2
- дата-оплаты2
- оплата3
- дата-оплаты3
- оплата4
- дата-оплаты4
- group1 – в какую группу принадлежит студент – выбор из таблицы групп
- group2 – в какую группу принадлежит студент – выбор из таблицы групп
- group3 – в какую группу принадлежит студент – выбор из таблицы групп
- group4 – в какую группу принадлежит студент – выбор из таблицы групп
- nickname студента
- pass студента
- e-mail студента
2. Table “Teacher”
- ID_U учителя
- Фамилия
- Имя
- group1 – какую группу учит – взять из таблицы групп
- group2 – какую группу учит – взять из таблицы групп
- group3 – какую группу учит – взять из таблицы групп
- group4 – какую группу учит – взять из таблицы групп
- nickname учителя
- password учителя
3. Table “GROUPS”
- ID_G группы
- изучаемый предмет
- Расписание – просто текстовое поле min. 250 знаков
4. Table “KURSY”
- ID_K номер курса (понимай: предмета)
- Предмет изучения (напр. математика)
- Расписание – просто текстовое поле min. 250 знаков
5. Table “Attendance and home work”
- ID события – событие это или пропущенная лекция (L - на протяжении дня у студентов всего три лекции), или невыполненное дом. задание (DZ)
- ID_S студента
- дата события
- Вид события – пропущенная лекция (L), или невыполненное дом. задание (DZ)
- Уважительная причина – да/нет (ставит только админ, хронологически позже)
- ID_U – кто из учителей задал в систему
- дата ввода в систему (если учитель забудет ввести протоколы за сегодня, то завтра это сделает Админ)
6. Table “TESTY”
- ID_T теста
- Дата проведения
- Тип теста
- Макс. балл
- Вес теста (это будет коефициент, по умолчанию =1)
7. Table “STUDING RESULTS”
- ID_S стдуента
- ID_T теста – взять из таблицы Тесты
- Кол-во баллов
Результаты тестов задает только работник, у кого Логин для ввода этих данных, см. ниже.
8. Table “STUDENTS DUTIES”
!!! Эта таблица не имеет ничего общего с студ. обязанностями из таблицы Attendance and home work.
Моя визия:
Двухмерная диаграмма, на оси Х - студенты, на оси Y - duties, или наоборот. На пересечении Х и Y - значение "0" или дата выполнения.
При добавлении студента или Duty добавляется соответственно ряд или столбец.
ID_S | ID_S | ID_S | ID_S | ........ | ||
Duty - long description | Duty - short name | 0 | 0 | 0 | 0 | |
Duty - long description | Duty - short name | 0 | 01.01.2007 | 0 | 0 | |
Duty - long description | Duty - short name | 15.02.2007 | 0 | 0 | 0 | |
.................. | ................ |
Работа системы
4 вида пользователей - студент, учитель, админ, и логин для ввода результатов тестов
Настройка:
Настраиваются таблицы, задаются данные о группах, данные о курсах, затем данные о учителях, последними данные студентов.
Учитель
Каждый учитель за день имеет 3 лекции, у 3-х разных групп.
В интерфейсе у него только одна, но самая ключевая функция: ввод посещаемости (был - не был) и данных о невыполнении дом. заданий (вып. - не вып.). Введенная информация сохраняется в таблицу Attendance. Думаю, что лучше сохранять только невыполненные обязанности, будет намного меньше объем данных, которые обрабатываются. Данные о невыполненных обязанностях должны каждый вечер рассылаться на емаилы родителей.
У учителя изображается только форма для ввода пропущеных занятий и невыполненных ДЗ у всех групп, в которых учит учитель - взять из таблицы TEACHER
Пользователь: Имя Фамилия (учителя)
Учебный день: (вывод сегодняшней даты!!!)
Group 4 | L | DZ |
Petrov Petr | ||
Sidorov Sidor | ||
Semenov Semen | ||
Makarov Makar | ||
Petrova Fedja | ||
Ivanova Ivana |
Group 9 | L | DZ |
Petr1 | ||
Sidorov1 | ||
Semenov1 | ||
Makarov1 | ||
Petrova1 | ||
Ivanova1 |
L – лекция у данного учителя.
DZ – дом. задание на сегодня
Group 10 | L | DZ |
Petrov 3 | ||
Sidorov 3 | ||
Semenov 3 | ||
Makarov 3 | ||
Petrova 3 | ||
Ivanova 3 |
- выполненная обязаность
- НЕвыполненная обязаность
---
После нажатия кнопки "сохранить" все сохраняется в таблицу Attendance в требуемой форме.
!!! На случай, если у группы не будет невыполненных обязанностей (такое будет очень часто, см. выше таблицу Group10) и никакие данные о студентах не будут сохранены в Attendance, сохранять надо также и отдельную строчку с ID группы и ID учителя, чтобы в последствии знать кто из учителей сегодня отчитался, а кто нет, см. ниже.
Дальше необходимо, чтобы сервер по истечении 4-5 часов (лучше всего в 20:00 вечером) рассылал письма на emailы родителей о невыполненных обязанностях студентов. При этом должна таблица Attendance проверяться на наличие введенных данных с сегодняшней датой ввода (!!!, см. описание таблицы), далее, по ID_S искала в таблице студентов email и имя-отчество родителя, по ID_U искала в таблице TEACHERS имя учителя, и отправляла письмо следующего содержания:
Ув. "имя-отчество родителя",
Студент "имя студента" без уважительной причины пропустил лекцию "дата события" (!!!) у учителя "Учитель1".
Студент "имя студента" не выполнил дом. задание "дата события" у учителя "Учитель2".
Просьба принять меры.
С уважением, Администрация
-
Просьба все изменяющиеся настройки, включая текст письма, куда-нибуть в config-файл.
Далее, в таблице Attendance необходимo проверить введенные сегодня данные (по дате ввода) на тот факт, что все учителя отправили данные. Если какой-то учитель (из таблицы TEACHERS) не появился в сегодняшних записях, то программа отправляет письмо админу: "Глубокоуважаемый Админ, учитель такой-то сегодня "дата ввода" не отправил данные. Просьба разобраться."
Студент - не может исправлять или задавать данные, см. ниже интерфейс
Interface studenta
Простой интерфейс, вывод следующих данных:
Студент: Имя фамилия латинкой
За последние 2 недели посетил 79% занятий (процент высчитывается из таблицы Attendance).
От начала учебного года посетил 81% занятий (процент высчитывается из таблицы Attendance)
От начала учебного года выполнил 90% дом. заданий (процент высчитывается из таблицы Attendance)
За последние 2 недели Вами не были выполнены следующие обязанности (вывод строчек где есть ID-S студента из таблицы Attendance):
14.10.2007 – невыполнено дом. задание - учитель Колесник
13.10.2007 – пропущена лекция – учитель Сидоренко
13.10.2007 – невыполнено дом. задание – учитель Сидоренко
13.10.2007 – пропущена лекция – учитель Петров
..........
Последний тест: №5 (номер из таблицы тестов) от 15.9.2007 (из таблицы тестов)
Ваш результат теста: 56 (из таблицы RESULTS) из макс. 100 (из таблицы тестов)
Средний балл в группе: 72 (высчитать)
Средний балл потока: 68 (высчитать)
Ваш результат предыдущего теста: 58 (из таблицы RESULTS: номер теста -1 от последнего, ID-S тот же)
Admin может вводить все данные, и изменять все введенные данные.
Interface админа
Изображается все, что имеют учителя и студенты, с возможностью выбора учителя или студента для изменения данных.
Самое главное, чтобы у админа были те же таблички, что у учителя. Только можно будет выбрать учителя, или день, и после задать или поменять любые данные.


