Автоматизация анкетирования с применением объектно-ориентированных технологий баз данных

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    12,41 Кб
  • Опубликовано:
    2016-01-28
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Автоматизация анкетирования с применением объектно-ориентированных технологий баз данных

ЗАДАНИЕ

Исходные данные к работе: отчет о предпроектном обследовании объекта автоматизации; схема функциональной структуры; схема бизнес-процессов. Содержание пояснительной записки: обоснование выбора предметной области; описание основных функций проектируемой задачи; анализ предметной области, выделение сущностей и атрибутов; проектирование реляционной модели БД; проектирование объектной модели БД; сравнение реляционной и объектной моделей БД.

Перечень графического материала (с пометкой обязательных рисунков и схем): 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). - Загл. с экрана.

Похожие работы на - Автоматизация анкетирования с применением объектно-ориентированных технологий баз данных

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!