\documentclass[a4paper, final]{article}
%\usepackage{literat} % Нормальные шрифты
\usepackage[14pt]{extsizes} % для того чтобы задать нестандартный 14-ый размер шрифта
\usepackage{tabularx}
\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian]{babel}
\usepackage{amsmath}
\usepackage[left=25mm, top=20mm, right=20mm, bottom=20mm, footskip=10mm]{geometry}
\usepackage{ragged2e} %для растягивания по ширине
\usepackage{setspace} %для межстрочного интервала
\usepackage{moreverb} %для работы с листингами
\usepackage{indentfirst} % для абзацного отступа
\usepackage{moreverb} %для печати в листинге исходного кода программ
\usepackage{pdfpages} %для вставки других pdf файлов
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{afterpage}
\usepackage{longtable}
\usepackage{float}



% \usepackage[paper=A4,DIV=12]{typearea}
\usepackage{pdflscape}
% \usepackage{lscape}

\usepackage{array}
\usepackage{multirow}

\renewcommand\verbatimtabsize{4\relax}
\renewcommand\listingoffset{0.2em} %отступ от номеров строк в листинге
\renewcommand{\arraystretch}{1.4} % изменяю высоту строки в таблице
\usepackage[font=small, singlelinecheck=false, justification=centering, format=plain, labelsep=period]{caption} %для настройки заголовка таблицы
\usepackage{listings} %листинги
\usepackage{xcolor} % цвета
\usepackage{hyperref}% для гиперссылок
\usepackage{enumitem} %для перечислений

% Настраиваем листинги, чтобы они использовали счётчик figure
\AtBeginDocument{
  \renewcommand{\thelstlisting}{\thefigure}  % Листинги используют тот же счетчик, что и рисунки
  \renewcommand{\lstlistingname}{Рис.}    % Меняем подпись на "Рисунок"
}

% Автоматически увеличиваем счетчик figure перед каждым листингом
\let\oldlstlisting\lstlisting
\renewcommand{\lstlisting}[1][]{%
    \refstepcounter{figure}% Увеличиваем счетчик figure
    \oldlstlisting[#1]% Вызываем оригинальную команду lstlisting
}

\newcommand{\specialcell}[2][l]{\begin{tabular}[#1]{@{}l@{}}#2\end{tabular}}


\setlist[enumerate,itemize]{leftmargin=1.2cm} %отступ в перечислениях

\hypersetup{colorlinks,
    allcolors=[RGB]{010 090 200}} %красивые гиперссылки (не красные)

% подгружаемые языки — подробнее в документации listings (это всё для листингов)
\lstloadlanguages{ SQL}
% включаем кириллицу и добавляем кое−какие опции
\lstset{tabsize=2,
    breaklines,
    basicstyle=\footnotesize,
    columns=fullflexible,
    flexiblecolumns,
    numbers=left,
    numberstyle={\footnotesize},
    keywordstyle=\color{blue},
    inputencoding=cp1251,
    extendedchars=true
}
\lstdefinelanguage{MyC}{
    language=SQL,
%    ndkeywordstyle=\color{darkgray}\bfseries,
%    identifierstyle=\color{black},
%    morecomment=[n]{/**}{*/},
%    commentstyle=\color{blue}\ttfamily,
%    stringstyle=\color{red}\ttfamily,
%    morestring=[b]",
%    showstringspaces=false,
%    morecomment=[l][\color{gray}]{//},
    keepspaces=true,
    escapechar=\%,
    texcl=true
}

\textheight=24cm % высота текста
\textwidth=16cm % ширина текста
\oddsidemargin=0pt % отступ от левого края
\topmargin=-1.5cm % отступ от верхнего края
\parindent=24pt % абзацный отступ
\parskip=5pt % интервал между абзацами
\tolerance=2000 % терпимость к "жидким" строкам
\flushbottom % выравнивание высоты страниц


% Настройка листингов
\lstset{
    language=SQL,
    extendedchars=\true,
    inputencoding=utf8,
    keepspaces=true,
    captionpos=b,
}

\begin{document} % начало документа
    


    % НАЧАЛО ТИТУЛЬНОГО ЛИСТА
    \begin{center}
        \hfill \break
        \hfill \break
        \normalsize{МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ\\
            федеральное государственное автономное образовательное учреждение высшего образования «Санкт-Петербургский политехнический университет Петра Великого»\\[10pt]}
        \normalsize{Институт компьютерных наук и кибербезопасности}\\[10pt] 
        \normalsize{Высшая школа технологий искусственного интеллекта}\\[10pt] 
        \normalsize{Направление: 02.03.01 <<Математика и компьютерные науки>>}\\
        
        \hfill \break
        \hfill \break
        \hfill \break
        \hfill \break
        \large{Отчет по лабораторным работам}\\
        \large{<<Проектирование приложений>>}\\
        \hfill \break
        
        % \hfill \break
        \hfill \break
    \end{center}
    
    \small{ 
        \begin{tabular}{lrrl}
            \!\!\!Студент, & \hspace{2cm} & & \\
            \!\!\!группы 5130201/20102 & \hspace{2cm} & \underline{\hspace{3cm}} &Тищенко А. А. \\\\
            \!\!\!Преподаватель & \hspace{2cm} &  \underline{\hspace{3cm}} &  Попов С. Г. \\\\
            &&\hspace{4cm}
        \end{tabular}
        \begin{flushright}
            <<\underline{\hspace{1cm}}>>\underline{\hspace{2.5cm}} 2025г.
        \end{flushright}
    }
    
    \hfill \break
    % \hfill \break
    \begin{center} \small{Санкт-Петербург, 2025} \end{center}
    \thispagestyle{empty} % выключаем отображение номера для этой страницы
    
    % КОНЕЦ ТИТУЛЬНОГО ЛИСТА
    \newpage
    
    \tableofcontents


    \newpage
    
    % \section*{Введение}
    
    % \addcontentsline{toc}{section}{Введение}


    \newpage
    
    % \section {Постановка задачи}
    % В ходе прохождения данного курса необходимо выполнить пять лабораторных работ.

    % \begin{enumerate}
    %     \item Создать представление, инкапсулирующее запрос. Написать запрос, использующий в себе представление.
    %     \item Написать триггеры, автоматизирующие сбор статистической информации о количестве соревнований, в которых участвовал каждый судья.
    %     \item Создать двух пользователей. Первый должен иметь доступ только на просмотр представления из первого задания. Второй также должен уметь редактировать таблицы, участвующие в запросе представления.
    % \end{enumerate}

    \newpage
    \section {Лабораторная работа №1}
    \subsection{Часть 1: Описание процессов предметной области}
    \subsubsection*{Исходное описание предметной области}
    Стрельба из лука, олимпийский вид спорта с 1900 года. Правила и порядок проведения соревнований в России регламентируются Всемирной федерацией стрельбы из лука (FITA) и Российской федерацией по стрельбе из лука (РФСЛ). РФСЛ проводит несколько десятков соревнований по различным видам стрельбы из лука ежегодно. Спорт также приобретает популярность в любительской среде, например, только в Санкт-Петербурге функционируют около двух десятков спортивных стрелковых клубов и лучных клубов, где может тренировать любой желающий. Частные клубы также регулярно проводят спортивные соревнования.

    В стрельбе из лука используются различные виды луков: классический или Олимпийский лук, с натяжением от 15 до 20 кг и скоростью стрелы около 240 км/ч, и блочный лук, с натяжением от 25 до 30 кг, что позволяет достигать скорости стрелы до 360 км/ч. Также применяются составные, периферийные, длинные и ассиметричные луки.

    Также спортсмены соревнуются в различных видах стрельбы и на различных дистанциях, например, в помещении обычно стреляют с дистанций 18 м, 30 м и 50 м, на открытом воздухе на дистанциях до 90 м. Кроме традиционной стрельбы по мишеням, существуют специальные дисциплины, такие как 3Д стрельба из лука, арчери-кросс, арчери-биатлон и другие. 

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

    Когда организатор проводит соревнования, в первую очередь он должен определиться с местом и датами проведения. После этого он должен предоставить спортсменам возможность оставить заявку на соревнования, сейчас многие используют для этого Yandex или Google формы, в этой заявке спортсмены указывают персональные данные, а также спортивный разряд, тип лука, федерацию или клуб, от имени которого они участвуют в соревновании. Помимо спортсменов важно подобрать судей. Соответственно судьи также должны оставить заявку, в которой они указывают свои персональные данные, а также свою судейскую категорию, номер и дату приказа об её присвоении. Заявки от спортсменов и судей обычно начинают приниматься за две-три недели до начала соревнования.
    
    \vspace{10pt}
    Соревнования по стрельбе из лука можно разделить на следующие этапы:
    \vspace{-5pt}
    \begin{enumerate}
        \item Регистрация прибывших спортсменов.
        \item Регистрация прибывших судей.
        \item Распределение спортсменов по дивизионам, например: "Мужчины – блочный лук – 50м", "Женщины – классический лук – 18м"  и так далее.
        \item Жеребьёвка, во время которой спортсмены случайным образом распределяются по щитам и мишеням. Обычно щиты нумеруются цифрами, а мишени внутри щита буквами. Пример щитов с мишенями изображён на Рис.~\ref{fig:shield}.
        
        \begin{figure}[h]
            \centering
            \includegraphics[width=0.6\linewidth]{img/shield.jpg}
            \caption{Пример щита с мишенями}
            \label{fig:shield}
        \end{figure}

        \item Выдача каждому участнику карточки, в которой указывается, по какой мишени он будет стрелять. В эту же карточку судьи записывают результаты участника

        \item Определение списка судей и мишеней, у которых они будут записывать результаты. В квалификационном этапе могут участвовать судьи с любой судейской категорией.
        \item Проведение двух этапов квалификации, где каждый спортсмен выполняет по 30 или 60 выстрелов. Результаты квалификации определяют содержание протоколов, которые затем печатаются и вывешиваются для всеобщего обозрения.
        \item По результатам квалификации определяются лучшие спортсмены в каждом дивизионе, которые попадают в финал. Финалы проводятся по стандартной олимпийской системе.
        \item Определение списка судей, фиксирующих результаты финальных стрельб. Обычно в финалах участвуют судьи, начиная с определённой судейской категории.
        \item Подведение итогов соревнований и формирование итогового протокола, содержащего информацию о выступлениях спортсменов, имена победителей и так далее.
    \end{enumerate}

    % \subsubsection*{Выделение процессов}
    % Основным процессом в выбранной предметной области является процесс проведения соревнований по стрельбе из лука. Тогда в качестве вспомогательных можно выделить, например, следующие процессы:
    
    % \begin{itemize}
    %     \item процесс сбора заявок от спортсменов;
    %     \item процесс подбора судей;
    %     \item процесс подготовки помещения;
    %     \item процесс организации безопасности;
    %     \item процесс подготовки финального протокола соревнований.
    % \end{itemize}

    \subsubsection*{Описание ролей}
    Для уточнения описания предметной области и процессов, в ней происходящих, можно выделить большее количество ролей, чем присутствует в исходном описании. После составления описания процессов и их анализа были выделены следующие роли:
    \begin{itemize}
        \item \textbf{Директор} -- принимает ключевые решения, связанные с организацией соревнований.
        \item \textbf{Главный судья} -- руководит судьями, контролирует соблюдение правил, проводит жеребьёвку.
        \item \textbf{Администратор} -- решает организационные моменты.
        \item \textbf{Секретарь} -- ведёт таблицы, оформляет протоколы и документы. 
        \item \textbf{PR-менеджер} -- отвечает за рекламную кампанию, размещает информацию о соревнованиях и их результатах.
        \item \textbf{Технический персонал} -- подготавливает площадку, устанавливает и демонтирует оборудование.
        \item \textbf{Участник} -- спортсмен, участвующий в соревновании.
        \item \textbf{Судья} -- фиксирует результаты участников, контролирует соблюдение правил.
        \item \textbf{Зритель} -- наблюдает за соревнованиями.
    \end{itemize}


    \subsubsection*{Основной процесс проведения соревнований}

    Судьи прибывают на соревнования. Главный судья отмечает прибывших судей. Если кого-то из судей не хватает, то главный судья принимает решение о том, кем заменить недостающего судью. Судьи занимают свои места на площадке проведения соревнований.
    
    Участники прибывают на соревнования. и проходят к стойке регистрации, где их ждёт администратор и секретарь. Администратор принимает от участника взнос за участие в соревнованиях. Секретарь отмечает участника в списке зарегистрированных участников. По окончанию регистрации секретарь передаёт список зарегистрированных участников главному судье.

    Главный судья проводит жеребьёвку среди зарегистрированных участников, то есть случайным образом распределяет участников по щитам и мишеням. Главный судья может принять решение об объединении нескольких дивизионов, если в них мало участников. Итоговые списки дивизионов и результаты жеребьёвки он передаёт секретарю. Секретарь формирует и печатает карточки участников, в которых указываются данные участника, дивизион, номера щитов и индексы мишеней. Секретарь передаёт карточки администратору. Администратор раздаёт участникам карточки участников. 

    Директор произносит вступительную речь перед участниками и судьями. Судьи расходятся по своим зонам ответственности. Проводится первый этап квалификации. Участники расходятся по позицями для стрельбы согласно их карточкам участников. Каждый участник выполняет по 30 или 60 выстрелов за несколько подходов. Первыми начинают участники, в карточках которых указаны индексы мишеней A и B, они совершают три выстрела по трём мишеням, расположенным друг под другом. Затем три выстрела совершают участники, в карточках которых указаны индексы C и D. После того как все участники совершили по три выстрела, судьи записывают результаты в карточки участников и ставят свои подписи в качестве подтверждения подлинности результата. По окончании этапа квалификации администратор собирает карточки участников. Администратор передаёт карточки участников секретарю. Секретарь вносит результаты в таблицу промежуточных результатов квалификационного этапа. Затем секретарь передаёт таблицу промежуточных результатов квалификационного этапа администратору. Администратор публикует таблицу промежуточных результатов квалификационного этапа, например, вывешивает распечатку на информационный стенд. После перерыва начинается второй этап квалификации, проводящийся аналогичным образом. На основании результатов из карточек участников, секретарь составляет таблицу результатов квалификационного этапа.

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

    На основании результатов из карточек участников секретарь составляет таблицу итоговых результатов и списки победителей и призёров. Секретарь формирует итоговый протокол. Как правило, итоговый протокол является объединением таблицы результатов квалификационного этапа, таблицы итоговых результатов и списка победителей и призёров. Секретарь, администратор, главный судья и директор подписывают итоговый протокол. Администратор публикует итоговый протокол.

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


    \subsubsection*{Процесс принятия решения о проведении соревнований}
    Директор спортивного клуба организует совещание с главным судьёй и администратором, на котором изъявляет своё намерение о проведении соревнований. Директор с администратором определяют даты и место  проведения соревнований, бюджет соревнований, минимальный денежный взнос для участия, критерии допуска участников, например, минимальный возраст и разряд. Директор с главным судьёй определяют дивизионы, которые будут участвовать в соревновании, и минимальную судейскую категорию для допуска судей к соревнованиям. Администратор состовляет указание на проведение соревнований от лица директора, в котором указывает выбранные параметры соревнований. В итоге директор подписывает это указание.

    \subsubsection*{Процесс сбора заявок на соревнование}
    Администратор организует сбор заявок на соревнование от участников и судей. Администратор определяет, какие данные должны содержаться в заявках участников. Вместе с главным судьёй он определяет, какие данные должны содержаться в заявках судей. Также администратор определяет конечные даты сбора заявок участников и судей. Эту информацию он передаёт секретарю. Затем секретарь создаёт шаблон заявки в Google или Яндекс формах. Участники и судьи узнают о будущем соревновании из рекламной кампании соревнования. Участники и судьи создают заявки на соревнования по шаблону. После окончания сбора заявок, секретарь должен предоставить администратору таблицы со списками участников и судей. Далее администратор и главный судья изучают полученные списки, отклоняют неподходящие заявки, и формируют финальные списки участников и судей. Администратор уведомляет допущенных участников и судей, используя контактные данные из заявок, с помощью обзвона, автоматической рассылки или другими методами.

    \subsubsection*{Процесс проведения рекламной кампании соревнований}
    PR-менеджер клуба организует рекламную кампанию будущих соревнований. Для этого PR-менеджер предварительно согласует её бюджет с директором. Затем PR-менеджер публикует посты с информацией и приглашением на соревнование в социальных сетях клуба и на официальном сайте клуба. PR-менеджер использует бюджет рекламной кампании для платного продвижения постов в социальных сетях, продвижения сайта в поисковиках, для развешивания объявлений или для размещения рекламных баннеров на улицах. В дни проведения соревнований PR-менеджер публикует информацию о результатах соревнований, а также фото и видео с соревнований, чтобы привлечь к ним больше внимания. По итогам проведения рекламной кампании PR-менеджер отчитывается перед директором о том, что было сделано для продвижения соревновании и на что был израсходован бюджет рекламной кампании.

    \subsubsection*{Процесс подготовки площадки для проведения соревнований}
    Администратор организует подготовку площадки для проведения соревнований. Администратор привлекает к этому процессу часть технического персонала клуба. Также он может нанять дополнительный технический персонал, например, грузчиков, уборщиц, электриков. Администратор определяет перечь оборудования, необходимого для проведения соревнований. Администратор с главным судьёй создают план помещения с указанием расположения зон для стрельбы, ожидающих участников, судей и зрителей. Администратор даёт конкретные указания техническому персоналу в соответствии с планом помещения. Также он даёт техническому персоналу указания на доставку необходимого оборудования со склада. Если какого-либо оборудования не хватает, то администратор принимает решения о покупке или аренде недостающего оборудования. Технический персонал размечает зоны и расставляет оборудование. После завершения подготовки помещения, администратор приглашает главного судью для окончательной приёмки помещения.

    \subsubsection*{Процесс подготовки судей}
    Главный судья организует подготовку привлечённых судей. Главный определяет время сбора судей, как правило, в этот момент площадка проведения соревнований уже подготовлена. Администратор сообщает судьям время сбора, используя контактные данные из заявок. Секретарь подготавливает документы, которые необходимо подписать судьям для судейства соревнований. Эти документы он передаёт главному судье. Судьи прибывают в назначенное время сбора судей. Главный судья проводит предварительное собрание, на котором знакомится с судьями и рассказывает им о соревнованиях. Главный судья знакомит судей с площадкой проведения соревнований. Главный судья определяет зоны ответственности для каждого судьи. Главный судья проводит инструктаж по безопасности и раздаёт судьями документы. Судьи подписывают эти документы. Главный судья собирает подписанные документы и передаёт администратору.

    \subsubsection*{Процесс составления расписания соревнований}
    Главный судья определяет порядок проведения этапов соревнования и порядок следования дивизионов. В первую очередь он учитывает количество заявок участников, количество заявок судей и вместимость площадки. Главный судья даёт оценку времени проведения квалификационного и финального этапов соревнования для каждого дивизиона. Главный судья составляет предварительное расписание. Администратор уточняет предварительное расписание. Администратор учитывает время на регистрацию участников, состовление протоколов, сбор и раздачу карточек участников, церемонию награждения, вступительную и заключительную речи директора. Администратор и главный судья согласуют финальную версию расписания. Затем администратор согласует расписание с директором. Секретарь оформляет документ с расписанием соревнований. Директор подписывает документ с расписанием соревнований. Администратор публикует документ с расписанием соревнований. 
    
    \subsubsection*{Процесс сбора обратной связи}
    Администратор организует сбор обратной связи от зрителей, участников и судей. Администратор составляет список вопросов, который будут включены в форму обратной связи для зрителей и участников. Админстратор вместе с главным судьёй составляют список вопросов, которые будут включены в форму обратной связи для судей. Администратор передаёт списки вопросов секретарю. Секретарь создаёт форму обратной связи, например, в Яндекс или Google формах. Администратор публикует соответствующие формы среди участников, судей и зрителей. Участники, судьи и зрители заполняют соответствующие формы обратной связи. Секретарь собирает все ответы с обратной связью и формирует отчёт по обратной связи. Администратор и главный судья анализируют отчёт по обратной связи и делают выводы о том, что можно было бы улучшить в процессах проведения соревнований. 


    \newpage
    \subsection{Часть 2: Анализ текста с помощью ER-диаграмм}

    \subsubsection*{Исходный абзац}
    Когда организатор проводит соревнования, в первую очередь он должен определиться с местом и датами проведения. После этого он должен предоставить спортсменам возможность оставить заявку на соревнования, сейчас многие используют для этого Yandex или Google формы, в этой заявке спортсмены указывают персональные данные, а также спортивный разряд, тип лука, федерацию или клуб, от имени которого они участвуют в соревновании. Помимо спортсменов важно подобрать судей. Соответственно судьи также должны оставить заявку, в которой они указывают свои персональные данные, а также свою судейскую категорию, номер и дату приказа об её присвоении.

    \subsubsection*{Обновлённый абзац}
    Когда организатор проводит соревнования, в первую очередь он должен определиться с местом и датами проведения. После этого он должен предоставить спортсменам шаблон заявки на соревнование. Многие организаторы создают шаблоны заявок в Yandex или Google формах. Спортсмены создают заявки по шаблону. В этих заявках спортсмены указывают персональные данные, а также спортивный разряд, тип лука, спортивнюю федерацию и клуб, от имени которого они участвуют в соревновании. Организаторам важно подобрать судей для соревнования. Соответственно судьи тоже должны оставить заявки на судейство соревнования, в которой указываются: персональные данные, судейская категория, номер и дата приказа об её присвоении. Затем по этим заявкам организатор подбирает судей для соревнования.

    \subsubsection*{Чтение ER-диаграммы}
    Организатор проводит соревнования.
    Организатор определяет место и даты проведения соревнований.
    Организатор создаёт шаблоны заявок в Яндекс или Google формах.
    Организатор предоставляет спортсменам шаблон заявки на соревнование.
    Спортсмен создаёт заявку спортсмена по шаблон у заявки.
    Спортсмен указывает в заявке спортсмена свои персональные данные, спортивный разряд, спортивную федерацию, тип лука и клуб.
    Спортсмены участвуют в соревновании от имени клубов.
    Судьи оставляют заявки на судейство на соревнование.
    Организатор подбирает судей для соревнования по заявкам на судейство.
    В заявке судьи указываются: персональные данные, судейская категория, номер приказа о присвоении судейской категории, дата приказа о присвоении судейской категории.
    
    \subsubsection*{ER-диаграмма}
    Полученная ER-диаграмма представление на Рис.~1.
    
    \addtocounter{figure}{1}
    \includepdf[pages={1}, fitpaper, pagecommand={
    \thispagestyle{empty}
        \begin{tikzpicture}[remember picture, overlay]
            \node at (current page.south) [anchor=north, yshift=35pt] {\large{Рис 1. ER-диаграмма, построенная на основе одного абзаца из текста описания предметной области.}};
        \end{tikzpicture}
    }]{pdf/er_diagram.pdf}


    \newpage
    \section{Лабораторная работа №2}
    
    Название: организация соревнований по стрельбе из лука.

    Акторы: директор, администратор, главный судья, секретарь, PR-менеджер, участники, судьи, зрители.

    Триггер: желание директора провести соревнования.

    Входные данные: Правила соревнований по стрельбе из лука Федерации стрельбы из лука России (ФСЛР).

    Выходные данные: проведённые соревнования по стрельбе из лука, решение не проводоить соревнования по стрельбе из лука, отмена проведения соревнований по стрельбе из лука.

    Основные процессы:

    1.1 Принятие решения о проведении соревнований.

    1.2 Сбор заявок на соревнования.

    1.3 Проведение рекламной кампании соревнований.

    1.4 Подготовка площадки для проведения соревнований.

    1.5 Подготовка судей.

    1.6 Составление расписания соревнований.

    1.7 Проведение соревнований.

    1.8 Сбор обратной связи.

    Альтернативные процессы:

    % 1.9 Отмена организации соревнований из-за нехватки бюджета.
    
    1.9 Отмена соревнований из-за неблагоприятных погодных условий.
    
    1.10 Отмена соревнований по причине недостаточного количества заявок от участников.
    
    1.11 Отмена соревнований из-за технических проблем с оборудованием или площадкой.
    
    1.12 Отмена соревнований по причине отсутствия необходимого количества квалифицированных судей.
    
    На Рис.~\ref{fig:use-case-main} представлена Use-case диаграмма основного процесса.

    \begin{figure}[h!]
       \centering
       \includegraphics[width=1\linewidth]{img/use-case-main.png}
       \caption{Use-case диаграмма основного процесса.}
       \label{fig:use-case-main}
    \end{figure}

    \newpage
    \phantom{text}

    \newpage
    \subsection{Уровень 1}
    Название: Организация соревнований по стрельбе из лука.

    Акторы: директор, администратор, главный судья, секретарь, участники, судьи, зрители.

    Триггер: желание директора провести соревнования.

    Входные данные: Правила соревнований по стрельбе из лука Федерации стрельбы из лука России (ФСЛР).

    Выходные данные: проведённые соревнования по стрельбе из лука, отмена проведения соревнований по стрельбе из лука.

    Основные процессы:

    1.1.1 Организация совещания

    1.1.2 Определение даты и места проведения соревнований

    1.1.3 Определение списка дивизионов
    
    1.1.4 Оформление приказа о проведении соревнований
    
    1.2.1 Определение списка полей в заявках участников и судей
    
    1.2.2 Создание шаблона заявки в Google или Яндекс формах
    
    1.2.3 Создание заявок по шаблону
    
    1.2.4 Формирование итогового списка участников и судей
    
    1.3.1 Выбор площадки проведения соревнований
    
    1.3.2 Определение перечня необходимого оборудования
    
    1.3.3 Разметка зон
    
    1.3.4 Доставка оборудования со склада
    
    1.3.5 Размещение оборудования
    
    1.3.6 Приёмка помещения
    
    1.4.1 Организация собрания судей
    
    1.4.2 Проведение инструктажа по безопасности
    
    1.4.3 Знакомство с площадкой проведения соревнований
    
    1.4.4 Распределение зон ответственности между судьями
    
    1.4.5 Оформление документов
    
    1.5.1 Определение порядка следования дивизионов
    
    1.5.2 Оценка времени проведения этапов соревнования
    
    1.5.3 Составление предварительного варианта расписания
    
    1.5.4 Согласование расписания
    
    1.5.5 Оформление и публикация расписания соревнований
    
    1.6.1 Регистрация прибывших судей
    
    1.6.2 Регистрация прибывших участников
    
    1.6.3 Жеребьёвка участников
    
    1.6.4 Формирование карточек участников
    
    1.6.5 Проведение квалификации
    
    1.6.6 Проведение финалов
    
    1.6.7 Награждение участников
    
    1.6.8 Формирование итоговых протоколов
    
    1.7.1 Составление списка вопросов
    
    1.7.2 Публикация форм обратной связи
    
    1.7.3 Заполнение форм обратной связи
    
    1.7.4 Формирование отчёта по обратной связи
    
    1.7.5 Анализ отчёта по обратной связи 


    \addtocounter{figure}{1}
    \includepdf[pages={1}, fitpaper, pagecommand={
    \thispagestyle{empty}
        \begin{tikzpicture}[remember picture, overlay]
            \node at (current page.south) [anchor=north, yshift=55pt] {\large{Рис 4. Use-case диаграмма 1 уровня основного процесса.}};
        \end{tikzpicture}
    }]{pdf/use-case-1.pdf}


    \newpage
    \subsection{Уровень 2}
    \subsubsection*{Use-case 1.1}
    Название: Принятие решения о проведении соревнований.

    Акторы: директор, администратор, главный судья.

    Триггер: желание директора провести соревнования.

    Входные данные: Правила соревнований по стрельбе из лука Федерации стрельбы из лука России (ФСЛР).

    Выходные данные: приказ о проведении соревнований, содержащий список дивизионов, даты и место проведения соревнований, либо решение об отказе от проведения соревнований.

    Основные процессы:

    1.1.1 Организация совещания

    1.1.2 Определение даты и места проведения соревнований

    1.1.3 Определение списка дивизионов

    1.1.4 Оформление приказа о проведении соревнований
    
    \begin{figure}[h!]
       \centering
       \includegraphics[width=0.8\linewidth]{img/use-case-1.1.png}
       \caption{Use-case диаграмма 1.1 <<Принятие решения о проведении соревнований>>.}
       \label{fig:use-case-1.1}
    \end{figure}

    \newpage
    \subsubsection*{Use-case 1.2}
    Название: Сбор заявок на соревнования.

    Акторы: администратор, главный судья, секретарь, судьи, участники.

    Триггер: подписание приказа о проведении соревнований.

    Входные данные: список дивизионов, даты проведения соревнований.

    Выходные данные: итоговый список участников и судей.

    Основные процессы:

    1.2.1 Определение списка полей в заявках участников и судей

    1.2.2 Создание шаблона заявки в Google или Яндекс формах

    1.2.3 Создание заявок по шаблону

    1.2.4 Формирование итогового списка участников и судей

    \begin{figure}[h!]
       \centering
       \includegraphics[width=0.9\linewidth]{img/use-case-1.2.png}
       \caption{Use-case диаграмма 1.2 <<Сбор заявок на соревнования>>.}
       \label{fig:use-case-1.2}
    \end{figure}


    \newpage
    \subsubsection*{Use-case 1.3}

    Название: Подготовка площадки для проведения соревнований.

    Акторы: администратор, главный судья, технический персонал.

    Триггер: подписание приказа о проведении соревнований.

    Входные данные: место проведения соревнований, список дивизионов.

    Выходные данные: площадка, подготовленная для проведения соревнований, отмена соревнований из-за отсутствия необходимого оборудования.

    Основные процессы:

    1.3.1 Выбор площадки проведения соревнований

    1.3.1 Определение перечня необходимого оборудования

    1.3.2 Разметка зон

    1.3.5 Размещение оборудования

    1.3.6 Приёмка помещения

    Альтернативные процессы:
    
    1.3.3 Аренда дополнительного оборудования

    1.3.4 Доставка оборудования со склада

    \begin{figure}[h!]
       \centering
       \includegraphics[width=0.9\linewidth]{img/use-case-1.3.png}
       \caption{Use-case диаграмма 1.3 <<Подготовка площадки для проведения соревнований>>.}
       \label{fig:use-case-1.3}
    \end{figure}
    
    \newpage
    \subsubsection*{Use-case 1.4}
    Название: Подготовка судей.

    Акторы: администратор, главный судья.

    Триггер: окончание сбора заявок на соревнования.

    Входные данные: список судей.

    Выходные данные: список судей, подготовленных к проведению соревнований.

    Основные процессы:

    1.4.1 Организация собрания судей

    1.4.2 Проведение инструктажа по безопасности

    1.4.3 Знакомство с площадкой проведения соревнований

    1.4.4 Распределение зон ответственности между судьями

    1.4.5 Оформление документов

    Альтернативные процессы:

    1.4.6 Отказ судьи от участия в соревнованиях
    
    \begin{figure}[h!]
       \centering
       \includegraphics[width=1\linewidth]{img/use-case-1.4.png}
       \caption{Use-case диаграмма 1.4 <<Подготовка судей>>.}
       \label{fig:use-case-1.4}
    \end{figure}


    \newpage
    \subsubsection*{Use-case 1.5}
    Название: Составление расписания соревнований.

    Акторы: администратор, главный судья.

    Триггер: окончание сбора заявок на соревнования.

    Входные данные: список участников и судей, список дивизионов, даты проведения соревнований.

    Выходные данные: расписание соревнований, решение о выделении дополнительных дат для проведения соревнований.

    Основные процессы:

    1.5.1 Определение порядка следования дивизионов

    1.5.2 Оценка времени проведения этапов соревнования

    1.5.3 Составление предварительного варианта расписания

    1.5.4 Согласование расписания

    1.5.5 Оформление и публикация расписания соревнований
    
    \begin{figure}[h!]
       \centering
       \includegraphics[width=0.9\linewidth]{img/use-case-1.5.png}
       \caption{Use-case диаграмма 1.5 <<Составление расписания соревнований>>.}
       \label{fig:use-case-1.5}
    \end{figure}

    \newpage
    \subsubsection*{Use-case 1.6}
    Название: Проведение соревнований.

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

    Триггер: начало проведения соревнований.

    Входные данные: площадка, подготовленная для проведения соревнований, список участников и судей, список дивизионов, расписание соревнований.

    Выходные данные: итоговые протоколы соревнований, победители и призёры соревнований получили награды, отмена соревнований из-за травмы участника.

    Основные процессы:

    1.6.1 Регистрация прибывших судей

    1.6.2 Регистрация прибывших участников

    1.6.3 Жеребьёвка участников

    1.6.4 Формирование карточек участников

    1.6.5 Проведение квалификации

    1.6.6 Проведение финалов

    1.6.7 Награждение участников

    1.6.8 Формирование итоговых протоколов
    
    \begin{figure}[h!]
       \centering
       \includegraphics[width=1\linewidth]{img/use-case-1.6.png}
       \caption{Use-case диаграмма 1.6 <<Проведение соревнований>>.}
       \label{fig:use-case-1.6}
    \end{figure}
    
    \newpage
    \phantom{text}
    
    \newpage
    \subsubsection*{Use-case 1.7}
    Название: Сбор обратной связи.

    Акторы: администратор, главный судья, участники, судьи, зрители.

    Триггер: желание администратора собрать обратную связь.

    Входные данные: список участников и судей.

    Выходные данные: отчёт по обратной связи.

    Основные процессы:

    1.7.1 Составление списка вопросов

    1.7.2 Публикация форм обратной связи

    1.7.3 Заполнение форм обратной связи

    1.7.4 Формирование отчёта по обратной связи

    1.7.5 Анализ отчёта по обратной связи
    

    \begin{figure}[h!]
       \centering
       \includegraphics[width=1\linewidth]{img/use-case-1.7.png}
       \caption{Use-case диаграмма 1.7 <<Сбор обратной связи>>.}
       \label{fig:use-case-1.7}
    \end{figure}


    \section{Часть 3}
    \subsection{BPMN диаграмма процесса <<Сбор заявок на соревнования>>}
    Название: Сбор заявок на соревнования.

    Триггер: принято решение о проведении соревнований.

    Входные данные: незаполненный ограниченный список участников дивизиона.

    Выходные данные: заполненный список участников дивизиона.

    BPMN диаграмма процесса приведена на Рис.~12.

    \addtocounter{figure}{1}
    \includepdf[pages={1}, fitpaper, pagecommand={
    \thispagestyle{empty}
        \begin{tikzpicture}[remember picture, overlay]
            \node at (current page.south) [anchor=north, yshift=35pt] {\large{Рис 12. BPMN диаграмма процесса <<Сбор заявок на соревнования>>}};
        \end{tikzpicture}
    }]{pdf/bpmn-1.pdf}

    \addtocounter{figure}{1}
    \includepdf[pages={1}, fitpaper, pagecommand={
    \thispagestyle{empty}
        \begin{tikzpicture}[remember picture, overlay]
            \node at (current page.south) [anchor=north, yshift=30pt] {\large{Рис 13. BPMN диаграмма процесса <<Обработка новой заявки>>}};
        \end{tikzpicture}
    }]{pdf/bpmn-2.pdf}


\newpage
\section*{Заключение}
\addcontentsline{toc}{section}{Заключение}
% В ходе освоения данного курса было выполнено пять лабораторных работ:
% \begin{enumerate}
% 	\item Создано представление, инкапсулирующее запрос. Продемонстрирована невозможность модификации представления; написан запрос, использующий в себе созданное представление.
% 	\item Создана таблица подсчёта количества соревнований для каждого судьи. Также созданы 5 триггеров, автоматизирующие сбор статистики в таблице.
% 	\item Созданы 2 пользователя с различными правами доступа. Первый пользователь наделён правами только на просмотр представления, а второй наделён правами просмотра, вставки, удаления и обновления данных во всех таблицах, участвующих в представлении. На 8 примерах продемонстрировано поведение СУБД при различных операциях для каждого пользователя, в том числе при недопустимых.
% 	\item Созданы процедура и функция. Функция принимает на вход фамилию, имя и отчество человека и возвращает фамилию и его инициалы.
% 	\item Управление транзакциями. Задан уровень изоляции транзакций как Read Committed и продемонстрировано отсутствие артефакта <<Грязное чтение>> и наличие артефактов <<Неповторяемое чтение>> и <<Фантомы>>.
% \end{enumerate}

% На работу было потрачено около 2-х месяцев, за которые было написано более 500 строк кода.

% Работа была выполнена в системе управления базами данных PostgreSQL 16.2.

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


\newpage
\section*{Список литературы}
\addcontentsline{toc}{section}{Список литературы}

\vspace{-1.5cm}
\begin{thebibliography}{0}
    \bibitem{MySQL}
    MySQL Documentation URL: \url{https://dev.mysql.com/doc/}, Дата обращения: 01.11.2024
    \bibitem{PostgreSQL}
    PostgreSQL documentation URL: \url{https://www.postgresql.org/docs/}, Дата обращения: 01.11.2024
\end{thebibliography}


\end{document}