ЗАДАНИЕ
Исходные данные к работе: отчет о предпроектном обследовании объекта автоматизации; схема функциональной структуры; схема бизнес-процессов. Содержание пояснительной записки: обоснование выбора предметной области; описание основных функций проектируемой задачи; анализ предметной области, выделение сущностей и атрибутов; проектирование реляционной модели БД; проектирование объектной модели БД; сравнение реляционной и объектной моделей БД.
Перечень графического материала (с пометкой
обязательных рисунков и схем): ER-модель
реляционной базы данных; UML-диаграмма
классов объектной базы данных.
РЕФЕРАТ
автоматизация информационный анкетирование модель
Курсовая работа содержит страницы, рисунка, таблиц.
Объектом исследования является подразделение ВУЗа «Центр статистики».
Цель разработки: автоматизация процесса учета результатов анкетирования учащихся.
Проведено исследование предметной области: «работа с данными анкетирования». Исследование и анализ деятельности подразделения привели к принятию решения по разработке информационного обеспечения функциональной задачи. Были определены цели и функции разрабатываемой задачи.
Результат выполнения работ: были разработаны элементы информационного обеспечения - логическая модель реляционной базы данных, объектная модель базы данных с использованием метода диаграмм классов, а также было произведено сравнение объектной и реляционной моделей.
Разработка элементов информационного обеспечения задачи «Учета результатов анкетирования учащихся» существенно сократит затраты времени на поиск необходимых сведений о пройденных анкетах, появится возможность оперативного выявления не прошедших анкетирование учащихся, упростится процесс приведения данных к виду пригодному для проведения статистического анализа. Система документооборота в целом станет более гибкой и универсальной.
ЦЕНТР СТАТИСТИКИ, АНКЕТИРОВАНИЕ, ИНФОРМАЦИОННАЯ
СИСТЕМА, УЧЕТ РЕЗУЛЬТАТОВ АНКЕТИРОВАНИЙ, МОДЕЛЬ СУЩНОСТЬ-СВЯЗЬ, КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ДАННЫХ, ФИЗИЧЕСКАЯ
МОДЕЛЬ АННЫХ
ПЕРЕЧЕНЬ УСЛОВНЫХ
ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ, СОКРАЩЕНИЙ И ТЕРМИНОВ
БД - база данных
ВУЗ - высшее учебное заведение
ИС - информационная система
ОО-модель - объектно-ориентированная модель
ОРСУБД - объектно-реляционная система управления базами данных
ОС - операционная система
ПО - программное обеспечение
РСУБД - реляционная система управления базами данных
СУБД - система управления базами данных
ER-модель - модель «сущность-связь»
ID - идентификатор-
object-relational database management system - унифицированный
язык моделирования
ВВЕДЕНИЕ
В настоящее время для разработки малобюджетных проектов широко распространена бесплатная для не коммерческого использования, реляционная СУБД MySQL. Отсутствие некоторых функций других СУБД компенсируется простотой в освоении, возможностью использования удобного веб-интерфейса PhpMyAdmin, и развитыми протоколами взаимодействия с РНР. Недостатком MySQL является отсутствие поддержки объектных баз данных. Именно MySQL используется в информационной системе (ИС), частью которой является разрабатываемое функциональное решение.
В качестве альтернативы рассматривается Oracle Database, также известная как Oracle ORDBMS, позволяющая реализовать объектный подход к проектированию базы, но имеющая меньший приоритет ввиду дороговизны.
Коротко охарактеризуем различия реляционного и объектного подходов к проектированию баз данных (БД).
База данных - это совокупность сведений о реальных объектах, процессах, событиях или явлениях, относящихся к определенной теме или задаче, организованная таким образом, чтобы обеспечивать удобное представление этой совокупности в целом, так и любой её части.
Реляционная БД представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию о сущностях определенного типа. Каждая строка таблицы содержит данные о конкретном экземпляре сущности, а столбцы соответствуют различным характеристикам сущности - ее атрибутам.
Главная особенность и отличие объектно-реляционных, как и объектных, СУБД от реляционных заключается в том, что ОРСУБД интегрированы с объектно-ориентированным (ОО) языком программирования, внутренним или внешним как C++ или Java.
Реляционную модель лучше всего можно представить в виде ER-диаграммы, а объектную модель в виде UML-диаграммы классов.модель реляционной базы данных отображает её структуру, описанную на формальном языке, поддерживаемом СУБД, и содержит таблицы и связи, определяемые внешними ключами, что хорошо отображает используемые в системе данные. В то время как UML-диаграмма классов объектной БД, демонстрирует классы, их атрибуты, методы и взаимосвязи между ними, что в свою очередь наглядно отображает особенности предметной области со всеми участвующими объектами системы
Опираясь на вышеперечисленное, в процессе проектирования БД исполнителю приходится анализировать, достаточны ли возможности реляционной СУБД для поставленной задачи, или необходимо использование современного подхода и более совершенных программных средств.
Целью данной работы является проектирование двух
альтернативных моделей баз данных, реляционной и объектной, а также выбор из
этих вариантов наиболее эффективного для реализации функционального решения
«Учет результатов анкетирования учащихся».
1. ОБОСНОВАНИЕ ВЫБОРА ПРЕДМЕТНОЙ ОБЛАСТИ
В данной курсовой работе в качестве предметной области рассматривается деятельность Центра статистики ВУЗа, а именно - работа с анкетами и их результатами. Информационное обеспечение проектируется для реализации сбора, хранения, учета и возможности экспортирования результатов анкетирования учащихся. Данный проект направлен на автоматизацию уже существующей предметной области, и опирается на имеющийся опыт работы в данной сфере.
Исходные данные об особенностях учета результатов анкетирования: каждая анкета включает более одного вопроса, вопросы в анкете могут быть разных типов: альтернативный выбор (radio), множественный выбор (checkbox), текстовое поле (textbox), дата (date). Анкеты разделяются на анонимные и не анонимные. Вторые обязательно содержат в перечне вопросов ID студента, который должен соответствовать одному из имеющихся в актуальном перечне учащихся ВУЗа. Каждый учащийся может проходить отдельные анкетирования более одного раза.
Согласно техническому заданию [4], полный процесс анкетирования учащихся по новой анкете с точки зрения пользователя должен будет осуществляться в соответствии со следующей последовательностью:
- начальник Центра статистики создает перечень вопросов для анкеты;
- техник Центра статистики или привлеченное лицо осуществляют веб-реализацию анкеты, в которой полями HTML-формы выступают ответы на вопросы анкеты;
- техник при помощи PHP-скрипта создает записи в БД, соответствующие новому анкетированию, а также пишет новый файл-дополнение для PHP-скрипта занесения ответов учащихся в базу;
- учащиеся проходят анкетирование;
- техник экспортирует результаты анкетирования для дальнейшего анализа в виде csv-файла при помощи PHP-скрипта.
Данная последовательность действий является
исходной для реализации функционального решения, частью которого является
данная работа. Таким образом предметной областью являются анкеты и результаты
их прохождения учащимися.
. ОПИСАНИЕ ОСНОВНЫХ ФУНКЦИЙ ПРОЕКТИРУЕМОЙ ЗАДАЧИ
Разрабатываемая БД будет использоваться для решения следующих задач: учета результатов анкетирования как таковых, хранения данных о классах анкет и типах включенных в них вопросов, определения принадлежности не анонимных анкет учащихся.
Посредством обращающегося к БД набора PHP скриптов осуществляются такие действия:
- импортирование перечня учащихся, допущенных к заполнению не анонимных анкет;
- создание и/или обновление записей соответствующих новой анкете и входящим в нее вопросам;
- автоматическое занесение в базу ответов учащихся;
- вывод пользователю результатов конкретного прохождения анкетирования конкретным учащимся;
- определение факта прохождения или не прохождения конкретного анкетирования определенным учащимся;
- вывод обобщенных результатов по конкретному вопросу из конкретной анкеты;
- экспортирование в виде csv-файла всех ответов по конкретной анкете за определенный временной период.
3. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ, ВЫДЕЛЕНИЕ
СУЩНОСТЕЙ И АТРИБУТОВ
Согласно представленным в первом разделе данной работы сведениям можно сделать вывод, что в процессе учета результатов анкетирования учащихся фигурируют такие понятия как «анкета», «вопрос в анкете», «ответ на вопрос», «студент с уникальным ID», и «конкретное прохождение учащимся определенного анкетирования» [5].
Первоначальной концепцией базы данных было создание отдельных таблиц для каждого анкетирования. Полями таких таблиц должны были выступать номера вопросов, а записями - отдельные прохождения анкетирования учащимися. Недостатком данного подхода является невозможность создания унифицированной базы и, соответственно, возникающая потребность в создании новых таблиц для каждой новой анкеты. При изменении уже имеющихся анкет для корректной работы системы потребовалось бы изменение структуры БД, удаление не нужных и добавление новых полей в уже созданные таблицы. Преимущества заключались в простоте, наглядности, легкости реализации и легкости последующего экспортирования результатов в виде csv-файла. Сравнивая плюсы и минусы такой концепции БД было принято решение реализовать другой вариант, позволяющий хранить данные любых анкет при неизменной архитектуре базы в ущерб простоте PHP скриптов взаимодействия с такой БД.
Альтернативным решением являлось вычленение в отдельные сущности фигурирующих в предметной области понятий, а именно - ранее упомянутого набора: «анкета» (атрибутами будут: название анкеты, дата создания, последнего изменения и тип анкеты, анонимная или нет), «вопрос» (атрибутами будут: принадлежность к анкете, тип вопроса, текст вопроса и порядковый номер вопроса в анкете), «студент» (атрибутами будут импортируемые из общевузовской базы параметры, главным из которых является шестизначный ID учащегося), «конкретное прохождение анкеты» как аналог заполненного бланка (атрибутами будут: ID студента для не анонимных анкет, порядковый номер прохождения конкретной анкеты и дата-время прохождения анкетирования) и отдельный «ответ» (основным атрибутом будет текстовое поле, содержащее сам ответ) [3]. Но это только перечисление информационных полей будущих таблиц. Для идентификации записей потребуется дополнительное создание суррогатных ключей. Для сущностей «анкета», «вопрос» и «студент» ими будут соответствующие числовые идентификаторы. Каждое прохождение анкеты учащимся характеризуется искусственно созданным идентификатором, но также определяется указанием проходимой анкеты и порядковым номером прохождения этой анкеты (альтернативный составной ключ). У сущности «ответ» будет составной первичный ключ, характеризуемый идентификатором вопроса в анкете и идентификатором её прохождения.
Выделенных сущностей и атрибутов достаточно для
построения эффективной логической модели реляционной базы данных.
. ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ МОДЕЛИ БД
Благодаря третьему разделу данной работы процесс проектирования БД может осуществляться сразу на уровне логической модели данных, минуя концептуальную стадию, не представленную графически, но подробно описанную словесно.
Сведения о типах сущностей представлены в
таблице 4.1.
Таблица 4.1. Сведения о типах сущностей
Имя
сущности
Описание
Псевдоним
Особенности
использования
Ank_t
Сведения
об анкетах
Анкеты Quest_t
Сведения
о вопросах
Вопросы
Хранит
сведения о вопросах
Stud_t
Сведения
о студентах
Студенты
Хранит
сведения о студентах
Pass_t
Сведения
о прохождениях анкетирований
Прохождени
Хранит
сведения о конкретных прохождениях анкетирований
Ans_t
Ответы
Ответы
Хранит
ответы анкетируемых
Сведения о типах связей между сущностями описаны
в таблице 4.2.
Таблица 4.2. Сведения о типах связей
Имя
сущности
Тип
связи
Связанная
сущность
Кардинальность
Вопросы
Входит
в
Анкеты
М
: 1
Прохождения
Принадлежит
Студенты
М
: 1
Прохождения
Относится
к
Анкеты
М
: 1
Ответы
Относится
к
Вопросы
М
: 1
Ответы
Относится
к
Прохождения
М
: 1
Сведения об атрибутах сущностей представлены в
таблице 4.3.
Таблица 4.3. Сведения об атрибутах
Имя
сущнос-ти
Атрибут
Описание
Тип
данных
Ограни-чения
Допус-ти-мость NULL
Ank_t
ID_ank
Уникальный
идентификатор анкеты
Числовой,
Int(3)
PK
Нет
Ank_nazv
Название
анкеты
Текстовый,
Text
Нет
Creat_date
Дата
создания
Дата,
Date
Нет
Corr_date
Дата
последнего редактирования
Дата,
Date
Да
Ank_type
Тип
анкеты: анонимный/ именной (1 - анонимный, 0 - именной) Нет
Stud_t
ID_stud
Общевузовский
уникальный идентификатор студента
Числовой,
Int(6)
PK
Нет
S_name
Имя
студента
Текстовый,
Text
Нет
S_fname
Фамилия
студента
Текстовый,
Text
Нет
S_otch
Отчество
студента
Текстовый,
Text
Да
S_group
Группа
студента
Текстовый,
Text
Да
S_faccult
Факультет
студента (согласно общевузовской нумерации факультетов)
Числовой,
Int(2)
Да
Quest_t
ID_quest_key
Уникальный
идентификатор вопроса (Суррогатный ключ)
Числовой,
Int(5)
PK, AI
Нет
Q_order_numb
Порядковый
номер вопроса в анкете (С дробной нумерацией)
Текстовый,
Text
Нет
ID_ank
Принадлежность
к анкете
Числовой,
int(3)
FK (Ank_t. ID_ank)
Нет
Q_type
Тип
вопроса (r -
«радиокнопка» m - «множественный выбор» t - «текстовый»
d
- «дата»)
Символьный,
Char
Нет
Q_text
Текст
вопроса
Текстовый,
Text
Да
Pass_t
ID_pass_key
Уникальный
идентификатор прохождения анкетирования (Суррогатный ключ)
Числовой,
Int(10)
PK
Нет
ID_ank
Принадлежность
к анкете
Числовой,
int(3)
FK (Ank_t. ID_ank)
Нет
Pass_numb
Порядковый
номер прохождения конкретной анкеты
Числовой,
Int(9)
Нет
ID_stud
Принадлежность
студенту
Числовой,
Int(6)
FK (Stud_t. ID_stud)
Да Дата
и время завершения анкетирования
ДатаВремя,
DateTime
Нет
Ans_t
ID_quest_key
Принадлежность
к вопросу
Числовой,
Int(5)
PK, FK (Quest_t. ID_quest_key)
Нет
ID_pass_key
Принадлежность
к прохождению
Числовой,
Int(10)
PK, FK (Pass_t. ID_pass_key)
Нет
Q_answer
Данный
учащимся ответ
Текстовый,
Text
Нет
Схема логической структуры проектируемой БД
представлена на рисунке 4.1.
Рисунок 4.1 - ER-модель
базы данных
5. ПРОЕКТИРОВАНИЕ ОБЪЕКТНОЙ МОДЕЛИ БД
Частично входящие в систему функции рассмотрены
во втором разделе данной работы. Кроме них отразить в проекте объектной модели
данных нужно еще и служебные методы.
В качестве классов предметной области наиболее
логично выделить уже описанные сущности из реляционной модели данных (раздел 4
данной работы). Сведения о классах и их методах представлены в таблице 5.1.
Таблица 5.1. Сведения о классах
Имя
класса
Метод
Описание
Ank
Quest
Quest_type_upd ()
Обновление
типа вопроса с каскадным уточнением связанных ответов
Stud
Stud_import ()
Импортирование
базы студентов, при этом заменяется устаревшая база (данный метод является
защищенным и требует дополнительной авторизации)
Pass
Pass_stud_search ()
Обнаружение
не заполнивших анкету студентов
Pass_export ()
Экспортирование
результатов анкетирования
Ans
Типы связей между классами представлены в
таблице 5.2.
Таблица 5.2. Сведения о типах связей
Имя
класса
Тип
связи
Связанный
класс
Роль
Кардиналь-ность
Quest
Агрегирование
Ank
Входит
в
М
: 1
Pass
Ассоциация
Stud
Принадлежит
М
: 1
Pass
Композиция
Ank
Относится
к
М
: 1
Ans
Ассоциация
Quest
Отвечает
на
М
: 1
Ans
Агрегирование Входит
в
М
: 1
Информация о свойствах объектов полностью
совпадает с указанной в таблице 4.3. информацией об атрибутах сущностей
реляционной модели БД.
UML - диаграмма
объектной модели БД, отображающая используемые классы, их свойства и связи
между ними представлена на рисунке 5.1.
Рисунок 5.1 - UML-диаграмма
классов базы данных
. СРАВНЕНИЕ РЕЛЯЦИОННОЙ И ОБЪЕКТНОЙ МОДЕЛЕЙ БД
Для сравнения и выбора одной из моделей данных
коротко перечислим преимущества и недостатки обоих подходов в применении к
конкретной объектной области, и в частности для решения функциональной задачи
«Учет результатов анкетирования студентов».
К потенциальным преимуществам использования объектного
метода проектирования БД стоит отнести упрощение реализации программной
составляющей проекта в случае использования ОО языков программирования,
поддерживаемых выбранной ОРСУБД. Однако в нашем случае всё программное
обеспечение пишется на скриптовом языке PHP,
а покупка и эксплуатация платной ОРСУБД даже не рассматриваются как возможный
вариант развития событий. Кроме того, объектный подход проектирования БД больше
применим к большим системам, сущности которой плохо поддаются нормализации и
представлению в БД четвертого поколения (реляционных БД).
Преимуществами РСУБД в свою очередь являются
быстрота выполнения запросов, развитые протоколы взаимодействия со скриптами PHP
[2], подробный и информативный код ошибки в случае не корректной работы скриптов.
Кроме прочего, в рассматриваемой ИС ВУЗа уже используется бесплатная для не
коммерческого использования СУБД MySQL,
возможностей которой достаточно для реализации интересующего нас
функционального решения.
Таким образом, учитывая условия предметной области
и особенности объекта автоматизации, наиболее рационально использовать
реляционный подход к проектированию БД для функционального решения «Учет
результатов анкетирования студентов».
ВЫВОДЫ
Разработанная в данном курсовой работе
реляционная база данных для документооборота в Центре статистики позволяет
автоматизировать процесс учета результатов анкетирования учащихся. Архитектура
БД позволяет хранить разнотипную информацию значительного количества различных
анкет, является гибкой, удобной для администрирования, и пригодна для
модернизации в случае необходимости расширить функционал подсистемы.
В данном курсовом проекте была разработана
реляционная БД в виде логической модели данных, представленной на ER-диаграмме,
и объектная модель БД, представленная на UML-диаграмме
классов. Также было проведено сравнение двух вариантов реализации БД
Пояснительная записка выполнена в соответствии с
требованиями методических указаний [1].
ПЕРЕЧЕНЬ ССЫЛОК
1. Методичні вказівки до
курсового проектування з дисципліни «Технології баз даних» для студентів усіх
форм навчання напряму 6.050101 - Комп’ютерні
науки / Упоряд.: І.Ю.Панфьорова. - Харків:
ХНУРЕ,
2013. - 17 с.
2. MySQL. Справочник по языку.
[Текст]/ Компания MySQL AB. - М.: Вильямс, 2005. - 432 с.
. Проектирование
информационных систем. Часть 1. Этапы разработки проекта: стратегия и анализ
[Электронный ресурс]. - Режим доступа :
http://www.interface.ru/home.asp?artId=2805 - 9.09.2015 г. - Загл. с экрана.
. INTUIT.ru: Курс:
Проектирование: Лекция №1: Основные понятия технологии проектирования
информационных систем (ИС) [Электронный ресурс]. - Режим доступа:
http://www.intuit.ru/department/se/devis/1/ - 9.09.2015 г. -
Загл. с экрана.
. Харківський національний
економічний університет імені Семена Кузнеця: Официальный веб-сайт -
[Электронный ресурс]. - Режим доступа: http://www.hneu.edu.ua/Statistics_center
(дата звернення: 05.10.2015). - Загл. с экрана.