From 56c0e35987606b699f69226132733c78ea37e713 Mon Sep 17 00:00:00 2001 From: Arity-T Date: Mon, 11 Nov 2024 17:35:02 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=B0=D0=B2=D0=BA=D0=B8=20=D1=81?= =?UTF-8?q?=20=D0=BB=D0=B5=D0=BA=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- report.tex | 214 ++++++++++++++++++++++++----------------------------- 1 file changed, 98 insertions(+), 116 deletions(-) diff --git a/report.tex b/report.tex index 6a01fbf..d5d764d 100644 --- a/report.tex +++ b/report.tex @@ -316,7 +316,7 @@ stringstyle =\bfseries} % шрифт для строк \subsection{Порядок оформления и предъявления заказчику результатов работ по созданию системы} -При предъявлении результатов работ по созданию приложения Заказчику передаётся исходный код приложения и исполняемый файл приложения для операционной системы Windows. +При предъявлении результатов работ Заказчику передаётся ПК базовой комплектации, с установленной лицензионной ОС <> и находящийся на гарантийном обслуживании. \subsection{Перечень нормативно-технических документов, методических материалов, использованных при разработке ТЗ} @@ -336,6 +336,8 @@ stringstyle =\bfseries} % шрифт для строк \hline 3 & КЧД & Красно-чёрное дерево \\ \hline + 3 & ПК & Персональный компьютер \\ + \hline \end{tabularx} \end{table} @@ -347,44 +349,16 @@ stringstyle =\bfseries} % шрифт для строк \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} +Объектом автоматизации является процесс управления данными в красно-черном дереве. Под данными подразумеваются словарные пары, состояющие из двух строк длиной от 1 до 100 в кодировке ASCII. Всего дерево может содержать от 0 до 10000 словарных записей. \newpage @@ -393,18 +367,26 @@ stringstyle =\bfseries} % шрифт для строк \subsubsection{Требования к структуре и функционированию системы} \paragraph{Перечень подсистем, их назначение и основные характеристики} +Аппаратная часть состоит из персонального компьютера базовой комплектации, находящегося на гарантийном обслуживании. +Программная часть состоит из приложения <<Словарь-КЧД>> и лицензионной ОС Windows 10. + В состав системы <<Словарь-КЧД>> входят следующие подсистемы: \begin{itemize} - \item[$-$] Подсистема управления деревом: отвечает за работу с красно-чёрным деревом, автоматизируя процессы балансировки, вставки и удаления узлов, что позволяет поддерживать корректную структуру дерева при любых изменениях. + \item[$-$] Подсистема создания структуры КЧД; - \item[$-$] Подсистема поиска: предназначена для поиска указанных элементов в красно-чёрном дереве. + \item[$-$] Подсистема добавления записей в КЧД; + + \item[$-$] Подсистема удаления записей из КЧД; + + \item[$-$] Подсистема поиска и просмотра записей в КЧД; + + \item[$-$] Подсистема сохранения КЧД на диск; + + \item[$-$] Подсистема чтения КЧД с диска; - \item[$-$] Подсистема вывода: предназначена для вывода текущей структуры дерева в консоль, что помогает пользователям анализировать структуру данных в реальном времени. - - \item[$-$] Подсистема взаимодействия с пользователем: реализует интерфейс команд для работы с красно-чёрным деревом, предоставляя пользователю возможность выбора операций через консольное меню. + \item[$-$] Подсистема вывода структуры КЧД на экран; \end{itemize} - -Каждая подсистема ориентирована на улучшение работы с динамическими структурами данных и наглядное представление ключевых алгоритмов работы с красно-чёрными деревьями. + \paragraph{Требования к способам и средствам связи для информационного обмена между компонентами системы} @@ -417,7 +399,8 @@ stringstyle =\bfseries} % шрифт для строк Требования не предъявляются. \paragraph{Требования к режимам функционирования системы} -Требования не предъявляются +Приложение должно иметь активный режим функционирования и использоваться не более 2-х часов в день, 7 дней в неделю. + \paragraph{Требования по диагностированию системы} Требования не предъявляются. @@ -428,15 +411,7 @@ stringstyle =\bfseries} % шрифт для строк \subsubsection{Требования к численности и квалификации персонала системы} -Для эксплуатации приложения <<Словарь-КЧД>> определены следующие роли: - -\begin{itemize} - \item[$-$] Пользователь. -\end{itemize} - -Пользователи системы должны иметь опыт работы с персональным компьютером на базе -операционных систем Microsoft Windows на уровне квалифицированного пользователя и -свободно осуществлять базовые операции в стандартных Windows. +Для эксплуатации приложения <<Словарь-КЧД>> достаточно одного человека. Пользователи системы должны иметь опыт работы с персональным компьютером на базе операционных систем Microsoft Windows на уровне квалифицированного пользователя и свободно осуществлять базовые операции в стандартных Windows. \subsubsection{Показатели назначения} @@ -452,21 +427,32 @@ stringstyle =\bfseries} % шрифт для строк \subsubsection{Требования к надежности} -Надежность обеспечивается: +Система должна сохранять работоспособность и обеспечивать восстановление своих +функций при возникновении следующих внештатных ситуаций: \begin{itemize} - \item[$-$] лицензионным программным обеспечиванием Microsoft Windows 10 и лицензионной - средой разработки Microsoft Visual Studio 2019; - \item[$-$] корректным математическим обеспечением. + \item[$-$] при сбоях в системе электроснабжения аппаратной части, приводящих к перезагрузке ОС, +восстановление программы должно происходить после перезапуска ОС и запуска +исполняемого файла системы; +\item[$-$] при ошибках в работе аппаратных средств (кроме носителей данных и программ) +восстановление функции системы возлагается на ОС; +\item[$-$] при ошибках, связанных с программным обеспечением (ОС и драйверы устройств), +восстановление работоспособности возлагается на ОС. \end{itemize} +Для защиты аппаратуры от бросков напряжения и коммутационных помех должны +применяться сетевые фильтры. + \subsubsection{Требования к безопасности} -Требования не предъявляются. +Факторы, оказывающие вредные воздействия на здоровье со стороны всех элементов системы не должны превышать действующих норм СанПиН 2.2.2./2.4.1340-03 «Гигиенические требования к персональным электронно-вычислительным машинам и организации +работы»(п.10, п.11). +Все внешние элементы технических средств системы, находящиеся под напряжением, +должны соответствовать ГОСТ 12.1.030-81 «Система стандартов безопасности труда»(п.7). \subsubsection{Требования к эргономике и технической эстетике} -Интерфейс должен быть рассчитан на использование клавиатуры, то есть управление системой должно осуществляться с помощью текстовго ввода команд. +Рабочее место должно быть удообным, оборудовано стулом и столом, соответствовать ГОСТ Р 50923-96 <<Дисплеи. Рабочее место оператора. Общие эргономические требования и требования к производственной среде. Методы измерения>>. \subsubsection{Требования к транспортабельности для подвижных АС} Требования не предъявляются. @@ -478,7 +464,7 @@ stringstyle =\bfseries} % шрифт для строк \subsubsection{Требования к защите информации от несанкционированного доступа} -Для защиты информацией от несанкционированного доступа необходимо перед запуском приложения <<Словарь-КЧД>> воспользоваться программами для обнаружения вредоносных объектов. +Требования не предъявляются. \subsubsection{Требования по сохранности информации при авариях} @@ -500,43 +486,41 @@ stringstyle =\bfseries} % шрифт для строк Требования не предъявляются. \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} +Системы управления данными <<Словарь-КЧД>> должна выполнять следущие задачи: +\begin{itemize} + \item[$-$] Создание и поддержание структуры КЧД; + + \item[$-$] Добавление записей в КЧД; + + \item[$-$] Удаление записей из КЧД; + + \item[$-$] Поиск и просмотр записей в КЧД; + + \item[$-$] Сохранение данных и структуры КЧД на диск; + + \item[$-$] Чтение данных и структуры КЧД с диска; + \item[$-$] Вывод структуры КЧД в текстовом виде на экран. \end{itemize} +% Для выполнения поставленных задач должны быть реализованы следующие функции: +% \begin{itemize} +% \item[$-$] Создание и поддержание структуры КЧД; + +% \item[$-$] Добавление записей в КЧД; + +% \item[$-$] Удаление записей из КЧД; + +% \item[$-$] Поиск и просмотр записей в КЧД; + +% \item[$-$] Сохранение данных и структуры КЧД на диск; + +% \item[$-$] Чтение данных и структуры КЧД с диска; + +% \item[$-$] Вывод структуры КЧД в текстовом виде в консоль. +% \end{itemize} + + \subsection{Требования к видам обеспечения} \subsubsection{Требования к математическому обеспечению системы} @@ -565,7 +549,7 @@ stringstyle =\bfseries} % шрифт для строк \subsubsection{Требования к техническому обеспечению} -Требование к минимальной технической характеристике персонального компьютера для запуска приложения <<Словарь-КЧД>>: +Требования к минимальной технической характеристике персонального компьютера для запуска приложения <<Словарь-КЧД>>: \begin{itemize} \item[$-$] Процессор с тактовой частотой минимум 1,2 ГГц; @@ -592,53 +576,51 @@ stringstyle =\bfseries} % шрифт для строк \begin{table}[h!] \centering \footnotesize - \begin{tabularx}{\textwidth}{|X|X|X|X|X|} + \begin{tabularx}{\textwidth}{|c|X|X|X|X|} \hline - \textbf{Название этапа } & \textbf{Сроки + \textbf{Этап} & \textbf{Название этапа} & \textbf{Сроки выполнения} & \textbf{Содержание работ} & \textbf{Результат}\\ \hline - Проектирование приложения & 01.09.2024 - 01.10.2024 & Необходимо провести декомпозицию поставленной задачи и выделить подсистемы приложения, изучить математическое описание алгоритмов, используемых для реализации красно-чёрного дерева. & Список подзадач и + 1 & Проектирование приложения & 01.09.2024 - 01.10.2024 & Необходимо провести декомпозицию поставленной задачи и выделить подсистемы приложения, изучить математическое описание алгоритмов, используемых для реализации красно-чёрного дерева. & Список подзадач и подсистем приложения <<Словарь-КЧД>>, в котором прописан функционал каждой из подсистем. Математическое описание алгоритмов, их псевдокод. Документация с описанием входов и выходов алгоритмов. \\ \hline - Разработка & 02.10.2024 - 01.11.2024 & Реализовать алгоритмы, необходимые в функционировании каждой подсистемы. Реализовать функции приложения <<Словарь-КЧД>>, прописанные в настоящем техническом задании. & Реализованы спроектированные на этапе проектирования подсистемы и связи между ними. Написан исходный код программы. \\ + 2 & Разработка & 02.10.2024 - 01.11.2024 & Реализовать алгоритмы, необходимые в функционировании каждой подсистемы. Реализовать функции приложения <<Словарь-КЧД>>, прописанные в настоящем техническом задании. & Реализованы спроектированные на этапе проектирования подсистемы и связи между ними. Написан исходный код программы. \\ \hline - Тестирование & 02.11.2024 - 16.11.2024 & Тестирование и исправление ошибок приложения <<Словарь-КЧД>>, в том числе на оборудовании Заказчика. Составление и запуск функциональных тестов. & Составлен + 3 & Тестирование & 02.11.2024 - 16.11.2024 & Тестирование и исправление ошибок приложения <<Словарь-КЧД>>, в том числе на оборудовании Заказчика. Составление и запуск функциональных тестов. & Составлен протокол испытаний и тестов для приложения, а также список замечаний и ошибок. Ошибки исправлены, приложение работает стабильно. \\ \hline - Сдача приложения & 17.11.2024 - 20.12.2024 & Передача Заказчику исходного кода и исполняемого файла приложения <<Словарь-КЧД>>, а также инструкции по использованию. & Подписанный Заказчиком и Разработчиком акт приёмки приложения. Исходный код и исполняемый файл переданы Заказчику. Система работает на оборудовании заказчика. \\ + 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{Виды, состав, объем и методы испытаний системы} -Разработчик подгатавливает функциональные тесты для проверки работоспособности приложения. Данные тесты утверждаются Разработчиком и Заказчиком. Приложение устанавливается на ПК базовой комплектации с лицензионным ПО и гарантийным обслуживанием. - -Каждый тест включают в себя проверку работоспособности функций приложения: в словарь производится ввод 30 слов на русском языке, применяются методы поиска, удаления по 5 слов, вывод результата на экран 1 раз. - -Каждый тест выполняется 10 раз с разными наборами слов. Время выполнения теста в целом высчитывается как среднее арифметическое времени выполнения каждого теста на каждом запуске. Время измеряется тактовым генератором. +Виды, состав, объем, и методы испытаний подсистемы должны быть изложены в программе +и методике испытаний Словарь-КЧД, разрабатываемой в составе рабочей документации. \subsection{Общие требования к приемке работ по стадиям} -На стадии тестирования должно быть предоставлено помещение и ПК базовой -комплектации с установленным Visual Studio 2019 и компилятором MSVC (Microsoft Visual C++). +Должен быть предоставлен ПК базовой комплектации на гарантийном обслуживании с лицензионной ОС <>. На стадии тестирования должен быть предоставлен набор тестов и программа испытаний. На конечном этапе приёмки работы, должны быть предоставлены: исходный код программного модуля, исполняемый файл для <>. -На стадии тестирования приложение должно пройти набор функциональных тестов, разработанных совместно с Заказчиком.\\ - -На стадии сдачи проекта, в случае успешного прохождения утвержденной -системы тестов, составляется двусторонний акт приёмки системы Заказчиком. - -Заказчику передаются: -\begin{itemize} - \item[$-$] Исходный код приложения; - \item[$-$] Исполняемый файл приложения для ОС Windows; - \item[$-$] Инструкция по использованию. -\end{itemize} \subsection{Статус приемочной комиссии}