Правки с лекции

This commit is contained in:
2024-11-11 17:35:02 +03:00
parent 79bfa58d0f
commit 56c0e35987

View File

@@ -316,7 +316,7 @@ stringstyle =\bfseries} % шрифт для строк
\subsection{Порядок оформления и предъявления заказчику результатов работ по созданию системы}
При предъявлении результатов работ по созданию приложения Заказчику передаётся исходный код приложения и исполняемый файл приложения для операционной системы Windows.
При предъявлении результатов работ Заказчику передаётся ПК базовой комплектации, с установленной лицензионной ОС <<Windows 10>> и находящийся на гарантийном обслуживании.
\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++).
Должен быть предоставлен ПК базовой комплектации на гарантийном обслуживании с лицензионной ОС <<Windows 10>>. На стадии тестирования должен быть предоставлен набор тестов и программа испытаний. На конечном этапе приёмки работы, должны быть предоставлены: исходный код программного модуля, исполняемый файл для <<Windows 10>>.
На стадии тестирования приложение должно пройти набор функциональных тестов, разработанных совместно с Заказчиком.\\
На стадии сдачи проекта, в случае успешного прохождения утвержденной
системы тестов, составляется двусторонний акт приёмки системы Заказчиком.
Заказчику передаются:
\begin{itemize}
\item[$-$] Исходный код приложения;
\item[$-$] Исполняемый файл приложения для ОС Windows;
\item[$-$] Инструкция по использованию.
\end{itemize}
\subsection{Статус приемочной комиссии}