Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Королев Лабораторая работа применение современных опен-соурце

.pdf
Скачиваний:
2
Добавлен:
12.11.2022
Размер:
1.43 Mб
Скачать

компетенций ПОСЛЕ учебного мероприятия.

8.Насколько Вы были активны в прояснении недостающих Вам теоретических знаний?

9.Что изменить/дополнить в содержании данного мероприятия или его организации (текстовое поле)?

10.Ваши комментарии, пожелания. (Текстовое поле.)

Анкетная информация по семинарам несколько отличается и содержит следующие позиции:

1.Насколько Вам было понятно описание заданий, предлагаемых к выполнению?

2.Насколько занятие соответствовало Вашим ожиданиям?

3.Насколько, на Ваш взгляд, будут применимы полученные знания, умения, навыки, продемонстрированные методики в Вашей практической деятельности?

4.В какой мере Вы получали ответы на поставленные Вами вопросы? Насколько интерактивно было организовано общение в группе при выполнении работы?

5.Насколько интересно проведено занятие?

6.Насколько обстановка на учебном мероприятии способствовала процессу эффективного усвоения материала?

7.Оцените степень развития Ваших профессиональных компетенций ДО учебного мероприятия.

8.Оцените степень развития Ваших профессиональных компетенций ПОСЛЕ учебного мероприятия.

9.Что изменить/дополнить в содержании данного мероприятия или его организации? (Текстовое поле.)

10.Ваши комментарии, пожелания. (Текстовое поле.)

Так как анкетная информация по семинарам отличается от анкетной информации по лекциям, то анкеты должны представлять собой различные страницы html.

Окно вывода результатов должно содержать полученные при анкетировании пользовательские данные по каждой дисциплине, представленные в виде графических диаграмм или таблиц. Это окно будет открываться только для тех пользователей системы, которые анализируют результаты обратной связи и делают соответствующие выводы. Для анкетируемых слушателей это окно не отрывается – в конце опроса для них выводится только сообщение

21

типа «Благодарим за участие» или ничего не выводится, а осуществляется возврат на страницу с выбором занятия.

На рис. 3.6 показан интерфейс основного окна вывода результатов. Интерфейс носит интерактивный характер.

Рис. 3.6. Основное окно вывода результатов

С помощью этого окна пользователь может выбрать, какой тип анализа анкетных данных ему нужен.

Авторы привели несколько вариантов анализа, наиболее затребованных, с их точки зрения, а именно:

сравнительный анализ удовлетворенности слушателей

по годам;

сравнение дисциплин по качеству преподавания;

сравнение дисциплин по практической полезности;

сравнительный анализ удовлетворенности слушателей

по годам;

результаты анкетирования в конкретном учебном году. В данном учебном проекте мы будем осуществлять вывод

только по последним двум позициям – по сравнительному анализу удовлетворенности слушателей по годам и по результатам анкетирования в конкретном учебном году.

Для первого варианта анализа необходимо разработать интерфейс, скриншот с которого представлен на рис. 3.7.

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

22

Рис. 3.7. Интерфейс для вывода данных по сравнительному анализу удовлетворенности слушателей по годам

В этом типе анализа не учитываются конкретные лекции и конкретные семинары, а выводится общая оценка по всем критериям. Сделано это специально, чтобы учесть тот факт, что из года в год конкретные занятия могут меняться как по содержанию, так и по дате проведения. При этом критерии оценки лекций и семинаров составлены так, что обобщенные данные по ним будут актуальны для понимания качества дисциплины и, что является важным, подлежат сравнению относительно разных учебных лет.

Для второго варианта анализа – по результатам анкетирования в конкретном учебном году должен быть разработан интерфейс, скриншот с которого представлен на рис. 3.8.

При помощи интерактивной формы пользователь выбирает дисциплину, по которой он хочет получить результирующие данные. После этого ему автоматически выдается список лекций и семинаров по этой дисциплине в разных таблицах. У каждого занятия стоит ссылка «Результаты анкетирования», при нажатии на которую выводится окно, в котором перечисляются анкетные параметры, установленные нами для лекций и для семинаров выше. По каждому из параметров выводится усредненная оценка для всех

анкет, присутствующих в БД. В текстовые поля «Что

23

изменить/дополнить в содержание данного мероприятия или его организации» и «Комментарии, пожелания студентов» выводятся суммарные отзывы студентов, имеющиеся в БД в соответствующих столбцах.

Рис. 3.8. Интерфейс для вывода данных по результатам анкетирования в конкретном учебном году

После написания исходного кода всех интерфейсных окон протестируйте его на предмет соответствия результирующего интерфейса в браузере интерфейсу, представленному на рисунках в данном пособии.

Сохраните получившийся исходный код в системе SVN, чтобы доступ к нему имели все другие разработчики и руководитель проекта (см. лабораторную работу №2).

24

ЛАБОРАТОРНАЯ РАБОТА № 4

РАЗРАБОТКА БАЗЫ ДАННЫХ

4.1. Цель работы

Методической целью работы является получение теорети-

ческих знаний и практических навыков в проектировании реляционных баз данных (РБД) на основе инструментария Eclipse ERMaster и СУБД PostgreSQL.

Практической целью работы является разработка БД, хранящей на сервере заполненную пользователем во время анкетирования информацию.

4.2. Теоретические сведения, необходимые для выполнения работы

На рис. 4.1 представлено архитектурное описание деятельности по разработке БД.

Для ознакомления с методикой проектирования БД приведем некоторую основную терминологию из области баз данных. С другими теоретическими основами создания БД можно ознакомиться на лекциях и при помощи указанных в конце пособия литературных источников [7,8].

Примечание. Основная часть представленной ниже терминологии составлена при помощи монографии Когаловского М.Р. «Энциклопедия технологий баз данных» [9]. Некоторые из перечисленных концепций, а именно индексы, представления, хранимые процедуры и триггеры, в заданиях данного практикума использованы не будут. Однако, так как они достаточно важны для понимания реляционной модели данных, применяемой в учебном проекте, авторы посчитали правильным привести здесь справочную информацию о них.

Модель данных – это инструмент моделирования: например, правила задания реляционных структур, правила целостности, операции и т.п.

Реляционная модель данных содержит следующие кон-

цепции для задания структур данных: таблицы, индексы, ключи, связи, домены.

25

Рис. 4.1. Деятельность по разработке БД

Любая сущность предметной области представляется в реляционной модели данных в виде таблицы, состоящей из строк и столбцов. В строках содержатся экземпляры сущности, атрибуты которых задаются в столбцах таблицы.

Ключом является столбец или несколько столбцов, значения которых идентифицируют строку или несколько строк таблицы.

Если в качестве ключа выступает один столбец, такой ключ называется простым. Если используются несколько столбцов в качестве ключа, такой ключ называется составным.

Первичным ключом называется ключ, значения которого уникальным образом идентифицируют одну строку таблицы.

26

Альтернативным ключом является столбец, который мог бы выступать в качестве первичного ключа, но не назначен таковым.

Вторичным ключом называется ключ, значения которого идентифицируют несколько строк таблицы.

Внешний ключ представляет собой столбец (или несколько столбцов) одной таблицы, значения которых должны совпадать со значениями первичного ключа другой таблицы. Внешний ключ является простым или составным в зависимости от того, является ли простым или составным соответствующий ему первичный ключ. Ограничение, согласно которому значения внешнего ключа соответствуют значениям первичного ключа, называются ограничением ссылочной целостности.

Индекс – структура данных, повышающая скорость доступа к данным при поиске информации в БД. Используются различные подходы к организации индексов, ориентированные на поддержку различных операций доступа к данным в среде хранения. Физически индекс состоит из ряда статей, хранящихся на жестком диске. Каждая статья индекса соответствует одной или нескольким строкам в таблице БД.

Индекс первичный – индекс таблицы в РБД по первичному ключу. Каждой статье такого индекса соответствует единственная строка в таблице.

Индекс вторичный – индекс файла по вторичному ключу. Поскольку значения вторичного ключа не являются уникальными в файле, каждой статье вторичного индекса могут соответствовать, вообще говоря, несколько записей файла.

Домен задает область значения атрибутов (столбцов) таблиц. При модификации домена обновляются все ассоциируемые с ним столбцы.

Связью называется отношение между родительской и дочерней таблицами. Связь задает ограничение ссылочной целостности между первичным или альтернативным ключом и внешним ключом или между столбцами, определенными пользователем в обеих таблицах. Связь создается, когда необходимо связать один или более столбцов в одной таблице с одним или более столбцами в другой таблице.

27

Представлением (view) называется виртуальная (логическая) таблица, содержимое которой динамически вычисляется на основании данных, находящихся в реальных таблицах. Изменение данных в реальной таблице БД немедленно отражается в содержимом всех представлений, построенных на основании этой таблицы. Типичным способом создания представлений для СУБД, поддерживающих язык запросов SQL, является связывание представления с определенным SQL-запросом. Соответственно, содержимое представления – это результат выполнения этого запроса, а возможности построения представления ограничиваются только степенью сложности диалекта SQL, поддерживаемого конкретной СУБД.

Хранимая процедура – это объект БД, представляющий собой набор SQL-инструкций, который компилируется один раз и хранится на сервере БД. У хранимых процедур могут быть входные

ивыходные параметры и локальные переменные, в них могут производиться числовые вычисления и операции над символьными данными, результаты которых могут присваиваться переменным и параметрам. Кроме того, в хранимых процедурах возможны циклы

иветвления.

Триггер – это хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено наступлением определенного события (действием). При этом триггер запускается автоматически. Примерами событий могут быть добавление (INSERT), удаление (DELETE) строки в заданной таблице, модификация (UPDATE) данных в определенном столбце заданной таблицы, обновление представления. Триггер также может обеспечивать сохранение целостности связей, например, путем выдачи ошибки на попытку обновить первичный ключ при существующем запрете на обновление.

Шаблоном триггера называется каркас для создания некоторого множества различных триггеров. Шаблон триггера может быть сохранен или в проектируемой модели, или в файле выбранной СУБД. Можно создавать свои собственные шаблоны, также как и использовать существующие.

28

4.3. Рабочие задания

Задания, приведенные ниже, предусматривают

проектирование и реализацию физической модели данных на основе Eclipse ERMaster с последующим формированием из этой модели РБД под управлением СУБД PostgreSQL.

Задание 1. Создание физической модели БД

Создайте в Eclipse новый проект, в этом проекте – новые диаграммы ER путем вызова ERMaster. Диаграммы должны

отражать структуру БД, позволяющую хранить заносимую пользователем в процессе анкетирования информацию. Построение таких диаграмм будет базироваться на результате проектирования пользовательского интерфейса, выполненного другим разработчиком в проекте. Правильные, на взгляд авторов, ERдиаграммы представлены ниже.

Физическая модель данных для хранения регистрационной информации о слушателях и экспертах

На рис. 4.2 показана физическая модель данных для хранения регистрационной информации о слушателях и экспертах. Модель включает в себя следующие множества:

независимое множество «users»;

два связанных множества «groups» и «students». Таблица users хранит данные авторизации, по которым

определяется профиль работающего с системой пользователя. Таблица содержит первичный ключ user_id, столбец user_login и

столбец user_password.

Так как проектируемая система предполагает работу с двумя профилями – «Студент» и «Эксперт», то в таблице users

содержатся всего две записи, соответственно. Для профиля

«Студент» пусть user_login=student, user_password=student, а для профиля «Эксперт» user_login=expert, user_password=expert. При авторизации пользователь вводит соответствующие логин и пароль и заходит в нужный профиль.

29

users

user_id

integer

<pk>

user_login

character varying(50)

 

user_password

character varying(50)

 

groups

group_id

integer

<pk>

group_name

character varying(50)

 

year

character varying(50)

 

students

students_id

integer

<pk>

group_id

integer

<fk>

st_family

character varying(50)

 

st_first_name

character varying(50)

 

st_sec_name

character varying(50)

 

st_pk_number

character varying(50)

 

Рис. 4.2. Физическая схема данных для хранения регистрационной информации о слушателях и экспертах

При работе с профилем «Студент» пользователь должен выбрать свою группу и ФИО, а потом ввести номер зачетной

книжки в качестве пароля. Информационную поддержку этого процесса обеспечивают таблицы groups и students. В таблице groups

хранятся данные по анкетируемым группам. Для этого в таблице

предусмотрены два столбца – group_name для хранения имени группы и year для хранения года поступления. В таблице students

содержатся данные по студентам, включая фамилию, имя, отчество и номер зачетки. Эта таблица является дочерней по отношению к таблице groups, связана с ней взаимоотношением «многие к одному», подразумевающему, что несколько студентов относятся к

одной группе и наоборот. Данная взаимосвязь осуществляется по внешнему ключу group_id (в таблице students).

Физическая модель данных для хранения информации о читаемых дисциплинах

Физическая модель данных для хранения информации о читаемых дисциплинах должна включать в себя следующие связанные множества (рис. 4.3):

множество «disciplines»;

множество «lections»;

множество «seminars».

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]