Файл: Методические указания по выполнению курсовой работы для студентов 2 курса направления 38. 03. 05 "Бизнесинформатика" очной формы обучения.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2023
Просмотров: 42
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
13
2.2.4. Схема данных
В данном разделе приводится информационно-логическая схема базы. Ин-
формационно-логическую модель желательно изображать в каноническом виде,
то есть размещать информационные объекты по уровням. На нулевом уровне
размещаются объекты, не подчиненные никаким другим объектам. Уровень ос-
тальных объектов определяется наиболее длинным путем к объекту от нулево-
го уровня. Такое размещение информационных объектов дает представление об
их иерархической подчиненности, делает модель более наглядной и облегчает
понимание связей между объектами.
На рис. 3 приведен снимок экрана схемы данных для базы данных
“Библиотека”, реализованная в СУБД Access.
Рис. 3. Схема данных
2.3. Проектирование и реализация алгоритмов
обработки данных
2.3.1. Моделирование алгоритмического поведения системы
В данном разделе проводится моделирование и описание алгоритмического
поведения проектируемой системы. При этом необходимо графически изобра-
зить последовательность действий, выполняемых системой. Для этой цели, как
14
правило, используются блок-схемы или UML-диаграммы деятельности. Каждая
такая диаграмма акцентирует внимание на последовательности выполнения
определенных процедур или элементарных операций, которые в совокупности
приводят к получению желаемого результата. Для описания процесса работы
разрабатываемой в рамках курсовой работы системы рекомендуется использо-
вать UML-диаграммы.
Применяемая в них нотация представляет собой граф, вершинами которо-
го являются состояния действия или деятельности, а дугами – переходы от од-
ного состояния действия к другому. Каждое состояние на диаграмме соответ-
ствует выполнению некоторой операции, а переход в следующее состояние про-
исходит только после завершения выполнения текущей операции.
Нотация описания диаграмм действия включает:
1. Прямоугольник с закруглениями краями – состояние действия.
2. Тёмный прямоугольник с закругленными краями – сложное состояние,
которое будет описано на отдельной диаграмме.
3. Ромб – ветвление. В этот ромб может входить только одна стрелка
от того состояния действия, после выполнения которого поток управления
должен быть продолжен по одной из взаимно исключающих ветвей. Принято
входящую стрелку присоединять к верхней или левой вершине символа “ромб”.
Выходящих стрелок может быть две или более, но для каждой из них явно ука-
зывается соответствующее “сторожевое” условие в форме булевского выра-
жения в квадратных скобках.
4. Широкие полосы – специальный символ для разделения и слияния парал-
лельных вычислений или потоков управления. На диаграммах деятельности та-
кая полоса изображается отрезком горизонтальной, реже – вертикальной, ли-
нии. При этом разделение имеет один входящий переход и несколько выходящих,
Слияние, наоборот, имеет несколько входящих переходов и один выходящий.
С помощью этой фигуры выделяют состояния действия, которые могут вы-
полняться параллельно.
5. Чёрный круг – начало процесса (начальное состояние).
6. Чёрный круг с обводкой – окончание процесса (конечное состояние).
Для построения диаграмм деятельности также может использоваться
online средство www.draw.io
.
Анализ предметной области “Библиотека” позволил выделить основ- ные операции, которые выполняют работники библиотеки.
1. Работа с читателями, которая включает в себя занесение информа- ции о читателях, ведение учета взятых и сданных ими книг и пр.
2. Работа с фондом библиотеки: занесение информации о книгах, ее корректировка и актуализация.
3. Сбор и обработка статистической информации, составление отчетов о деятельности библиотеки.
Все эти виды работ могут выполняться параллельно различными людьми. На рис. 4 приведена диаграмма деятельности, описывающая дан- ный процесс.
15
Рис. 4. Диаграмма деятельности для системы “Библиотека”
На рис. 5 приведена диаграмма деятельности для сложного состояния
“Работа с читателем”. Когда читатель приходит в библиотеку в первый раз, в базу данных заносится его личная информация. Если же человек уже был в библиотеке – осуществляется поиск информации о нем в базе данных.
Личную информацию о человеке можно скорректировать. Далее определя- ется цель посещения библиотеки: пользователь пришел взять какие-то книги или сдать те, которые брал раньше. В первом случае осуществляется подбор нужных книг по критериям, заданных пользователем. Одну или не- сколько выбранных книг читатель может взять из библиотеки, при этом в его карточку заносится взятая книга и дата ее выдачи. Во втором случае, когда человек принес книги, отмечается дата сдачи этой книги. Пока книга находится на руках – она не доступна для других читателей.
На рис. 6-7 приведены диаграммы деятельности для сложного состоя- ния “Работа с книгами”. Эти диаграммы описывают последовательность действий, которые осуществляют работники библиотеки при поступлении новых книг и актуализации информации по уже имеющейся в фонде биб- лиотеке. Книги в библиотеке можно найти по их названию, затем просмот- реть информацию о них, а также при необходимости ее скорректировать, в том числе и занести новые экземпляры книг.
При поступлении новой книги (рис. 7) в базу данных заносится ин- формация о ней, при необходимости добавляются значения новых харак- теристик книг (фамилии авторов, издательства, жанры). Также осуществ- ляется присвоение библиотечных шифров каждому экземпляру книги.
16
Рис. 5. Диаграмма деятельности “Работа с читателем в библиотеке”
Рис. 6. Диаграмма деятельности “Работа с книгами”
17
Рис. 7. Диаграмма деятельности “Ввод информации о новой книге”
На рис. 8 приведена диаграмма, описывающая процесс сбора стати- стики и формирования отчетов по работе библиотеки.
Рис. 8. Диаграмма деятельности “Сбор статистики и формирование отчетов”
18
2.3.2. Обработка данных средствами запросов
В конечном итоге, все алгоритмы, описанные диаграммами деятельности
в предыдущем разделе, должны быть реализованы тем или иным средством
СУБД. Это могут быть запросы, формы, отчеты, макросы или программы.
В данном разделе описывается реализация некоторых фрагментов диаграмм
деятельности средствами SQL запросов.
Для описания алгоритма, реализуемого одним запросом, достаточно его
словесного описания. Также можно использовать функциональную схему, на
которой указываются входные и выходные данные, описывается назначение за-
проса. К входным данным запроса относятся имена таблиц, используемые в за-
просе, а также параметры, задаваемые пользователем. К выходным данным
относится таблица с результатами запроса, а также, если используются за-
просы на корректировку данных, таблица, сформированная или обновленная за-
просом. После схемы желательно привести описание запроса на языке SQL.
Более сложные задачи требуют последовательного выполнения нескольких
запросов. Тогда рекомендуется описать последовательность выполнения запро-
сов по этапам, описав каждый этап как один запрос.
Поскольку при реализации курсовой работы, средствами SQL может быть
реализовано достаточно много алгоритмов, необходимо подробно описать один
из них, а описание остальных привести в конце раздела.
На диаграмме деятельности, приведенной на рис. 5, показан процесс выдачи книги читателю, который может быть реализован средствами за- просов корректировки данных SQL.
1 этап. Создание таблицы find, куда заносится информация по всем, имеющимся в наличии экземплярам книг, если у книги несколько авто- ров – выводится первый из них. На рис. 9 показана схема этого запроса.
Рис. 9. Схема запроса q_create_table
Запрос q_create_table на языке SQL:
SELECT name_genre, name_book, First(name_author) AS
[First-name_author], name_publish, yearP, code, Choose, copy.id_copy INTO find
19
FROM genre INNER JOIN (((publish INNER JOIN book ON publish.[id_publish] = book.id_publish) INNER JOIN copy ON book.id_book = copy.id_book) INNER JOIN (author INNER JOIN book_author ON author.id_author = book_author.id_author)
ON book.id_book = book_author.id_book) ON genre.id_genre = book.id_genre
GROUP BY name_genre, name_book, name_publish, yearP, code, Choose, id_copy, is_present
HAVING copy.is_present=True;
2 этап. После того, как пользователь отметил в таблице find выбран- ные им экземпляры (choose=true), необходимо занести информацию об этих экземплярах и дату их выдачи в таблицу user_copy для определенного пользователя. На рисунке 10 приведена схема запроса.
Рис. 10. Схема запроса q_insert_copies
Запрос q_insert_copies на языке SQL:
INSERT INTO user_copy ( id_user, id_copy, date_beg )
SELECT [
Номер читателя], find.id_copy, Date()
FROM find
WHERE сhoose=True;
3 этап. Поскольку экземпляр книги уже выдан читателю, необходимо установить соответствующий признак в таблице copy. На рисунке 11 при- ведена соответствующая схема.
Рис. 11. Схема запроса q_update_copies
Запрос q_update_copies на языке SQL:
UPDATE copy INNER JOIN find ON copy.id_copy = find.id_copy
SET copy.is_present = No
20
WHERE find.Choose=True;
Кроме описанного выше алгоритма выдачи книги, средствами запро- сов на языке SQL реализованы следующие алгоритмы:
– реализация сдачи экземпляра книги читателем в соответствии с диа- граммой деятельности, приведенной на рис. 5 (запрос q_edit_copy_true);
– формирование статистической и отчетной информации в соответст- вии с диаграммой, приведенной на рис. 8 (запросы q_debtor,
q_popular_book, q_popular_author, q_activity, q_book_lost).
2.4. Проектирование и реализация
приложения пользователя
2.4.1. Структура приложения пользователя
В данном разделе описывается структура приложения пользователя, со-
стоящая из совокупности форм и переходов между ними. Приложение должно
быть спроектировано таким образом, чтобы реализовать все описанные
в предыдущей главе алгоритмы, а также, по возможности, моделировать при-
вычную для пользователя среду работы.
Структура приложения описывается на “верхнем” уровне, то есть без
детализации по каждой форме. Например, подчиненные формы на схеме со
структурой не указываются.
В соответствии с видами деятельности библиотеки, работа пользова- теля с приложением будет осуществляться через три основные формы: Чи- татели, Книги и Статистика (рис. 12). Также на данной схеме показаны ос- тальные формы приложения и их взаимные переходы.
Рис. 12. Структура приложения
21
2.4.2. Проектирование форм
В разделе описывается проектирование одной формы, остальные просто
перечисляются, с указанием их назначения.
Этапы проектирования формы:
1) определить подсхему данных, на основе которой строится форма;
2) определить несколько вариантов построения формы, для каждого из
вариантов указать:
– тип формы (простая, составная или вложенная),
– источник записей – таблицы или запрос, данные из которых должны
отображаться в форме,
– таблицу, на которой строится форма,
– связанные поля для вложенных форм,
– особенности данного варианта построения формы;
3) выбрать вариант реализации формы;
4) определить все поля базы данных, которые должны быть отображены
в форме;
5) определить управляющие и вычисляемые поля, указать имя каждого по-
ля, а также, при необходимости, формулу вычисления;
6) разработать макет формы.
Одной из форм разрабатываемого приложения является форма “Кни- ги”, предназначенная для работы с книжным фондом библиотеки. С помо- щью этой формы можно добавить и скорректировать информацию о книге, а также создать и скорректировать ее экземпляры.
Проектирование формы “Книги”
1. Реализация формы осуществляется на основе следующего фрагмен- та предметной области (рис. 13).
Рис. 13. Подсхема данных формы “Книги”
22 2. На основе данного фрагмента предметной области можно постро- ить следующие варианты форм:
2.1. Форма с одной вложенной, следующей структуры:
Главная форма
Тип формы: составная
Источник записи: book, book_author
Таблица, на которой строится форма: book_author
Вложенная форма
Тип формы: простая
Источник записи: сору
Таблица, на которой строится форма: copy
Связанные поля
Главная форма: book.id_book
Подчиненная форма: copy.id_book
Особенности формы:
– с помощью этой формы нельзя занести новую книгу;
– форма поддерживает занесение новых экземпляров книги;
– поддерживается иерархический просмотр экземпляров;
– в главной форме дублируются названия книг, если книга имеет не- скольких авторов;
– с помощью этой формы нельзя ввести нового автора, жанр и изда- тельства.
2.2. Форма с двумя вложенными формами:
Главная форма
Тип формы: простая
Источник записи: book
Таблица, на которой строится форма: book
Вложенная форма 1
Тип формы: простая
Источник записи: сору
Таблица, на которой строится форма: copy
Связанные поля
Главная форма: book.id_book
Подчиненная форма: copy.id_book
Вложенная форма 2
Тип формы: простая
Источник записи: book_author
Таблица, на которой строится форма: book_author
Связанные поля
Главная форма: book.id_book
Подчиненная форма: book_author.id_book
Особенности формы:
– поддерживает ввод новых книг;