Разработка структурной схемы проекта и структуры программного обеспечения, Проектирование базы данных - Разработка и тестирование автоматизированной системы контроля успеваемости студентов
При работе над проектом разрабатывались два основных компонента системы: база данных (далее - БД) и интерфейс клиентского приложения. Затем необходимо было обеспечить связь между ними. Таким образом, изначально следовало спроектировать структуру базы данных и реализовать ее из MySQL, и параллельно с этим разрабатывать интерфейс и клиент-серверную связь.
Проектирование базы данных
Для начала необходимо было определить сущности будущей базы данных вместе с соответствующими им атрибутами. Удалось выделить следующие сущности:
- 1. Преподаватель. Атрибуты: ID преподавателя, Ф. И.О., логин, пароль. 2. Группа. Атрибуты: название группы. 3. Студент. Атрибуты: студенческий билет, Ф. И.О., название группы, вариант, логин, пароль. 4. Предмет. Атрибуты: ID предмета, название предмета, модуль. 5. Занятие. Атрибуты: ID занятия, ID предмета, тип занятия, дата deadline, процент понижения, вид контроля знания, вес оценки. 6. Оценка. Атрибуты: ID студента, ID занятия, оценка, дата сдачи, ID преподавателя. 7. Виды занятий. Атрибуты: Название. 8. Годы обучения. Атрибуты: Учебный год. 9. Модуль. Атрибуты: ID модуля, год обучения, номер модуля, дата начала, дата окончания, дата начала сессии.
Далее следует описать предметную область базы данных, чтобы можно было уточнить зависимость сущностей друг от друга. Было получено следующее описание:
- - Один преподаватель может вести один или несколько учебных курсов. Один учебный курс могут вести несколько преподавателей. - Студент входит в одну группу, одна группа состоит из нескольких студентов. - Один предмет может преподаваться разному количеству групп. Одна группа может изучать один или несколько предметов. - Занятие относится лишь к одному предмету. У предмета может быть несколько занятий. - Занятие относится лишь к одной группе. У групп может быть одно или много занятий. - Занятие относится к одному модулю. Модуль может содержать одно или много занятий. - Каждая оценка относится к соответствующему занятию и студенту, у студента может быть много оценок. - Каждая оценка может быть поставлена одним преподавателем, преподаватель может поставить одну или много оценок. - Каждый предмет может относится к одному или нескольким учебным годам, один учебный год может содержать один или несколько предметов. - Каждый модуль относится к одному учебному году, учебный год может содержать один или несколько модулей. - Каждое занятие содержит один тип занятия, каждый тип занятия может относится к одному или нескольким занятиям. - Предметы, вес и модули соединены через формулу, которая имеет свой атрибут "Вес". Формула может относиться к нескольким типам занятий, которые относятся к одному модулю и одному предмету.
Рис. 1. ER-диаграмма базы данных
Следующим шагом следовало построить ER-диаграмму. Результат представлен на рис. 1.
Далее необходимо перевести ER-диаграмму в схему БД, используя стандартные правила. При этом требуется провести несколько шагов нормализации.
Перевод в схему баз данных осуществляется по следующим правилам:
- - Отношение "один ко многим" реализуется в виде внешнего ключа у таблицы со многими связями от таблицы с одной связью. - Отношение "многие ко многим" реализуется в виде новой таблицы без первичного ключа, построенного полностью на внешних ключах от родительских таблиц. - Соединение трех таблиц порождает новую таблицу с дополнительными атрибутами, если такие имеются или необходимы, при этом возникает атрибуты, связывающие новую таблицу с родительскими.
Таким образом связи "Соответствует", "Ставит", "Включает", "Содержит", "Идут", "Получают", "Относятся" между сущностями "Группы" и "Занятие" и "Состоят" реализуются с помощью внешних ключей. Связи "Ведет", "Изучают", "Относятся" между сущностями "Предметы" и "Учебные годы" реализуются с помощью новых таблиц. Связь "Формула" аналогично преобразуется в отдельную таблицу с дополнительным атрибутом "Вес".
Стандартная нормализация структуры БД проводится в три шага. При первом шаге все сложные атрибуты разбиваются на простые. На втором шаге все атрибуты, которые не зависят напрямую от первичного ключа текущей таблицы, выносятся в отдельную таблицу. На третьем шаге необходимо убрать транзитивные зависимости между получившимися таблицами.
При первом шаге нормализации сложные атрибуты "Ф. И.О." у таблиц "Студенты" и "Преподаватели" разделяются на простые поля "Фамилия", "Имя", "Отчество". Других сложных полей в структуре нет.
При втором шаге из таблицы "Занятие" выносятся поля "Дата deadline" и "Процент понижения", которые вместе с полем, являющимся внешним ключом к родительской таблице, образуют новую таблицу.
Транзитивных зависимостей в полученной структуре базы данных не найдено, потому третий шаг считается выполненным автоматически.
В результате получается итоговая схема базы данных для разрабатываемого проекта (рис. 2).
Рис. 2. Схема базы данных
Следующим шагом проектирования базы данных является вычисление требования по памяти к серверу. Для расчетов взяты обычные объемы информации для различных типов данных. Одним из условий является то, что оценки студентов должны храниться 10 лет с момента их проставления, то есть год в активном состоянии, а еще 9 лет в архиве. При разработке системы было поставлено условие, что систему будут использовать лишь в одном департаменте. Однако пользоваться системой проставления оценок смогут как преподаватели, так и учебные ассистенты, для простоты добавленные в число преподавателей. При расчетах округления сделаны в большую сторону, чтобы точно не ошибиться. Были проведены следующие вычисления:
- Под количество учебных годов отводится 10 мест типа char(9), тогда
.
- Под количество типов занятий отводится 8 мест типа char(20), тогда
.
- Количество модулей зависит от количества учебных годов, на 10 лет это:
.
- Под 50 названий групп типа char(8) требуется:
.
- - Под одного студента: - В группе по 40 студентов
.
- В штате департамента около 200 преподавателей, тогда:
.
- Всего имеется около 200 различных предметов, в среднем каждый предмет преподается в течение 4 модулей, для каждого модуля составляется своя таблица, тогда:
.
- Каждый предмет за один модуль включает в себя максимально 50 занятий, тогда для всех модулей:
- В модуле максимум 11 недель, то есть возможно провести11 лабораторных работ, 2 курсовых/рефератов/эссе и около 11 домашних работ. У каждого такого занятия может быть 3 deadline, тогда для одного года потребуется объем:
- - Формулы хранятся для каждого вида занятия отдельно для каждого модуля, в таком случае для каждого учебного года память рассчитывается по формуле: - Для хранения оценок потребуется объем памяти, вычисляемый по формуле: - Для хранения базы данных по каждому учебному году необходимо выделить объем памяти, который можно вычислить по формуле:
- - Благодаря округлению и тому, что типы занятий и все учебные годы требуют для хранения данных одинакового объема памяти для каждого года, их можно не учитывать в расчетах. - Архив необходимо хранить около 9 лет: 10*1,5= 15 Гб. - Под дополнительные файлы необходимо столько же места, сколько под всю информацию БД: 15 * 2 = 30 Гб.
Итого для хранения информации об оценках на сервере необходимо около 30 Гб постоянной памяти.
На данном этапе процесс проектирования базы данных может считаться завершенным.
Похожие статьи
-
В ходе разработки было создано пять форм, обеспечивающих взаимодействие между пользователем и приложением: - начальное окно выбора учебного года, курса и...
-
Следующей задачей было изучение литературы по теме и ее анализ. Для этого использовались публикации из российских источников с целью учета особенностей...
-
После выполнения задачи по Подбору и анализу литературы, настало время поиска и сравнительного анализа уже существующих решений задачи контроля...
-
Заключение - Разработка и тестирование автоматизированной системы контроля успеваемости студентов
В итоге выполнения выпускной квалификационной работы были достигнуты и получены следующие результаты: - собраны и приняты полезные сведения о системе...
-
К расчету оценки необходимо подходить с большой ответственностью, поскольку это основной элемент системы. Но изначально необходимо определить, за что и...
-
Общие сведения о тестировании Данный раздел посвящен проведению тестирования клиентского приложения. Тестирование для серверной части системы не...
-
Проектирование базы данных было Подробно описано в главе 7. Благодаря графической оболочке MySQL Workbench для MySQL все SQL запросы на создание таблиц...
-
Завершив выбор схемы работы системы и общего принципа работы ее частей и выбрав тип базы данных, следует перейти к выбору языка программирования....
-
Для тестирования процесса расчета оценок будет специально создан учебный курс с двумя модулями, один из которых будет включать экзамен, а другой - нет. В...
-
Обзор и анализ нормативных документов Для начала решения поставленных задач необходимо было изучить нормативную документацию НИУ ВШЭ, которая касается...
-
Структура системы В ходе разработки выпускной квалификационной работы использовались базы данных, созданные в среде MySQL Workbench, и создано клиентское...
-
Введение - Разработка и тестирование автоматизированной системы контроля успеваемости студентов
Тема разработки автоматизированной системы контроля успеваемости и вычисления оценок слабо освещена в научной литературе со стороны вычислительной части...
-
Разработка клиент-серверной части проекта, то есть связь между клиентским приложением и базой данных, реализуется при помощи специальной библиотеки MySQL...
-
Следующим этапом, когда документация найдена, источники изучены, а другие решения проанализированы, является реализация автоматизированной системы...
-
Для написания АИС использовались следующие языки программирования, программные средства и библиотеки: - Язык программирования PHP 5.4; -...
-
Алгоритм работы. В результате работы АИС генерируются три xml документа - два со структурой сравниваемых баз данных и один с результатами сравнения. В...
-
Для того чтобы оценить экономическую выгоду от внедрения АИС необходимо вычислить трудозатраты компании направленные непосредственно на реализацию...
-
В связи с увеличением числа сотрудников, работающих в компании, а также с расширением рабочего проекта, возникла проблема, связанная с версионностью...
-
Для работы с базами данных созданы системы управлением базами данных. Существует довольно большое количество СУБД, особенно предназначенных для работы с...
-
2.1 Описание структуры базы данных Реляционная схема базы данных для ЦЗН представлена следующими таблицами: "ПО" - содержит список единиц программного...
-
Основные термины теории баз данных - БД (База данных) - совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы...
-
Регистрация нового пользователя в системе возможна двумя способоами: 1) Самостоятельная регистрация пользователя; 2) Регистрация пользователя...
-
В рамках выпускной квалификационной работы была разработана автоматизированная информационная система, предназначенная как для автоматического, так и для...
-
SimpleXML. В PHP версии 5.0 и выше появилось расширение для работы с xml структурой. Библитека SimpleXML содержит большое количество методов для работы с...
-
Этапы проектирования и создания БД - Система управления базами данных
При разработке БД можно выделить следующие этапы работы. I этап. Постановка задачи. На этом этапе формируется задание по созданию БД. В нем подробно...
-
Даталогическое проектирование - Банки и базы данных. Системы управления базами данных
Даталогической моделью БД называется модель логического уровня, построенная в рамках конкретной СУБД, в среде которой проектируется БД. Описание...
-
Важнейшим вопросом при создании САПР после формализации процесса проектирования является вопрос отображения проектно-конструкторской деятельности...
-
Использование парадигмы ООП. Разрабатываемая АИС является системой с открытым исходным кодом и значит должна являться масштабируемой сторонними...
-
Версионность базы данных - Программное обеспечение для пропускной системы на основе технологии NFC
С ростом приложения существует проблема обновления схемы базы данных с сохранением внесенных данных. Если информация в базе данных не может быть легко...
-
Назначение и функции программной системы Разработанная база данных "Библиотека" предназначена для использования в учреждениях библиотек. Основной...
-
При использовании этого способа данные во всех консолидируемых областях должны располагаться идентично. Для консолидации следует выполнить следующие...
-
Структура SQL - Банки и базы данных. Системы управления базами данных
Широкое развитие информационных систем и связанная с этим унифицированность информационного пространства привело к необходимости создания стандартного...
-
Построение реляционной схемы БД - Банки и базы данных. Системы управления базами данных
В основе реляционной модели БД лежит понятие отношения. Под отношением в этой модели понимается двумерная таблица данных. Строки таблицы называются...
-
Структурная схема умного почтового ящика Основой программно-аппаратного комплекса является одноплатный компьютер Raspberry Pi. Программный интерфейс...
-
Модуль функционирует на персональном компьютере под управлением операционной системы версии Microsoft Windows 7 и выше с поддержкой всех соглашений,...
-
Информационно - измерительные системы: структура и состав Постоянное совершенствование и развитие средств измерений необходимо для промышленного...
-
Математическое и программное обеспечение (МО, ПО)- совокупность математических методов, моделей, алгоритмов и программ для реализации целей и задач...
-
1. Связь таблицы "Заказчики" с таблицей "АвансПоОстаткамС2004Года". Поле: "КодЗаказчика" в таблице "Заказчики" с полем "Заказчик" в таблице...
-
Выбранные датчики, исполнительные механизмы и их месторасположение, а также структурная схема АСУ ТП производства сухого молока позволяют составить схему...
-
Поскольку клиентская часть представляет собой приложение на базе операционной системы Android, то для ее разработки был выбран рекомендуемый...
Разработка структурной схемы проекта и структуры программного обеспечения, Проектирование базы данных - Разработка и тестирование автоматизированной системы контроля успеваемости студентов