Files
technical-specification/report.tex
2024-11-11 16:23:19 +03:00

664 lines
39 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\documentclass[a4paper, final]{article}
%\usepackage{literat} % Нормальные шрифты
\usepackage[14pt]{extsizes} % для того чтобы задать нестандартный 14-ый размер шрифта
\usepackage[T2A]{fontenc}
\usepackage[UTF8]{inputenc}
\usepackage[russian]{babel}
\usepackage{listings} %листинги
\usepackage{amsmath}
\usepackage{multicol}
\usepackage{amssymb} % Для красивого значка пустого множества
\usepackage[left=25mm, top=20mm, right=20mm, bottom=20mm, footskip=10mm]{geometry}
\usepackage{ragged2e} %для растягивания по ширине
\usepackage{setspace} %для межстрочного интервала
\usepackage{indentfirst} % для абзацного отступа
\usepackage{moreverb} %для печати в листинге исходного кода программ
\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{listingsutf8}
\usepackage{xcolor} % цвета
\usepackage{hyperref}% для гиперссылок
\usepackage{enumitem} %для перечислений
\usepackage{titlesec}
\usepackage{graphicx}
\graphicspath{ {./Рисунки/} }
%\usepackage{float}
\usepackage{booktabs}
\usepackage{floatrow}
\usepackage{scalerel} % Stretching images
\usepackage[final]{pdfpages}
\usepackage{dashrule}
\usepackage{multirow}
\usepackage{tabularx}
\usepackage{titlesec}
\setcounter{secnumdepth}{4}
\titleformat{\paragraph}
{\normalfont\normalsize\bfseries}{\theparagraph}{1em}{}
\titlespacing*{\paragraph}
{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
\definecolor{apricot}{HTML}{FFF0DA}
\definecolor{mygreen}{rgb}{0,0.6,0}
\definecolor{string}{HTML}{B40000} % цвет строк в коде
\definecolor{comment}{HTML}{008000} % цвет комментариев в коде
\definecolor{keyword}{HTML}{1A00FF} % цвет ключевых слов в коде
\definecolor{morecomment}{HTML}{8000FF} % цвет include и других элементов в коде
\definecolor{captiontext}{HTML}{FFFFFF} % цвет текста заголовка в коде
\definecolor{captionbk}{HTML}{999999} % цвет фона заголовка в коде
\definecolor{bk}{HTML}{FFFFFF} % цвет фона в коде
\definecolor{frame}{HTML}{999999} % цвет рамки в коде
\definecolor{brackets}{HTML}{B40000} % цвет скобок в коде
\AtBeginDocument{\renewcommand{\contentsname}{Содержание}}
\AtBeginDocument{\renewcommand{\refname}{Список источников}}
\floatsetup[table]{style=plain,capposition=bottom}
\setlist[enumerate,itemize]{leftmargin=1.2cm} %отступ в перечислениях
\hypersetup{colorlinks,
allcolors=[RGB]{010 090 200}} %красивые гиперссылки (не красные)
% подгружаемые языки — подробнее в документации listings (это всё для листингов)
\lstloadlanguages{ [LaTeX] TeX}
% включаем кириллицу и добавляем кое−какие опции
\lstset{language =[LaTeX] TeX, % выбираем язык по умолчанию
extendedchars=true , % включаем не латиницу
escapechar = | , % |«выпадаем» в LATEX|
frame=tb , % рамка сверху и снизу
commentstyle=\itshape , % шрифт для комментариев
stringstyle =\bfseries} % шрифт для строк
\textheight=24cm % высота текста
\textwidth=16cm % ширина текста
\oddsidemargin=0pt % отступ от левого края
\topmargin=-1.5cm % отступ от верхнего края
\parindent=0pt % абзацный отступ
\parskip=0pt % интервал между абзацами
\tolerance=2000 % терпимость к "жидким" строкам
\flushbottom % выравнивание высоты страниц
\begin{document} % начало документа
\lstset{
language=SQL, % Язык кода по умолчанию
morekeywords={*,...}, % если хотите добавить ключевые слова, то добавляйте
% Цвета
keywordstyle=\color{keyword}\ttfamily\bfseries,
%stringstyle=\color{string}\ttfamily,
stringstyle=\ttfamily\color{red!50!brown},
commentstyle=\color{comment}\ttfamily,
morecomment=[l][\color{morecomment}]{\#},
% Настройки отображения
breaklines=true, % Перенос длинных строк
basicstyle=\ttfamily\footnotesize, % Шрифт для отображения кода
backgroundcolor=\color{bk}, % Цвет фона кода
frame=single,xleftmargin=\fboxsep,xrightmargin=-\fboxsep, % Рамка, подогнанная к заголовку
rulecolor=\color{frame}, % Цвет рамки
tabsize=3, % Размер табуляции в пробелах
% Настройка отображения номеров строк. Если не нужно, то удалите весь блок
numbers=left, % Слева отображаются номера строк
stepnumber=1, % Каждую строку нумеровать
numbersep=5pt, % Отступ от кода
numberstyle=\small\color{black}, % Стиль написания номеров строк
% Для отображения русского языка
extendedchars=true,
literate={Ö}{ {\"O} }1
{~}{ {\textasciitilde} }1
{а}{ {\selectfont\char224} }1
{б}{ {\selectfont\char225} }1
{в}{ {\selectfont\char226} }1
{г}{ {\selectfont\char227} }1
{д}{ {\selectfont\char228} }1
{е}{ {\selectfont\char229} }1
{ё}{ {\"e} }1
{ж}{ {\selectfont\char230} }1
{з}{ {\selectfont\char231} }1
{и}{ {\selectfont\char232} }1
{й}{ {\selectfont\char233} }1
{к}{ {\selectfont\char234} }1
{л}{ {\selectfont\char235} }1
{м}{ {\selectfont\char236} }1
{н}{ {\selectfont\char237} }1
{о}{ {\selectfont\char238} }1
{п}{ {\selectfont\char239} }1
{р}{ {\selectfont\char240} }1
{с}{ {\selectfont\char241} }1
{т}{ {\selectfont\char242} }1
{у}{ {\selectfont\char243} }1
{ф}{ {\selectfont\char244} }1
{х}{ {\selectfont\char245} }1
{ц}{ {\selectfont\char246} }1
{ч}{ {\selectfont\char247} }1
{ш}{ {\selectfont\char248} }1
{щ}{ {\selectfont\char249} }1
{ъ}{ {\selectfont\char250} }1
{ы}{ {\selectfont\char251} }1
{ь}{ {\selectfont\char252} }1
{э}{ {\selectfont\char253} }1
{ю}{ {\selectfont\char254} }1
{я}{ {\selectfont\char255} }1
{А}{ {\selectfont\char192} }1
{Б}{ {\selectfont\char193} }1
{В}{ {\selectfont\char194} }1
{Г}{ {\selectfont\char195} }1
{Д}{ {\selectfont\char196} }1
{Е}{ {\selectfont\char197} }1
{Ё}{ {\"E} }1
{Ж}{ {\selectfont\char198} }1
{З}{ {\selectfont\char199} }1
{И}{ {\selectfont\char200} }1
{Й}{ {\selectfont\char201} }1
{К}{ {\selectfont\char202} }1
{Л}{ {\selectfont\char203} }1
{М}{ {\selectfont\char204} }1
{Н}{ {\selectfont\char205} }1
{О}{ {\selectfont\char206} }1
{П}{ {\selectfont\char207} }1
{Р}{ {\selectfont\char208} }1
{С}{ {\selectfont\char209} }1
{Т}{ {\selectfont\char210} }1
{У}{ {\selectfont\char211} }1
{Ф}{ {\selectfont\char212} }1
{Х}{ {\selectfont\char213} }1
{Ц}{ {\selectfont\char214} }1
{Ч}{ {\selectfont\char215} }1
{Ш}{ {\selectfont\char216} }1
{Щ}{ {\selectfont\char217} }1
{Ъ}{ {\selectfont\char218} }1
{Ы}{ {\selectfont\char219} }1
{Ь}{ {\selectfont\char220} }1
{Э}{ {\selectfont\char221} }1
{Ю}{ {\selectfont\char222} }1
{Я}{ {\selectfont\char223} }1
{\{}{ { {\color{brackets}\{} } }1 % Цвет скобок {
{\} }{ { {\color{brackets}\} } } }1 % Цвет скобок }
}
% НАЧАЛО ТИТУЛЬНОГО ЛИСТА
\begin{center}
Санкт - Петербургский Политехнический Университет Петра Великого \\
Институт компьютерных наук и кибербезопасности \\
Высшая школа технологий искусственного интеллекта\\
\vspace{-15pt}
\hdashrule[-2mm]{\textwidth}{0.5pt}{}
\vspace*{15pt}
\small{наименование организации - разработчика ТЗ на АС}\\
\vspace{2mm}
\end{center}
\begin{center}
\begin{multicols}{2}
\begin{flushleft}
\small{УТВЕРЖДАЮ} \\
\small{Руководитель} \\
\vspace{0.3cm}
\small{Курочкин Михаил Александрович} \\
\vspace{0.5cm}
\rule{4cm}{0.1mm} \\
\small{Личная подпись} \\
\vspace{0.5cm}
\rule{4cm}{0.1mm} \\
\small{Расшифровка подписи} \\
\vspace{0.2cm}
\small{Печать} \\
\vspace{0.2cm}
\small{Дата} \\
\end{flushleft}
\columnbreak
\begin{flushleft}
\small{УТВЕРЖДАЮ} \\
\small{Разработчик (студент группы} \\
\small{5130201/20102)} \\
\vspace{0.3cm}
\small{Тищенко Артём Андреевич} \\
\vspace{0.5cm}
\rule{4cm}{0.1mm} \\
\small{Личная подпись} \\
\vspace{0.5cm}
\rule{4cm}{0.1mm} \\
\small{Расшифровка подписи} \\
\vspace{0.2cm}
\small{Печать} \\
\vspace{0.2cm}
\small{Дата} \\
\end{flushleft}
\end{multicols}
\end{center}
\begin{center}
Приложение <<Словарь-КЧД>> \\
\vspace{-15pt}
\hdashrule[-2mm]{\textwidth}{0.5pt}{}
\small{наименование АС} \\
\vspace{0.5cm}
\normalsize{
Операции над красно-черными деревьями}\\
\vspace{-15pt}
\hdashrule[-2mm]{\textwidth}{0.5pt}{}
\small{наименование объекта автоматизации} \\
\vspace{0.5cm}
Словарь-КЧД \\
\vspace{-15pt}
\hdashrule[-2mm]{\textwidth}{0.5pt}{}
\small{краткое наименование АС} \\
\vspace{0.7cm}
\large{\textbf{Техническое задание}} \\
\vspace{0.5cm}
\small{На }\rule{4cm}{0.1mm} \small{листах} \\
\small{Действует с} \\
\vspace{0.7cm}
\end{center}
\small{СОГЛАСОВАНО} \\
\small{Руководитель (должность, наименование} \\
\small{согласующей организации)} \\
\small{Курочкин Михаил Александрович, к.т.н., профессор} \\
\rule{4cm}{0.1mm} \\
\small{Личная подпись} \\
\rule{4cm}{0.1mm} \\
\small{Расшифровка подписи} \\
\small{Печать} \\
\small{Дата}
\thispagestyle{empty}
\begin{center}
\small{Санкт-Петербург, 2024}
\end{center}
% КОНЕЦ ТИТУЛЬНОГО ЛИСТА
\newpage
\tableofcontents
\newpage
\section{Общее сведения}
\subsection{Полное наименование системы и ее условное обозначение}
Полное наименование системы: Приложение словарь на основе красно-черных деревьев <<Словарь-КЧД>>.
Краткое наименование системы: Словарь-КЧД.
\subsection{Номер договора (контракта)}
Отсутствует.
\subsection{Наименования организации-заказчика и организаций-участников работ}
Заказчиком системы является федеральное государственное автономное образовательное учреждение высшего образования «Санкт-Петербургский политехнический университет Петра Великого», \\
Адрес заказчика: 195251 г. Санкт-Петербург, ул. Политехническая, д. 29. \\
Разработчиком системы является студент группы 5130201/20102 Тищенко Артём Андреевич.\\
Адрес разработчика: 195257 г. Санкт-Петербург, ул. Вавиловых, д. 10, к. 3.
\subsection{Перечень документов, на основании которых создается система}
Отсутствует.
\subsection{Плановые сроки начала и окончания работы по созданию системы}
Плановый срок начала работ по созданию системы <<Словарь-КЧД>>
1 сентября 2024 года.\\
Плановый срок окончания работ по созданию системы <<Словарь-КЧД>>
20 декабря 2024 года.
\subsection{Источники и порядок финансирования работ}
Инициативная работа.
Финансирование отсутствует.
\subsection{Порядок оформления и предъявления заказчику результатов работ по созданию системы}
При предъявлении результатов работ по созданию приложения Заказчику передаётся исходный код приложения и исполняемый файл приложения для операционной системы Windows.
\subsection{Перечень нормативно-технических документов, методических материалов, использованных при разработке ТЗ}
ГОСТ 34.602-89 «Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы».
\subsection{Определения, обозначения и сокращения}
\begin{table}[h!]
\begin{tabularx}{\textwidth}{|c|X|X|}
\cline{1-3}
\textbf{} & \textbf{Сокращение} & \textbf{Расшифровка} \\
\cline{1-3}
1 & ТЗ & Техническое задание \\
\hline
2 & ОС & Операционная система \\
\hline
3 & КЧД & Красно-чёрное дерево \\
\hline
\end{tabularx}
\end{table}
\newpage
\section{НАЗНАЧЕНИЕ И ЦЕЛИ СОЗДАНИЯ СИСТЕМЫ}
\subsection{Назначение системы}
Приложение <<Словарь-КЧД>> предназначено для автоматизации процесса управления словарём с использованием структуры данных на основе красно-чёрного дерева. Приложение выполняет следующие функции:
\begin{itemize}
\item[$-$] добавление словарных записей;
\item[$-$] удаление словарных записей;
\item[$-$] поиск словарных записей;
\item[$-$] вывод структуры красно-чёрного дерева в консоль.
\end{itemize}
Приложение <<Словарь-КЧД>> рассчитано на использование в учебных или демонстрационных целях для освоения алгоритмов работы с красно-чёрными деревьями.
\subsection{Цели создания системы}
Основными целями приложения <<Словарь-КЧД>> являются:
\begin{itemize}
\item[$-$] Повышение эффективности работы со словарными данными путём автоматизации операций добавления, удаления и поиска слов;
\item[$-$] Обеспечение наглядного представления структуры данных красно-чёрного дерева в консольном режиме, для упрощения понимания и анализа структуры дерева;
\item[$-$] Создание демонстрационной платформы для изучения алгоритмов работы с красно-чёрными деревьями.
\end{itemize}
Для достижения целей система выполняет следующие задачи:
\begin{itemize}
\item[$-$] Добавление, удаление, поиск словарных пар;
\item[$-$] Вывод структуры красно-чёрного дерева в консоль.
\end{itemize}
\newpage
\section{ХАРАКТЕРИСТИКА ОБЪЕКТА АВТОМАТИЗАЦИИ}
Объектом автоматизации являются операции, выполняемые над красно-черными деревьями:
\begin{itemize}
\item[$-$] Добавление узла, содержащего словарную запись;
\item[$-$] Поиск узла по заданной словарной записи;
\item[$-$] Удаление узла по заданной словарной записи;
\item[$-$] Представление структуры красно-чёрного дерева и данных, которые в нём содержатся, в текстовом виде.
\end{itemize}
\newpage
\section{ТРЕБОВАНИЯ К СИСТЕМЕ}
\subsection{Требования к системе в целом}
\subsubsection{Требования к структуре и функционированию системы}
\paragraph{Перечень подсистем, их назначение и основные характеристики}
В состав системы <<Словарь-КЧД>> входят следующие подсистемы:
\begin{itemize}
\item[$-$] Подсистема управления деревом: отвечает за работу с красно-чёрным деревом, автоматизируя процессы балансировки, вставки и удаления узлов, что позволяет поддерживать корректную структуру дерева при любых изменениях.
\item[$-$] Подсистема поиска: предназначена для поиска указанных элементов в красно-чёрном дереве.
\item[$-$] Подсистема вывода: предназначена для вывода текущей структуры дерева в консоль, что помогает пользователям анализировать структуру данных в реальном времени.
\item[$-$] Подсистема взаимодействия с пользователем: реализует интерфейс команд для работы с красно-чёрным деревом, предоставляя пользователю возможность выбора операций через консольное меню.
\end{itemize}
Каждая подсистема ориентирована на улучшение работы с динамическими структурами данных и наглядное представление ключевых алгоритмов работы с красно-чёрными деревьями.
\paragraph{Требования к способам и средствам связи для информационного обмена между
компонентами системы}
Требования не предъявляются.
\paragraph{Требования к характеристикам взаимосвязей создаваемой системы со смежными
системами}
Требования не предъявляются.
\paragraph{Требования к режимам функционирования системы}
Требования не предъявляются
\paragraph{Требования по диагностированию системы}
Требования не предъявляются.
\paragraph{Перспективы развития, модернизации системы}
Требования не предъявляются.
\subsubsection{Требования к численности и квалификации персонала системы}
Для эксплуатации приложения <<Словарь-КЧД>> определены следующие роли:
\begin{itemize}
\item[$-$] Пользователь.
\end{itemize}
Пользователи системы должны иметь опыт работы с персональным компьютером на базе
операционных систем Microsoft Windows на уровне квалифицированного пользователя и
свободно осуществлять базовые операции в стандартных Windows.
\subsubsection{Показатели назначения}
Приложение <<Словарь-КЧД>> должно обеспечивать следующие количественные
показатели, которые характеризуют степень соответствия
назначению:
\begin{itemize}
\item[$-$] Время добавления словарной записи должно непревышать 1 секунды при размере словаря в менее чем 10000 записей;
\item[$-$] Время удаления словарной записи должно непревышать 1 секунды при размере словаря в менее чем 10000 записей;
\item[$-$] Время поиска словарной записи должно непревышать 1 секунды при размере словаря в менее чем 10000 записей.
\end{itemize}
\subsubsection{Требования к надежности}
Надежность обеспечивается:
\begin{itemize}
\item[$-$] лицензионным программным обеспечиванием Microsoft Windows 10 и лицензионной
средой разработки Microsoft Visual Studio 2019;
\item[$-$] корректным математическим обеспечением.
\end{itemize}
\subsubsection{Требования к безопасности}
Требования не предъявляются.
\subsubsection{Требования к эргономике и технической эстетике}
Интерфейс должен быть рассчитан на использование клавиатуры, то есть управление системой должно осуществляться с помощью текстовго ввода команд.
\subsubsection{Требования к транспортабельности для подвижных АС}
Требования не предъявляются.
\subsubsection{Требования к эксплуатации, техническому обслуживанию, ремонту и хранению
компонентов системы}
Требования не предъявляются.
\subsubsection{Требования к защите информации от несанкционированного доступа}
Для защиты информацией от несанкционированного доступа необходимо перед запуском приложения <<Словарь-КЧД>> воспользоваться программами для обнаружения вредоносных объектов.
\subsubsection{Требования по сохранности информации при авариях}
Требования не предъявляются.
\subsubsection{Требования к защите от влияния внешних воздействий}
Защита от влияния внешних воздействий должна обеспечиваться средствами программно
технического комплекса Заказчика.
\subsubsection{Требования к патентной чистоте}
Требования не предъявляются.
\subsubsection{Требования по стандартизации и унификации}
Требования не предъявляются.
\subsubsection{Дополнительные требования}
Требования не предъявляются.
\subsection{Требования к функциям (задачам), выполняемым системой}
В состав системы <<Словарь-КЧД>> входят следующие подсистемы с функциональными требованиями:
\begin{itemize}
\item \textbf{Подсистема управления деревом}
\begin{itemize}
\item Функции: балансировка, вставка, удаление узлов в красно-чёрном дереве.
\item Временной регламент: операции вставки и удаления должны выполняться за $O(\log n)$ времени.
\item Качество реализации: система обязана корректно поддерживать структуру дерева, не допуская нарушения свойств красно-чёрного дерева при любых изменениях.
\item Критерии отказа: некорректная балансировка дерева, невозможность вставки/удаления узла при верных входных данных.
\end{itemize}
\item \textbf{Подсистема поиска}
\begin{itemize}
\item Функции: поиск элементов по ключу в красно-чёрном дереве.
\item Временной регламент: поиск должен выполняться за $O(\log n)$ времени.
\item Качество реализации: система должна точно возвращать ссылку на узел или результат о его отсутствии.
\item Критерии отказа: неверный результат поиска при корректных данных.
\end{itemize}
\item \textbf{Подсистема вывода}
\begin{itemize}
\item Функции: вывод структуры дерева в консоль.
\item Временной регламент: выполнение функции вывода — не более $O(n)$ времени.
\item Качество реализации: данные должны отображаться в удобном для анализа формате.
\item Критерии отказа: некорректное отображение структуры дерева.
\end{itemize}
\item \textbf{Подсистема взаимодействия с пользователем}
\begin{itemize}
\item Функции: реализация интерфейса команд для управления красно-чёрным деревом.
\item Временной регламент: реакции на команды пользователя должны происходить в реальном времени (не более 1 секунды).
\item Качество реализации: интерфейс должен быть интуитивным, а сообщения об ошибках — информативными.
\item Критерии отказа: отсутствие отклика на команды пользователя или некорректное выполнение команд.
\end{itemize}
\end{itemize}
\subsection{Требования к видам обеспечения}
\subsubsection{Требования к математическому обеспечению системы}
При реализации системы используются следующие математически корректные алгоритмы для красно-черного дерева:
\begin{itemize}
\item[$-$] алгоритмы балансировки дерева: левый поворот, правый поворот, перекрашивание узла;
\item[$-$] вставка узла в дерево;
\item[$-$] удаление узла из дерева;
\item[$-$] поиск узла в дереве;
\item[$-$] обход всех узлов дерева.
\end{itemize}
\subsubsection{Требования к информационному обеспечению системы}
Красно-черное дерево основано на структуре связного списка, который представляет собой сеть узлов, каждый из которых содержит данные, указатель на следующий узел и дополнительный бит, представляющий цвет. Память для хранения данных выделяется динамически и очищается при их удалении.
\subsubsection{Требования к лингвистическому обеспечению системы}
Ввод-вывод данных, а также пользователский интерфейс должен быть реализован на русском языке.
\subsubsection{Требования к программному обеспечению системы}
При разработке должна использоватеься лицензионная версия Microsoft Visual Studio 2019.
Базовой программной платформой должна являться лицензированная операционная система Microsoft Windows 10.
\subsubsection{Требования к техническому обеспечению}
Требование к минимальной технической характеристике персонального компьютера для запуска приложения <<Словарь-КЧД>>:
\begin{itemize}
\item[$-$] Процессор с тактовой частотой минимум 1,2 ГГц;
\item[$-$] Объем оперативной памяти минимум 256 Мб;
\item[$-$] Свободное место на диске 100 Мб;
\end{itemize}
\subsubsection{Требования к метрологическому обеспечению}
Требования не предъявляются.
\subsubsection{Требования к организационному обеспечению}
Требования не предъявляются.
\subsubsection{Требования к методическому обеспечению}
Требования не предъявляются.
\newpage
\section{СОСТАВ И СОДЕРЖАНИЕ РАБОТ ПО СОЗДАНИЮ (РАЗВИТИЮ) СИСТЕМЫ}
Календарный план работ:
\begin{table}[h!]
\centering
\footnotesize
\begin{tabularx}{\textwidth}{|X|X|X|X|X|}
\hline
\textbf{Название этапа } & \textbf{Сроки
выполнения} & \textbf{Содержание работ} & \textbf{Результат}\\
\hline
Проектирование приложения & 01.09.2024 - 01.10.2024 & Необходимо провести декомпозицию поставленной задачи и выделить подсистемы приложения, изучить математическое описание алгоритмов, используемых для реализации красно-чёрного дерева. & Список подзадач и
подсистем приложения <<Словарь-КЧД>>, в котором прописан функционал
каждой из подсистем. Математическое описание алгоритмов, их псевдокод. Документация с описанием входов и выходов алгоритмов. \\
\hline
Разработка & 02.10.2024 - 01.11.2024 & Реализовать алгоритмы, необходимые в функционировании каждой подсистемы. Реализовать функции приложения <<Словарь-КЧД>>, прописанные в настоящем техническом задании. & Реализованы спроектированные на этапе проектирования подсистемы и связи между ними. Написан исходный код программы. \\
\hline
Тестирование & 02.11.2024 - 16.11.2024 & Тестирование и исправление ошибок приложения <<Словарь-КЧД>>, в том числе на оборудовании Заказчика. Составление и запуск функциональных тестов. & Составлен
протокол испытаний и тестов для приложения, а также список замечаний и ошибок. Ошибки исправлены, приложение работает стабильно. \\
\hline
Сдача приложения & 17.11.2024 - 20.12.2024 & Передача Заказчику исходного кода и исполняемого файла приложения <<Словарь-КЧД>>, а также инструкции по использованию. & Подписанный Заказчиком и Разработчиком акт приёмки приложения. Исходный код и исполняемый файл переданы Заказчику. Система работает на оборудовании заказчика. \\
\hline
\end{tabularx}
\end{table}
\newpage
\section{ПОРЯДОК КОНТРОЛЯ И ПРИЕМКИ СИСТЕМЫ}
\subsection{Виды, состав, объем и методы испытаний системы}
Разработчик подгатавливает функциональные тесты для проверки работоспособности приложения. Данные тесты утверждаются Разработчиком и Заказчиком. Приложение устанавливается на ПК базовой комплектации с лицензионным ПО и гарантийным обслуживанием.
Каждый тест включают в себя проверку работоспособности функций приложения: в словарь производится ввод 30 слов на русском языке, применяются методы поиска, удаления по 5 слов, вывод результата на экран 1 раз.
Каждый тест выполняется 10 раз с разными наборами слов. Время выполнения теста в целом высчитывается как среднее арифметическое времени выполнения каждого теста на каждом запуске. Время измеряется тактовым генератором.
\subsection{Общие требования к приемке работ по стадиям}
На стадии тестирования должно быть предоставлено помещение и ПК базовой
комплектации с установленным Visual Studio 2019 и компилятором MSVC (Microsoft Visual C++).
На стадии тестирования приложение должно пройти набор функциональных тестов, разработанных совместно с Заказчиком.\\
На стадии сдачи проекта, в случае успешного прохождения утвержденной
системы тестов, составляется двусторонний акт приёмки системы Заказчиком.
Заказчику передаются:
\begin{itemize}
\item[$-$] Исходный код приложения;
\item[$-$] Исполняемый файл приложения для ОС Windows;
\item[$-$] Инструкция по использованию.
\end{itemize}
\subsection{Статус приемочной комиссии}
Статус приемочной комиссии определяется Заказчиком до проведения испытаний.
\newpage
\section{ТРЕБОВАНИЯ К СОСТАВУ И СОДЕРЖАНИЮ РАБОТ ПО ПОДГОТОВКЕ ОБЪЕКТА
АВТОМАТИЗАЦИИ К ВВОДУ СИСТЕМЫ В ДЕЙСТВИЕ}
Подготовить рабочее место в соответствии с требованиями, установленными в разделе 4 технического задания. Загрузить исполняемый файл на компьютер с установленной ОС Windows, удовлетворяющий минимальным системным требованиям, описанным в п. 4.1.6. Исполняемый файл должен запускаться без дополнительной настройки. Для компиляции приложения из исходного кода должен использоваться Visual Studio 2019 и компилятор MSVC (Microsoft Visual C++).
Перед началом работы с приложением пользователь должен изучить инструкцию пользователя.
\newpage
\section{ТРЕБОВАНИЯ К ДОКУМЕНТИРОВАНИЮ}
Заказчику вместе с приложением должна быть предоставлена инструкция по использованию приложения.
\newpage
\section{ИСТОЧНИКИ РАЗРАБОТКИ}
Данное техническое задание разработано на основе ГОСТ 34.60289 «Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы».
\end{document}