Compare commits
18 Commits
first-vers
...
fourth
| Author | SHA1 | Date | |
|---|---|---|---|
| f6500236a9 | |||
| 8388f31bfb | |||
| d69ec796f2 | |||
| ad90687edb | |||
| 654b2c0863 | |||
| 004d48a87a | |||
| 276c5d7a68 | |||
| cbd2a34951 | |||
| 35b9073a4b | |||
| 92b6f4999b | |||
| ee680db103 | |||
| 87b6b5ab29 | |||
| 269d18038c | |||
| 39b17e0ed9 | |||
| df70180198 | |||
| 0daa8eb426 | |||
| 56c0e35987 | |||
| 79bfa58d0f |
308
report.tex
308
report.tex
@@ -242,7 +242,7 @@ stringstyle =\bfseries} % шрифт для строк
|
||||
\small{наименование АС} \\
|
||||
\vspace{0.5cm}
|
||||
\normalsize{
|
||||
Операции над красно-черными деревьями}\\
|
||||
Процесс управления данными в красно-чёрном дереве}\\
|
||||
\vspace{-15pt}
|
||||
\hdashrule[-2mm]{\textwidth}{0.5pt}{}
|
||||
\small{наименование объекта автоматизации} \\
|
||||
@@ -285,8 +285,8 @@ stringstyle =\bfseries} % шрифт для строк
|
||||
\tableofcontents
|
||||
|
||||
\newpage
|
||||
\section{Общее сведения}
|
||||
\subsection{Полное наименование системы и ее условное обозначение}
|
||||
\section{Общие сведения}
|
||||
\subsection{Полное наименование системы и её условное обозначение}
|
||||
Полное наименование системы: Приложение словарь на основе красно-черных деревьев <<Словарь-КЧД>>.
|
||||
|
||||
Краткое наименование системы: Словарь-КЧД.
|
||||
@@ -305,9 +305,9 @@ stringstyle =\bfseries} % шрифт для строк
|
||||
Отсутствует.
|
||||
|
||||
\subsection{Плановые сроки начала и окончания работы по созданию системы}
|
||||
Плановый срок начала работ по созданию Программы кодировая и декодирования случайной строки
|
||||
Плановый срок начала работ по созданию системы <<Словарь-КЧД>>
|
||||
– 1 сентября 2024 года.\\
|
||||
Плановый срок окончания работ по созданию Программы кодировая и декодирования случайной строки
|
||||
Плановый срок окончания работ по созданию системы <<Словарь-КЧД>>
|
||||
– 20 декабря 2024 года.
|
||||
|
||||
\subsection{Источники и порядок финансирования работ}
|
||||
@@ -316,7 +316,7 @@ stringstyle =\bfseries} % шрифт для строк
|
||||
|
||||
\subsection{Порядок оформления и предъявления заказчику результатов работ по созданию системы}
|
||||
|
||||
При предъявлении результатов работ по созданию приложения Заказчику передаётся исходный код приложения и исполняемый файл приложения для операционной системы Windows.
|
||||
При предъявлении результатов работ Заказчику передаётся находящийся на гарантийном обслуживании ПК базовой комплектации с установленной лицензионной ОС <<Windows 10>>, загрузочный модуль приложения, руководство оператора, написанное в соответствии с ГОСТ 19.505–79, набор функциональных тестов и программа испытаний.
|
||||
|
||||
\subsection{Перечень нормативно-технических документов, методических материалов, использованных при разработке ТЗ}
|
||||
|
||||
@@ -336,6 +336,8 @@ stringstyle =\bfseries} % шрифт для строк
|
||||
\hline
|
||||
3 & КЧД & Красно-чёрное дерево \\
|
||||
\hline
|
||||
4 & ПК & Персональный компьютер \\
|
||||
\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,17 @@ stringstyle =\bfseries} % шрифт для строк
|
||||
\subsubsection{Требования к структуре и функционированию системы}
|
||||
\paragraph{Перечень подсистем, их назначение и основные характеристики}
|
||||
|
||||
В состав системы <<Словарь-КЧД>> входят следующие подсистемы:
|
||||
Аппаратная часть состоит из персонального компьютера базовой комплектации, находящегося на гарантийном обслуживании.
|
||||
Программная часть состоит из приложения <<Словарь-КЧД>> и лицензионной ОС Windows 10.
|
||||
|
||||
Для запуска приложения <<Словарь-КЧД>> ПК должен обладать следующими техническими характеристиками:
|
||||
|
||||
\begin{itemize}
|
||||
\item[$-$] Подсистема управления деревом: отвечает за работу с красно-чёрным деревом, автоматизируя процессы балансировки, вставки и удаления узлов, что позволяет поддерживать корректную структуру дерева при любых изменениях.
|
||||
|
||||
\item[$-$] Подсистема поиска: предназначена для поиска указанных элементов в красно-чёрном дереве.
|
||||
|
||||
\item[$-$] Подсистема вывода: предназначена для вывода текущей структуры дерева в консоль, что помогает пользователям анализировать структуру данных в реальном времени.
|
||||
|
||||
\item[$-$] Подсистема взаимодействия с пользователем: реализует интерфейс команд для работы с красно-чёрным деревом, предоставляя пользователю возможность выбора операций через консольное меню.
|
||||
\item[$-$] Процессор с тактовой частотой минимум 1,2 ГГц;
|
||||
\item[$-$] Объем оперативной памяти минимум 256 Мб;
|
||||
\item[$-$] Свободное место на диске минимум 100 Мб.
|
||||
\end{itemize}
|
||||
|
||||
Каждая подсистема ориентирована на улучшение работы с динамическими структурами данных и наглядное представление ключевых алгоритмов работы с красно-чёрными деревьями.
|
||||
|
||||
\paragraph{Требования к способам и средствам связи для информационного обмена между
|
||||
компонентами системы}
|
||||
@@ -417,7 +390,8 @@ stringstyle =\bfseries} % шрифт для строк
|
||||
Требования не предъявляются.
|
||||
|
||||
\paragraph{Требования к режимам функционирования системы}
|
||||
Требования не предъявляются
|
||||
Приложение должно иметь активный режим функционирования и использоваться не более 2-х часов в день, 7 дней в неделю.
|
||||
|
||||
\paragraph{Требования по диагностированию системы}
|
||||
|
||||
Требования не предъявляются.
|
||||
@@ -428,15 +402,7 @@ stringstyle =\bfseries} % шрифт для строк
|
||||
|
||||
\subsubsection{Требования к численности и квалификации персонала системы}
|
||||
|
||||
Для эксплуатации приложения <<Словарь-КЧД>> определены следующие роли:
|
||||
|
||||
\begin{itemize}
|
||||
\item[$-$] Пользователь.
|
||||
\end{itemize}
|
||||
|
||||
Пользователи системы должны иметь опыт работы с персональным компьютером на базе
|
||||
операционных систем Microsoft Windows на уровне квалифицированного пользователя и
|
||||
свободно осуществлять базовые операции в стандартных Windows.
|
||||
Для эксплуатации приложения <<Словарь-КЧД>> достаточно одного человека. Пользователи системы должны иметь опыт работы с персональным компьютером на базе операционных систем Microsoft Windows и свободно осуществлять базовые операции в стандартных Windows. Перед началом работы пользователь должен ознакомиться с руководством оператора, написанным в соответствии с ГОСТ 19.505–79.
|
||||
|
||||
\subsubsection{Показатели назначения}
|
||||
|
||||
@@ -445,28 +411,32 @@ stringstyle =\bfseries} % шрифт для строк
|
||||
назначению:
|
||||
|
||||
\begin{itemize}
|
||||
\item[$-$] Время добавления словарной записи должно непревышать 1 секунды при размере словаря в менее чем 10000 записей;
|
||||
\item[$-$] Время удаления словарной записи должно непревышать 1 секунды при размере словаря в менее чем 10000 записей;
|
||||
\item[$-$] Время поиска словарной записи должно непревышать 1 секунды при размере словаря в менее чем 10000 записей.
|
||||
\item[$-$] Время добавления словарной записи в КЧД не должно превышать 1 секунду, если в словаре меньше 10000 записей;
|
||||
\item[$-$] Время удаления словарной записи из КЧД не должно превышать 1 секунду, если в словаре меньше 10000 записей;
|
||||
\item[$-$] Время поиска словарной записи в КЧД не должно превышать 1 секунду, если в словаре меньше 10000 записей.
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{Требования к надежности}
|
||||
|
||||
Надежность обеспечивается:
|
||||
|
||||
Надежность системы <<Словарь-КЧД>> обеспечивается:
|
||||
\begin{itemize}
|
||||
\item[$-$] лицензионным программным обеспечиванием Microsoft Windows 10 и лицензионной
|
||||
средой разработки Microsoft Visual Studio 2019;
|
||||
\item[$-$] корректным математическим обеспечением.
|
||||
\item[$-$] аппаратным обеспечением, находящимся на гарантийном обслуживании;
|
||||
\item[$-$] лицензионной ОС <<Windows 10>>;
|
||||
\item[$-$] математически корректным обеспечением;
|
||||
\item[$-$] соответствием процесса разработки приложения ГОСТ Р ИСО/МЭК 25010-2015 «Требования и оценка качества систем и программного обеспечения».
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\subsubsection{Требования к безопасности}
|
||||
|
||||
Требования не предъявляются.
|
||||
Факторы, оказывающие вредные воздействия на здоровье со стороны всех элементов системы не должны превышать действующих норм СанПиН 2.2.2./2.4.1340-03 «Гигиенические требования к персональным электронно-вычислительным машинам и организации
|
||||
работы»(п.10, п.11).
|
||||
Все внешние элементы технических средств системы, находящиеся под напряжением,
|
||||
должны соответствовать ГОСТ 12.1.030-81 «Система стандартов безопасности труда»(п.7).
|
||||
|
||||
\subsubsection{Требования к эргономике и технической эстетике}
|
||||
|
||||
Интерфейс должен быть рассчитан на использование клавиатуры, то есть управление системой должно осуществляться с помощью текстовго ввода команд.
|
||||
Рабочее место должно быть удобным, оборудовано стулом и столом, соответствовать ГОСТ Р 50923-96 <<Дисплеи. Рабочее место оператора. Общие эргономические требования и требования к производственной среде. Методы измерения>>.
|
||||
|
||||
\subsubsection{Требования к транспортабельности для подвижных АС}
|
||||
Требования не предъявляются.
|
||||
@@ -478,16 +448,15 @@ stringstyle =\bfseries} % шрифт для строк
|
||||
|
||||
\subsubsection{Требования к защите информации от несанкционированного доступа}
|
||||
|
||||
Для защиты информацией от несанкционированного доступа необходимо перед запуском приложения <<Словарь-КЧД>> воспользоваться программами для обнаружения вредоносных объектов.
|
||||
Требования не предъявляются.
|
||||
|
||||
\subsubsection{Требования по сохранности информации при авариях}
|
||||
|
||||
Требования не предъявляются.
|
||||
Приложение <<Словарь-КЧД>> и данные о созданных пользователем словарных записях должны храниться на жёстком диске ПК. Не реже чем один раз в неделю необходимо создавать резервную копию приложения на USB-накопителе, чтобы обеспечить возможность восстановления данных при авариях. На ПК должна быть установлена лицензионная ОС <<Windows 10>>. ПК должен находиться на гарантийном обслуживании. Также ПК должен быть оснащён источником бесперебойного питания, обеспечивающим работу в течение 5 минут при перепадах напряжения.
|
||||
|
||||
\subsubsection{Требования к защите от влияния внешних воздействий}
|
||||
|
||||
Защита от влияния внешних воздействий должна обеспечиваться средствами программно
|
||||
технического комплекса Заказчика.
|
||||
Требования не предъявляются.
|
||||
|
||||
\subsubsection{Требования к патентной чистоте}
|
||||
Требования не предъявляются.
|
||||
@@ -500,77 +469,126 @@ stringstyle =\bfseries} % шрифт для строк
|
||||
Требования не предъявляются.
|
||||
|
||||
\subsection{Требования к функциям (задачам), выполняемым системой}
|
||||
В состав системы <<Словарь-КЧД>> входят следующие подсистемы с функциональными требованиями:
|
||||
|
||||
Система управления данными <<Словарь-КЧД>> должна выполнять следующие задачи:
|
||||
\begin{itemize}
|
||||
\item \textbf{Подсистема управления деревом}
|
||||
\begin{itemize}
|
||||
\item Функции: балансировка, вставка, удаление узлов в красно-чёрном дереве.
|
||||
\item Временной регламент: операции вставки и удаления должны выполняться за $O(\log n)$ времени.
|
||||
\item Качество реализации: система обязана корректно поддерживать структуру дерева, не допуская нарушения свойств красно-чёрного дерева при любых изменениях.
|
||||
\item Критерии отказа: некорректная балансировка дерева, невозможность вставки/удаления узла при верных входных данных.
|
||||
\end{itemize}
|
||||
\item[$-$] Создание и поддержание структуры КЧД;
|
||||
|
||||
\item \textbf{Подсистема поиска}
|
||||
\begin{itemize}
|
||||
\item Функции: поиск элементов по ключу в красно-чёрном дереве.
|
||||
\item Временной регламент: поиск должен выполняться за $O(\log n)$ времени.
|
||||
\item Качество реализации: система должна точно возвращать ссылку на узел или результат о его отсутствии.
|
||||
\item Критерии отказа: неверный результат поиска при корректных данных.
|
||||
\end{itemize}
|
||||
\item[$-$] Добавление записей в КЧД;
|
||||
|
||||
\item \textbf{Подсистема вывода}
|
||||
\begin{itemize}
|
||||
\item Функции: вывод структуры дерева в консоль.
|
||||
\item Временной регламент: выполнение функции вывода — не более $O(n)$ времени.
|
||||
\item Качество реализации: данные должны отображаться в удобном для анализа формате.
|
||||
\item Критерии отказа: некорректное отображение структуры дерева.
|
||||
\end{itemize}
|
||||
\item[$-$] Удаление записей из КЧД;
|
||||
|
||||
\item \textbf{Подсистема взаимодействия с пользователем}
|
||||
\begin{itemize}
|
||||
\item Функции: реализация интерфейса команд для управления красно-чёрным деревом.
|
||||
\item Временной регламент: реакции на команды пользователя должны происходить в реальном времени (не более 1 секунды).
|
||||
\item Качество реализации: интерфейс должен быть интуитивным, а сообщения об ошибках — информативными.
|
||||
\item Критерии отказа: отсутствие отклика на команды пользователя или некорректное выполнение команд.
|
||||
\end{itemize}
|
||||
\item[$-$] Поиск и просмотр записей в КЧД;
|
||||
|
||||
\item[$-$] Сохранение данных и структуры КЧД на диск;
|
||||
|
||||
\item[$-$] Чтение данных и структуры КЧД с диска;
|
||||
|
||||
\item[$-$] Вывод структуры КЧД в текстовом виде на экран.
|
||||
\end{itemize}
|
||||
|
||||
Для выполнения поставленных задач должны быть реализованы следующие функции:
|
||||
\begin{itemize}
|
||||
\item Функция для создания структуры КЧД.
|
||||
\item Функция для инициализации структуры КЧД с заданными параметрами.
|
||||
\item Функция для добавления новой записи в структуру КЧД.
|
||||
\item Функция для балансировки КЧД после добавления записи.
|
||||
\item Функция для удаления записи из структуры КЧД.
|
||||
\item Функция для балансировки КЧД после удаления записи.
|
||||
\item Функция для поиска записи в КЧД.
|
||||
\item Функция для отображения записей структуры КЧД в текстовом виде.
|
||||
\item Функция для сохранения структуры и данных КЧД на диск.
|
||||
\item Функция для загрузки структуры и данных КЧД с диска.
|
||||
\item Функция для вывода структуры КЧД на экран в текстовом формате.
|
||||
\item Функция для проверки целостности структуры КЧД при загрузке.
|
||||
\item Функция для контроля и обработки входных данных от пользователя.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\subsection{Требования к видам обеспечения}
|
||||
|
||||
\subsubsection{Требования к математическому обеспечению системы}
|
||||
|
||||
При реализации системы используются следующие математически корректные алгоритмы для красно-черного дерева:
|
||||
\begin{itemize}
|
||||
\item[$-$] алгоритмы балансировки дерева: левый поворот, правый поворот, перекрашивание узла;
|
||||
\item[$-$] вставка узла в дерево;
|
||||
\item[$-$] удаление узла из дерева;
|
||||
\item[$-$] поиск узла в дереве;
|
||||
\item[$-$] обход всех узлов дерева.
|
||||
\end{itemize}
|
||||
При реализации системы <<Словарь-КЧД>> используются математически корректные алгоритмы.
|
||||
|
||||
\subsubsection{Требования к информационному обеспечению системы}
|
||||
|
||||
Красно-черное дерево основано на структуре связного списка, который представляет собой сеть узлов, каждый из которых содержит данные, указатель на следующий узел и дополнительный бит, представляющий цвет. Память для хранения данных выделяется динамически и очищается при их удалении.
|
||||
Структура данных:
|
||||
\begin{itemize}
|
||||
\item Класс \textbf{RBTree} (наследуется от \texttt{BinarySearchTree}):
|
||||
\begin{itemize}
|
||||
\item Методы:
|
||||
\begin{itemize}
|
||||
\item \texttt{void insert(std::string key, std::string value)}: Метод для вставки узла с заданными ключом и значением в дерево, с последующей балансировкой.
|
||||
\item \texttt{void remove(std::string key)}: Метод для удаления узла с заданным ключом из дерева, с последующей балансировкой.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
||||
\item Класс \textbf{BinarySearchTree}:
|
||||
\begin{itemize}
|
||||
\item Атрибуты:
|
||||
\begin{itemize}
|
||||
\item \texttt{Node* root}: Указатель на корневой узел дерева.
|
||||
\end{itemize}
|
||||
\item Методы:
|
||||
\begin{itemize}
|
||||
\item \texttt{Node* search(Node* node, std::string key)}: Метод для поиска узла с заданным ключом, начиная с узла \texttt{node}.
|
||||
\item \texttt{Node* getMin(Node* node)}: Метод для получения узла с минимальным ключом, начиная с узла \texttt{node}.
|
||||
\item \texttt{Node* getMax(Node* node)}: Метод для получения узла с максимальным ключом, начиная с узла \texttt{node}.
|
||||
\item \texttt{void removeTree()}: Метод для удаления всего дерева.
|
||||
\item \texttt{void printTree()}: Метод для вывода дерева.
|
||||
\item \texttt{Node* insert(std::string key, std::string value)}: Метод для вставки нового узла с заданными ключом и значением.
|
||||
\item \texttt{Node* remove(std::string key, Node* \&saveChildPtr)}: Метод для удаления узла с заданным ключом, сохраняя указатель на узел потомка.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
||||
\item Класс \textbf{Node}:
|
||||
\begin{itemize}
|
||||
\item Атрибуты:
|
||||
\begin{itemize}
|
||||
\item \texttt{std::string key}: Ключ узла.
|
||||
\item \texttt{std::string value}: Значение узла.
|
||||
\item \texttt{bool color}: Цвет узла (красный или черный).
|
||||
\item \texttt{Node* left}: Указатель на левый дочерний узел.
|
||||
\item \texttt{Node* right}: Указатель на правый дочерний узел.
|
||||
\item \texttt{Node* parent}: Указатель на родительский узел.
|
||||
\end{itemize}
|
||||
\item Методы:
|
||||
\begin{itemize}
|
||||
\item \texttt{void createLeafs()}: Метод для создания дочерних узлов-листьев.
|
||||
\item \texttt{Node* grandparent() const}: Метод для получения указателя на дедушку узла.
|
||||
\item \texttt{Node* uncle() const}: Метод для получения указателя на дядю узла.
|
||||
\item \texttt{Node* brother() const}: Метод для получения указателя на брата узла.
|
||||
\item \texttt{std::string toString() const}: Метод для преобразования узла в строку, включающую ключ, значение и цвет.
|
||||
\item \texttt{bool isLeaf()}: Метод для проверки, является ли узел листом.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
||||
\item Типы данных:
|
||||
\begin{itemize}
|
||||
\item \texttt{std::string}: Строковый тип данных, используемый для хранения ключей и значений узлов.
|
||||
\item \texttt{bool}: Логический тип данных, применяемый для указания цвета узла в красно-черном дереве (красный или черный).
|
||||
\item \texttt{int}: Целочисленный тип данных для хранения значений, таких как счетчики или индексы.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\subsubsection{Требования к лингвистическому обеспечению системы}
|
||||
|
||||
Ввод-вывод данных, а также пользователский интерфейс должен быть реализован на русском языке.
|
||||
Ввод-вывод данных, а также пользовательский интерфейс должен быть реализован на русском языке.
|
||||
|
||||
\subsubsection{Требования к программному обеспечению системы}
|
||||
|
||||
При разработке должна использоватеься лицензионная версия Microsoft Visual Studio 2019.
|
||||
При разработке должна использоваться лицензионная версия Microsoft Visual Studio 2019.
|
||||
Базовой программной платформой должна являться лицензированная операционная система Microsoft Windows 10.
|
||||
|
||||
\subsubsection{Требования к техническому обеспечению}
|
||||
|
||||
Требование к минимальной технической характеристике персонального компьютера для запуска приложения <<Словарь-КЧД>>:
|
||||
Для запуска приложения <<Словарь-КЧД>> ПК должен обладать следующими техническими характеристиками:
|
||||
|
||||
\begin{itemize}
|
||||
\item[$-$] Процессор с тактовой частотой минимум 1,2 ГГц;
|
||||
\item[$-$] Объем оперативной памяти минимум 256 Мб;
|
||||
\item[$-$] Свободное место на диске – 100 Мб;
|
||||
\item[$-$] Свободное место на диске минимум 100 Мб.
|
||||
\end{itemize}
|
||||
|
||||
\subsubsection{Требования к метрологическому обеспечению}
|
||||
@@ -592,53 +610,55 @@ 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 - 20.09.2024 & Необходимо провести декомпозицию поставленной задачи и выделить подсистемы приложения, изучить математическое описание алгоритмов, используемых для реализации красно-чёрного дерева. & Список подзадач и
|
||||
подсистем приложения <<Словарь-КЧД>>, в котором прописан функционал
|
||||
каждой из подсистем. Математическое описание алгоритмов, их псевдокод. Документация с описанием входов и выходов алгоритмов. \\
|
||||
каждой из подсистем. Математическое описание алгоритмов. \\
|
||||
\hline
|
||||
Разработка & 02.10.2024 - 01.11.2024 & Реализовать алгоритмы, необходимые в функционировании каждой подсистемы. Реализовать функции приложения <<Словарь-КЧД>>, прописанные в настоящем техническом задании. & Реализованы спроектированные на этапе проектирования подсистемы и связи между ними. Написан исходный код программы. \\
|
||||
2 & Разработка приложения & 21.09.2024 - 20.10.2024 & Реализовать алгоритмы, необходимые в функционировании каждой подсистемы. Реализовать функции приложения <<Словарь-КЧД>>, прописанные в настоящем техническом задании. & Реализованы спроектированные на этапе проектирования подсистемы и связи между ними. Реализованы функции приложения <<Словарь-КЧД>>. \\
|
||||
\hline
|
||||
Тестирование & 02.11.2024 - 16.11.2024 & Тестирование и исправление ошибок приложения <<Словарь-КЧД>>, в том числе на оборудовании Заказчика. Составление и запуск функциональных тестов. & Составлен
|
||||
протокол испытаний и тестов для приложения, а также список замечаний и ошибок. Ошибки исправлены, приложение работает стабильно. \\
|
||||
3 & Разработка функциональных тестов & 21.10.2024 - 01.11.2024 & Разработка тестов, направленных на поиск ошибок и несоответствия функционала требованиям. & Функциональные тесты и программа испытаний, утверждённые Разработчиком и Заказчиком. \\
|
||||
\hline
|
||||
Сдача приложения & 17.11.2024 - 20.12.2024 & Передача Заказчику исходного кода и исполняемого файла приложения <<Словарь-КЧД>>, а также инструкции по использованию. & Подписанный Заказчиком и Разработчиком акт приёмки приложения. Исходный код и исполняемый файл переданы Заказчику. Программа работает на оборудовании заказчика. \\
|
||||
4 & Тестирование и отладка приложения & 02.11.2024 - 16.11.2024 & Применение разработанных тестов, поиск и исправление ошибок. & Составлен протокол тестирования. Ошибки исправлены. \\
|
||||
\hline
|
||||
5 & Написание руководства оператора & 17.11.2024 - 01.12.2024 & Написание руководства оператора в соответствии с ГОСТ 19.505–79. & Руководство оператора, написанное в соответствии с ГОСТ 19.505–79. \\
|
||||
\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
|
||||
6 & Сдача приложения & 02.12.2024 - 20.12.2024 &
|
||||
Заказчику передаётся: находящийся на гарантийном обслуживании ПК базовой комплектации с установленной лицензионной ОС <<Windows 10>>, загрузочный модуль приложения, руководство оператора, написанное в соответствии с ГОСТ 19.505–79, набор функциональных тестов и программа испытаний.
|
||||
& Подписанный Заказчиком и Разработчиком акт приёмки-сдачи приложения. \\
|
||||
\hline
|
||||
\end{tabularx}
|
||||
\end{table}
|
||||
|
||||
\newpage
|
||||
|
||||
|
||||
\section{ПОРЯДОК КОНТРОЛЯ И ПРИЕМКИ СИСТЕМЫ}
|
||||
|
||||
\subsection{Виды, состав, объем и методы испытаний системы}
|
||||
|
||||
Разработчик подгатавливает функциональные тесты для проверки работоспособности приложения. Данные тесты утверждаются Разработчиком и Заказчиком. Приложение устанавливается на ПК базовой комплектации с лицензионным ПО и гарантийным обслуживанием.
|
||||
|
||||
Каждый тест включают в себя проверку работоспособности функций приложения: в словарь производится ввод 30 слов на русском языке, применяются методы поиска, удаления по 5 слов, вывод результата на экран 1 раз.
|
||||
|
||||
Каждый тест выполняется 10 раз с разными наборами слов. Время выполнения теста в целом высчитывается как среднее арифметическое времени выполнения каждого теста на каждом запуске. Время измеряется тактовым генератором.
|
||||
Виды, состав, объем, и методы испытаний изложены в программе испытаний, которую подготавливает Разработчик. Также разработчик подготавливает набор функциональных тестов. Функциональные тесты и программа испытаний утверждаются Разработчиком и Заказчиком.
|
||||
|
||||
\subsection{Общие требования к приемке работ по стадиям}
|
||||
|
||||
На стадии тестирования должно быть предоставлено помещение и ПК базовой
|
||||
комплектации с установленным Visual Studio 2019 и компилятором MSVC (Microsoft Visual C++).
|
||||
Во время приёмки работ Заказчику передаётся находящийся на гарантийном обслуживании ПК базовой комплектации с установленной лицензионной ОС <<Windows 10>>, загрузочный модуль приложения, руководство оператора, написанное в соответствии с ГОСТ 19.505–79, набор функциональных тестов и программа испытаний.
|
||||
|
||||
На стадии тестирования приложение должно пройти набор функциональных тестов, разработанных совместно с Заказчиком.\\
|
||||
Заказчик и Разработчик подписывают акт приёмки-сдачи приложения.
|
||||
|
||||
На стадии сдачи проекта, в случае успешного прохождения утвержденной
|
||||
системы тестов, составляется двусторонний акт приёмки системы Заказчиком.
|
||||
|
||||
Заказчику передаются:
|
||||
\begin{itemize}
|
||||
\item[$-$] Исходный код приложения;
|
||||
\item[$-$] Исполняемый файл приложения для ОС Windows;
|
||||
\item[$-$] Инструкция по использованию.
|
||||
\end{itemize}
|
||||
|
||||
\subsection{Статус приемочной комиссии}
|
||||
|
||||
@@ -648,13 +668,15 @@ stringstyle =\bfseries} % шрифт для строк
|
||||
\section{ТРЕБОВАНИЯ К СОСТАВУ И СОДЕРЖАНИЮ РАБОТ ПО ПОДГОТОВКЕ ОБЪЕКТА
|
||||
АВТОМАТИЗАЦИИ К ВВОДУ СИСТЕМЫ В ДЕЙСТВИЕ}
|
||||
|
||||
Подготовить рабочее место в соответствии с требованиями, установленными в разделе 4 технического задания. Загрузить исполняемый файл на компьютер с установленной ОС Windows, удовлетворяющий минимальным системным требованиям, описанным в п. 4.1.6. Исполняемый файл должен запускаться без дополнительной настройки. Для компиляции приложения из исходного кода должен использоваться Visual Studio 2019 и компилятор MSVC (Microsoft Visual C++).
|
||||
Подготовить рабочее место в соответствии с требованиями, установленными в разделе 4 технического задания. Загрузить загрузочный модуль на ПК базовой комплектации на гарантийном обслуживании с установленной лицензионной ОС Windows. Запустить загрузочный модуль и подождать около 5 секунд до полной загрузки приложения.
|
||||
|
||||
Перед началом работы с приложением пользователь должен изучить инструкцию пользователя.
|
||||
Перед началом работы с приложением пользователь должен ознакомиться с руководством оператора, написанным в соответствии с ГОСТ 19.505–79.
|
||||
|
||||
\newpage
|
||||
\section{ТРЕБОВАНИЯ К ДОКУМЕНТИРОВАНИЮ}
|
||||
Заказчику вместе с приложением должна быть предоставлена инструкция по использованию приложения.
|
||||
Руководство оператора, предъявляемое Заказчику вместе с приложением, должно быть
|
||||
написано в соответствии с ГОСТ 19.505–79 «Единая система программной документации.
|
||||
Руководство оператора. Требования к содержанию и оформлению».
|
||||
|
||||
\newpage
|
||||
\section{ИСТОЧНИКИ РАЗРАБОТКИ}
|
||||
|
||||
Reference in New Issue
Block a user