
Уфимский университет науки и технологий
Кафедра ТК
«Нормативное обеспечение специфицирования требований к аппаратно-
программным комплексам»
по дисциплине: «Управление программными проектами»
Выполнил:
Студент группы ИВТ-427б
.
Проверил:
Гвоздев В.Е.
Уфа 2024
Содержание
1. Введение 3
1.1 Цель проекта 3
1.2 Задача проекта 3
1.3 Требования к интерфейсу пользователя 3
2. Разработка плана реализации проекта 5
3. Подготовка комплексного тестирования 10
3.1 Наборы тестов для верификации 10
3.2 Схема взаимодействия модулей 11
3.2 Входы и выходы модулей 11
4. Тестирование 13
4.1 Тестовые наборы: 13
4.2 Тестирование модулей 18
1. Введение
1.1 Цель проекта
Целью данного проекта является отработка приемов разработки локального ПО в рамках водопадной модели.
1.2 Задача проекта
Задачами данного проекта являются построение поля рассеяния, отражающих взаимосвязь топологических характеристик, а также построение уравнения регрессии следующего вида:
1.3 Требования к интерфейсу пользователя
- Результаты взаимосвязи топологических характеристик должен отображаться в виде графика
- Сообщения об ошибках должны быть понятны пользователю
- Должен быть реализован флажок для вывода выходных данных каждого модуля
1.4 Требования к верификации
- при запуске ПО:
1) ПО запускается успешно без ошибок
2) Отображается главный экран с доступным меню
- генерация графа:
1) поле выбора N должны содержать допустимые значения
2) должен сгенерироваться полносвязный граф
3) Визуализация графа соответствует выбранному размеру.
- удаление ребер:
1) удаление ребер отображается в матрице
2) граф остаётся связным.
- вычисление топологических характеристик:
1) результаты вычислений отображаются на экране
- построение поля рассеяния
1) на экране появляется график поля рассеяния
2) Отображается линия регрессии y=ea0+a1⋅x+a2⋅x2y
3) Указаны параметры регрессии (a0,a1,a2 ).
1.5 Соответствие задач разработки и функциональных требований
Функциональные требования к ПП:
Задача: Генерация полносвязного графа Функциональное требование: Программное обеспечение должно уметь создавать полносвязную сеть N×N, где N — заданное число узлов.
Задача: Удаление случайных рёбер Функциональное требование: Реализация функции случайного удаления заданного числа M рёбер из графа с использованием случайного датчика чисел. M должно соответствовать диапазону 0.4×E до 0.7×E, где E — общее число рёбер.
Задача: Проверка связности графа Функциональное требование: Программное обеспечение должно проверять, сохраняется ли связность графа после удаления рёбер.
Задача: Вычисление топологических характеристик: Функциональное требование: Определение структурной надёжности графа.
Задача: Определение центральности графа: Функциональное требование: Расчёт среднего значения центральности между узлами графа.
Задача: Построение графиков Функциональное требование: Построение полей рассеяния, а также наложение экспоненциальной регрессионной зависимости.
Задача: Валидация и тестирование Функциональное требование: Реализация модульных и интеграционных тестов для верификации соответствия программного продукта функциональным требованиям.
2. Разработка плана реализации проекта
2.1 Разработка дорожной карты реализации проекта
Этап |
Задачи |
Сроки |
1.1 Постановка задачи |
-Получение задания -Определение основных функциональных требований |
10 сентября - 15 сентября |
1.2 Исследование и анализ |
-Изучение алгоритмов генерации графов - Анализ методов случайного удаления рёбер -Оценка способов расчёта топологических характеристик |
16 сентября - 20 сентября |
1.3 Разработка функциональных требований |
-Разработка подробных функциональных требований на основе стандартов (IEEE 830-1998), описание всех компонентов системы. |
21 сентября - 30 сентября |
2.1 Разработка архитектуры |
- Определение структуры программы - Разработка схемы взаимодействия модулей |
1 октября - 5 октября |
2.2 Реализация генерации графов |
- Реализация функционала для создания полносвязных графов - Проверка корректности генерации графа |
6 октября - 10 октября |
2.3 Реализация удаления рёбер |
- Разработка алгоритма для случайного удаления рёбер из графа - Добавление логики для соблюдения диапазона удаляемых рёбер MMM |
11 октября - 15 октября |
2.4 Реализация расчёта топологических характеристик |
- Разработка функции для расчёта структурной надёжности - Реализация функции для расчёта центральности |
16 октября - 20 октября |
2.5 Визуализация данных |
- Разработка графического интерфейса для построения полей рассеяния - Реализация отображения экспоненциальной регрессионной зависимости |
21 октября - 25 октября |
2.6 Верификация промежуточных результатов |
- Проведение тестирования основных функций - Отладка и исправление ошибок |
26 октября - 31 октября |
3.1 Интеграция всех модулей |
- Интеграция функций генерации графов, удаления рёбер, расчёта характеристик и визуализации в единую систему |
1 ноября - 5 ноября |
3.2 Проведение модульных тестов |
- Написание тестов для каждого модуля - Проверка корректности работы модулей с данными |
6 ноября - 10 ноября |
3.3 Тестирование на разных значениях N |
- Проведение экспериментов с различными размерами графов (N = 5, 10, 25, 100) - Анализ результатов |
16 ноября - 20 ноября |
3.4 Отладка и исправление ошибок |
- Исправление выявленных ошибок и багов в программе - Повторное тестирование после исправлений |
21 ноября - 30 ноября |
4.1 Разработка документации |
- Подготовка документации для всех этапов разработки - Описание алгоритмов, функций и структур данных |
1 декабря - 5 декабря |
4.2 Подготовка отчёта по тестированию |
- Описание результатов тестирования, полученных данных и выводов |
6 декабря - 10 декабря |
4.3 Итоговое тестирование и доработка |
- Проведение финальных тестов на работоспособность системы -Проверка всего функционала |
16 декабря - 20 декабря |
4.4 Сдача проекта |
- Сдача документации и отчёта заказчику - Предоставление итогового программного продукта |
21 декабря - 24 декабря |
2.2 Критерии контроля качества каждой стадии
1. Сентябрь: Начальный этап (10 сентября - 30 сентября)
1.1 Постановка задачи
Критерии качества:
Четкое описание целей проекта.
Подтверждение и утверждение задания заказчиком.
Понимание и согласование критериев сдачи и приёмки работы.
1.2 Исследование и анализ
Критерии качества:
Проблемы, которые могут возникнуть при реализации, предварительно выявлены и задокументированы.
1.3 Разработка функциональных требований
Критерии качества:
Формализованные функциональные требования, соответствующие стандарту IEEE 830-1998.
Каждое требование согласовано с заказчиком.
2. Октябрь: Разработка (1 октября - 31 октября)
2.1 Разработка архитектуры
Критерии качества:
Архитектура системы обеспечивает решение всех поставленных задач, включая возможность тестирования.
Разработка архитектуры согласована с заказчиком.
Все компоненты системы должным образом взаимодействуют
2.2 Реализация генерации графов
Критерии качества:
Реализована корректная генерация связных графов размером N×N
Программа генерирует графы с корректным числом рёбер, учитывая ограничения по числу вершин.
Программа успешно работает на различных значениях NNN (например, для 5, 10, 25, 100 вершин).
2.3 Реализация удаления рёбер
Критерии качества:
Алгоритм случайного удаления рёбер работает корректно с учетом ограничений (максимальное число удаляемых рёбер, случайность).
После удаления рёбер граф остаётся связным
2.4 Реализация расчёта топологических характеристик
Критерии качества:
Реализованы корректные методы расчёта центральности и структурной надёжности графа.
Программа корректно работает на разных размерах графа.
2.5 Визуализация данных
Критерии качества:
Визуализация данных (поля рассеяния) соответствует требованиям.
Графики отображаются корректно: линии и точки имеют правильные размеры, цвета и масштаб.
Все элементы интерфейса отображаются без ошибок.
Верификация промежуточных результатов
Критерии качества:
На каждом этапе разработки проводятся тесты на соответствие результатов функциональным требованиям.
Ошибки и несоответствия фиксируются и устраняются на ранних стадиях.
Обратная связь от заказчика, если это необходимо, учтена в процессе разработки.
3. Ноябрь: Тестирование и интеграция (1 ноября - 30 ноября)
3.1 Интеграция всех модулей
Критерии качества:
Все модули интегрированы в единую систему без конфликтов.
Все межмодульные зависимости проверены.
Система работает как единое целое, проверена на согласованность данных между модулями.
3.2 Проведение модульных тестов
Критерии качества:
Каждый модуль протестирован отдельно.
Тесты выполняются для различных входных данных (графы разных размеров, количество удалённых рёбер).
3.3 Тестирование на разных значениях N*N
Критерии качества:
Все компоненты программы проверяются на различных размерах графов.
Программа работает стабильно при увеличении N*N (для N=5,10,25,100).
3.4 Отладка и исправление ошибок
Критерии качества:
Все выявленные ошибки исправляются и проходят повторное тестирование.
После исправления ошибок система работает корректно.
Программа проходит финальное тестирование.
4. Декабрь: Завершающий этап (1 декабря - 24 декабря)
4.1 Разработка документации
Критерии качества:
Документация соответствует стандартам и описывает все аспекты проекта: архитектуру, реализацию, тестирование.
Включает детальное описание всех функций и модулей системы.
4.2 Подготовка отчёта по проекту
Критерии качества:
Отчёт включает полное описание работы, этапов разработки и достигнутых результатов.
В отчёте представлены результаты тестирования и анализа ошибок.
4.4 Итоговое тестирование и доработка
Критерии качества:
Все финальные тесты прошли успешно.
Проект проверен на соответствие всем первоначальным требованиям.
4.5 Сдача проекта
Критерии качества:
Программа готова к передаче заказчику.
Заказчик подтвердил удовлетворенность результатами работы.
3. Подготовка комплексного тестирования
3.1 Наборы тестов для верификации
Проверить допустимость значений 0<N<=100;
Убедится, что граф полносвязный
Количество экспериментов равно 1000
Убедится, что ПО не удаляет все ребра в графе
Убедится, что количество удаляемых m < N
3.2 Схема взаимодействия модулей
3.2 Входы и выходы модулей
Генерация графов |
Вход. д. |
Выход. Д. |
Преобразования |
|
Число узлов N
|
Матрица N*N заполненная единицами |
Строю матрицу N*N, заполняю матрицу единицами, по диагонали - нулями |
Удаление ребер |
Вход. д. |
Выход. Д. |
Преобразования |
|
Матрица N*N заполненная единицами |
Матрица N*N с удаленными ребрами |
Генерирую количество случайно удаляемых ребер, в матрице заполняю нулями ячейки соответствующих этому кол-во удаляемых ребер |
Проверка связанности графа |
Вход. д. |
Выход. Д. |
Преобразования |
|
Матрица N*N с удаленными ребрами |
Матрица N*N с удаленными ребрами |
Проверяем, доступна ли каждая вершина графа из любой другой вершины |
Вычисление запаса структурной надежности |
Вход. д. |
Выход. Д. |
Преобразования |
|
Матрица N*N с удаленными ребрами |
Матрица N*N с удаленными ребрами, результат структурной надежности |
Проверяем на связность графа и проводим вычисления |
Вычисление центральности графа |
Вход. д. |
Выход. Д. |
Преобразования |
|
Матрица N*N с удаленными ребрами, результат структурной надежности |
Матрица N*N с удаленными ребрами, результат структурной надежности, результат центральности графа |
Проводим вычисления по заданным формулам |
Поле рассеивания |
Вход. д. |
Выход. Д. |
Преобразования |
|
Матрица N*N с удаленными ребрами, результат структурной надежности, результат центральности графа |
Матрица N*N с удаленными ребрами, результат структурной надежности, результат центральности графа, поле рассеивания |
По полученным точкам строим поле рассеивания |
Построение экспоненциальной модели |
Вход. д. |
Выход. Д. |
Преобразования |
|
Матрица N*N с удаленными ребрами, результат структурной надежности, результат центральности графа, поле рассеивания |
Поле рассеивания с экспоненциальной функцией |
По полученным значениям сгенерировать коэффициенты a экспоненциальной модели, построить экспоненциальную модель |