МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТИНСТИТУТ МАТЕМАТИКИ И КОМПЬЮТЕРНЫХ НАУККАФЕДРА ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИКурсовая работа «Автоматизированное рабочее место преподавателя. Учёт посещаемости и успеваемости студентов».Выполнили: Студенты группы № 357Худышкин П.Е.Ожгибесов А.В.Научный руководитель: к.т.н., доцент кафедры ИБ Широких А.В.Дата сдачи: ______________Оценка: ______________Тюмень 2009 г.Оглавление Введение 3 I. Теоретическая часть 5 II. Практическая часть 18 Заключение 34 Введение В настоящее время сетевые технологии всё глубже внедряются в учебный процесс. Качество образования - понятие сложное и его уровень напрямую связан с качеством деятельности преподавателя, которая сегодня должна удовлетворять многим требованиям. Необходимо осуществлять учет успеваемости, посещаемости, соблюдать сроки сдачи работ, и другие условия. Важной проблемой является также то, что все сведения об оценках и посещаемости студентов содержатся в индивидуальном журнале преподавателя или на листочке и, кроме того, такие данные часто хранятся с использованием системы обозначений полностью понятных только самому преподавателю. Как бы хотелось избежать этих листочков с фамилиями и оценками, которые нередко теряются, и, как следствие, ни преподаватель, ни студент не помнит, кто и что сдавал и был ли студент на паре. Ведь всё это сильно затрудняет работу. Необходимо создать централизованное хранилище для такого рода информации. Крупные учебные заведения, в частности университеты, стремятся упростить и в то же время улучшить доступ и хранение данных об успеваемости и посещаемости студентов. Активно создаются системы учета посещаемости и успеваемости. Преподаватель имеет ту или иную степень участия в учебном процессе. «Автоматизированные рабочие места», предназначенные для упрощения работы активно создаются и внедряются на производстве, в образовании и т.д. АРМ Преподавателя предназначен для активного участия преподавателя в ведении электронного журнала посещаемости и успеваемости по своей дисциплине.^ Цель работы Научным руководителем была поставлена цель - разработать систему, позволяющую преподавателю управлять содержанием занятий по своим предметам в режиме on-line: выдавать задания, выставлять оценки и отмечать посещаемость студентов. Задачи Для достижения поставленной цели, необходимо было решить следующие задачи: изучение технологии создания веб-приложений и веб-сервисов – ASP.NET; разработка базы данных для хранения всей информации о студентах, преподавателях и предметах; разработка Веб-приложения АРМ преподавателя; проработка безопасной аутентификации в системе АРМ преподавателя;^ I. Теоретическая часть 1. SQL 1.1 Архитектура системы безопасности SQL Server Система безопасности SQL Server базируется на пользователях и учетных записях. Пользователи проходят следующие два этапа проверки системой безопасности. На первом этапе пользователь идентифицируется по имени учетной записи и паролю, то есть проходит аутентификацию. Если данные введены правильно, пользователь подключается к SQL Server. Подключение к SQL Server, или регистрация, не дает автоматического доступа к базам данных. Для каждой базы данных сервера регистрационное имя (или учетная запись — login) должно отображаться в имя пользователя базы данных (user). На втором этапе, на основе прав, выданных пользователю как пользователю базы данных (user), его регистрационное имя (login) получает доступ к соответствующей базе данных. В разных базах данных login одного и того же пользователя может иметь одинаковые или разные имена user с разными правами доступа. Итак, на уровне сервера система безопасности оперирует следующими понятиями: аутентификация (authentication); учетная запись (login); встроенные роли сервера (fixed server roles). На уровне базы данных используются следующие понятия: пользователь базы данных (database user); фиксированная роль базы данных (fixed database role); пользовательская роль базы данных (users database role); роль приложения (application role).^ 1.2 Компоненты структуры безопасности Фундаментом системы безопасности SQL Server являются учетные записи(login), пользователи (user), роли (role) и группы (group). t Пользователь, подключающийся к SQL Server, должен идентифицировать себя, используя учетную запись. После того как клиент успешно прошел аутентификацию, он получает доступ к SQL Server. Для получения доступа к любой базе данных учетная запись пользователя (login) отображается в пользователя данной базы данных (user). Объект «пользователь базы данных» применяется для предоставления доступа ко всем объектам базы данных: таблицам, представлениям, хранимым процедурам и т. д. В пользователя базы данных может отображаться: учетная запись Windows NT; группа Windows NT; учетная запись SQL Server. Подобное отображение учетной записи необходимо для каждой базы данных, доступ к которой хочет получить пользователь. Отображения сохраняются в системной таблице sysusers, которая имеется в любой базе данных. Такой подход обеспечивает высокую степень безопасности, предохраняя от предоставления пользователям, получившим доступ к SQL Server, автоматического доступа ко всем базам данных и их объектам. Пользователи баз данных, в свою очередь, могут объединяться в группы и роли для упрощения управлением системой безопасности. В ситуации, когда учетная запись не отображается в пользователя базы данных, клиент все же может получить доступ к базе данных под гостевым именем guest, если оно, разумеется, имеется в базе данных. Обычно пользователю guest предоставляется минимальный доступ только в режиме чтения. Но в некоторых ситуациях и этот доступ необходимо предотвратить. 1.3 Пользователи После того как пользователь прошел аутентификацию и получил идентификатор учетной записи (login ID), он считается зарегистрированным и ему предоставляется доступ к серверу. Для каждой базы данных, к объектам которой пользователю необходимо получить доступ, учетная запись пользователя (login) ассоциируется с пользователем (user) конкретной базы данных. Пользователи выступают в качестве специальных объектов SQL Server, при помощи которых определяются все разрешения доступа и владения объектами в базе данных. При создании базы данных определяются два стандартных пользователя: dbо и guest. Если учетная запись (login) не связывается явно с пользователем (user), последнему предоставляется неявный доступ с использованием гостевого имени guest. То есть все учетные записи, получившие доступ к SQL Server, автоматически отображаются в пользователей guest во всех базах данных. Если вы удалите из базы данных пользователя guest, то учетные записи, не имеющие явного отображения учетной записи в имя пользователя, не смогут получить доступа к базе данных. Тем не менее, guest не имеет автоматического доступа к объектам. Владелец объекта должен сам решать, разрешать пользователю guest этот доступ или нет. Обычно пользователю guest предоставляется минимальный доступ в режиме «только чтение».Рис. 1. Взаимосвязь атрибутов пользователя в SQL Server.^ 1.4 Роли сервера Роль — это мощный инструмент, позволяющий объединять пользователей, выполняющих одинаковые функции, для упрощения администрирования системы безопасности SQL Server, позволяют предоставить операторам сервера только те права, которые администратор посчитает возможным предоставить. Роли сервера не имеют отношения к администрированию баз данных. Можно включить любую учетную запись SQL Server (login) или учетную запись Windows NT в любую роль сервера. Стандартные роли сервера (fixed Server roles) и их права: Sysadmin – Может выполнять любые действия в SQL Server.Serveradmin – Выполняет конфигурирование и выключение сервера. Setupadmin – Управляет связанными серверами и процедурами, автоматически запускающимися при старте SQL Server. Securityadmin – Управляет учетными записями и правами на создание базы данных, также может читать журнал ошибок. Processadmin – Управляет процессами, запущенными в SQL Server. Dbcreator – Может создавать и модифицировать базы данных. Diskadmin – Управляет файлами SQL Server. Bulkadmin – Члены роли Bulkadmin могут вставлять данные с использованием средств массивного копирования, не имея непосредственного доступа к таблицам.^ 1.5 Роли баз данных Роли базы данных (database role) позволяют объединять пользователей в одну административную единицу и работать с ней как с обычным пользователем. Можно назначить права доступа к объектам базы данных для конкретной роли, при этом вы автоматически наделяете всех членов этой роли одинаковыми правами. Вместо того чтобы предоставлять доступ каждому конкретному пользователю, а впоследствии постоянно следить за изменениями, можно просто включить пользователя в нужную роль. Если сотрудник переходит в другой отдел, нужно просто удалить его из одной роли и добавить в другую. Создайте необходимое количество ролей, которые охватывали бы все многообразие действий с базой данных. Позже, при изменении функций членов одной из ролей, достаточно изменить права доступа для этой роли, а не устанавливать новые права для каждого пользователя. В роль базы данных можно включать: Пользователей SQL Server; Роли SQL Server; Пользователей Windows NT; Группы Windows NT, которым предварительно предоставлен доступ к нужной базе данных;^ 1.6 Режимы аутентификации SQL Server может использовать два режима аутентификации пользователей: режим аутентификации средствами Windows NT/2000 (Windows NT Authentication); смешанный режим аутентификации (Windows NT Authentication and SQL Server Authentication). Смешанный режим позволяет пользователям регистрироваться как средствами Windows NT, так и средствами SQL Server. Кроме того, этот режим предлагает некоторые удобства по сравнению с первым. В частности, при аутентификации только средствами домена Windows NT, если пользователь не имеет учетной записи в домене Windows NT, то он не сможет получить доступа к серверу баз данных. Смешанный режим аутентификации позволяет избежать этой проблемы. При выборе режима аутентификации следует исходить как из требований обеспечения наибольшей безопасности, так и из соображений простоты администрирования. Если ваша организация небольшая и должности администратора сети и администратора баз данных совмещает один человек, то удобнее использовать аутентификацию Windows NT. Если же в организации сотни пользователей и функции системного администратора и администратора баз данных выполняют различные люди, то может оказаться, что аутентификация средствами SQL Server удобнее. В противном случае человеку, занимающемуся администрированием сервера баз данных, придется постоянно обращаться к системному администратору для создания нового пользователя, смены пароля или для перевода пользователя из одной группы в другую. К тому же системный администратор будет иметь возможность назначать права доступа по своему усмотрению, а это совсем ни к чему. С другой стороны, каждый пользователь организации, скорее всего, имеет в домене учетную запись, администрированием которой занимается системный администратор. Благодаря аутентификации Windows NT администратор баз данных может использовать уже готовые учетные записи, а не отвлекаться на создание новых. Аутентификация Windows предоставляет решение Single Sign-On (SSO) для пользователей Windows, снижая количество паролей, которые требуется запомнить, что снижает вероятность записи их куда-либо. Вдобавок, аутентификация Windows может воспользоваться преимуществами групп Windows для безопасности. Интеграция с Windows означает, что SQL Server 2005 может воспользоваться политиками безопасности, применяемым к доменным учётным записям Windows, такими как сложность пароля и срок действия пароля. Так как та же парольная политика используется в домене Windows, имеются согласованные парольные политики в вычислительной среде. Аутентификация Windows также пользуется преимуществами защищенных протоколов аутентификации, которые используются пользуется в домене, что снижает вероятность записи их куда-либо.ли у организации нет процес Windows, таких как Kerberos и NT LAN Manager (NTLM), которые шифруют пароль при передаче по сети.^ 1.7 Преимущества режима аутентификации Windows NT Пользователю достаточно помнить только один пароль - для входа в Windows. Повышается уровень безопасности SQL Server. Это происходит, по крайней мере, из-за того что, пароль не будет передаваться открытым текстом по сети, как это происходит по умолчанию при использовании команд CREATE LOGIN и ALTER LOGIN. Тем более хэши Windows намного более защищенные, чем хэши в SQL Server, которые можно вскрыть достаточно быстро. Проверка при входе пользователя производиться значительно быстрее. На пользователях автоматически отражаются все правила политики безопасности, установленные в домене. Эти преимущества справедливы для любых логинов Windows: как для обычных учетных записей, так и для групп, но идеальный вариант использовать все-таки группы, причины просты: Снижается размер системных таблиц master в результате чего аутентификация производиться быстрее. На одном сервере Sql вполне может быть несколько тысяч логинов для пользователей Windows или, что гораздо удобнее всего пара десятков логинов для групп. Резко упрощается предоставление разрешений для новых учетных записей. Например, если на предприятии появился новый пользователь, создается новая учетная запись в Windows, затем, чтобы не добавлять на этого пользователя разрешения, которые нужны, мы просто на уровне Windows добавляем его в нужную группу, он унаследует доступ к SQL серверу, а также все разрешения. 1.8 Шифрование Шифрование это процесс сокрытия данных от людей, которые не обладают соответствующими ключами для чтения данных. Существуют два фактора, о которых следует помнить, когда работают с данными из базы: передача данных по сети и хранение данных в базе.^ 1.9 Сетевое шифрование SQL Server во всех редакциях может шифровать сетевой трафик при помощи множества средств, типа IP Security (IP SEC) и Secure Sockets Layer (SSL).В SQL Server поддерживаются два широко используемых сетевых стандарта в качестве альтернатив шифрованию данных, передаваемых по сети: SSL and IP SEC. Эти протоколы поддерживаются Windows. SSL поддерживается через интеграцию SQL Server с Internet Information Services (IIS) или через сервер сертификатов, входящий в состав SQL Server. SQL Server поставляется со своей собственной службой сертификатов для настройки сетевого шифрования по SSL. Сертификаты создаются внутри SQL Server и соответствуют стандарту X.509v3. Сертификаты используются SQL Server для создания SSL соединений, а также они используются службой SQL Service Broker. SQL Server предпринимает усилия для того, чтобы быть более защищённым по умолчанию, отвечая только на шифрованные запросы клиентов и отсылая шифрованный поток данных обратно клиентам в продуктах вроде Analysis Server. IP SEC также поддерживается Windows как шифрованный канал для сетевых соединений.^ 1.10 Шифрование данных SQL Server обладает возможностью непосредственного шифрования данных в базе данных, используя встроенный сервер сертификатов. SQL Server содержит шесть встроенных функций, используемых для шифрования и расшифровки данных:EncryptByCertDecryptByCertEncryptByKeyDecryptByKeyEncryptByAssymDecryptByAssym Эти функции позволяют использовать существующий сертификат для шифрования данных (наиболее безопасный метод), простой ключ (пароль) или ассиметричный ключ (пару открытый/закрытый ключ). SQL Server может создавать и управлять своими сертификатами для обеспечения очень мощного шифрования данных, хранимых в базе данных. Transact - SQL в SQL Server был улучшен для поддержки управления сертификатами:Создание сертификата:CREATE CERTIFICATE MyCertWITH SUBJECT = ‘My Subject’,ENCRYPTION PASSWORD = ‘jfdsij380fukanfjcxvDJEOD#$fksdwr’,^ EXPIRY_DATE = ‘12/31/2009’; После того, как сертификат создан, можно использовать функцию EncryptByCert для шифрования значения и сохранения результата в переменной:^ DECLARE @VAL nvarchar(8000)SELECT @VAL = EncryptByCert(Cert_ID(‘MyCert’), N’Some Message’) Далее можно прочесть это значение из поля или переменной при помощи функции DecryptByCert:SELECT CAST(DecryptByCert(Cert_ID(‘MyCert’), @VAL, N’ jfdsij380fukanfjcxvDJEOD#$fksdwr’) AS nvarchar)^ 1.11 Реализация доступа к серверу и базе данных Итак, гораздо более удобным и эффективным является подход, когда доступ к SQL Server 2008 предоставляется целым группам пользователей. Как раз такой подход возможен при аутентификации средствами Windows NT/2000, когда на уровне домена создается несколько групп, каждая из которых предназначена для решения специфических задач. На уровне SQL Server 2008 такой группе разрешается доступ к серверу, предоставляются необходимые права доступа к базам данных и их объектам. Достаточно включить учетную запись Windows NT в одну из групп, и пользователь получит все права доступа, предоставленные этой группе. Более того, одна и та же учетная запись может быть включена во множество групп Windows NT, что даст этой учетной записи возможность пользоваться правами доступа, предоставленными всем этим группам. Администратор SQL Server 2008 должен сам решить, как удобнее предоставлять доступ к серверу: персонально каждой учетной записи или группе в целом. Итак, задача стоит реализовать разграниченный доступ к базе данных SQL Server из приложения. Приложение запускается на некотором компьютере пользователя сети университета, если этот пользователь входит в домен организованный администраторами сети университета, то он успешно аутентифицируется в Windows. Чтобы он мог получить доступ к SQL серверу необходимо при установке SQL Server, и с помощью SQL Server Management studio настроить режим аутентификации – режим аутентификации средствами Windows NT\2000. Теперь нужно завести в SQL Server учетные записи (логины) для пользователей которым необходимо получать доступ SQL Server, но сначала удобнее на уровне Windows средствами администрирования Active Directory объединить пользователей нуждающихся в доступе к SQL Server в группы, в зависимости от того какие цели преследуют данные пользователи. У нас будут три группы пользователей: Преподаватели Старосты Студенты Необходимо добавить соответствующие учетные записи. Таким образом будет организовано три доменные группы. Далее необходимо в SQL Server завести учетную запись для каждой группы и дать разрешение на присоединение к базе данных.^ II. Практическая часть 2. Описание предметной области 2.1 Задачи Веб-приложения Веб-приложение позволит разным категориям пользователей выполнять различные функции:Для студента: ознакомление с расписанием; ознакомление со списком заданий, необходимых к сдаче по предмету; ознакомление с результатами контрольных точек, с результатами сданных заданий, с посещаемостью.Для преподавателя: добавление заданий, необходимых к сдаче по дисциплине; выставление оценок и учёт посещаемости студентов по его дисциплине; выставление оценок за контрольную неделю; изменение расписания.Для старосты: выставление оценок и учёт посещаемости студентов по дисциплинам; выставление оценок за контрольную неделю. Особенности работы: пользователям не обязательно знать язык веб-программирования, управление посещаемостью и успеваемостью студентов производится через дружественный пользовательский веб-интерфейс;^ 2.2 Разработка базы данных Для реализации поставленных задач необходимо было выполнить некоторые задачи. Подготовить проект базы данных, позволяющей хранить информацию: о посещаемости студентов дисциплины; об успеваемости студентов по дисциплине; данные о представителях всех категорий пользователей, информацию о доступах. В целях обеспечения целостности, неизбыточности и непротиворечивости информации разного характера, должна быть проведена нормализация отношений. Разработать веб-интерфейс для трёх типов пользователей: студент; староста; преподаватель.^ 2.3 Выбор средств реализации Выбор СУБД является одним из важнейших моментов в разработке проекта БД, так как он принципиальным образом влияет на весь процесс проектирования БД и реализацию информационной системы. При выборе СУБД необходимо учитывать десятки факторов. На практике же стараются выбрать такую СУБД, которая будет удовлетворять нескольким наиболее важным критериям: стоимость СУБД и дополнительного программного обеспечения; тип модели данных, которую поддерживает данная СУБД, её адекватность потребностям рассматриваемой предметной области; характеристики производительности системы; удобство и надежность СУБД в эксплуатации; Выбор инструментальных средств базы данных начинается с выбора модели базы данных. Несомненно, выбор был сделан в пользу реляционной модели базы данных. Этот выбор обусловлен следующими факторами: во-первых, такая модель освобождает пользователя от знания особенностей файловой структуры, используемой для хранения данных, во-вторых, реляционная модель основывается на теории множеств, хорошо разработанной в математике, и, наконец, это самая распространенная модель, так как все ведущие производители СУБД поддерживают именно ее. После выбора модели базы данных, необходимо выбрать архитектуру СУБД. Выбор был сделан в пользу клиент–серверной архитектуры, так как при такой архитектуре на сервере не только хранится база данных, но и работает программа СУБД, обрабатывающая запросы пользователей и возвращающая им данные. При этом программы пользователей уже не работают напрямую с базой данных как набором физических файлов, а обращаются к СУБД, которая выполняет операции. СУБД автоматически следит за целостностью и сохранностью базы данных. Основной недостаток этой архитектуры – не очень высокая надёжность. Если сервер выходит из строя, вся работа останавливается. В отношении программных средств реализации серверной части выбор был сделан в пользу пакета ^ Microsoft SQL Server 2008. Особенности: самая быстрая в изучении, создании и развёртывании простых приложений, работающих с данными; наиболее доступное и простое в использовании решение для небольших отделов и развивающихся бизнесов; полная платформа управления и анализа данных для средних предприятий и больших отделов. Ко всему прочему, ^ SQL Server – это комплексное, интегрированное, законченное решение обработки данных, предоставляющее всем пользователям организации наиболее безопасную, надежную и производительную платформу для данных предприятия. ^ SQL Server 2008 предоставляет как IT-профессионалам, так и информационным работникам знакомый инструментарий, снижая сложность создания, развертывания, управления и использования приложений обработки и анализа данных предприятия на целом ряде платформ, от мобильных устройств до систем хранения данных масштаба предприятия. Обладая широким набором возможностей и поддерживая совместную работу с существующими системами и способностью автоматизировать рутинные задачи, SQL Server 2008 является законченным решением управления данными для предприятия любого масштаба. Для реализации клиентской части комплекса выбрана технология “ASP.NET” как наиболее удобная и распространённая технология для создания web-приложений, работающих с базами данных. При разработке использовались нестандартные компоненты Dxperience-9.1.4(http://devexpress.com/).^ 3. Формирование концептуальной модели базы данных 3.1 Диаграмма DFD Контекстная диаграмма DFD (Data Flow Diagram – диаграммы потоков данных) (рис.2) показывает, какие существуют типы пользователей, и какие инструменты взаимодействия с системой они имеют.Рис.2. DFD-диаграмма^ 3.2 Инфологическое проектирование БД Основными задачами инфологического проектирования являются определение предметной области системы и инфологической модели ПО. Инфологическая модель ПО представляет собой описание структуры ПО, характера информационных потребностей пользователей в терминах, понятных пользователю и не зависимых от реализации БД. На рисунке 3 изображена инфологическая модель рассматриваемой предметной области. ^ Имя пользователяЛогинПарольТип пользователя ПользователиНазваниеПредметДатаРасписаниеПосещаемостьПосещаемостьВремя занятияВремяОценкаОценка1N1NN1N1НазваниеЗадание1N1NN11N1NN111NNNN11^ Рис.3. Инфологическая модель. 3.3 Физическое проектирование БД На этапе физического проектирования БД происходит увязка логической структуры БД и физической среды хранения для обеспечения наиболее эффективного размещения данных. Диаграммы “сущность-связь” (ERD) предназначены для разработки моделей данных и обеспечивают стандартный способ определения данных и отношений между ними. Фактически с помощью ER-диаграмм осуществляется детализация хранилищ данных проектируемой системы, а также документируются сущности системы и способы их взаимодействия, включая идентификацию объектов, важных для предметной области (сущностей), свойств этих объектов (атрибутов) и их отношений с другими объектами (связей). Ниже приведена ER-диаграмма, построенная стандартными средствами Microsoft SQL Server 2008 (10.0.1600.22).Рис.4. Диаграмма “сущность-связь” (ER-Диаграмма). ^ 3.4 Описание базы данных База данных состоит из 7 таблиц, опишем каждую таблицу. Таблица «GRADES» содержит оценки студентов. Поля: StudentID (FK, bigint, not null): Внешний ключ, тип – целочисленный. Студент, которому выставлена оценка. TaskID (FK, bigint, not null): Внешний ключ, тип – целочисленный, по умолчанию не 0. Задание, за которое выставлена оценка. Grade (int, null): тип – целочисленный. Оценка. IsPass (int, null): тип – целочисленный. Засчитано/не засчитано.^ Таблица «OrgTree» содержит общую структуру, студентов, преподавателей, группы. Поля: ID (PK, bigint, not null): Первичный ключ, большое целое, по умолчанию не 0. Идентификатор. ParentID (FK, bigint, null): Внешний ключ, большое целое. Группа для студентов. OrgType(int, not null): тип – целочисленный, по умолчанию не 0. 0 - студент, 1 - староста, 2 - группа, 3 - преподаватель 4 - специальность, 5 – факультет. LoginName(nvarchar(250), null): тип – символьный (250 символов). Логин, для преподавателей. DisplayName(nvarchar(50), null): тип – символьный (50 символов). Имя и Отчество, для преподавателей. GroupName(nvarchar(250), null): тип – символьный (250 символов) - Название группы, для групп. Role(varchar(50), null): тип – символьный (50 символов). Не используется. Name(nvarchar(250), null): тип – символьный (250 символов). Фамилия Имя Отчество, для студентов. SpecialityName(varchar(100), null): тип – символьный (100 символов). Не используется. FacultyName(varchar(100), null): тип – символьный (100 символов). Не используется.^ Таблица «SHEDULE» отображает информацию о расписании. Поля: ID (PK, bigint, not null): Первичный ключ, тип – большое целое, по умолчанию не 0. Идентификатор. GroupID (FK, bigint, not null): Внешний ключ, тип – большое целое, по умолчанию не 0. Группа, у которой занятие. TeacherID (FK, bigint, not null): Внешний ключ, тип – большое целое, по умолчанию не 0. Преподаватель, ведущий занятие. SubjectID (FK, bigint, not null): Внешний ключ, тип – большое целое, по умолчанию не 0. Предмет. TimeID (FK, bigint, not null): Внешний ключ, тип – большое целое, по умолчанию не 0. Время (какая пара по счёту). Date(datetime, not null): тип – дата, по умолчанию не 0. Дата. Comment(varchar(500), null): тип – символьный (500 символов). Комментарий преподавателя к занятию. AssignedFileURL(varchar(250), null): тип – символьный. Доп.файлы.^ Таблица «SUBJECTS» отображает информацию о предметах. Поля: ID(PK, int, not null): Первичный ключ, тип – целочисленный, по умолчанию не 0. Идентификатор. SubjectName(nvarchar(200), not null): тип – символьный (200 символов), по умолчанию не 0. Название предмета. TeacherID(FK, bigint, not null): Внешний ключ, тип – большое целое, по умолчанию не 0. Идентификатор преподавателя. SubjectType(int, null): тип – целочисленный. Лекция/практика.^ Таблица «TASKS» хранит информацию о заданиях. Поля: ID(PK, bigint, not null): Первичный ключ, тип – большое целое, по умолчанию не 0. Идентификатор. ParentID(FK, bigint, null): Внешний ключ, тип – большое целое. Указывает на тему задания. TaskName(nvarchar(150), not null): тип – символьный (150 символов), по умолчанию не 0. Название(Тема задания). TaskText(nvarchar(max), null): тип – символьный. Формулировка задания. Priority(int, null): тип – целочисленный. Приоритет задания. StartDate(datetime, null): тип – дата и время. Время начала задания. EndDate(datetime, null): тип – дата и время. Время конца задания. GroupID(FK, bigint, not null): Вешний ключ, тип – большое целое, по умолчанию не 0. Идентификатор группы. TeacherID(FK, bigint, not null): Внешний ключ, тип – большое целое, по умолчанию не 0. Идентификатор преподавателя. SubjectID(FK, int, null): Внешний ключ, тип – целочисленный. Идентификатор предмета. AssignedFileURL(varchar(250), null): тип – символьный (250 символов). Доп.файлы.^ Таблица «VISITS» отображает информацию об успеваемости и посещаемости студентов. Поля: SheduleID(FK, bigint, not null): Внешний ключ, тип – большое целое, по умолчанию не 0. Идентификатор расписания. StudentID(FK, bigint, not null): Внешний ключ, тип – большое целое, по умолчанию не 0. Идентификатор студента. IsVisit(int, not null): тип – целочисленный, по умолчанию не 0. Был/не был. Comment(varchar(500), null): тип – символьный (500 символов). Комментарий преподавателя.^ Таблица «TIME» отображает информацию о времени проведения занятий. Поля: ID(PK, int, not null): Первичный ключ, тип – целочисленный, по умолчанию не 0. Идентификатор. TimeName(varchar(150), not null): тип – символьный (150 символов), по умолчанию не 0. Название времени.^ 4. Описание интерфейса 4.1 Описание интерфейса аутентификации и интерфейса администратора Приложение состоит из нескольких страниц. Перед входом в систему пользователь попадает на страницу приветствия, на которой необходимо выбрать роль, в которую попадает пользователь – соответственно преподаватель, староста, студент.^ Рис.5 Страница приветствия После авторизации пользователь попадает на главную страницу в соответствии со своей ролью (преподаватель, староста, студент). В нашем случае это главная страница преподавателя.Рис.6 Главная страница для пользователей с правами преподавателя. Преподавателю доступны следующие действия: просмотр и редактирование списков своих предметов; просмотр и редактирование списков групп студентов; просмотр и редактирование списков занятий; просмотр и редактирование списков заданий.Рис.7 Страница редактирования списка предметов. На этой странице отображены все предметы, которые ведёт преподаватель. Также есть возможность добавить новый предмет или удалить ненужный.^ Рис.8 Страница списка групп студентов. На этой странице отображены все группы студентов, которые могут посещать предмет. Можно посмотреть информацию о группе, т также добавить новую группу или удалить ненужную.^ Рис.9 Страница редактирования списка групп студентов. На этой странице отображены все студенты выбранной группы. При необходимости можно добавить или удалить студента в группе.^ Рис.10 Страница списка занятий На данной странице можно посмотреть список имеющихся занятий, перейти к странице посещаемости занятий, а также добавить новое или удалить ненужное занятие.