Система администрирования данных студентов

Описание работы системы приведено после описания таблиц.

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 админа

Изображается все, что имеют учителя и студенты, с возможностью выбора учителя или студента для изменения данных.

Самое главное, чтобы у админа были те же таблички, что у учителя. Только можно будет выбрать учителя, или день, и после задать или поменять любые данные.