Первая версия ТЗ
This commit is contained in:
664
report.tex
Normal file
664
report.tex
Normal file
@@ -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}
|
||||
Reference in New Issue
Block a user