В веб-приложении нет необходимости хранить результаты каждого метода, поэтому оно состоит только из клиентской части, где данные хранятся в течение одной сессии.
При реализации приложения были использованы следующие языки: HTML, CSS и JavaScript.
Для того чтобы воспользоваться веб-приложением необходимо перейти по ссылке: https://hjullie.github.io/DSS/#/.
Программное обеспечение с открытым исходным кодом доступно на GitHub: https://github.com/hjullie/DSS.
Проверка эффективности разработанной СППР
Вопрос эффективной работы программы чаще всего возникает в случае недостатка каких-либо ресурсов. Оптимизация работы программы путем улучшения определенных параметров, влияющих на ее эффективность, зависит от того, какие функции выполняет программа [18].
В данном случае выделены следующие показателями эффективной работы приложения:
- время работы программы, включающее загрузку страниц и расчет результата выбранным методом;
- объем используемой памяти.
Система поддержки принятия решений представлена в виде веб-приложения. Основным отличие работы веб-приложения в сравнении с обычным ПО является логика работы программы, распределенная между клиентом, который представляет собой браузер, и веб-сервером, который обрабатывает запросы, поступающие от клиента. Под скоростью работы веб-приложение понимается загрузка страниц, а также расчет и отображения результата работы методов.
В данном случае загрузка страницы зависит исключительно от скорости Интернета пользователя, поскольку она имеет небольшой размер и отображает только формы ввода данных. Расчеты результата также осуществляются в течение пары секунд. Однако, в методе минимального расстояния осуществляется перебор всевозможным матриц, это является ресурсоемкой операцией, поэтому для нормальной работы приложения было выставлено ограничение для ввода только 7 альтернатив. Следует также заметить, что даже современные компьютеры не справляются с осуществлением перебора матриц при количестве более 8 заданных альтернатив за приемлемое время. Долгие расчеты на странице браузер расценивает, как потерю работоспособности приложения. В таком случае браузер предложит пользователю перезагрузить страницу. В связи такой проблемой было установлено ограничение на количество альтернатив.
По второму критерию эффективности, а именно объему используемой памяти, требования не предъявляются, так как у каждого браузера имеются собственные жестко заданные ограничения.
Разработка программной документации
Руководство пользователя
1. Область применения
Разработанное приложение предназначено для визуализации наиболее популярных методов поддержки принятия решений, демонстрируя основные этапы каждого метода с промежуточными результатами.
2. Описание возможностей
Данное веб-приложение позволяет пользователю получить ранжирование альтернатив, а также оптимальную альтернативу. При этом пользователь может не только самостоятельно выбрать один из методов для расчетов, система также предоставляет возможность выбора оптимального метода на основе входных параметров. Разработанное приложение имеет доступный и понятный интерфейс с описанием шагов и подсказками для ввода данных. В итоге, пользователю будет предоставлен не только результат работы метода, но и промежуточные вычисления.
3. Требования к уровню подготовки пользователя
Для работы с приложение пользователь должен обладать навыками работы с ПК или мобильным устройством, имеющим доступ в Интернет.
4. Требования для работы с приложением
Для использования веб-приложения необходим только доступ в Интернет. Воспользоваться можно любым браузером.
5. Настройка рабочего стола пользователя
Пользователю не нужно осуществлять никакие настройки или устанавливать дополнительное ПО. Для работы с приложением необходимо открыть любой браузер и перейти по ссылке: https://hjullie.github.io/DSS/#/. Для этого можно воспользоваться ПК или смартфоном, имеющим доступ в Интернет.
6. Выполнение программы
Веб-приложение позволяет получить ранжирование альтернатив и оптимальную альтернативу с использованием следующих методов принятия решений:
- метод аналитических иерархий;
- метод лексикографического полуупорядочивания;
- метод минимального расстояния;
- метод предпочтений;
- метод ранга.
На главной странице приложения пользователю необходимо, либо выбрать один из методов ППР, либо воспользоваться помощью системы, которая благодаря входным параметрам подберет оптимальный метод (рис. 5). При нажатии на название метода дополнительно указано краткое описание метода, чтобы воспользоваться методом для поставленной задачи, необходимо нажать кнопку «Рассчитать».
Рис. 5. Выбор метода ППР
В зависимости от того является ли выбранный метод индивидуальным или групповым входные данные, добавляемые пользователем, отличаются (рис. 6, рис. 7). Заполнение полей является обязательной процедурой. Если пользователь не ввел название и нажал кнопку «Далее», в незаполненной ячейке будет отображена ошибка.
Рис. 6. Добавление входных данных для индивидуальных методов
Рис. 7. Добавление входных данных для групповых методов
В зависимости от метода ППР вычисления ранжирования альтернатив осуществляется по-разному. При этом помимо добавления альтернатив, критериев или экспертов в некоторых методах необходимо заполнять матрицы попарного сравнения.
Метод аналитических иерархий
Пользователю необходимо построить матрицы попарного сравнения. Для этого сначала нужно сравнить критерии между собой, согласно таблице, указанной также на странице (рис. 8). После чего аналогично сравнить альтернативы по каждому критерию (рис. 9). На диагоналях таких матриц всегда будут значения «1». Пользователь не может редактировать эти значения.
Рис. 8. Заполнение матрицы попарного сравнения критериев
Рис. 9. Заполнение матриц попарного сравнения альтернатив
В случае если пользователь неверно укажет значение в матрице, ячейка будет подсвечена красным и переход на следующий шаг по кнопке «Далее» будет невозможен.
После сравнения альтернатив и критериев осуществляется нормировка матриц и расчет вектора весов критериев, матрицы весов альтернатив по каждому критерию и веса альтернатив (Рис. 10). Внизу страницы указана оптимальная альтернатива, которая имеет максимальный вес.
Рис. 10. Результат вычислений методом аналитических иерархий
Метод лексикографического полуупорядочивания
В связи с тем, что в рамках данного метода каждой альтернативе назначаются количественные значения по каждому критерию. Пользователю на первом этапе необходимо задать критерии и указать, какой тип значения будет иметь данный критерий. Это может быть числовое значение или множество строковых значений (рис. 11).
Рис. 11. Добавление критериев
Далее в таблице задаются сами альтернативы с указанием значений по каждому из критериев (рис. 12). После указание входных данных можно отфильтровать исходные альтернативы. Причем фильтрация осуществляется сначала по самому важному критерию, который указан в таблице первым (слева направо). Столбцы критериев можно двигать вправо или влево, тем самым задавая важность критериям, таким образом, менее значимый будет находиться справа. В зависимости от типа критерия можно задать числовой диапазон или строковые значения. После указания необходимых значений критериев будут выбраны альтернативы, удовлетворяющие данным условиям (рис. 13).
Рис. 12. Добавление альтернатив
Рис. 13. Результат работы метода лексикографического полуупорядочивания
Метод минимального расстояния
В первую очередь, пользователю необходимо заполнить матрицы попарного сравнения альтернатив для каждого эксперта. Значения могут быть «1» или «-1», о чем указано в подсказке под знаком вопроса. В данном случае у пользователя нет возможности ввести другие числа, кроме «1» или «-1» (рис. 14).
Рис. 14. Заполнение матриц попарного сравнения
Далее осуществляется перебор матриц размерности n x n, где n - число альтернатив, и вычисляется матрица, находящаяся на минимальном расстоянии до всех экспертных матриц. После нахождения такой матрицы можно проранжировать альтернативы (рис. 15).
Рис. 15. Результат вычислений методом минимального расстояния
Метод предпочтений
Для вычисления ранжировки альтернатив пользователю необходимо заполнить матрицу предпочтений (рис. 16). В подсказке для пользователя указан диапазон, в который должна входить оценка каждого эксперта. В случае ввода числа, не входящего в диапазон, ячейка будет подсвечена красным, и переход на следующий этап будет невозможен.
Рис. 16. Заполнение матрицы предпочтений
После чего рассчитывается вес каждой альтернативы и выводится ранжирование альтернатив (рис. 17).
Рис. 17. Результат вычислений методом предпочтений
Метод ранга
В методе ранга подобно методу предпочтений составляется исходная матрица с оценками каждого эксперта. Отличие лишь в диапазоне, в который должны входить оценки экспертов (рис. 18). Подсказка с предельным диапазоном также показывается пользователю при нажатии на знак вопроса.
Результатом вычислений данного метода также является ранжирование, удовлетворяющее мнениям всех экспертов (рис. 19).
Рис. 18. Заполнение исходной матрицы
Рис. 19. Результат вычислений методом ранга
Программа и методика испытаний
1. Объект испытаний
Объектом испытаний является веб-приложение, в котором реализованы наиболее популярные методы поддержки принятия решений. Данное приложение предназначено для демонстрации методов ППР с передачей параметров и результатов с этапа на этап.
2. Цель испытаний
Цель испытаний представляет собой проверку и тестирование программного обеспечения на соответствие требованиям, указанным в техническом задании.
3. Требования к программе
Разработанное веб-приложение должно соответствовать требованиям, указанным в техническом задании.
4. Требование к программной документации
В состав программной документации должны входить:
- техническое задание;
- руководство пользователя;
- программа и методика испытаний;
- текст программы.
5. Состав и порядок испытаний
- проверка входных данных на корректность ввода;
- проверка отображения ошибок в случае некорректных данных;
- контроль функционирования системы в целом;
- тестирование работы методов;
- проверка соответствия программы техническим требованиям.
6. Методы испытаний
Главным методом испытания программы является тестирование. Поскольку приложение в дальнейшем будет использоваться в научных расчетах, в первую очередь, необходимо осуществлять проверку корректности ввода данных. А именно, показывать подсказки для пользователя с указанием формата ввода данных, отображать сообщения об ошибках при некорректном вводе, выделять цветом неверно заполненные сегменты, а также блокировать переход на следующий шаг при неверном заполнении (рис. ХХХ).
Второй основной составляющей тестирования является проверка работоспособности методов поддержки принятия решений. Каждый метод имеет свои особенности ввода входных параметров, вычисления ранжирования, а также отображения промежуточных результатов.
В связи с этим все методы были протестированы на заранее разработанных выборках альтернатив, критериев, экспертов и их оценок. В итоге результаты вычислений программы полностью совпали с заранее рассчитанными тестовыми данными. Вывод результата данных методов представлен в руководстве пользователя.
Однако, в данном случае хотелось бы уделить особое внимание вычислению ранжирования с помощью метода минимального расстояния. Данный подход является очень требователен к ресурсам, поскольку с увеличением количества альтернатив возрастает число матриц, которые необходимо найти путем перебора. На данный момент при количестве альтернатив равных 10, задача становится почти невыполнимой.
Число всевозможных вариантов матриц с нулевой диагональю и симметричными значениями «1» и «-1» в такой задаче равно . Таким образом, если первоначально задано 4 критерия, то матриц, найденных перебором, будет 64.
Поскольку метод реализован в рамках веб-приложения, в случае долгих расчетов браузер сообщит пользователю, что страница долго не отвечает, и предложит ее перезагрузить. Было найдено оптимальное число альтернатив равное 7, при котором программа успевает быстро перебрать всевозможные матрицы и рассчитать минимальное расстояние до экспертных матриц. При семи альтернативах число матриц, найденных перебором, составляет 2 097 152. Причем при 8 альтернативах это число возрастает до 268 435 456.