Автоматизация анкетирования с применением объектно-ориентированных технологий баз данных
Разработка элементов информационного обеспечения – логической модели реляционной и объектной баз данных с использованием метода диаграмм классов. Автоматизация процесса учета результатов анкетирования учащихся подразделения ВУЗа "Центр статистики".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 28.01.2016 |
Размер файла | 35,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://allbest.ru
ЗАДАНИЕ
Исходные данные к работе: отчет о предпроектном обследовании объекта автоматизации; схема функциональной структуры; схема бизнес-процессов. Содержание пояснительной записки: обоснование выбора предметной области; описание основных функций проектируемой задачи; анализ предметной области, выделение сущностей и атрибутов; проектирование реляционной модели БД; проектирование объектной модели БД; сравнение реляционной и объектной моделей БД.
Перечень графического материала (с пометкой обязательных рисунков и схем): ER-модель реляционной базы данных; UML-диаграмма классов объектной базы данных.
РЕФЕРАТ
автоматизация информационный анкетирование модель
Курсовая работа содержит страницы, рисунка, таблиц.
Объектом исследования является подразделение ВУЗа «Центр статистики».
Цель разработки: автоматизация процесса учета результатов анкетирования учащихся.
Проведено исследование предметной области: «работа с данными анкетирования». Исследование и анализ деятельности подразделения привели к принятию решения по разработке информационного обеспечения функциональной задачи. Были определены цели и функции разрабатываемой задачи.
Результат выполнения работ: были разработаны элементы информационного обеспечения - логическая модель реляционной базы данных, объектная модель базы данных с использованием метода диаграмм классов, а также было произведено сравнение объектной и реляционной моделей.
Разработка элементов информационного обеспечения задачи «Учета результатов анкетирования учащихся» существенно сократит затраты времени на поиск необходимых сведений о пройденных анкетах, появится возможность оперативного выявления не прошедших анкетирование учащихся, упростится процесс приведения данных к виду пригодному для проведения статистического анализа. Система документооборота в целом станет более гибкой и универсальной.
ЦЕНТР СТАТИСТИКИ, АНКЕТИРОВАНИЕ, ИНФОРМАЦИОННАЯ СИСТЕМА, УЧЕТ РЕЗУЛЬТАТОВ АНКЕТИРОВАНИЙ, МОДЕЛЬ СУЩНОСТЬ-СВЯЗЬ, КОНЦЕПТУАЛЬНАЯ МОДЕЛЬ ДАННЫХ, ФИЗИЧЕСКАЯ МОДЕЛЬ АННЫХ
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ, СИМВОЛОВ, ЕДИНИЦ, СОКРАЩЕНИЙ И ТЕРМИНОВ
БД - база данных
ВУЗ - высшее учебное заведение
ИС - информационная система
ОО-модель - объектно-ориентированная модель
ОРСУБД - объектно-реляционная система управления базами данных
ОС - операционная система
ПО - программное обеспечение
РСУБД - реляционная система управления базами данных
СУБД - система управления базами данных
ER-модель - модель «сущность-связь»
ID - идентификатор
ORDBMS object-relational database management system
UML - унифицированный язык моделирования
ВВЕДЕНИЕ
В настоящее время для разработки малобюджетных проектов широко распространена бесплатная для не коммерческого использования, реляционная СУБД MySQL. Отсутствие некоторых функций других СУБД компенсируется простотой в освоении, возможностью использования удобного веб-интерфейса PhpMyAdmin, и развитыми протоколами взаимодействия с РНР. Недостатком MySQL является отсутствие поддержки объектных баз данных. Именно MySQL используется в информационной системе (ИС), частью которой является разрабатываемое функциональное решение.
В качестве альтернативы рассматривается Oracle Database, также известная как Oracle ORDBMS, позволяющая реализовать объектный подход к проектированию базы, но имеющая меньший приоритет ввиду дороговизны.
Коротко охарактеризуем различия реляционного и объектного подходов к проектированию баз данных (БД).
База данных это совокупность сведений о реальных объектах, процессах, событиях или явлениях, относящихся к определенной теме или задаче, организованная таким образом, чтобы обеспечивать удобное представление этой совокупности в целом, так и любой её части.
Реляционная БД представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию о сущностях определенного типа. Каждая строка таблицы содержит данные о конкретном экземпляре сущности, а столбцы соответствуют различным характеристикам сущности ее атрибутам.
Главная особенность и отличие объектно-реляционных, как и объектных, СУБД от реляционных заключается в том, что ОРСУБД интегрированы с объектно-ориентированным (ОО) языком программирования, внутренним или внешним как C++ или Java.
Реляционную модель лучше всего можно представить в виде ER-диаграммы, а объектную модель в виде UML-диаграммы классов.
ER-модель реляционной базы данных отображает её структуру, описанную на формальном языке, поддерживаемом СУБД, и содержит таблицы и связи, определяемые внешними ключами, что хорошо отображает используемые в системе данные. В то время как UML-диаграмма классов объектной БД, демонстрирует классы, их атрибуты, методы и взаимосвязи между ними, что в свою очередь наглядно отображает особенности предметной области со всеми участвующими объектами системы
Опираясь на вышеперечисленное, в процессе проектирования БД исполнителю приходится анализировать, достаточны ли возможности реляционной СУБД для поставленной задачи, или необходимо использование современного подхода и более совершенных программных средств.
Целью данной работы является проектирование двух альтернативных моделей баз данных, реляционной и объектной, а также выбор из этих вариантов наиболее эффективного для реализации функционального решения «Учет результатов анкетирования учащихся».
1. ОБОСНОВАНИЕ ВЫБОРА ПРЕДМЕТНОЙ ОБЛАСТИ
В данной курсовой работе в качестве предметной области рассматривается деятельность Центра статистики ВУЗа, а именно - работа с анкетами и их результатами. Информационное обеспечение проектируется для реализации сбора, хранения, учета и возможности экспортирования результатов анкетирования учащихся. Данный проект направлен на автоматизацию уже существующей предметной области, и опирается на имеющийся опыт работы в данной сфере.
Исходные данные об особенностях учета результатов анкетирования: каждая анкета включает более одного вопроса, вопросы в анкете могут быть разных типов: альтернативный выбор (radio), множественный выбор (checkbox), текстовое поле (textbox), дата (date). Анкеты разделяются на анонимные и не анонимные. Вторые обязательно содержат в перечне вопросов ID студента, который должен соответствовать одному из имеющихся в актуальном перечне учащихся ВУЗа. Каждый учащийся может проходить отдельные анкетирования более одного раза.
Согласно техническому заданию [4], полный процесс анкетирования учащихся по новой анкете с точки зрения пользователя должен будет осуществляться в соответствии со следующей последовательностью:
начальник Центра статистики создает перечень вопросов для анкеты;
техник Центра статистики или привлеченное лицо осуществляют веб-реализацию анкеты, в которой полями HTML-формы выступают ответы на вопросы анкеты;
техник при помощи PHP-скрипта создает записи в БД, соответствующие новому анкетированию, а также пишет новый файл-дополнение для PHP-скрипта занесения ответов учащихся в базу;
учащиеся проходят анкетирование;
техник экспортирует результаты анкетирования для дальнейшего анализа в виде csv-файла при помощи PHP-скрипта.
Данная последовательность действий является исходной для реализации функционального решения, частью которого является данная работа. Таким образом предметной областью являются анкеты и результаты их прохождения учащимися.
2. ОПИСАНИЕ ОСНОВНЫХ ФУНКЦИЙ ПРОЕКТИРУЕМОЙ ЗАДАЧИ
Разрабатываемая БД будет использоваться для решения следующих задач: учета результатов анкетирования как таковых, хранения данных о классах анкет и типах включенных в них вопросов, определения принадлежности не анонимных анкет учащихся.
Посредством обращающегося к БД набора PHP скриптов осуществляются такие действия:
импортирование перечня учащихся, допущенных к заполнению не анонимных анкет;
создание и/или обновление записей соответствующих новой анкете и входящим в нее вопросам;
автоматическое занесение в базу ответов учащихся;
вывод пользователю результатов конкретного прохождения анкетирования конкретным учащимся;
определение факта прохождения или не прохождения конкретного анкетирования определенным учащимся;
вывод обобщенных результатов по конкретному вопросу из конкретной анкеты;
экспортирование в виде csv-файла всех ответов по конкретной анкете за определенный временной период.
3. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ, ВЫДЕЛЕНИЕ СУЩНОСТЕЙ И АТРИБУТОВ
Согласно представленным в первом разделе данной работы сведениям можно сделать вывод, что в процессе учета результатов анкетирования учащихся фигурируют такие понятия как «анкета», «вопрос в анкете», «ответ на вопрос», «студент с уникальным ID», и «конкретное прохождение учащимся определенного анкетирования» [5].
Первоначальной концепцией базы данных было создание отдельных таблиц для каждого анкетирования. Полями таких таблиц должны были выступать номера вопросов, а записями - отдельные прохождения анкетирования учащимися. Недостатком данного подхода является невозможность создания унифицированной базы и, соответственно, возникающая потребность в создании новых таблиц для каждой новой анкеты. При изменении уже имеющихся анкет для корректной работы системы потребовалось бы изменение структуры БД, удаление не нужных и добавление новых полей в уже созданные таблицы. Преимущества заключались в простоте, наглядности, легкости реализации и легкости последующего экспортирования результатов в виде csv-файла. Сравнивая плюсы и минусы такой концепции БД было принято решение реализовать другой вариант, позволяющий хранить данные любых анкет при неизменной архитектуре базы в ущерб простоте PHP скриптов взаимодействия с такой БД.
Альтернативным решением являлось вычленение в отдельные сущности фигурирующих в предметной области понятий, а именно ранее упомянутого набора: «анкета» (атрибутами будут: название анкеты, дата создания, последнего изменения и тип анкеты, анонимная или нет), «вопрос» (атрибутами будут: принадлежность к анкете, тип вопроса, текст вопроса и порядковый номер вопроса в анкете), «студент» (атрибутами будут импортируемые из общевузовской базы параметры, главным из которых является шестизначный ID учащегося), «конкретное прохождение анкеты» как аналог заполненного бланка (атрибутами будут: ID студента для не анонимных анкет, порядковый номер прохождения конкретной анкеты и дата-время прохождения анкетирования) и отдельный «ответ» (основным атрибутом будет текстовое поле, содержащее сам ответ) [3]. Но это только перечисление информационных полей будущих таблиц. Для идентификации записей потребуется дополнительное создание суррогатных ключей. Для сущностей «анкета», «вопрос» и «студент» ими будут соответствующие числовые идентификаторы. Каждое прохождение анкеты учащимся характеризуется искусственно созданным идентификатором, но также определяется указанием проходимой анкеты и порядковым номером прохождения этой анкеты (альтернативный составной ключ). У сущности «ответ» будет составной первичный ключ, характеризуемый идентификатором вопроса в анкете и идентификатором её прохождения.
Выделенных сущностей и атрибутов достаточно для построения эффективной логической модели реляционной базы данных.
4. ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ МОДЕЛИ БД
Благодаря третьему разделу данной работы процесс проектирования БД может осуществляться сразу на уровне логической модели данных, минуя концептуальную стадию, не представленную графически, но подробно описанную словесно.
Сведения о типах сущностей представлены в таблице 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 - анонимный, |
Бинарный, BOOL |
Нет |
|||
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) |
Да |
||
Pass_date |
Дата и время завершения анкетирования |
ДатаВремя, 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 |
Агрегирование |
Pass |
Входит в |
М : 1 |
Информация о свойствах объектов полностью совпадает с указанной в таблице 4.3. информацией об атрибутах сущностей реляционной модели БД.
UML - диаграмма объектной модели БД, отображающая используемые классы, их свойства и связи между ними представлена на рисунке 5.1.
Рисунок 5.1 UML-диаграмма классов базы данных
6. СРАВНЕНИЕ РЕЛЯЦИОННОЙ И ОБЪЕКТНОЙ МОДЕЛЕЙ БД
Для сравнения и выбора одной из моделей данных коротко перечислим преимущества и недостатки обоих подходов в применении к конкретной объектной области, и в частности для решения функциональной задачи «Учет результатов анкетирования студентов».
К потенциальным преимуществам использования объектного метода проектирования БД стоит отнести упрощение реализации программной составляющей проекта в случае использования ОО языков программирования, поддерживаемых выбранной ОРСУБД. Однако в нашем случае всё программное обеспечение пишется на скриптовом языке PHP, а покупка и эксплуатация платной ОРСУБД даже не рассматриваются как возможный вариант развития событий. Кроме того, объектный подход проектирования БД больше применим к большим системам, сущности которой плохо поддаются нормализации и представлению в БД четвертого поколения (реляционных БД).
Преимуществами РСУБД в свою очередь являются быстрота выполнения запросов, развитые протоколы взаимодействия со скриптами PHP [2], подробный и информативный код ошибки в случае не корректной работы скриптов. Кроме прочего, в рассматриваемой ИС ВУЗа уже используется бесплатная для не коммерческого использования СУБД MySQL, возможностей которой достаточно для реализации интересующего нас функционального решения.
Таким образом, учитывая условия предметной области и особенности объекта автоматизации, наиболее рационально использовать реляционный подход к проектированию БД для функционального решения «Учет результатов анкетирования студентов».
ВЫВОДЫ
Разработанная в данном курсовой работе реляционная база данных для документооборота в Центре статистики позволяет автоматизировать процесс учета результатов анкетирования учащихся. Архитектура БД позволяет хранить разнотипную информацию значительного количества различных анкет, является гибкой, удобной для администрирования, и пригодна для модернизации в случае необходимости расширить функционал подсистемы.
В данном курсовом проекте была разработана реляционная БД в виде логической модели данных, представленной на ER-диаграмме, и объектная модель БД, представленная на UML-диаграмме классов. Также было проведено сравнение двух вариантов реализации БД
Пояснительная записка выполнена в соответствии с требованиями методических указаний [1].
ПЕРЕЧЕНЬ ССЫЛОК
1. Методичні вказівки до курсового проектування з дисципліни «Технології баз даних» для студентів усіх форм навчання напряму 6.050101 Комп'ютерні науки / Упоряд.: І.Ю.Панфьорова. Харків: ХНУРЕ, 2013. - 17 с.
2. MySQL. Справочник по языку. [Текст]/ Компания MySQL AB. - М.: Вильямс, 2005. 432 с.
3. Проектирование информационных систем. Часть 1. Этапы разработки проекта: стратегия и анализ [Электронный ресурс]. - Режим доступа : http://www.interface.ru/home.asp?artId=2805 - 9.09.2015 г. - Загл. с экрана.
4. INTUIT.ru: Курс: Проектирование: Лекция №1: Основные понятия технологии проектирования информационных систем (ИС) [Электронный ресурс]. - Режим доступа: http://www.intuit.ru/department/se/devis/1/ 9.09.2015 г. Загл. с экрана.
5. Харківський національний економічний університет імені Семена Кузнеця: Официальный веб-сайт - [Электронный ресурс]. - Режим доступа: http://www.hneu.edu.ua/Statistics_center (дата звернення: 05.10.2015). - Загл. с экрана.
Размещено на Allbest.ru
Подобные документы
Автоматизация учета материалов на складе с применением баз данных (MS Access). Разработка логической структуры реляционной базы данных (входная информация - формы, выходные документы - отчеты). Применение программы, расчет экономической эффективности.
курсовая работа [4,3 M], добавлен 27.02.2011Разработка программного обеспечения для автоматизации процесса учета поступления и формирования заказов. Построение реляционной базы данных средствами Microsoft Access. Методы повышения эффективности организации информационных потоков на предприятии.
дипломная работа [1,9 M], добавлен 02.12.2012Общая характеристика объектно-ориентированного подхода в программировании, его основные свойства и принципы. Разработка программы для автоматизация деятельности кафе на основе объектно-ориентированного подхода, проектирования и реализации схемы данных.
курсовая работа [1,2 M], добавлен 22.01.2012Разработка автоматизированной информационной системы для обеспечения учета образовательных учреждений в среде Delphi на языке программирования Pascal. Создание базы данных и интерфейса для работы с АИС. Сущности и атрибуты логической модели данных.
курсовая работа [429,3 K], добавлен 15.05.2014Разработка объектно-ориентированной модели подсистемы "StudentCount" для деканата ВУЗа (автоматизация учета студентов и их успеваемости). Для решения данной задачи использовалось CASE–средство Rational Rose, сгенерирован программный код для языка С++.
курсовая работа [2,4 M], добавлен 28.06.2011Анализ основных направлений автоматизации бизнес-процессов с информационными технологиями. Разработка баз данных для решения проблем хранения и систематизации информации. Проектирование и реализация логической модели бизнес-процесса на примере библиотеки.
курсовая работа [505,8 K], добавлен 25.10.2011Автоматизация проектирования визуальной модели системы. Построение диаграммы последовательности и классов. Информационный анализ предметной области и выделение информационных объектов. Построение логической модели данных. Программное обеспечение.
дипломная работа [1,5 M], добавлен 27.10.2017Разработка программного продукта - приложения, позволяющего заносить данные анкетирования в базу данных MS SQL. Описание логики работы приложения, особенности пользовательского интерфейса. Формы просмотра анкет, описание процедур и функций программы.
курсовая работа [1,2 M], добавлен 16.08.2012Склад ОАО "Ориенбанк", его специфика и структура. Описание структуры базы данных складского учета для предприятия. Разработка пользовательского интерфейса программы. Инструкция к применению базы данных. Автоматизация операций и учета средств банка.
курсовая работа [4,7 M], добавлен 26.02.2010Разработка подсистемы информационного обеспечения отдела розничных продаж с использованием реляционного подхода. Организационная структура предприятия. Инфологическая и датологическая модели базы данных. Организация интерфейса пользователя в приложениях.
отчет по практике [878,3 K], добавлен 27.09.2014