Files
technical-specification/report.tex
2024-11-17 12:02:13 +03:00

683 lines
40 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 10>>, загрузочный модуль приложения, руководство оператора, написанное в соответствии с ГОСТ 19.50579, набор функциональных тестов и программа испытаний.
\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
3 & ПК & Персональный компьютер \\
\hline
\end{tabularx}
\end{table}
\newpage
\section{НАЗНАЧЕНИЕ И ЦЕЛИ СОЗДАНИЯ СИСТЕМЫ}
\subsection{Назначение системы}
Приложение <<Словарь-КЧД>> предназначено для автоматизации процесса управления данными в красно-чёрном дереве.
\subsection{Цели создания системы}
Целью приложения <<Словарь-КЧД>> является сокращение времени управления данными в красно-чёрном дереве.
\newpage
\section{ХАРАКТЕРИСТИКА ОБЪЕКТА АВТОМАТИЗАЦИИ}
Объектом автоматизации является процесс управления данными в красно-черном дереве. Под данными подразумеваются словарные пары, состояющие из двух строк длиной от 1 до 100 в кодировке ASCII. Всего дерево может содержать от 0 до 10000 словарных записей.
\newpage
\section{ТРЕБОВАНИЯ К СИСТЕМЕ}
\subsection{Требования к системе в целом}
\subsubsection{Требования к структуре и функционированию системы}
\paragraph{Перечень подсистем, их назначение и основные характеристики}
Аппаратная часть состоит из персонального компьютера базовой комплектации, находящегося на гарантийном обслуживании.
Программная часть состоит из приложения <<Словарь-КЧД>> и лицензионной ОС Windows 10.
Для запуска приложения <<Словарь-КЧД>> ПК должен обладать следующими техническими характеристиками:
\begin{itemize}
\item[$-$] Процессор с тактовой частотой минимум 1,2 ГГц;
\item[$-$] Объем оперативной памяти минимум 256 Мб;
\item[$-$] Свободное место на диске минимум 100 Мб.
\end{itemize}
\paragraph{Требования к способам и средствам связи для информационного обмена между
компонентами системы}
Требования не предъявляются.
\paragraph{Требования к характеристикам взаимосвязей создаваемой системы со смежными
системами}
Требования не предъявляются.
\paragraph{Требования к режимам функционирования системы}
Приложение должно иметь активный режим функционирования и использоваться не более 2-х часов в день, 7 дней в неделю.
\paragraph{Требования по диагностированию системы}
Требования не предъявляются.
\paragraph{Перспективы развития, модернизации системы}
Требования не предъявляются.
\subsubsection{Требования к численности и квалификации персонала системы}
Для эксплуатации приложения <<Словарь-КЧД>> достаточно одного человека. Пользователи системы должны иметь опыт работы с персональным компьютером на базе операционных систем Microsoft Windows и свободно осуществлять базовые операции в стандартных Windows. Перед началом работы пользователь должен ознакомиться с руководством оператора, написанным в соответсвии с ГОСТ 19.50579.
\subsubsection{Показатели назначения}
Приложение <<Словарь-КЧД>> должно обеспечивать следующие количественные
показатели, которые характеризуют степень соответствия
назначению:
\begin{itemize}
\item[$-$] Время добавления словарной записи в КЧД не должно превышать 1 секунду, если в словаре меньше 10000 записей;
\item[$-$] Время удаления словарной записи из КЧД не должно превышать 1 секунду, если в словаре меньше 10000 записей;
\item[$-$] Время поиска словарной записи в КЧД не должно превышать 1 секунду, если в словаре меньше 10000 записей.
\end{itemize}
\subsubsection{Требования к надежности}
Надежность системы <<Словарь-КЧД>> обеспечивается:
\begin{itemize}
\item[$-$] аппаратным обеспечением, находящимся на гарантийном обслуживании;
\item[$-$] лицензионной ОС <<Windows 10>>;
\item[$-$] математически корректным обеспечением;
\item[$-$] соответствием процесса разработки приложения ГОСТ Р ИСО/МЭК 25010-2015 «Требования и оценка качества систем и программного обеспечения».
\end{itemize}
\subsubsection{Требования к безопасности}
Факторы, оказывающие вредные воздействия на здоровье со стороны всех элементов системы не должны превышать действующих норм СанПиН 2.2.2./2.4.1340-03 «Гигиенические требования к персональным электронно-вычислительным машинам и организации
работы»(п.10, п.11).
Все внешние элементы технических средств системы, находящиеся под напряжением,
должны соответствовать ГОСТ 12.1.030-81 «Система стандартов безопасности труда»(п.7).
\subsubsection{Требования к эргономике и технической эстетике}
Рабочее место должно быть удообным, оборудовано стулом и столом, соответствовать ГОСТ Р 50923-96 <<Дисплеи. Рабочее место оператора. Общие эргономические требования и требования к производственной среде. Методы измерения>>.
\subsubsection{Требования к транспортабельности для подвижных АС}
Требования не предъявляются.
\subsubsection{Требования к эксплуатации, техническому обслуживанию, ремонту и хранению
компонентов системы}
Требования не предъявляются.
\subsubsection{Требования к защите информации от несанкционированного доступа}
Требования не предъявляются.
\subsubsection{Требования по сохранности информации при авариях}
Требования не предъявляются.
\subsubsection{Требования к защите от влияния внешних воздействий}
Защита от влияния внешних воздействий должна обеспечиваться средствами программно
технического комплекса Заказчика.
\subsubsection{Требования к патентной чистоте}
Требования не предъявляются.
\subsubsection{Требования по стандартизации и унификации}
Требования не предъявляются.
\subsubsection{Дополнительные требования}
Требования не предъявляются.
\subsection{Требования к функциям (задачам), выполняемым системой}
Система управления данными <<Словарь-КЧД>> должна выполнять следущие задачи:
\begin{itemize}
\item[$-$] Создание и поддержание структуры КЧД;
\item[$-$] Добавление записей в КЧД;
\item[$-$] Удаление записей из КЧД;
\item[$-$] Поиск и просмотр записей в КЧД;
\item[$-$] Сохранение данных и структуры КЧД на диск;
\item[$-$] Чтение данных и структуры КЧД с диска;
\item[$-$] Вывод структуры КЧД в текстовом виде на экран.
\end{itemize}
Для выполнения поставленных задач должны быть реализованы следующие функции:
\begin{itemize}
\item Функция для создания структуры КЧД.
\item Функция для инициализации структуры КЧД с заданными параметрами.
\item Функция для добавления новой записи в структуру КЧД.
\item Функция для балансировки КЧД после добавления записи.
\item Функция для удаления записи из структуры КЧД.
\item Функция для балансировки КЧД после удаления записи.
\item Функция для поиска записи в КЧД.
\item Функция для отображения записей структуры КЧД в текстовом виде.
\item Функция для сохранения структуры и данных КЧД на диск.
\item Функция для загрузки структуры и данных КЧД с диска.
\item Функция для вывода структуры КЧД на экран в текстовом формате.
\item Функция для проверки целостности структуры КЧД при загрузке.
\item Функция для контроля и обработки входных данных от пользовтеля.
\end{itemize}
\subsection{Требования к видам обеспечения}
\subsubsection{Требования к математическому обеспечению системы}
При реализации системы <<Словарь-КЧД>> используются математически корректные алгоритмы.
\subsubsection{Требования к информационному обеспечению системы}
Структура данных:
\begin{itemize}
\item Класс \textbf{RBTree} (наследуется от \texttt{BinarySearchTree}):
\begin{itemize}
\item Методы:
\begin{itemize}
\item \texttt{void insert(std::string key, std::string value)}: Метод для вставки узла с заданными ключом и значением в дерево, с последующей балансировкой.
\item \texttt{void remove(std::string key)}: Метод для удаления узла с заданным ключом из дерева, с последующей балансировкой.
\end{itemize}
\end{itemize}
\item Класс \textbf{BinarySearchTree}:
\begin{itemize}
\item Атрибуты:
\begin{itemize}
\item \texttt{Node* root}: Указатель на корневой узел дерева.
\end{itemize}
\item Методы:
\begin{itemize}
\item \texttt{Node* search(Node* node, std::string key)}: Метод для поиска узла с заданным ключом, начиная с узла \texttt{node}.
\item \texttt{Node* getMin(Node* node)}: Метод для получения узла с минимальным ключом, начиная с узла \texttt{node}.
\item \texttt{Node* getMax(Node* node)}: Метод для получения узла с максимальным ключом, начиная с узла \texttt{node}.
\item \texttt{void removeTree()}: Метод для удаления всего дерева.
\item \texttt{void printTree()}: Метод для вывода дерева.
\item \texttt{Node* insert(std::string key, std::string value)}: Метод для вставки нового узла с заданными ключом и значением.
\item \texttt{Node* remove(std::string key, Node* \&saveChildPtr)}: Метод для удаления узла с заданным ключом, сохраняя указатель на узел потомка.
\end{itemize}
\end{itemize}
\item Класс \textbf{Node}:
\begin{itemize}
\item Атрибуты:
\begin{itemize}
\item \texttt{std::string key}: Ключ узла.
\item \texttt{std::string value}: Значение узла.
\item \texttt{bool color}: Цвет узла (красный или черный).
\item \texttt{Node* left}: Указатель на левый дочерний узел.
\item \texttt{Node* right}: Указатель на правый дочерний узел.
\item \texttt{Node* parent}: Указатель на родительский узел.
\end{itemize}
\item Методы:
\begin{itemize}
\item \texttt{void createLeafs()}: Метод для создания дочерних узлов-листьев.
\item \texttt{Node* grandparent() const}: Метод для получения указателя на дедушку узла.
\item \texttt{Node* uncle() const}: Метод для получения указателя на дядю узла.
\item \texttt{Node* brother() const}: Метод для получения указателя на брата узла.
\item \texttt{std::string toString() const}: Метод для преобразования узла в строку, включающую ключ, значение и цвет.
\item \texttt{bool isLeaf()}: Метод для проверки, является ли узел листом.
\end{itemize}
\end{itemize}
\item Типы данных:
\begin{itemize}
\item \texttt{std::string}: Строковый тип данных, используемый для хранения ключей и значений узлов.
\item \texttt{bool}: Логический тип данных, применяемый для указания цвета узла в красно-черном дереве (красный или черный).
\item \texttt{int}: Целочисленный тип данных для хранения значений, таких как счетчики или индексы.
\end{itemize}
\end{itemize}
\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}{|c|X|X|X|X|}
\hline
\textbf{Этап} & \textbf{Название этапа} & \textbf{Сроки
выполнения} & \textbf{Содержание работ} & \textbf{Результат}\\
\hline
1 & Проектирование приложения & 01.09.2024 - 01.10.2024 & Необходимо провести декомпозицию поставленной задачи и выделить подсистемы приложения, изучить математическое описание алгоритмов, используемых для реализации красно-чёрного дерева. & Список подзадач и
подсистем приложения <<Словарь-КЧД>>, в котором прописан функционал
каждой из подсистем. Математическое описание алгоритмов, их псевдокод. Документация с описанием входов и выходов алгоритмов. \\
\hline
2 & Разработка & 02.10.2024 - 01.11.2024 & Реализовать алгоритмы, необходимые в функционировании каждой подсистемы. Реализовать функции приложения <<Словарь-КЧД>>, прописанные в настоящем техническом задании. & Реализованы спроектированные на этапе проектирования подсистемы и связи между ними. Написан исходный код программы. \\
\hline
3 & Тестирование & 02.11.2024 - 16.11.2024 & Тестирование и исправление ошибок приложения <<Словарь-КЧД>>, в том числе на оборудовании Заказчика. Составление и запуск функциональных тестов. & Составлен
протокол испытаний и тестов для приложения, а также список замечаний и ошибок. Ошибки исправлены, приложение работает стабильно. \\
\hline
4 & Написание документации & 17.11.2024 - 01.12.2024 & Подготовить документацию для приложения <<Словарь-КЧД>>, включая руководство пользователя, описание архитектуры, алгоритмов и интерфейсов. & Документация готова и включает руководство пользователя, описание архитектуры, модулей, алгоритмов и интерфейсов приложения. \\
\hline
\end{tabularx}
\end{table}
\newpage
\begin{table}[h!]
\centering
\footnotesize
\begin{tabularx}{\textwidth}{|c|X|X|X|X|}
\hline
\textbf{Этап} & \textbf{Название этапа} & \textbf{Сроки
выполнения} & \textbf{Содержание работ} & \textbf{Результат}\\
\hline
5 & Сдача приложения & 02.12.2024 - 20.12.2024 & Передача Заказчику исходного кода и исполняемого файла приложения <<Словарь-КЧД>>, а также инструкции по использованию. & Подписанный Заказчиком и Разработчиком акт приёмки приложения. Исходный код и исполняемый файл переданы Заказчику. Система работает на оборудовании заказчика. \\
\hline
\end{tabularx}
\end{table}
\newpage
\section{ПОРЯДОК КОНТРОЛЯ И ПРИЕМКИ СИСТЕМЫ}
\subsection{Виды, состав, объем и методы испытаний системы}
Виды, состав, объем, и методы испытаний подсистемы должны быть изложены в программе
и методике испытаний Словарь-КЧД, разрабатываемой в составе рабочей документации.
\subsection{Общие требования к приемке работ по стадиям}
Во время приёмки работ Заказчику передаётся находящийся на гарантийном обслуживании ПК базовой комплектации, с установленной лицензионной ОС <<Windows 10>>, загрузочный модуль приложения, руководство оператора, написанное в соответствии с ГОСТ 19.50579, набор функциональных тестов и программа испытаний.
\subsection{Статус приемочной комиссии}
Статус приемочной комиссии определяется Заказчиком до проведения испытаний.
\newpage
\section{ТРЕБОВАНИЯ К СОСТАВУ И СОДЕРЖАНИЮ РАБОТ ПО ПОДГОТОВКЕ ОБЪЕКТА
АВТОМАТИЗАЦИИ К ВВОДУ СИСТЕМЫ В ДЕЙСТВИЕ}
Подготовить рабочее место в соответствии с требованиями, установленными в разделе 4 технического задания. Загрузить исполняемый файл на компьютер с установленной ОС Windows, удовлетворяющий минимальным системным требованиям, описанным в п. 4.1.6. Исполняемый файл должен запускаться без дополнительной настройки. Для компиляции приложения из исходного кода должен использоваться Visual Studio 2019 и компилятор MSVC (Microsoft Visual C++).
Перед началом работы с приложением пользователь должен изучить инструкцию пользователя.
\newpage
\section{ТРЕБОВАНИЯ К ДОКУМЕНТИРОВАНИЮ}
Руководство оператора, предъявляемое Заказчику вместе с приложением должна быть
написана в соответсвии с ГОСТ 19.50579 «Единая система программной документации.
Руководство оператора. Требования к содержанию и оформлению».
\newpage
\section{ИСТОЧНИКИ РАЗРАБОТКИ}
Данное техническое задание разработано на основе ГОСТ 34.60289 «Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы».
\end{document}