Файл: Методические указания по выполнению курсовой работы для студентов 2 курса направления 38. 03. 05 "Бизнесинформатика" очной формы обучения.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 03.12.2023

Просмотров: 43

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

23
– позволяет вводить новые экземпляры;
– осуществляется иерархический просмотр экземпляров и авторов;
- с помощью этой формы нельзя ввести нового автора, жанр и изда- тельство.
3. Поскольку данная форма предназначена для корректировки и зане- сения книг и их экземпляров, реализация формы будет осуществляться на основе второго варианта построения. При этом данная форма будет под- держивать ввод новых авторов, издательств и жанров. Эти действия необ- ходимо реализовать отдельно.
4. В разрабатываемую форму должны быть включены следующие элементы:
Главная форма
– поле book.name_book (подпись: Название);
– поле со списком book.id_genre (подпись: Жанр);
– поле book.yearP (подпись: Год издания);
Подчиненная форма 1 (подпись: Авторы)
– поле со списком book_author.id_author (Подпись: Фамилия И.О.);
Подчиненная форма 2 (подпись: Экземпляры)
– поле copy.code (подпись: Шифр);
– поле copy.is_present (подпись: Наличие).
5. В заголовок формы необходимо включить поле со списком для реа- лизации поиска уже существующей книги NBook, со следующими свойст- вами этого поля:
Подпись: Поиск книги
Источник: book
Присоединенный столбец: 2
Число столбцов: 2
Ширина столбцов: 0 см; 3 см
6. Макет формы приведен на рис. 14.
Для реализации приложения “Библиотека” разработаны следующие формы:
f_book – с помощью этой формы осуществляется просмотр, корректи- ровка и занесение новых книг и экземпляров (ее проектирование описано выше);
f_reader – используется для просмотра и корректировки личных дан- ных пользователя и информации о взятых и сданных книгах;
f_stat – используется для формирования и просмотра различных ста- тистических показателей работы библиотеки;
f_search – с помощью этой формы осуществляется поиск книг и выбор необходимых пользователю экземпляров;
f_new_reader, f_new_genre, f_new_publish, f_new_author – используют- ся для занесения новых пользователей, жанров, издательств и авторов.

24
Рис. 14. Макет формы
2.4.3. Проектирование отчетов
В данном разделе описывается проектирование одного отчета, остальные
просто перечисляются с указанием, для чего они используются.
Этапы проектирования отчета:
1) определить подсхему данных, на основе которой строится отчет;
2) определить несколько вариантов построения отчета, для каждого из
вариантов указать:
тип отчета (простой, составной или вложенный),
источник записей – таблицы или запрос, данные из которых должны
отображаться в отчете,
таблицу, на которой строится отчет,
уровни группировки отчета, при необходимости,
связанные поля для вложенных отчетов,
особенности данного варианта построения отчета;
3) выбрать вариант реализации отчета;
4) определить все поля базы данных, которые должны быть отображены
в отчете;
5) определить управляющие и вычисляемые поля, при необходимости ука-
зать имя каждого поля и формулу вычисления, указать в каком разделе они
размещаются;
6) разработать макет отчета.
Для формирования списка читателей, которые имеют на руках книги, используется отчёт “Должники”, в котором выводятся личные данные чи- татели, а также несданные ими книги.


25
Проектирование отчета “Должники”
1. Реализация формы осуществляется на основе следующего фрагмен- та предметной области (рис. 15).
Рис. 15. Подсхема данных отчета “Должники”
2. На основе данного фрагмента предметной области можно постро- ить следующие варианты отчетов:
2.1. Составной отчет, следующей структуры:
Тип отчета: составной
Источник записи: запрос
SELECT name_user, user_tel, name_book, code, date_beg
FROM (book INNER JOIN copy ON book.id_book = copy.id_book) INNER JOIN (user INNER JOIN user_copy ON user.id_user = user_copy.id_user) ON copy.id_copy = user_copy.id_copy
WHERE date_end Is Null;
Таблица, на которой строится отчет: user_copy
Уровни группировки: 1 уровень: по полю name_user
Вложенный отчет:
Главный отчет
Тип отчета: простой
Источник записи: user
Таблица, на которой строится отчет: user
Вложенный отчет
Тип отчета: составной
Источник записи: запрос

26
SELECT name_book, code, date_beg
FROM (book INNER JOIN copy ON book.id_book = copy.id_book) INNER JOIN user_copy ON copy.id_copy = user_copy.id_copy
WHERE user_copy.date_end Is Null;
Таблица, на которой строится отчет: user_copy
Связанные поля
Главная форма: user.id_user
Подчиненная форма: user_copy.id_user
Особенности отчета:
– в данном отчете будут отображаться все читатели, даже если у них нет несданных книг.
3. Поскольку в отчет необходимо вывести только должников, для реа- лизации выбираем первый вариант.
4. В разрабатываемый отчет должны быть включены следующие эле- менты:
Заголовок группы:
– поле user.name_user (подпись: Фамилия И.О.);
– поле user.user_tel (подпись Телефон)
Область данных:
– поле book.name_book (подпись: Название книги);
– поле copy.code (подпись: Шифр);
– поле data_beg (подпись: Дата выдачи).
5. В данном отчете используются следующие вычисляемые поля:
Заголовок отчета
–поле для текущей даты.
Данные: = Now()
Подпись: Список должников
Область данных
–поле для нумерации взятых экземпляров книг.
Данные: = +1
Подпись: № пп
Сумма с накоплением: для группы
Примечание группы (по name_grup)
–поле для вычисления общего количества книг, которые на руках у читателя.
Данные: = count([code])
Подпись: Всего книг на руках
6. Макет отчета приведен на рис. 16

27
Рис. 16. Макет отчета
Приложение “Библиотека” позволяет создавать и печатать следующие отчеты:
r_debtors – для печати списка должников библиотеки (проектирование этого отчета описано выше);
r_top_book – для печати списка книг по их популярности среди чита- телей в заданный период времени;
r_top_author – для печати списка авторов по их популярности среди читателей в заданный период времени;
r_user_activity – отчет о ежедневной работе библиотеки в заданный период времени.
1   2   3   4

2.4.4. Разработка средств управления и навигации
В данном разделе описываются способы организации работы пользователя
с приложением, а также реализация основных операций, выполняемых систе-
мой.
Подробно описывается наиболее активно используемая последователь-
ность действий (в соответствии с диаграммами деятельности) и способы на-
вигации по формам.
В соответствии с диаграммой деятельности, приведённой на рис. 4, работа с читателями, работа с книгами и сбор и обработка информации мо- гут выполняться независимо друг от друга. Каждый вид деятельности бу- дет реализован в отдельной форме, а для переключения между ними ис- пользуется механизм “вкладок” (рис. 17).

28
Рис. 17. Главная форма приложения main
На рис. 17 показана форма f_reader для работы с читателями в соот- ветствии с диаграммой деятельности, приведенной на рис. 5. В этой форме пользователь может выполнить следующие действия.
1. Поиск читателя. Поиск осуществляется по шаблону, выбранному пользователем из поля со списком Читатель. Для его реализации:
– в заголовок формы Читатели включено поле со списком со следую- щими свойствами:
Имя: NUser
Подпись: Читатель
Источник: user
Присоединенный столбец: 2
Число столбцов: 2
Ширина столбцов: 0 см; 3 см
– в области данных размещено поле user.id_user, скрытое под подчи- ненной формой;
– с событием После Обновления поля со списком NUser связан макрос
find_user:
КЭлементуУправления ([id_user])
НайтиЗапись ( =[NUser] )
КЭлементуУправления ([NUser])
2. Занесение нового читателя. Выполняется через дополнительную форму f_new_reader (“Новый читатель”), вызов которой осуществляется по щелчку по кнопке Новый (рис. 18).

29
Рис. 18. Форма для занесения нового читателя
Реализация операции “Занесение нового читателя” включает:
– вызов макроса для открытия формы “Новый читатель” в режиме до- бавления по событию Нажатие Кнопки для кнопки главной формы Но-
вый:
Открыть форму (f_new_reader, , , ,Добавление)
– вызов процедуры по событию Нажатие Кнопки для кнопки Сохра-
нить формы f_new_user , которая закрывает текущую форму, обновляет главную и настраивает поле поиска NUser в главной форме:
Private Sub ButtonSave_Click()
'запоминаем id нового читателя
n = Me.id_user
'закрываем форму Новый
DoCmd.Close acForm, "f_new_reader1"
'обновляем форму "Читатели"
Forms![main]![f_reader1]![NUser].Requery
'устанавливаем id нового пользователя в поле поиска
Forms![main]![f_reader1]![NUser] = n
'обновляем форму Читатели
Forms![main]![f_reader1].Requery
'устанавливаем на форму фокус
Forms![main]![f_reader1]![NUser].SetFocus
'запускаем макрос поиска
DoCmd.RunMacro "find_user"
End Sub
– вызов процедуры по событию Нажатие Кнопки для кнопки Отме-
нить формы f_new_user для закрытия текущей формы без сохранения дан- ных:
Private Sub ButtonCancel_Click()
DoCmd.Close acForm, "f_new_reader", acSaveNo
End Sub
3. Поиск. Выполняется через дополнительную форму f_search (“По- иск”), вызов которой осуществляется по щелчку по кнопке Поиск книг
(рис. 19). В этой форме осуществляется поиск книг по различным критери- ям и выбор нужных пользователю экземпляров книг.


30
Рис. 19. Форма поиска и выбора книг
Реализация поиска и выбора книг включает:
– вызов процедуры по событию Нажатие Кнопки для кнопки Поиск
книг формы f_reader, котораяоткрывает запрос на создание таблицы find и запускает форму поиска f_search:
Private Sub ButtonSearch_Click()
'предварительное удаление таблицы
DoCmd.DeleteObject acTable, "find"
'создание таблицы
DoCmd.OpenQuery "Create_table"
'открытие формы
DoCmd.OpenForm "f_search"
End Sub
– поиск книг через расширенный фильтр, который реализуется сле- дующим образом: а) создание запроса q_filtr_book:
SELECT * FROM find
WHERE (find.name_genre) Like [
Формы]![f_search]![f1] &
"*") AND (find.name_book Like [
Формы]![f_search]![f2] &
"*") AND (find.[name_author] Like [
Формы]![f_search]![f3]
& "*") AND (find.name_publish Like [
Формы]![f_search]![f4]
& "*") AND (find.yearP Like [
Формы]![f_search]![f5] &
"*"); б) вызов макроса m_filtr по событию После обновления полей f1, f2, f3,
f4, f5, используемых для задания образца поиска для Жанра, Названия, Ав-
тора, Издательства и Года издания:
Применить фильтр (q_filtr_book)

31 в) вызов процедуры по событию Нажатие Кнопки для кнопки Очи-
стить формы f_search, которая очищает поля поиска:
Private Sub buttonClear_Click()
[f1] = ""
[f2] = ""
[f3] = ""
[f4] = ""
[f5] = ""
DoCmd.ApplyFilter ("filtr_book")
End Sub
– вызов процедуры по событию Нажатие Кнопки для кнопки Вы-
брать книги формы f_search, которая реализует выбор отмеченных читате- лем книг (осуществляется в соответствии с алгоритмом, описанным ра- нее – заносится соответствующая запись в таблицу user_copy, и данный эк- земпляр помечается как отсутствующий в таблице copy):
Private Sub buttonChoose_Click()
'обновление текущей формы
Me.Requery
'запуск соответствующих запросов
DoCmd.OpenQuery "q_add_r_b"
DoCmd.OpenQuery "q_edit_copy"
'обновление подчиненной формы с экземплярами
Forms![main]![f_reader]![fp_user_copy].Requery
'закрытие формы поиска
DoCmd.Close acForm, "f_search"
End Sub
Сдача книг читателем. Выполняется по щелчку по кнопке Сдать
(рис.
16
), в результате чего в поле Дата сдачи таблица user_copy заносится текущая дата, а также обновляется статус данного экземпляра книги в таб- лице copy. Соответствующая процедура представлена ниже:
Private Sub buttonPas_Click()
Me.date_end = Date
DoCmd.OpenQuery "q_edit_copy_true"
End Sub
Остальные виды деятельности: работа с книгами и статистика, – реа- лизованы в виде отдельных форм, размещенных на главной форме, в соот- ветствии с диаграммами деятельности, приведенными на рис. 6-8. В них используются аналогичные приемы навигации и способы управления.
2.5. Краткое руководство пользователя
В разделе описывается работа пользователя с приложением для тех видов
деятельности, которые не рассмотрены в предыдущем разделе.


32
На рис. 20 показана главная форма приложения “Библиотека”.
Рис. 20. Главная форма приложения “Библиотека”
Через вкладку “Читатели” пользователь может найти уже сущест- вующего читателя, скорректировать его личную информацию, занести но- вого читателя, найти нужную книгу, оформить ее и сдать экземпляры книг, которые были у него на руках (подробно описано в предыдущем разделе).
На рис. 21 приведена форма для работы с фондом книг в библиотеке.
Через данную форму пользователь может найти уже существующую книгу
(поле со списком Поиск Книги), скорректировать информацию о ней, вне- сти новые экземпляры книги.
Новую книгу можно занести в эту форму, щелкнув по кнопке Новая
книга (рис. 22). В результате в форме появятся кнопки для вызова форм, через которые можно задать новый жанр, издательство и автора, а также пустые поля для занесения характеристик новой книги. Сохранение книги осуществляется щелчком по кнопке Сохранить.
По щелчку по кнопкам Новая книга, Новый жанр, Новое издательст-
во будут вызваны формы, приведенные на рис. 23. Работа с ними осущест- вляется как с формой Новый читатель, описанной в предыдущем разделе.
Для просмотра и анализа деятельности библиотеки используется фор- ма f_stat, расположенная на вкладке “Статистика” (рис. 24)

33
Рис. 21. Форма для работы с фондом библиотеки
Рис. 22. Форма для занесения новой книги

34
Рис. 23. Формы для занесения нового жанра, издательства, автора
Рис. 24. Форма для анализа деятельности библиотеки
Все запросы, которые можно выполнить, заданы в виде поле со спи- ском Запрос. В поля Период вводится интервал времени, для которого вы- полняются запросы. При необходимости, выбранные данные можно напе- чатать в виде соответствующих отчетов, щелкнув по кнопке Напечатать.
2.6. Заключение
В заключении описываются основные результаты курсовой работы. Ука-
зываются количественные характеристики разработанного приложения. Дан-
ный раздел в отчете не нумеруется.
В рамках курсовой работы выполнено проектирование базы данных для предметной области “Библиотека”, разработано соответствующее при- ложение. Реализация выполнена в СУБД ACCESS и включает:
– 9 таблиц;
– 12 запросов, из них 4 запроса корректировки данных;
– 13 форм, включая подчиненные;