commit e9f9bdc4c445acba26896268f181a8a264b028f8 Author: Arity-T Date: Sun Nov 10 12:17:00 2024 +0300 Первая версия ТЗ diff --git a/report.tex b/report.tex new file mode 100644 index 0000000..192cba4 --- /dev/null +++ b/report.tex @@ -0,0 +1,664 @@ +\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.602–89 «Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы». + + +\end{document} \ No newline at end of file