Федеральное государственное автономное образовательное учреждение высшего профессионального образования

advertisement
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
ВЫСШАЯ ШКОЛА ЭКОНОМИКИ
МОСКОВСКИЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
НАЦИОНАЛЬНОГО ИССЛЕДОВАТЕЛЬСКОГО УНИВЕРСИТЕТА
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
КАФЕДРА
ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ И СЕТИ
Допущена к защите:
« ___ » _______________ 2013 г.
Дипломный проект на тему:
«Система поддержки принятия решений по выбору тура»
Консультант по специальной части:
_________________ Вишнеков А.В.
Руководитель:
_________________ Вишнеков А.В.
Рецензент:
Студентка:
_________________ Шлёнов Ю.В.
_________________ Полянская Е.В.
Москва 2013
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
ВЫСШАЯ ШКОЛА ЭКОНОМИКИ
МОСКОВСКИЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
НАЦИОНАЛЬНОГО ИССЛЕДОВАТЕЛЬСКОГО УНИВЕРСИТЕТА
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
КАФЕДРА
ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ И СЕТИ
Техническое задание
на дипломное проектирование на тему:
«Система поддержки принятия решений по выбору тура»
Консультант по специальной части:
А.В. Вишнеков
Дата выдачи задания:
« 28 » ___февраля
2013 г.
Задание принято к исполнению:
студент группы СВС-91
Е.В. Полянская
Руководитель дипломного
проектирования:
Нормоконтроль:
Г.В. Соколова
______________ А.В. Вишнеков
Москва 2013
Введение
Система поддержки принятия решений предназначена для поддержки
сложных
для
человека
многокритериальных
решений.
Под
многокритериальностью понимается совокупность многих критериев, которые
одновременно
рассматриваются
при
решении
проблемы
(задачи).
Под
сложностью понимается необходимость обработки большого объема данных, при
которых допускается много противоречий, используются упрощенные модели.
Как правило, количество возможных альтернатив довольно велико, и выбор
лучшего решения без надлежащего анализа, скорее всего, приведет к грубым
ошибкам.
К сожалению, на сегодняшний день некоторые проблемы выбора
решаются без применения системы поддержки принятия решений. Например,
актуальна проблема выбора места тура. Существующие программные средства не
используют СППР, впоследствии пользователь такого ПО получает ошибочное
решение или не получает его вовсе. В связи с этим становится актуальной
разработка нового программного обеспечения, созданного с помощью методов
систем поддержки и принятия решений. Разработанная программа будет
анализировать
предпочтения
лица,
принимающего
решения,
и
давать
рекомендации в виде сортированного списка наиболее рациональных решений по
выбору тура.
Данное техническое задание описывает назначение, стадии и этапы
разработки, требования к программе и программной документации, перечень
графических материалов, порядок контроля и приемки.
1. Основание для разработки
Приказ по Московскому Государственному институту электроники и
математики НИУ ВШЭ № 6.18.1-02/0804-03 от 08.04.2013
2. Назначение разработки
Целью настоящей дипломной работы является разработка программного
обеспечения (ПО) системы поддержки принятия решений по выбору тура.
Программа предназначена для:
 более детального подбора тура;
 использования методов СППР для упрощения сложных для человека
решений;
 ускорения процесса выбора тура.
Во время разработки будет проведено:
 изучение и оценка использования различных методов СППР;
 выбор рациональной структуры и параметров программы выбора тура;
 разработка структуры входных и выходных данных;
 разработка модели и оценки характеристик программы выбора тура;
 синтеза рекомендаций по применению ПО.
3. Требования к программе
3.1. Общие требования
Данная программа должна обеспечивать выполнение следующих основных
операций:
 ввод с клавиатуры и корректировка исходных данных;
 запись и считывание информации в реальном времени;
 обработка введенной информации;
 вывод данных на дисплей.
Исходные данные: числовые, вводимые в диалоговом режиме, текстовые и
числовые из базы данных.
Выходные данные: документ, выводимый на дисплей.
Формирование и вывод документов на печать должны происходить в
реальном режиме времени.
Специальные требования к емкостным характеристикам программы не
предъявляются.
3.2. Требования к надежности
Для предотвращения некорректной работы программы необходимо
реализовать:
 семантический и синтаксический контроль исходных данных;
 вывод сообщений об ошибках.
3.3. Требования к условиям эксплуатации
При работе с программой должны соблюдаться условия эксплуатации IBM
РС- совместимых машин.
3.4. Требования к составу и параметрам технических средств
Для функционирования программного обеспечения необходимо наличие
следующих технических средств:
 IBM РС- совместимая машина;
 клавиатура (для ввода информации);
 монитор (для вывода информации).
3.5. Требования к информационной и программной совместимости
Данная
программа
исполняемый модуль.
должна
представлять
собой
самостоятельный
Программа должна быть реализована с использованием одного из
известных языков программирования (C, C++, C#, Clipper, FoxPro или др.) и
работать под управлением операционной системы MS-DOS или Windows.
4. Требования к программной документации
Дня разрабатываемого программного обеспечения необходимо должна
быть разработана следующая техническая документация:
 текст программы;
 программа и методика испытаний;
 руководство оператора.
5. Стадии и этапы разработки
5.1. Технический проект
На данном этапе проектирования должны быть определены структуры
входных и выходных данных, а также форма их представления. Необходимо
разработать алгоритм решения задачи и структуру программы. Одновременно
требуется определить семантику и синтаксис языка запросов.
Прежде всего, необходимо предварительно установить конфигурацию
технических средств. Подготовить пояснительную записку.
Срок окончания: « 3 »
апреля
2013 г.
5.2. Рабочий проект
На данном этапе необходимо провести программирование и отладку
программного
обеспечения, корректировку программной документации и
методики испытаний. В то же время требуется подготовить контрольноотладочные мероприятия и провести предварительные испытания разработанного
программного обеспечения, выполнить
модификацию программы по итогам
испытаний.
Необходимо
окончательно
графический материал.
оформить
пояснительную
записку
и
Срок окончания: « 10 »
мая
2013 г.
5.3. Внедрение
На данном этапе требуется подготовить и передать программу и
программную документацию для сопровождения. Затем необходимо оформить и
утвердить акт о передаче программы на сопровождение, после чего программа
должна быть передана в фонд алгоритмов и программ.
Срок окончания: « 31 »
мая
2013 г.
6. Перечень графических материалов
Для данной разработки необходимо подготовить следующий графический
материал:
1. Постановка задачи (1 лист);
2. Выбор метода (2 листа);
3. Математическая модель (2 листа);
4. Тестовые примеры (2 листа);
5. Схема работы программы (1 лист);
6. Выводы (1 лист).
7. Порядок контроля и приемки
Контроль и приемка разработки осуществляется на основании испытаний.
В ходе контрольно-отладочного тестирования последовательно выполняются все
функции программы.
Срок сдачи дипломного проекта: « 06 »
июня
2013 г.
Аннотация
Работа
посвещена
разработке
программного
обеспечения
системы
поддержки принятия решений по выбору тура.
Раскрыты
основные
понятия
СППР.
Произведен
анализ
методов
поддержки принятия решений. На основе имеющихся методов разработан и
описан новый метод, подходящий под конкретно поставленную проблему. На
основе проведенного анализа выбран оптимальный язык программирования для
создания ПО. Рассмотрены СУБД, выбрана наиболее приемлемая из них.
Разработаны алгоритм и программа, позволяющая принимать оптимальные
решения по выбору тура с учетом предпочтений лица принимающего решения.
Подготовлена программная документация. Разработанная программа может иметь
практическое применение в туристических фирмах.
Содержание
Введение............................................................................................................. 12
1. Система поддержки принятия решений ..................................................... 13
1.1. Задачи системы поддержки принятия решений ..................................... 13
1.2. Основные понятия СППР .......................................................................... 14
1.3. Структурирование множества альтернатив ............................................ 15
1.4. Условия и ситуации принятия решений .................................................. 17
1.5. Групповые решения ................................................................................... 18
1.6. Системы поддержки принятия решений ................................................. 20
1.7. Архитектуры систем поддержки принятия решений ............................. 21
1.7.1. Функциональная СППР .......................................................................... 21
1.7.2. СППР с использованием независимых витрин данных ...................... 22
1.7.3. СППР на основе двухуровневого хранилища данных ........................ 23
1.7.4. СППР на основе трехуровневого хранилища данных ........................ 23
2. Выбор критериев отбора методов ............................................................... 25
3. Описание методов поддержки принятия решений .................................... 26
3.1. Методы сравнения и оценки многокритериальных альтернатив в условиях
определённости исходной информации ......................................................... 26
3.1.1. Методы иерархического упорядочивания альтернатив на заданном
множестве альтернатив и критериев ............................................................... 26
3.1.1.2. Попарное сравнение ............................................................................ 26
3.1.1.3. Лексикографический метод ................................................................ 26
3.1.1.4. Метод лексикографического полуупорядочивания ......................... 26
3.1.1.5. Метод перестановок ............................................................................ 27
3.1.2. Методы, основанные на количественном выражении предпочтений ЛПР
на множестве критериев ................................................................................... 27
3.1.2.1. Метод простых приращений ............................................................... 27
3.1.2.2. Метод ELECTRE I................................................................................ 27
3.1.2.3. Метод ELECTRE II .............................................................................. 28
3.1.2.4. Метод ELECTRE III ............................................................................. 28
3.1.2.5. Метод аналитических иерархий ......................................................... 29
3.1.3. Методы, основанные на информации о допустимых значениях
критериев ........................................................................................................... 30
3.1.3.1. Задание минимально допустимых значений критериев .................. 30
3.1.3.2. Анализ альтернатив только по критериям, для которых достигаются
«наилучшие»...................................................................................................... 30
3.1.4. Методы, не требующие ранжирования критериев .............................. 30
3.1.4.1. Критерий Харвица ............................................................................... 30
3.1.4.2. Метод МАКСИМИН ........................................................................... 31
3.1.4.3. Метод МАКСИМАКС ......................................................................... 31
4. Методы оценки и сравнения многокритериальных альтернатив в условиях
неопределённости исходной информации ..................................................... 32
4.1. Метод формирования и анализа платёжной матрицы ........................... 32
5. Методы принятия групповых решений ..................................................... 33
5.1. Метод Дельфи ............................................................................................ 33
5.2. Метод ранжирования альтернатив ........................................................... 33
5.3. Метод парных сравнений .......................................................................... 33
5.4. Метод группового принятия решения с помощью кластеризации
экспертных оценок альтернатив ...................................................................... 34
6. Выбор метода ................................................................................................ 35
7. Критерии выбора тура по России ................................................................ 37
8. Разработка ПО ............................................................................................... 38
8.1. Обзор языков программирования ............................................................ 38
8.2. Выбор языка программирования .............................................................. 42
9. Обзор систем управления базами данных (СУБД).................................... 43
10. Выбор СУБД ................................................................................................ 45
11. Надежность программного обеспечения .................................................. 46
Заключение ........................................................................................................ 51
Литература ......................................................................................................... 53
Приложение А Текст программы
Приложение Б Программа и методика испытаний
Приложение В Руководство оператора
Приложение Г Обзор метода СППР
Приложение Д База данных альтернатив
Приложение Е Графические материалы
Введение
В современном мире, выбирая всевозможные вещи или услуги, люди все
чаше пользуются интернетом и вычислительной техникой. Так, например,
выбирая место для отдыха, многие используют
программные средства,
представленные на сайтах туроператоров. В основном покупатель заполняет
табличку с вопросами о дате вылета и прилета, стране и городе пребывания,
звездности отеля, количестве человек, типе питания и пороговых значениях цены
на тур. Могут присутствовать еще несколько пунктов в зависимости от
туроператора, но все же представленных критериев выбора не всегда достаточно.
Покупателю тура придется дополнительно узнавать у оператора поддержки
клиентов у туроператора те или иные нюансы. Да и такой сервис возможен лишь
при наличии выхода в интернет. Попытки найти оффлайн программы такого рода
не увенчались успехом. Так же нынешняя система подбора туров ограничена в
гибкости предоставляемых решений. У существующих программ есть жесткие
рамки выбора, что может привести, например, к такой ситуации: покупатель
заполнил все полагающие пункты, но так и не нашел искомого или нашел не
полностью удовлетворяющее его решение по выбору тура, хотя, если
рамки
позволили бы варьировать, например, цену, то покупатель мог найти полностью
подходящий ему тур, но дороже на 10 рублей, чем указанная максимальная цена.
Итак, покупатель не находит тура, турфирма теряет клиента. Есть также и другая
сторона сложностей выбора, когда покупатель находит 2 и более подходящих
туров и теряется при выборе лучшего. Ввиду того, что претенденты могут
различаться по нескольким критериям, выбор тура в свою очередь является
сложной операций для человека. В связи с этим актуальной становится разработка
новой программы, созданной с помощью методов систем поддержки и принятия
решений (СППР), учитывающей ошибки своих предшественников.
1. Система поддержки принятия решений
1.1. Задачи системы поддержки принятия решений
Людям приходится принимать решения постоянно, но до недавнего
времени никто не задумывался о том, как принимаются решения (термин «теория
принятия
решений»
непосредственно
начал
использоваться
в 1950
году
Э. Л. Леманном). Оказывается алгоритм процедуры принятия решения не зависит
от предметной области, из этого следует, что законы принятия решений
одинаковы для всех областей. Для того, чтобы совершить некий выбор, человек
должен выполнить набор инструкций, а именно:
 сформировать
множество
альтернатив
(возможных
вариантов
решения);
 сформировать множество критериев, по которым будут оцениваться
альтернативы;
 получить оценки альтернатив по критериям;
 выбрать лучшую альтернативу, которая выдается системой поддержки
принятия решений в качестве рационального варианта решения.
Такой вариант инструкций подходит задач с критериями.
Для задач без использования критериев необходимо:
 сформировать множество альтернатив;
 получить результаты сравнения альтернатив;
 выбрать лучшую альтернативу, которая выдается системой поддержки
принятия решений в качестве рационального варианта решения.
1.2. Основные понятия СППР
Начать стоит с того, что принятие решений по своей сути это выбор.
Анализируемую информацию можно условно разделить на три группы:
операции с критериями, операции с оценками альтернатив по критериям,
операции с альтернативами.
Основой оценки информации является анализ трудоемкости элементарных
операций. Элементарные операции, выполняемые лицом, принимающим решения
(далее – ЛПР), можно разделить на: С – сложные (при выполнении этих операций
ЛПР допускает много противоречий, использует упрощенные модели), Д –
допустимые (ЛПР выполняет эти операции с небольшим числом противоречий,
может использовать сложные модели) и Н – неопределенные (нет результатов
психологических
исследований по этим операциям, но имеются факты,
говорящие в пользу их допустимости (НД) или сложности (НС)).
В теории принятия решений альтернативами называются варианты выбора
возможных решений. Использование понятия «поддержка» (принятия решений)
означает, что непосредственный выбор делает ЛПР, а система лишь помогает
принять более рациональное решение, давая рекомендации. К системе поддержки
принятия решений применяется сокращение СППР.
Первоначально множества альтернатив может и не быть вовсе. Так что
первым этапом является формирование множества альтернатив. В большинстве
случаев множество альтернатив не структуризовано. Это означает, что нельзя
сразу судить о предпочтительности одной альтернативы к другой. Для решения
этой проблемы необходимо структурировать множество альтернатив.
1.3. Структурирование множества альтернатив
Классификация – это деление множества альтернатив на классы. Каждый
класс является неким подклассом всего множества альтернатив. Деление по
классам происходит согласно разделению всех альтернатив по какому-либо
важному признаку. Между собой классы не упорядочены. В отношении них
нельзя провести сортировку по предпочтительности, нельзя сказать, что один
класс превосходит другой. Примером может служить разделение предметов по
цветам, людей по национальности, книги по количеству страниц.
Стратификация
–
(от лат. stratum и греч. γράφειν,
буквально —
«расслаивание») есть разложение множества альтернатив на слои. Отличием от
классификации является упорядоченность страт относительно друг друга, однако
альтернативы находящиеся в одной страте равнозначны между собой.
Так же сравнивая между собой страты можно сказать, не только какая из
них более предпочтительна, но и на сколько. Например, пятизвездочный отель не
просто лучше двухзвездочного, наличие большего количества звезд говорит на
сколько он лучше.
Ранжирование
внешне
он
напоминает
стратификацию.
При
ранжировании нельзя сказать насколько одна альтернатива превосходит другую,
известно лишь факт доминирования одной над другой. Уровни ранжирования не
воплощают в себе некие качества, а интерпретируются лишь в качестве номера
списка.
Упорядочивание именуется ранжировкой, если известно только положение
альтернативы в упорядоченном списке. Примером может являться объявление
списка мест, полученных спортсменами по итогам соревнований (без оглашения
результатов).
Положения в ранжировке получили название «ранги». Первый ранг
следует присваивать наилучшей альтернативе. В отличие от стратификации, в
ранжировании имеет значение лишь положение объекта относительно других.
Один и тот же ранг может соответствовать нескольким альтернативам (нестрогая
ранжировка). В строгой ранжировке каждой альтернативе дается уникальный
номер ранга.
Проанализировав методы структурирования множества альтернатив можно
сделать вывод относительно использования структуризации и ее места в СППР.
Чаще используются стратификация и ранжирование, так как они дают
больше возможностей для выбора, тогда как в классификации выбор основан
выборе класса, в который следует отнести ту или иную альтернативу.
1.4. Условия и ситуации принятия решений
Все ситуации, в которых принимаются решения можно разделить на три
их вида:
 условия определенности;
 вероятностно-определенные условия или условия риска;
 условия неопределенности.
В условиях определенности ситуация характеризуется тем, что результат
выполнения каждого из вариантов известен, остается лишь выбрать в наибольшей
степени подходящий из них, исходя из целей поставленной задачи.
Условия риска подразумевает, что каждый вариант предполагает сведение
к одному из некоторого количества частных исходов, каждый из которых имеет
заведомо известную ЛПР вероятностью возникновения. Если влияние случайных
факторов сводится к известным закономерностям, то можно высчитать
вероятность того или иного результата при различном стечении обстоятельств.
Часто под вероятностью имеется ввиду количество успешных результатов
(вероятность успеха), полученных в результате многих экспериментов.
Условия неопределенности обозначают, что действия имеют большое
количество частных исходов, вероятность которых неизвестна (не может быть
подсчитана). Примером может являться заключение пари, реакция незнакомого
человека на некое действие, спрос на новопроизведенную продукцию.
К условиям неопределенности также относятся проблемы с неполнотой и
неточностью информации.
Возможные ситуации принятия решений в условии неопределенности :
1 – небольшое число вариантов с понятной
логикой их развития
(возможно предвидеть ход событий, быть готовым к ним);
2 – большое количество вариантов решения (подготовиться к ним
практически невозможно);
3 - непрогнозируемые ситуации.
1.5. Групповые решения
В принятии решений может принимать участие не только один ЛПР, а
экспертная группа,
тогда решение является групповым. Групповое решение
проблем набирает все больший вес
по мере увеличения сложности и
масштабности решаемых проблем. Все большее количество
специалистов и
экспертов будут работать в группах для принятия важных решений. Не столько из
самостоятельного решения, сколько потому, что будут вынуждены. Для решения
многих производственных, проектных и других задач требуются компетентное
мнение во всех вопросах и областях, затрагиваемых в этих задачах, что не под
силам одному человеку.
Плюсы группового решения задач:
1. Большой запас знаний. Группа является носителем наибольших знаний и
информации, чем наиболее авторитетный и информированный специалист в этой
группе. Один человек не может предложить всего вариаций решений,
разносторонних
и
разнородных
идей,
которые
берут
свое
начало
в
многочисленных разнообразных группах экспертов.
2. Наибольшее число подходов. Обычно человек мыслит в соответствии со
своими внутренними
привычными подходами, а решение задач требует
разнообразия в подходах и типах мышлении. Групповой же процесс зарождает
разнообразия больше, чем индивидуальный, при этом, чем разнороднее и
многообразнее первичный опыт участников, тем будет выше вероятность
образования инновационного решения. 3. Большая активность участников.
Участники чувствуют желание поделиться имеющейся информацией и бороться с
тенденциозно подобранной, искаженной или неполной информацией. Групповое
решение проблем, естественно, включает в себя сопоставление различных мнений
его участников, отстаивание ими своих точек зрения, соревнование за больший
вклад в решение проблемы и необходимость защищать предпочитаемые решения.
4. Лучшее понимание выбранного решения. В групповом принятии
решений все члены обсуждения понимают окончательное решение, способ,
которым оно было достигнуто, причину непригодности других альтернатив. В
итоге
уменьшаются
необходимость
вероятность
недопонимания
решений,
внушать кому-то из участников
отбрасывается
правильность принятого
решения.
Минусы группового решения задач:
1. Давление
мнения
большинства
и
создаваемое
им
конформное
мышление. Намерение быть хорошим участником группы, желание быть
принятым группой, приводит к отрешению от собственного мнения в принятии
оригинальных решений. Если же участник обсуждения не желает отказываться от
своей точки зрения и постановки проблемы, он довольно часто намеренно
игнорируется.
2. Главенство сильной личности. Зачастую в группе выявляется человек с
наиболее высоким статусом, или имеющий выраженные ораторские способности.
Он
притесняет
противоречащие
других
участников,
пресекает
чужие
высказывания,
его точке зрения или не согласованные с ней, глушит
инициативу. Это приводит к угасанию групповой работы или изменению мнения
членов группы в пользу этого человека.
3. Механизм психологической самозащиты Психологический климат
самозащиты
и
эмоциональной
напряженности.
В
условиях
негативного
отношения к чужим мнениям, их критики, у участников могут пробудиться
психологические
механизмы
защиты.
Такие
члены
группы
делаются
неспособными к последующему выражению своего мнения и высказыванию
новых вариантов решения, а начинают заниматься только отстаиванием своей
точки зрения, и закрываются в отношении принятия чужих точек зрения и
аргументов.
4. Сверхоптимизм. Повышенная оценка вероятности успешного исхода и
пониженная вероятности неудачного. Это приходит из-за чрезмерного упования
участника на положительный эффект от групповых решений, снимая с себя
персональную ответственность за процесс и исход работы.
1.6. Системы поддержки принятия решений
Системы поддержки принятия решений (СППР) возникли из слияния
управленческих информационных систем и систем управления базами данных.
Современные СППР максимально приспособлены для решения сложных задач во
многих областях и призваны помогать делать более рациональный выбор лицам,
принимающим решения (ЛПР). При использовании СППР могут решаться
неструктурированные и слабоструктурированные многокритериальные задачи.
СППР,
обычно,
являются
результатом
полидисциплинарного
исследования, состоящего из теории баз данных, искусственного интеллекта,
интерактивных компьютерных систем, методов имитационного моделирования.
Определения СППР начала 70х годов включали три основных момента:
1. работа с неструктурированными и слабоструктурированными задачами;
2. СППР являются интерактивными автоматизированными системами;
3. используют за основу разделение данных и моделей.
В настоящее время нет общепринятого определения СППР, поскольку
конструкция СППР бывает совершенно различна. Это зависит непосредственно от
типа задач, для которых она предназначена, так же от исходной информации и
данных и от самих пользователей. Несмотря на такие различия есть и сходные
элементы и характеристики, присутствующие почти во всех СППР. Чаще всего
СППР представляет собой интерактивную автоматизированную систему, задача
которой помогать ЛПР путем рекомендации в качестве решения наиболее
рациональные альтернативы. Так же системы обладают довольно простым
языком запросов, что бы у большинства пользователей не было проблем с
использованием системы. Основные характеристики СППР:
1. использованием данных, и моделей;
2. все они предназначаются для помощи пользователю для принятия
решений слабоструктурированных и неструктурированных задач;
3. они помогают ЛПР в выборе, дают рекомендации, а не делают выбор за
него.
1.7. Архитектуры систем поддержки принятия решений
Основными типами систем поддержки принятия решений:

функциональная СППР;

СППР с использованием независимых витрин данных;

СППР на основе двухуровневого хранилища данных;

СППР на основе трёхуровневого хранилища данных.
1.7.1. Функциональная СППР
Функциональная СППР с архитектурной точки зрения является наиболее
простой. СППР такой архитектуры встречаются в основном небольших
предприятиях, деятельность которых не связана с аналитикой.
Основным отличием функциональной СППР то, что она использует
данные из оперативных систем (ОС) для проведения анализа.
Основным отличием функциональной СППР то, что она использует
данные из оперативных систем (ОС) для проведения анализа.
К плюсам функциональной СППР относятся:
 отсутствие загрузки данных в специализированную систему, что
позволяет проводить быстрое внедрение системы;
 затраты сводятся к минимуму за счет использование одной платформы.
К минусам можно отнести:
 очень узкий круг задач, которые может решать системы из-за
использования одного источника информации;
 низкое качество информации,
вследствие отсутствия возможности
очистки данных;
 значительная нагрузка на ОС.
1.7.2. СППР с использованием независимых витрин данных
Независимые витрины данных нередко формируются в организациях с
несколькими
независимыми
друг
от
друга
отделами
с
отдельной
информационный инфраструктурой.
Плюсы независимых витрин:
 быстрое внедрение;
 каждая витрина используется для решения определенного круга задач;
 к каждой витрине допускается определенный круг пользователей.
Минусы независимых витрин:
 возможно дублирование информации на нескольких витринах;
 сложность в заполнении витрин данными при большом количестве
источников информации;
 данные витрин не совмещаются, поэтому отсутствует полная картина
работы предприятия.
1.7.3. СППР на основе двухуровневого хранилища данных
Двухуровневое хранилище данных строится на основе общего для всей
организации хранилища данных. Для внедрения и обслуживания такой системы
нужна команда людей, специализирующихся в области хранилищ данных.
Плюсы двухуровневых хранилищ данных:
 данные не дублируются, хранясь в единственном экземпляре;
 минимализированы расходы на хранение данных;
 общая
картина
работы
предприятия
ввиду
использования
централизованного хранилища.
Минусы двухуровневых хранилищ данных:
 нет возможности организовать отдельные круги пользователе с разным
доступом;
 небольшая производительность системы.
1.7.4. СППР на основе трехуровневого хранилища данных
Трехуровневое хранилище данных образовалось слияние СППР на основе
двухуровневого хранилища данных и независимых витрин и представляют собой
централизованное хранилище. Для решения проблем доступа и оптимального
предоставления данных разным группам пользователей в системы так же имеют
место витрины. Если данных из витрины недостаточно, есть возможность доступа
к центральному хранилищу.
Плюсы трехуровневого хранилища:
 упрощенное наполнение витрин, в связи с использованием в качестве
источника данных централизованного хранилища;
 упрощенное расширение хранилища данных и создания новых витрин,
наличие корпоративной модели данных;
 обеспечивается гарантированная производительность.
Минусы трехуровневого хранилища:
 наблюдается характерный рост требований хранений данных ввиду их
избыточности;
 требуется согласованность с архитектурой большого количества
областей с различными требованиями.
2. Выбор критериев отбора методов
Главными критериями выбора метода систем поддержки принятия
решений будут являться большое количество критериев и альтернатив. Также
метод должен поддерживать работу как с численными, так и с лингвистическими
значениями критериев. Так как программа предназначена для использования
конкретными лицом, а не несколькими людьми, метод должен полагаться на
предпочтения одного ЛПР. Готовая программа будет выводить список более
подходящих альтернатив, выводя на экран по порядку, начиная с лучшей
альтернативы, согласно релевантности. Для этих целей подойдет метод
использующий ранжировку альтернатив.
3. Описание методов поддержки принятия решений
3.1. Методы сравнения и оценки многокритериальных альтернатив в
условиях определённости исходной информации
3.1.1. Методы иерархического упорядочивания альтернатив на заданном
множестве альтернатив и критериев
3.1.1.2. Попарное сравнение
ЛПР производит попарное сравнение альтернатив относительно каждого
критерия. Количество альтернатив небольшое, критерии как качественные, так и
количественные.
3.1.1.3. Лексикографический метод
Согласно лексикографическому методу ЛПР способен упорядочить
рассматриваемые
критерии
по
степени
их
значимости.
Далее
задается
минимальное значение для каждого критерия. Затем критерии ранжируются по
предпочтительности, определяется самый значимый и в отношении его решается
однокритериальная задача. Если в результате этого решения остается одна
альтернатива, она признается наиболее рациональной, иначе решается задача
относительно следующего по важности критерия и так до тех пор, пока не
останется лишь одна альтернатива.
Количество возможных для этого метода альтернатив любое, критерии
могут быть любыми.
3.1.1.4. Метод лексикографического полуупорядочивания
Отличается от лексикографического метода возможностью использовать
лишь количественные критерии. В этом методе отсеивание альтернатив не такое
жесткое, в множество допустимых решений могут входить альтернативы, оценки
по критерию которых не сильно отличаются от максимальных. Количество
сравниваемых альтернатив небольшое.
3.1.1.5. Метод перестановок
В этом методе проверяются все возможные перестановки альтернатив по
предпочтительности и они сравниваются между собой. Для этого критериям
назначаются веса и составляется матрица принятия решений. Далее происходит
построение вариантов всех перестановок и построение множества номеров
критериев (для каждой пары альтернатив), значения которых согласуются с
порядком альтернатив рассматриваемой перестановки. Затем определяется оценка
каждой альтернативы. Возможное количество альтернатив любое, но более
рационально использовать метод для небольшого количества. Критерии могут
быть любыми.
3.1.2. Методы, основанные на количественном выражении
предпочтений ЛПР на множестве критериев
3.1.2.1. Метод простых приращений
Суть метода заключается в том, что после назначения ЛПР весов
критериев
альтернативы
сравниваются
по
шкале
одного
критерия.
Использоваться могут критерии любого типа, количество альтернатив небольшое.
3.1.2.2. Метод ELECTRE I
Метод ELECTRE I предназначен для исключения неэффективных решений
и основан на попарном сравнении альтернатив. Представим, что есть некое
альтернатив с оценками по критериям и некое количество критериев, имеющих
оценки. Для критериев высчитываются веса.
Чтобы определить какая из
альтернатив А1 или А2 превосходит другую, составляется два индекса согласия и
несогласия. Индекс согласия подсчитывается на основе весов критериев. В
использованном методе этот индекс определяется как отношение суммы весов
критериев подмножеств I+ и I= к общей сумме весов.
3.1.2.3. Метод ELECTRE II
Отличается от метода ELECTRE I тем, что создаются по два индекса
согласия и несогласия. Все альтернативы сравниваются относительно двух
отношений. В результате образуется конечное множество альтернатив первого
отношения, находящихся в сильном и в слабом предпочтениях. Выделяется часть
менее предпочтительных альтернатив и они далее не рассматриваются. И так эта
процедура повторяется еще раз и так далее. Таким образом альтернативам
присваиваются ранги.
Таким же образом строится порядок второго отношения, только начиная с
менее предпочтительных. Если получившиеся два списка не сильно различны, то
составляется средний порядок слиянием этих списков. Этот порядок выдается
ЛПР в качестве рекомендации решений задачи.
3.1.2.4. Метод ELECTRE III
В методе ELECTRE III используются порог чувствительности, который
является псевдокритерием. Также как и в предыдущих методах ELECTRE I и
ELECTRE II подсчитываются два индекса предпочтительности, но в отличии от
них предпочтение той или иной альтернативы определяется с использованием
порога чувствительности, который меняется до определенного предела. Каждой
альтернативе при этом присваивается число равное разности индексов
предпочтительности. Затем список альтернатив сортируется относительно
полученных альтернативами чисел.
Во всех методах ELECTRE желательно, чтобы количество альтернатив
было небольшим, а критерии были количественными.
3.1.2.5. Метод аналитических иерархий
В методе аналитических иерархий сначала происходит расчет веса
каждого
критерия,
а
затем
согласно
этим
весам
высчитывается
цена
альтернативы, чем больше цена, тем предпочтительнее альтернатива.
Для расчета весов критериев они попарно сравниваются, получая оценки
отношения пар критериев из которых образуется обратно симметричная матрица.
Оценки имеют следующий смысл:
2, 4, 6, 8 - соответствующие промежуточные значения, которые
используются реже.
После расчета цен альтернатив наступает время проверки согласованности
суждений ЛПР. Проверка осуществляется с помощью индекса согласованности,
который дает информацию о том насколько нарушена согласованность суждений.
Если отклонения слишком велики и превышают некий установленный предел, то
ЛПР придется перепроверить верность суждений, пересмотрев значения в
матрице.
В этом методе количество альтернатив должно быть небольшим, а
критерии любыми.
3.1.3. Методы, основанные на информации о допустимых значениях
критериев
3.1.3.1. Задание минимально допустимых значений критериев
Метод использует количественные критерии, по значениям которых ЛПР
определяет некоторую планку минимальных значений, в которые должна
укладываться та или иная альтернатива. Происходит сравнение двух оценок по
шкале
одного
критерия,
множество
альтернатив
разделяется
на
удовлетворительные и неудовлетворительные. Количество альтернатив может
быть любым.
3.1.3.2. Анализ альтернатив только по критериям, для которых достигаются
«наилучшие»
Этот метод включает в себя задание минимально допустимых значений
критериев, а также ЛПР выделяет альтернативы, удовлетворяющие его в
наибольшей степени. Соответственно количество альтернатив – любое, критерии
– количественные.
3.1.4. Методы, не требующие ранжирования критериев
3.1.4.1. Критерий Харвица
Критерий Харвица представляет из себя компромиссное решение между
методами МАКСИМИН и МАКСИМАКС, то есть между пессимистичной и
оптимистичной оценкой. Границей между этими оценками называется критерием
Харвица, заключающемся в присвоении веса этим оценкам.
Умножив результаты на соответствующие веса и суммируя их, ЛПР
получает общий результат. Далее выбирается альтернатива с наибольшим
значением.
3.1.4.2. Метод МАКСИМИН
МАКСИМИН можно интерпретировать как наибольший выигрыш из тех,
которые могут быть достигнуты ЛПР в наиболее проигрышных для него
ситуациях, и, таким образом, будут представлять гарантированный выигрыш.
Нахождение МАКСИМИНа как математической операции условно состоит в
последовательном решении простых однокритериальных задач. Количество
альтернатив может быть любым, а критерии количественными.
3.1.4.3. Метод МАКСИМАКС
Метод
МАКСИМАКСа
является
противоположностью
метода
МАКСИМИН, в этом методе отталкиваются не от худшей, а от лучшей
альтернативы. Количество альтернатив – любое, критерии – количественные.
4. Методы оценки и сравнения многокритериальных альтернатив в
условиях неопределённости исходной информации
4.1. Метод формирования и анализа платёжной матрицы
Метод платежной матрицы используется, когда требуется узнать, какой
вариант решения является более выигрышным для достижения поставленной
цели. Возможное значение последствий того или иного выбора (произведение
суммы ожидаемых величин и их вероятностей) надлежит определить перед тем,
как составлять платежную матрицу.
Платежная матрица рисков служит информационной основой для
сравнения и выбора окончательной (предпочтительной) с точки зрения
оптимальной альтернативой. Для осуществления такого выбора применяются
некие правила для принятия решений в условиях неопределенности и риска.
Такие правила включают в себя:
1. Критерий Лапласа (минимумы среднеарифметических затрат).
2. Критерий Вальда (минимальных затрат или максимальной полезности.
3. Критерий Сэвиджа (нахождение минимального риска).
4. Критерий Харвица (нацеленность на худший исход).
Так же имеются и другие критерии, представляющие из себя слиянием или
комбинированием двух и более вышеперечисленных критериев. Однако не один
из них не обеспечивает однозначного решения проблемы. Следовательно выбор
нужного для конкретной ситуации критерия лежит на плечах экспертов.
Альтернативы, используемые в этом методе могут быть любыми, а
критерием является затраты (прибыль) от решения.
5. Методы принятия групповых решений
5.1. Метод Дельфи
Этот метод групповых решений предполагает, что эксперты, находящиеся
в группе, не общаются между собой постоянно, а лишь периодически
высказывают свои суждения и слушают мнения своих коллег. В методе Дельфи
предполагается сменить прямой контакт участников группы опросами или
заполнением анкет.
Специалисты, заполняющие такие анкеты, знают лишь
мнение, полученное согласованием мнения по всем предыдущим вопросам
решаемой задачи. Таким способом получают наиболее точную оценку.
Альтернативы не заданы, критерии не используются.
5.2. Метод ранжирования альтернатив
Метод ранжирования альтернатив предполагает предоставление эксперту
всего
многообразия
вариантов решения
проблемы, полученных
в ходе
диагностического исследования, а он ранжирует их по степени наибольшей
предпочтительности и называет наиболее крайние по содержанию варианты,
которые исключаются. Затем оставшиеся варианты вновь ранжируются и эксперт
опять
исключает
определенного
крайние
варианта.
варианты.
Количество
Так
продолжается
альтернатив
любое,
до
получения
критерии
не
используются.
5.3. Метод парных сравнений
В данном методе предполагается поочередно предложить экспертам пары
альтернатив, рассмотрев которые эксперт должен предложить для каждой пары
соответствующее
решение.
Далее
эти
решения
ранжируются
по
предпочтительности. Если список с решения достаточно велик участникам
группы предлагается сравнить по три (или более) альтернативы. Этот метод
называется методом множественных сравнений. Отличается от парных сравнений
лишь количеством сравниваемых альтернатив.
5.4. Метод группового принятия решения с помощью кластеризации
экспертных оценок альтернатив
Метод
основан
на
использовании
кластеризации.
Кластеризацией
называется процесс объединения альтернатив в группы, по принципу схожести по
какому-либо признаку, показателю или критерию. Сами же группы принято также
называть
кластерами.
ЛПР
выбирает
одни
из
предлагаемых
методов
кластеризации оценок каждой альтернативы и выполняет кластеризацию
поочередно по всем критериям. Производится вычисление центров масс
образовавшихся кластеров. Понятие «центра масс» кластера введено для
возможного учета коэффициентов компетентности экспертов, задаваемых ЛПР.
Вычисляется «масса кластера». За ее величину предлагается взять сумму
коэффициентов компетентности экспертов, входящих в кластер. Рассчитывается
итоговая оценка каждой альтернативы по каждому из критериев.
Главным достоинством данного способа является тот факт, что в итоговой
оценке учтены все кластеры. Причем влияние каждого из кластеров в этом методе
на итоговую оценку пропорционально его весу.
Количество альтернатив и типы критериев любые.
6. Выбор метода
Для решения поставленной задачи будет использоваться метод на основе
аналитических иерархий. Принцип метода в том, что ЛПР оценивает по
десятибалльной шкале важность критериев и их значений. Далее программа
попарно составляет отношения оценок критериев. В результате получается
единичная матрица.
критерий 1
критерий 2
…
критерий n
критерий 1
К1/К1
К1/К2
…
К1/ Кn
критерий 2
К2/К1
К2/К2
…
К2/ Кn
…
…
…
…
…
критерий n
Кn/К1
Кn/К2
…
Кn/ Кn
Kj
Ki
В методе аналитических иерархий в этой таблице отношения критериев
представляются 9 оценками предпочтительности: 1/9, 1/7, 1/5, 1/3, 1, 3, 5, 7, 9.
В моей же программе отношения одного критерия к другому не
нормировано, представляется дробным числом и не является оценкой значимости,
что не позволяет производить рациональную поддержку принятия решений. Для
решения этой проблемы нужно перейти от дробей к оценкам. Для этого
сравниваем каждую дробь Ki/Kj с интервалами.
Если значение попадает в интервал 0-0.25, то оценкой предпочтительности
Ki критерия к Kj критерию будет 1/9, иначе сравнивает с другими интервалами.
0 – 0.25
1/9
0.25 – 0.45
1/7
0.45 – 0.65
1/5
0.65 – 0.85
1/3
0.85 – 1.5
1
1.5 – 3.5
3
3.5 – 5.5
5
5.5 – 7.5
7
7.5 - 10
9
Далее высчитывается цену критерия и сумму цен всех критериев.
Затем посчитаем вес.
По таким же формулам высчитываются веса значений критериев.
Для нахождения цены альтернативы
складываем произведения веса
каждого критерия на вес его значения. В результате альтернатива с большей
ценой является более рациональной.
7. Критерии выбора тура по России
Тип тура: экскурсионный, семейный, пляжный, спортивный, лечебный,
охота/рыбалка.
Стоимость: до 5 тыс. руб., до 10 тыс. руб., до 20 тыс. руб., до 30 тыс. руб., более
30 тыс. руб.
Размещение: отель 5 звезд, отель 4 звезды, отель 3 звезды, отель 2 звезды,
палатка, коттедж, без размещения.
Питание: все включено, полный пансион, полупансион, завтраки, без питания.
Полное время тура: менее суток, 1-4 дней, 5-10 дней, от 10 дней.
Время в пути: 0-3 часа, 3-6 часов, 6-12часов, 12-24 часа, более суток.
Тип транспорта: поезд, самолет, машина, автобус, корабль.
Основной рельеф: море, горы, лес, река, озера, пещеры, равнины.
Культурные достопримечательности: есть, нет.
Ресторан/бар/кафе, магазины: есть, нет.
8. Разработка ПО
8.1. Обзор языков программирования
С — стандартизированный процедурный язык программирования, был
разработан в начале 80х годов прошлого века и используется до сих пор.
Изначально разрабатывался для использования в UNIX системах, но позднее был
перенесен на многие другие платформы и стан одним из наиболее популярных
языков программирования и некоторое время был одним из самых используемых
языков для создания системного программного обеспечения. Такую популярность
С получил благодаря своей эффективности и простоте изучения, за счет чего до
сих пор используется для обучения программированию. Также синтаксис С был
взят за основу многих других языков программирования.
Несмотря на достаточно большой объем набора операций, С довольно
лаконичен.
C++ — компилируемый
статически
типизированный
язык
программирования общего назначения.
Поддерживает такие
парадигмы программирования как процедурное
программирование, объектно-ориентированное программирование, обобщенное
программирование,
обеспечивает
модульность,
раздельную
компиляцию,
обработку исключений, абстракцию данных, объявление типов (классов)
объектов, виртуальные функции. Стандартная библиотека включает, в том числе,
общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как
высокоуровневых, так и
низкоуровневых языков.
В сравнении с его
предшественником — языком C, — наибольшее внимание уделено поддержке
объектно – ориентированного и обобщённого программирования.
C# — объектно- риентированный
язык
программирования. Разработан
как язык разработки приложений для платформы Microsoft.NET Framework.
C# относится к семье языков с C-подобным синтаксисом, из них его
синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию,
поддерживает полиморфизм, перегрузку операторов (в том числе операторов
явного и неявного приведения типа), делегаты, атрибуты, события, свойства,
обобщённые
типы
и
методы,
итераторы,
анонимные
функции с
поддержкой замыканий, LINQ, исключения, комментарии в формате XML.
Переняв многое от своих предшественников —
языков C++, Delphi,
Модула, Smalltalk и в особенности Java — С#, опираясь на практику их
использования, исключает некоторые модели, зарекомендовавшие себя как
проблематичные при разработке программных систем, например, C# в отличие от
C++ не поддерживает
множественное наследование классов (между тем
допускается множественное наследование интерфейсов).
интерпретируемый
динамический язык
программирования общего назначения, созданный Ларри
Уоллом. Основной
Perl
—
высокоуровневый
особенностью языка считаются его богатые возможности для работы с текстом, в
том числе работа с регулярными выражениями, встроенная в синтаксис.
Perl — язык программирования общего назначения, который был
первоначально создан для манипуляций с текстом, но на данный момент
используется для выполнения широкого спектра задач, включая системное
администрирование,
веб-разработку,
сетевое
программирование,
игры,
биоинформатику, разработку графических пользовательских интерфейсов.
Язык можно охарактеризовать скорее как практичный (лёгкость в
использовании,
эффективность,
полнота),
чем
красивый
(элегантность,
минималистичность). Главными достоинствами языка являются поддержка
различных
парадигм
(процедурный,
объектно-ориентированный
и
функциональный стили программирования), контроль за памятью (без сборщика
мусора, основанного на циклах), встроенная поддержка обработки текста, а также
большая коллекция модулей сторонних разработчиков.
Python — высокоуровневый язык программирования общего назначения,
ориентированный на повышение производительности разработчика и читаемости
кода. Синтаксис ядра Python минималистичен. В то же время стандартная
библиотека включает большой объём полезных функций.
Python поддерживает несколько парадигм программирования, в том числе
структурное,
объектно-ориентированное,
функциональное,
императивное и аспектно-ориентированное. Основные архитектурные черты динамическая
типизация,
автоматическое
управление
памятью,
полная
интроспекция, механизм обработки исключений, поддержка многопоточных
вычислений и удобные высокоуровневые структуры данных. Код в Питоне
организовывается
в
функции
и классы,
которые
могут
объединяться
в модули (которые в свою очередь могут быть объединены в пакеты).
—
Java
объектно-ориентированный
язык
программирования,
разработанный компанией Sun Microsystems (в последующем приобретённой
компанией Oracle). Приложения Java обычно компилируются в специальный
байт-код, поэтому они могут работать на любой виртуальной Java-машине (JVM)
вне
зависимости
от компьютерной
транслируются в байт-код,
архитектуры.
выполняемый
Программы
виртуальной
на
машиной
Java
Java
(JVM) — программой, обрабатывающей байтовый код и передающей инструкции
оборудованию как интерпретатор.
Достоинством подобного способа выполнения программ является полная
независимость
байт-кода
от операционной
системы и оборудования,
что
позволяет выполнять Java-приложения на любом устройстве, для которого
существует соответствующая виртуальная машина. Другой важной особенностью
технологии Java является гибкая система безопасности благодаря тому, что
исполнение программы полностью контролируется виртуальной машиной. Любые
операции,
которые
превышают
установленные
полномочия
программы
(например, попытка несанкционированного доступа к данным или соединения с
другим компьютером) вызывают немедленное прерывание.
Часто к недостаткам концепции виртуальной машины относят то, что
исполнение байт-кода виртуальной машиной может снижать производительность
программ и алгоритмов, реализованных на языке Java. В последнее время был
внесен ряд усовершенствований, которые несколько увеличили скорость
выполнения программ на Java:
применение
технологии
трансляции
байт-кода
в
машинный
код
непосредственно во время работы программы (JIT-технология) с возможностью
сохранения версий класса в машинном коде;
широкое
использование
платформенно-ориентированного
кода
(native-код) в стандартных библиотеках;
аппаратные средства, обеспечивающие ускоренную обработку байт-кода
(например,
технология Jazelle,
поддерживаемая
некоторыми
процессорами
фирмы ARM).
Идеи, заложенные в концепцию и различные реализации среды
виртуальной машины Java, вдохновили множество энтузиастов на расширение
перечня языков, которые могли бы быть использованы для создания программ,
исполняемых на виртуальной машине. Эти идеи нашли также выражение в
спецификации
общеязыковой
инфраструктуры CLI,
платформы .NET компанией Microsoft.
заложенной
в
основу
8.2. Выбор языка программирования
Для написания своей программы я выбрала C#. В настоящее время этот
язык является одним из самых серьезных и современных языков. С# пользуется
большой популярностью ввиду легкости понимания, так как из него были
исключены многие лишние компоненты, встречавшиеся в С++. Также убраны
отдельные модели, охарактеризовавшие себя как проблемные при разработке
программных систем. Так же C# может поддерживать работу с базами данных,
что отлично подходит для решения поставленной задачи.
9. Обзор систем управления базами данных (СУБД)
Microsoft
Access — реляционная
СУБД корпорации Microsoft.
Имеет
широкий спектр функций, включая связанные запросы, связь с внешними
таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access
можно писать приложения, работающие с базами данных. Основные компоненты
MS Access:
 построитель таблиц;
 построитель экранных форм;
 построитель SQL-запросов (язык SQL в MS Access не соответствует
стандарту ANSI);
 построитель отчётов, выводимых на печать.
Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет
разрабатывать приложения и БД практически «с нуля» или написать оболочку для
внешней БД.
SQLite — легковесная встраиваемая реляционная база данных. Старые
версии SQLite были спроектированы без каких-либо ограничений, единственным
условием было то, чтобы база данных умещалась в памяти, в которой все
вычисления производились при помощи 32-разрядных целых чисел. Это
создавало определённые проблемы. Из-за того, что верхние пределы не были
определены и соответственно должным образом протестированы, то часто
обнаруживались ошибки при использовании SQLite в достаточно экстремальных
условиях. И поэтому, в новых версиях SQLite были введены пределы, которые
теперь проверяются вместе с общим набором тестов.
MySQL — свободная реляционная система управления базами данных.
MySQL является решением для малых и средних приложений. Обычно MySQL
используется в качестве сервера, к которому обращаются локальные или
удалённые клиенты, однако в дистрибутив входит библиотека внутреннего
сервера, позволяющая включать MySQL в автономные программы.
Firebird (FirebirdSQL — компактная, кроссплатформенная, свободная
система управления базами данных (СУБД), работающая на Linux, Microsoft
Windows и разнообразных Unix платформах.
В качестве преимуществ Firebird можно отметить многоверсионную
архитектуру,
обеспечивающую
параллельную
обработку
оперативных
и
аналитических запросов (это возможно потому, что читающие пользователи не
блокируют пишущих), компактность (дистрибутив 5Mb), высокую эффективность
и мощную языковую поддержку для хранимых процедур и триггеров.
Firebird используется в различных промышленных системах (складские и
хозяйственные, финансовый и государственный сектора) с 2001 г. Это
коммерчески независимый проект C и C++ программистов, технических
советников и разработчиков мультиплатформенных систем управления базами
данных, основанный на исходном коде, выпущенном корпорацией Borland 25
июля 2000 года в виде свободной версииInterbase 6.0.
Среди
недостатков:
полнотекстовых индексов.
отсутствие
кэша
результатов
запросов,
10. Выбор СУБД
Мной выбрана СУБД Microsoft Access, так как она обладает рядом
преимуществ таких, как:
 быстрое
создание
таблиц
без
применения
сложных
операций
управления базой данных;
 приложение удобно в использовании благодаря готовым шаблонам и
эффективным средства;
 расположения всех объектов, которыми оперирует Access в одном
файле. Это позволяет без труда переносить программу на другие ПК;
 наличие мастеров для создания тех или иных операций с программой.
11. Надежность программного обеспечения
Процентные частоты появления ошибок в ПО по типам ошибок
представлены в таблице 1.
Таблица 1 – Процентные частоты появления ошибок в ПО
Как видно из таблицы 1, основное количество ошибок делается из-за
неверной спецификации или ТЗ. Эти ошибки, в свою очередь, могут быть
разделены на следующие категории (таблица 2):
Таблица 2 – Категории ошибок в ПО
Из этих таблиц, кстати, следует, на что нужно обращать особое внимание
при проведении валидации и верификации ПО (верификация отвечает на вопрос,
правильно ли и качественно ли создана программа, а валидация (или аттестация) –
на вопрос правильно ли работает программа).
Способы обеспечения и повышения надежности ПО:
 выбор алгоритмов, не чувствительных к различного рода нарушениям
вычислительного процесса (использование алгоритмической избыточности);
 резервирование программ;
 верификация и валидация программ с последующей коррекцией.
Было
произведено
исследование
отношения
популярных
языков
программирования к случайным ошибкам. Языки со статической и/или строгой
типизацией, что вполне ожидаемо, проявили себя наилучшим образом - C#, Java,
С и C++ показали очень похожие результаты - около 10% не замеченных
компилятором, лучший результат (8%) у C++. Немного хуже проявил себя Haskell
- около 15%. У динамических языков разброс гораздо больше. Абсолютным
антилидером стал PHP - в 36% случаев интерпретатор без возражений запустил
некорректную программу. За ним с заметным отрывом идёт Perl с 22%, а строже
всех ведут себя Ruby (16%) и Python (15%)
Для подсчета надежности программы будет использоваться модель
Коркорэна.
Предполагает наличие в программном обеспечении многих источников
программных отказов, связанных с различными типами ошибок, и разную
вероятность их появления. Аргументом модели является число прогонов
программы n. При этом оценка надежности программного обеспечения имеет вид:
где n+ – число успешных прогонов программного обеспечения;
n-j – число обнаруженных ошибок i-го типа, устраняемых с вероятностью
pi;
d i – коэффициент, определяемый следующим образом:
Преимущества и недостатки модели. К преимуществам модели можно
отнести то, что она учитывает существование в программном обеспечении
нескольких источников ошибок, а также то, что расчет надежности с
математической точки зрения проще, чем в других моделях.
К недостаткам можно отнести необходимость определения статистическим
методом вероятность того, что для очередного прогона программы будет выбран
набор данных из предполагаемой области, что затрудняет расчеты.
После тестирования, на этапе эксплуатации ПО при росте числа прогонов
n и выполнении условий n-<<n и n++n-=n формула определения надежности
имеет вид:
Для тестирования программы были проведены 150 прогонов, 1 из которых
закончился отказом.
R=1-1/150=0.99333333
Надежность программы составила 99,33%.
Заключение
В последнее время туризм в России получил значительное развитие. С
развитием туризма постепенно сформировался рынок услуг. Сегодняшние
турфирмы
могут
предложить
продолжительности
путешествия
многообразие
и
направлений,
поездки.
При
выборе
различные
тура
по
обычно
руководствуются следующими критериями:
тип тура (экскурсионный, семейный, пляжный, спортивный, лечебный,
охота/рыбалка);
стоимость тура;
размещение для проживания: (отели любых разновидностей, палатка,
коттедж, без размещения);
питание (система оплаты «все включено», полный пансион, полупансион,
завтраки, без питания);
полное время тура (менее суток, 1-4 дней, 5-10 дней, от 10 дней);
время в пути;
тип транспорта;
основной рельеф местности (наличие водоемов, гор, леса, пещер, равнин);
наличие культурных достопримечательностей;
наличие ресторана/бара/кафе, магазинов.
Однако для того, чтобы совершить некий выбор, человек должен
сформировать
множество
альтернативных
вариантов
решения
(далее
-
альтернатив);
сформировать множество критериев оценки альтернатив;
получить оценки альтернатив по критериям;
выбрать лучшую альтернативу, которая и выдается системой в качестве
рекомендации.
Современные системы поддержки принятия решения представляют собой
системы, максимально приспособленные к решению задач повседневной
управленческой деятельности, и являются инструментом, призванным оказать
помощь лицам, принимающим решения.
В данной дипломной работе раскрыты основные понятия СППР, проведен
анализ методов поддержки принятия решений. На основе метода аналитических
иерархий разработан и описан новый метод, подходящий под конкретно
поставленную проблему, а именно: позволяет полагаться на предпочтения одного
ЛПР и поддерживает работу как с численными, так и с лингвистическими
значениями большого количества критериев, а также альтернатив.
В работе представлен также обзор систем управления базами данных и по
результатам анализа выбрана наиболее приемлемая из СУБД - Access.
Для повышения качества туристских услуг и обслуживания разработана
программа, позволяющая принимать оптимальные решения по выбору тура с
учетом предпочтений лица принимающего решения. Для написания программы
выбран язык C#, один из самых продвинутых и современных языков
программирования в настоящее время.
Для подтверждения соответствия программного обеспечения требованиям
технического задания разработан программный документ «Программа и методика
испытаний программы поддержки принятия решений по выбору тура».
По результатам тестирования рассчитана надежность программы, которая
составила 99,33%.
В ходе работы над дипломным проектом были разработаны следующие
программные документы, содержащие сведения, необходимые для разработки,
сопровождения и эксплуатации программы:
техническое задание;
пояснительная записка;
текст программы;
программа и методика испытаний;
эксплуатационные документы (руководство оператора).
Разработанная программа может иметь практическое применение в
туристических фирмах.
Литература
1. Ларичев О. И., Петровский А. В. Системы поддержки принятия
решений. Современное состояние и перспективы их развития. // Итоги науки и
техники. Сер. Техническая кибернетика. — Т.21. М.: ВИНИТИ, 1987
2. Вишнеков А.В., Курилова Н.С., Сафонова И.Е., Штейнберг В.И..
Многоцелевые задачи принятия проектных решений: Учебное пособие. МГИЭМ. - М., 2002.
3. Трахтенгерц
Э.А. Компьютерная поддержка принятия решений. М.,
Синтег. 2000.
4. Мэтью А. Стэкер, Стивен Дж. Стэйн, Тони Нортроп. Разработка
клиентских Windows-приложений на платформе Microsoft .Net Framework.
питер 2008
5. Дейт К. Введение в системы баз данных //6-издание. - Киев: Диалектика,
1998
6. Бондарев
В.М.,
Рублинецкий
В.И.,
Качко
Е.Г.
Основы
программирования. - Харьков: Фолио, Ростов н/Д: Феникс, 1997.
7. Карли Ватсон – С#, Издательство "Лори", Москва, 2005.
8. Система поддержки
системах
управления.
Труды
принятия
Института
решений
проблем
им. В.А.Трапезникова. Том VIII. М.: ИПУРАН, 2000 г.
9. http://www.gorskiy.ru/Articles/Dmss
10. http://ru.wikipedia.org
11. http://www.citforum.ru
12. http://www.microsoft.com
в
человеко-машинных
управления
РАН
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
ВЫСШАЯ ШКОЛА ЭКОНОМИКИ
МОСКОВСКИЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
НАЦИОНАЛЬНОГО ИССЛЕДОВАТЕЛЬСКОГО УНИВЕРСИТЕТА
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
КАФЕДРА
ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ И СЕТИ
Текст программы
(приложение А)
Москва 2013
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
using System.IO;
using System.Xml;
using System.Data.OleDb;
using System.Data;
namespace DiplomProject
{
public class AlternativeComparer : IComparer<Altarnative>
{
public int Compare(Altarnative x, Altarnative y)
{
return x.Weight.CompareTo(y.Weight);
}
}
static class Program
{
static List<Criteria> _criterias;
static OleDbConnection _connection = null;
static List<Altarnative> _alternatives = null;
[STAThread]
static void Main(string[] args)
{
ReadAlternatives();
// Читаем критерии для оценки из файла
//
ReadCriteria();
// Вводим предпочтения клиента
//
InputClientValues();
// Рассчитываем веса для критериев
//
CalculateCriteriaWeights();
// Рассчитываем веса для значений критериев
//
foreach (Criteria criteria in _criterias)
{
CalculateValueWeights(criteria);
Console.WriteLine(string.Format("Вес критерия {0}: {1}", criteria.Name,
criteria.Weight.ToString() + Environment.NewLine));
foreach (CriteriaValue cvalue in criteria.Values)
{
Console.WriteLine(string.Format("Вес значения {0}: {1}", cvalue.Name,
cvalue.Weight.ToString() + Environment.NewLine));
}
}
_alternatives.Sort(new AlternativeComparer());
Console.WriteLine("____________________________________________________"
+ Environment.NewLine);
for (int i = _alternatives.Count-1; i >= 0; i--)
{
Altarnative alt = _alternatives[i];
CalculateAlternativeWeight(alt);
Console.WriteLine(string.Format("Альтернатива {0} | Вес {1}", alt.Name,
alt.Weight.ToString() + Environment.NewLine));
}
Console.WriteLine("Нажмите любую кнопку для выхода из программы");
Console.ReadLine();
}
/// <summary>
/// Посчитать вес альтернативы
/// </summary>
/// <param name="alt">Альтернатива</param>
static void CalculateAlternativeWeight(Altarnative alt)
{
for (int i = 0; i < alt.Values.Count; i++)
{
Criteria criteria = _criterias[i];
decimal v = FindValue(alt.Values[i], criteria);
alt.Weight += (criteria.Weight * v);
}
}
static decimal FindValue(string alternativeValue, Criteria criteria)
{
foreach (CriteriaValue cv in criteria.Values)
{
if (cv.Name.ToUpper() == alternativeValue.ToUpper())
{
return cv.Weight;
}
}
return -1;
}
static string GetNameByValueForCoastAlternative(int val)
{
if (val > 0 && val <= 5000) return "до 5 тыс. руб.";
if (val > 5000 && val <= 10000) return "до 10 тыс. руб.";
if (val > 10000 && val <= 20000) return "до 20 тыс. руб.";
if (val > 20000 && val <= 30000) return "до 30 тыс. руб.";
if (val > 30000) return "более 30 тыс. руб.";
return val.ToString();
}
static string GetNameByValueForDurationAlternative(double val)
{
if (val > 0 && val < 1) return "менее суток";
if (val > 1 && val <= 4) return "1-4 дней";
if (val > 4 && val <= 10) return "5-10 дней";
if (val > 10) return "от 10 дней";
return val.ToString();
}
static string GetNameByValueForTripDurationAlternative(int val)
{
if (val > 0 && val <= 3) return "0-3 часа";
if (val > 3 && val <= 6) return "3-6 часов";
if (val > 6 && val <= 12) return "6-12 часов";
if (val > 12 && val <= 24) return "12-24 часа";
if (val > 24) return "Более суток";
return val.ToString();
}
/// <summary>
/// Считать альтернативы из БД
/// </summary>
static void ReadAlternatives()
{
_alternatives = new List<Altarnative>();
SetConnection();
if (_connection.State == ConnectionState.Open)
{
OleDbCommand com = new OleDbCommand("SELECT * FROM
Таблица1", _connection);
OleDbDataReader reader = com.ExecuteReader();
while (reader.Read())
{
Altarnative alt = new Altarnative();
alt.Name = reader[1].ToString();
alt.Values.Add(reader[2].ToString());
alt.Values.Add(GetNameByValueForCoastAlternative(Int32.Parse(reader[3].ToString()
)));
alt.Values.Add(reader[4].ToString());
alt.Values.Add(reader[5].ToString());
alt.Values.Add(GetNameByValueForDurationAlternative(Double.Parse(reader[6].ToStr
ing())));
alt.Values.Add(GetNameByValueForTripDurationAlternative(Int32.Parse(reader[7].To
String())));
alt.Values.Add(reader[8].ToString());
alt.Values.Add(reader[9].ToString());
alt.Values.Add(reader[10].ToString());
alt.Values.Add(reader[11].ToString());
_alternatives.Add(alt);
}
}
}
/// <summary>
/// Установить соединение с БД
/// </summary>
static void SetConnection()
{
_connection = new
OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=.\альтернативы.accdb");
_connection.Open();
}
/// <summary>
/// Считать из файла список критериев
/// </summary>
static void ReadCriteria()
{
_criterias = new List<Criteria>();
FileStream stream = new FileStream("Criterias.xml", FileMode.Open);
XmlDocument doc = new XmlDocument();
doc.Load(stream);
XmlElement root = doc.DocumentElement;
foreach (XmlNode node in root.ChildNodes)
{
Criteria criteria = new Criteria();
criteria.Name = node.Attributes[0].Value;
foreach (XmlNode childNode in node.ChildNodes)
{
foreach (XmlAttribute attr in childNode.Attributes)
{
CriteriaValue criteriaValue = new CriteriaValue();
criteriaValue.Name = attr.Value;
criteria.Values.Add(criteriaValue);
}
}
_criterias.Add(criteria);
}
}
/// <summary>
/// Ввести предпочтения клиента по критериям и их значениям
/// </summary>
static void InputClientValues()
{
foreach (Criteria criteria in _criterias)
{
Console.WriteLine(string.Format("Введите оценку по десятибалльной
шкале для критерия {0}", criteria.Name));
bool isCorrectInput = false;
// Получаем значимость текущего критерия
//
while (!isCorrectInput)
{
isCorrectInput = Int32.TryParse(Console.ReadLine(), out
criteria.ClientValue) && criteria.ClientValue >= 1 && criteria.ClientValue <= 10;
if (!isCorrectInput)
Console.WriteLine("Неверный ввод!");
}
foreach (CriteriaValue val in criteria.Values)
{
Console.WriteLine(string.Format("Введите оценку по десятибалльной
шкале для значения {0}", val.Name));
isCorrectInput = false;
while (!isCorrectInput)
{
isCorrectInput = Int32.TryParse(Console.ReadLine(), out
val.ClientValue) && val.ClientValue >= 1 && val.ClientValue <= 10;
if (!isCorrectInput)
Console.WriteLine("Неверный ввод!");
}
}
}
}
/// <summary>
/// Произвести расчет весов критериев
/// </summary>
static void CalculateCriteriaWeights()
{
foreach (Criteria criteria in _criterias)
{
PreCulculateCriteriaWeight(criteria);
}
decimal criteriaSumm = CulculateCriteriaSumm();
if (criteriaSumm > 0)
{
foreach (Criteria criteria in _criterias)
{
criteria.Weight = criteria.TempCriteriaWeight / criteriaSumm;
}
}
}
static void CalculateValueWeights(Criteria criteria)
{
foreach (CriteriaValue val in criteria.Values)
{
PreCulculateValueWeight(criteria, val);
}
decimal valueSumm = CulculateValueSumm(criteria);
if (valueSumm > 0)
{
foreach (CriteriaValue val in criteria.Values)
{
val.Weight = val.TempValueWeight / valueSumm;
}
}
}
/// <summary>
/// Произвести расчет веса
/// </summary>
/// <param name="criteria"></param>
static void PreCulculateCriteriaWeight(Criteria criteria)
{
decimal summ = 0;
foreach (Criteria c in _criterias)
{
summ += GetValueFromInterval(criteria.ClientValue, c.ClientValue);
}
criteria.TempCriteriaWeight = (decimal)Math.Pow((double)summ, (double)1 /
_criterias.Count);
}
static void PreCulculateValueWeight(Criteria criteria, CriteriaValue val)
{
decimal summ = 0;
foreach (CriteriaValue v in criteria.Values)
{
summ += GetValueFromInterval(val.ClientValue, v.ClientValue);
}
val.TempValueWeight = (decimal)Math.Pow((double)summ, (double)1 /
criteria.Values.Count);
}
static decimal CulculateCriteriaSumm()
{
decimal summ = 0;
foreach (Criteria criteria in _criterias)
summ += criteria.TempCriteriaWeight;
return summ;
}
static decimal CulculateValueSumm(Criteria criteria)
{
decimal summ = 0;
foreach (CriteriaValue val in criteria.Values)
summ += val.TempValueWeight;
return summ;
}
static decimal GetValueFromInterval(int k1, int k2)
{
double res = k1 / k2;
if (res >= 0 && res < 0.25) return 1 / 9;
if (res >= 0.25 && res < 0.45) return 1 / 7;
if (res >= 0.45 && res < 0.65) return 1 / 5;
if (res >= 0.65 && res < 0.85) return 1 / 3;
if (res >= 0.85 && res < 1.5) return 1;
if (res >= 1.5 && res < 3.5) return 3;
if (res >= 3.5 && res < 5.5) return 5;
if (res >= 5.5 && res < 7.5) return 7;
if (res >= 7.5 && res < 10) return 9;
return -1;
}
}
}
// ----------------------------------------------------------------------// <copyright file="Criteria.cs" company="">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------
namespace DiplomProject
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/// <summary>
/// TODO: Update summary.
/// </summary>
public class Criteria
{
public string Name;
public List<CriteriaValue> Values = new List<CriteriaValue>();
public int ClientValue;
public decimal TempCriteriaWeight;
public decimal Weight;
}
}
<criterias>
<criteria Name="Тип тура">
<criteriaValue Name="экскурсионный"></criteriaValue>
<criteriaValue Name="семейный"></criteriaValue>
<criteriaValue Name="пляжный"></criteriaValue>
<criteriaValue Name="спортивный"></criteriaValue>
<criteriaValue Name="лечебный"></criteriaValue>
<criteriaValue Name="охота\рыбалка"></criteriaValue>
</criteria>
<criteria Name="Стоимость">
<criteriaValue Name="до 5 тыс. руб."></criteriaValue>
<criteriaValue Name="до 10 тыс. руб."></criteriaValue>
<criteriaValue Name="до 20 тыс. руб."></criteriaValue>
<criteriaValue Name="до 30 тыс. руб."></criteriaValue>
<criteriaValue Name="более 30 тыс. руб."></criteriaValue>
</criteria>
<criteria Name="Размещение">
<criteriaValue Name="отель 5"></criteriaValue>
<criteriaValue Name="отель 4"></criteriaValue>
<criteriaValue Name="отель 3"></criteriaValue>
<criteriaValue Name="отель 2"></criteriaValue>
<criteriaValue Name="коттедж"></criteriaValue>
<criteriaValue Name="палатка"></criteriaValue>
<criteriaValue Name="без размещения"></criteriaValue>
</criteria>
<criteria Name="Питание">
<criteriaValue Name="Все включено"></criteriaValue>
<criteriaValue Name="Полный пансион"></criteriaValue>
<criteriaValue Name="Полупансион"></criteriaValue>
<criteriaValue Name="Завтраки"></criteriaValue>
<criteriaValue Name="Без питания"></criteriaValue>
</criteria>
<criteria Name="Время тура">
<criteriaValue Name="менее суток"></criteriaValue>
<criteriaValue Name="1-4 дней"></criteriaValue>
<criteriaValue Name="5-10 дней"></criteriaValue>
<criteriaValue Name="от 10 дней"></criteriaValue>
</criteria>
<criteria Name="Время в пути">
<criteriaValue Name="0-3 часа"></criteriaValue>
<criteriaValue Name="3-6 часов"></criteriaValue>
<criteriaValue Name="6-12 часов"></criteriaValue>
<criteriaValue Name="12-24 часа"></criteriaValue>
<criteriaValue Name="Более суток"></criteriaValue>
</criteria>
<criteria Name="Тип транспорта">
<criteriaValue Name="самолет"></criteriaValue>
<criteriaValue Name="поезд"></criteriaValue>
<criteriaValue Name="машина"></criteriaValue>
<criteriaValue Name="автобус"></criteriaValue>
<criteriaValue Name="корабль"></criteriaValue>
</criteria>
<criteria Name="Рельеф">
<criteriaValue Name="море"></criteriaValue>
<criteriaValue Name="горы"></criteriaValue>
<criteriaValue Name="лес"></criteriaValue>
<criteriaValue Name="река"></criteriaValue>
<criteriaValue Name="пещеры"></criteriaValue>
<criteriaValue Name="озера"></criteriaValue>
<criteriaValue Name="равнины"></criteriaValue>
</criteria>
<criteria Name="Культкрные достопримечательности">
<criteriaValue Name="да"></criteriaValue>
<criteriaValue Name="нет"></criteriaValue>
</criteria>
<criteria Name="Магазины/кафе">
<criteriaValue Name="да"></criteriaValue>
<criteriaValue Name="нет"></criteriaValue>
</criteria>
</criterias>
// ----------------------------------------------------------------------// <copyright file="CriteriaValue.cs" company="">
// TODO: Update copyright text.
// </copyright>
// -----------------------------------------------------------------------
namespace DiplomProject
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/// <summary>
/// TODO: Update summary.
/// </summary>
public class CriteriaValue
{
public string Name;
public int ClientValue;
public decimal TempValueWeight;
public decimal Weight;
}
}
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
ВЫСШАЯ ШКОЛА ЭКОНОМИКИ
МОСКОВСКИЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
НАЦИОНАЛЬНОГО ИССЛЕДОВАТЕЛЬСКОГО УНИВЕРСИТЕТА
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
КАФЕДРА
ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ И СЕТИ
Программа и методика испытаний
Программы поддержки принятия решений по выбору тура
(Приложение Б)
Москва 2013
Содержание
Аннотация .............................................................................................................. 73
1. Объект испытаний ............................................................................................. 74
2. Цель испытаний ................................................................................................. 74
3. Состав предъявляемой документации............................................................. 74
5. Порядок проведения испытаний ...................................................................... 74
6. Порядок проверки работоспособности ........................................................... 75
7. Меры, обеспечивающие безопасность и безаварийность проведения испытаний
................................................................................................................................. 75
Аннотация
Настоящий документ является программой и методикой испытаний
программы для поддержки принятия решений по выбору тура.
Документ предназначен для установления данных, обеспечивающих
получение и проверку проектных решений, выявление причин сбоев, определение
качества работ, показателей качества функционирования программы и отдельных
подпрограмм,
проверку
соответствия
программы
безопасности, продолжительность и режим испытаний.
требованиям
техники
1. Объект испытаний
Объектом испытания является программа, предназначенная для поддержки
принятия решения по выбору тура.
2. Цель испытаний
Целью проведения испытаний является последовательная проверка
соответствия программного обеспечения требованиям технического задания по
составу и работоспособности программного обеспечения.
3. Состав предъявляемой документации
Состав программной документации, предъявляемой на испытании:
 программа и методика испытаний;
 текст программы.
4. Технические требования
Функционирование программы не должно приводить к сбою (фатальному
нарушению работы системы). Организация диалога должна предусматривать
защиту от ввода некорректных данных.
Для функционирования программного обеспечения необходимо наличие
следующих технических средств:
 IBM РС- совместимая машина;
 клавиатура (для ввода информации);
 монитор (для вывода информации).
5. Порядок проведения испытаний
1. Контроль входной и выходной информации.
2. Определение надежности.
3. Проверка режимов функционирования.
6. Порядок проверки работоспособности
Проверка работоспособности программного обеспечения производится на
IBM РС-совместимой машине с предварительно установленным системным
программным
обеспечением
и
программным
обеспечением
испытуемой
программы. Запуск программы производится с помощью ярлыка, расположенного
на рабочем столе.
Подтверждение работоспособности системы можно получить, если
провести весь цикл операций, описанных в сценариях тестовых заданий.
7. Меры, обеспечивающие безопасность и безаварийность проведения
испытаний
При проведении испытаний
должно быть
обеспечено соблюдение
требований безопасности, установленных ГОСТ 12.2.007.0–75, ГОСТ 12.2.007.3–
75, «Правилами техники безопасности при эксплуатации электроустановок
потребителей» и «Правилами технической эксплуатации электроустановок
потребителей».
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
ВЫСШАЯ ШКОЛА ЭКОНОМИКИ
МОСКОВСКИЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
НАЦИОНАЛЬНОГО ИССЛЕДОВАТЕЛЬСКОГО УНИВЕРСИТЕТА
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
КАФЕДРА
ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ И СЕТИ
Руководство оператора
Программы поддержки принятия решений по выбору тура
(приложение В)
Москва 2013
Содержание
Аннотация ........................................................................................................... 78
1. Область применения ...................................................................................... 79
2. Описание возможностей ................................................................................ 79
3. Требования к уровню подготовки пользователя ........................................ 79
4. Требования для работы с приложением ...................................................... 79
5. Настройка рабочего места пользователя ..................................................... 79
6. Выполнение программы ................................................................................ 80
7. Внесение изменений в базу туров ................................................................ 80
Аннотация
Настоящий документ является руководством пользователя программы
поддержки принятия решений по выбору тура.
Программа предназначена для пользователя, проходящего процедуру
выбора тура, и предназначена для решения следующих задач:
 формирование сортированного списка рекомендуемых туров, согласно
предпочтениям пользователя.
1. Область применения
Программа предназначена для поддержки принятия решения по выбору
тура.
2. Описание возможностей
Данная программа позволяет пользователям вводить сведения о своих
предпочтениях в выборе тура посредством заполнения оценок критериев отбора,
выводить на экран список результатов, представленных сортированным списком
рекомендуемых решений.
3. Требования к уровню подготовки пользователя
Для работы с программой пользователь должен обладать навыками работы
с ПК в операционной среде Windows.
4. Требования для работы с приложением
Для эксплуатации программы
необходимо следующее программное
обеспечение:
 операционная система Microsoft Windows 98 и выше;
5. Настройка рабочего места пользователя
Перед началом работы с программой необходимо выполнить следующие
процедуры:
 получить от системного программиста дистрибутивы программы;
 перенести папку с дистрибутивом на компьютер;
 запустить файл «Выбор тура».
6. Выполнение программы
Пользователь заполняет поля
программы. В каждом поле ответа
пользователю предлагается поставить оценку критерию и его значениям по
десятибалльной шкале.
После выполнения программы пользователю предоставляется список
наиболее рациональных вариантов решения.
7. Внесение изменений в базу туров
При возникновении необходимости внесения изменений в базу данных
необходимо обратиться к системному программисту.
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
ВЫСШАЯ ШКОЛА ЭКОНОМИКИ
МОСКОВСКИЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
НАЦИОНАЛЬНОГО ИССЛЕДОВАТЕЛЬСКОГО УНИВЕРСИТЕТА
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
КАФЕДРА
ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ И СЕТИ
Обзор метода СППР
(приложение Г)
Москва 2013
Выбор метода
№
п/п
Метод
ЛПР или
группа
экспертов
Цель
Количество
альтернатив
Типы критериев
Выполняемые операции
Сложность
операций
Веса
критериев
Чувствительность
к ошибкам
д

Средняя

Низкая

Низкая
Назначает
ЛПР
Высокая
Назначает
ЛПР
Высокая
Назначает
ЛПР
Высокая
Назначает
ЛПР
Высокая
Назначает
ЛПР
Средняя
Назначает
ЛПР
Высокая
1. Методы сравнения и оценки многокритериальных альтернатив в условиях определённости исходной информации
1
Попарное сравнение
альтернатив
2
Лексикографический метод
3
4
Метод лексикографического
полуупорядочивания
Метод перестановок
1.1. Методы иерархического упорядочивания альтернатив на заданном множестве альтернатив и критериев
Небольшое,
любое для
Выбор лучшей альтернативы,
начального
ранжирование, получение
ЛПР
анализа
Любые
Попарное сравнение альтернатив
множества эффективных
заданного
решений
множества
альтернатив
1. Ранжирование критериев по
важности
Выбор лучшей альтернативы,
ЛПР
Небольшое
Любые
ранжирование
2. Сравнение оценок по шкале одного
критерия
1. Ранжирование критериев по
важности
Выбор лучшей альтернативы,
ЛПР
Небольшое
Количественные
ранжирование
2. Сравнение оценок по шкале одного
критерия
1. Назначение весов критериев
Выбор лучшей альтернативы,
ЛПР
Небольшое
Любые
2. Сравнение оценок по шкале одного
ранжирование
критерия
с
д
с
д
с
д
1.2. Методы, основанные на количественном выражении предпочтений ЛПР на множестве критериев
Выбор лучшей альтернативы
5
Простой метод приращений
6
ЭЛЕКТРА 1
7
ЭЛЕКТРА 2
8
ЭЛЕКТРА 3
9
Метод аналитических
иерархий
ЛПР
Исключение неэффективных
альтернатив
Упорядочивание
индифферентных классов
альтернатив
Упорядочивание множества
альтернатив
Выбор лучшей альтернативы,
ранжирование
Небольшое
Любые
ЛПР
Небольшое
Количественные
ЛПР
Небольшое
Количественные
ЛПР
Небольшое
Количественные
ЛПР
Небольшое
Любые
1. Сравнение оценок по шкале одного
критерия
2. Назначение весов критериев
1. Назначение весов критерия
2. Оценка альтернативы по критерию
3. Задание порогов чувствительности
1. Назначение весов критерия
2. Оценка альтернативы по критерию
3. Задание порогов чувствительности
1. Назначение весов критерия
2. Оценка альтернативы по критерию
1. Назначение весов критерия
2. Оценка альтернативы по критерию
1.3. Методы, основанные на информации о допустимых значениях критериев
д
с
с
д
с
с
д
с
с
д
с
д
№
п/п
Метод
Цель
ЛПР или
группа
экспертов
Количество
альтернатив
Типы критериев
Выполняемые операции
ЛПР
Любое
Количественные
Сравнение двух оценок по шкале
одного критерия
10
Задание минимально
допустимых значений
критериев
Разделение множества
альтернатив на
удовлетворительные и
неудовлетворительные
11
Анализ альтернатив только по
критериям, для которых
достигаются "наилучшие"
Разделение множества
альтернатив на
удовлетворительные и
неудовлетворительные
ЛПР
Метод Харвица
Выбор лучшей альтернативы из
множества решений
эффективных решений
ЛПР
12
13
Метод МАКСИМИН
14
Метод МАКСИМАКС
15
Метод формирования и
анализа платёжной матрицы
16
Метод Дайера-Джофриона
(основан на информации о
мерах замещения)
17
Процедура SIGMOP (основан
на информации об уровнях
критериев)
Сложность
операций
Веса
критериев
Чувствительность
к ошибкам
д

Высокая

Высокая

Средняя

Низкая
д

Низкая


Низкая
нс
Критерии
ранжируются,
веса не
назначаются
Высокая
д
Назначает
ЛПР
Высокая


Низкая


Прогнозирование / оценка значения
нд

1. Ранжирование альтернатив
с
2. Попарное сравнение альтернатив
д
1. Сравнение оценок по шкале одного
критерия
Любое
Количественные
2. Выделение оценок по критериям,
удовлетворительным в наибольшей
степени
1.4. Методы, не требующие ранжирования
1. Сравнение двух альтернатив и
выделение лучшей из них
Любое
Количественные
2. Сравнение оценок по шкале одного
критерия
Выбор лучшей альтернативы из
Сравнение оценок по шкале одного
множества решений
ЛПР
Любое
Количественные
критерия
эффективных решений
Выбор лучшей альтернативы из
Сравнение оценок по шкале одного
множества решений
ЛПР
Любое
Количественные
критерия
эффективных решений
2. Методы оценки и сравнения многокритериальных альтернатив в условиях неопределённости исходной информации
Принятие решения в условиях
Затраты (прибыль )
Определение прибыли (потерь) от
ЛПР
Любое
неопределенности
от решения
решений для различных оценок
3. Методы поиска удовлетворительных решений
Определение количественного
Поиск удовлетворительного
изменения оценки одного критерия,
решения в множестве
ЛПР
Множество
Количественные
которое эквивалентно изменению
альтернатив
оценки другого
Количественные
1. Назначение весов критериев
Исследование множества
Альтернативы
(значения критериев
ЛПР
2. Выделение критериев, оценки по
допустимых решений
не заданы
нормируются в
которым должны быть улучшены
интервале [0,1])
18
Метод STEM (основан на
информации об уровнях
критериев)
Исследование множества
допустимых решений
ЛПР
Альтернативы
не заданы
Количественные
19
Метод Стойера
Выбор решения из множества
предварительных решений
ЛПР
Множество
Количественные
Определение удовлетворительного
значения критерия
д
д
с
д
д
с
4. Методы принятия групповых решений
20
Метод Дельфи
Прогноз значения величины
Группа
экспертов
Альтернативы
не заданы
Не используются
21
Метод ранжирования
альтернатив
Ранжирование альтернатив
Группа
экспертов
Любое
Не используются

Зависит от
количества
экспертов
Зависит от
количества
экспертов
83
№
п/п
Метод
Цель
ЛПР или
группа
экспертов
Количество
альтернатив
Типы критериев
22
Метод минимального
расстояния
Ранжирование альтернатив
Группа
экспертов
Любое
Не используются
23
Метод группового принятия
решения с помощью
кластеризации экспертных
оценок альтернатив
Ранжирование альтернатив
Группа
экспертов
Любое
Любые
Сложность
операций
Веса
критериев
Чувствительность
к ошибкам
Ранжирование альтернатив
с

Зависит от
количества
экспертов
Назначение степени удовлетворения
альтернативой по заданным критериям
нд

Зависит от
количества
экспертов
Выполняемые операции
84
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
ВЫСШАЯ ШКОЛА ЭКОНОМИКИ
МОСКОВСКИЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
НАЦИОНАЛЬНОГО ИССЛЕДОВАТЕЛЬСКОГО УНИВЕРСИТЕТА
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
КАФЕДРА
ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ И СЕТИ
База данных альтернатив
(приложение Д)
Москва 2013
85
86
87
88
89
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
ВЫСШАЯ ШКОЛА ЭКОНОМИКИ
МОСКОВСКИЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ
НАЦИОНАЛЬНОГО ИССЛЕДОВАТЕЛЬСКОГО УНИВЕРСИТЕТА
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
КАФЕДРА
ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ И СЕТИ
Графические материалы
(приложение Е)
Москва 2013
90
Постановка задачи
Целью настоящей дипломной работы является
разработка программного обеспечения
(ПО) системы
поддержки принятия решений по выбору тура.
Программа предназначена для:
 более детального подбора тура;
 использования методов СППР для упрощения
принятия сложных многокритериальных решений по
выбору тура;
 ускорения процесса выбора тура.
91
Выбор метода
метод
Попарное сравнение
альтернатив
Лексикографический метод
цель
количество
альтернатив
небольшое
Выбор лучшей альтернативы, ранжирование
Выбор лучшей альтернативы, ранжирование небольшое
типы критериев
любые
любые
Метод лексикографического Выбор лучшей альтернативы, ранжирование небольшое
полуупорядочивания
количественные
Метод перестановок
Выбор лучшей альтернативы, ранжирование небольшое
любые
Простой метод приращений
Выбор лучшей альтернативы
небольшое
любые
ЭЛЕКТРА1
Исключение неэффективных альтернатив
небольшое
количественные
ЭЛЕКТРА2
Упорядочивание классов альтернатив
Небольшое
количественные
ЭЛЕКТРА3
Упорядочивание множества альтернатив
Небольшое
количественные
Метод аналитических
иерархий
Задание минимально
допустимых значений
критериев
Разработанный метод
Выбор лучшей альтернативы, ранжирование Небольшое
любые
Разделение альтернатив на
Любое
удовлетворительные и
неудовлетворительные
Выбор лучшей альтернативы, ранжирование Любое
количественные
любые
92
Математическая модель
Обратно симметричная матрица отношения оценок критериев (значений критериев)
критерий 1
критерий 2
…
критерий n
Ki
критерий 1
К1/К1
К1/К2
…
К1/ Кn
критерий 2
К2/К1
К2/К2
…
К2/ Кn
…
…
…
…
…
критерий n
Кn/К1
Кn/К2
…
Кn/ Кn
Kj
К1-Кn – оценки по десятибалльной шкале (1 - наименьшее предпочтение, 10 –
наибольшее предпочтение) критериев (значений критериев). Данные вводятся пользователем
программы.
93
Таблица назначения оценок отношениям критериев
интервал
оценка
0 – 0.25
1/9
0.25 – 0.45
1/7
0.45 – 0.65
1/5
0.65 – 0.85
1/3
0.85 – 1.5
1
1.5 – 3.5
3
3.5 – 5.5
5
5.5 – 7.5
7
7.5 - 10
9
Цена критерия (значения критерия)
Сумма цен критериев (значений критериев)
Вес критерия (значения критерия)
Цена альтернативы равна сумме произведений веса каждого критерия на
вес его
значения. В результате альтернатива с большей ценой является более рациональной.
94
Тестовые примеры
95
96
Схема работы программы
97
Выводы
Проведен анализ проблем существующих программ по
выбору тура.
Рассмотрены методы поддержки принятия решений.
Найден рациональный метод поддержки принятия решений
для поставленной задачи.
На основе выбранного метода разработано программное
обеспечение.
Подготовлена программная документация.
98
Download