Выбор подходящего программного обеспечения — задача, с которой сталкиваются как отдельные пользователи, так и целые компании. Огромное количество доступных на рынке продуктов делает этот процесс сложным и требующим значительных временных затрат. Стандартные методы сравнения часто оказываются поверхностными, не учитывая всей полноты критериев. Именно поэтому актуальной становится разработка интеллектуальных систем, способных оказать помощь в этом нелегком деле. Данная статья представляет собой пошаговое руководство по написанию дипломной работы, целью которой является разработка системы поддержки принятия решений (СППР) для выбора программного обеспечения для пользователей локальных вычислительных сетей. Мы последовательно разберем все этапы: от анализа предметной области и изучения существующих систем до проектирования, разработки прототипа и его последующего тестирования.
Глава 1. Как провести глубокий аналитический обзор и заложить теоретический фундамент
Первая глава любой дипломной работы — это демонстрация вашей эрудиции и глубокого понимания предметной области. Ее цель — заложить прочный теоретический фундамент для последующих практических разработок. Начать следует с основ.
Необходимо четко разграничить ключевые понятия: Система Поддержки Принятия Решений (СППР) и Экспертная Система (ЭС). Опишите их общую структуру. Типичная СППР состоит из нескольких взаимосвязанных компонентов: базы данных (хранилище структурированной информации), базы моделей (математические и эвристические алгоритмы) и программной подсистемы, которая управляет этими компонентами и предоставляет пользовательский интерфейс. И СППР, и ЭС оперируют базой знаний, содержащей факты и правила предметной области, и могут использовать технологии искусственного интеллекта. Ключевое отличие, которое стоит подчеркнуть, заключается в том, что ЭС часто обладают механизмом объяснения, позволяющим системе аргументировать свой вывод, что повышает доверие пользователя.
Далее проведите анализ 2-3 существующих решений или аналогов, используемых для выбора ПО. Это могут быть как коммерческие продукты, так и научные разработки. Оцените их сильные и слабые стороны. Возможно, они сложны в использовании, дороги или не учитывают специфические критерии, важные для вашей задачи.
В завершение главы необходимо обосновать выбор методологии для вашей будущей системы. Существует множество подходов, например, методы многокритериального анализа. В качестве перспективного варианта можно выделить Метод Анализа Иерархий (МАИ), разработанный Томасом Саати. Сделайте предварительный вывод, почему именно этот метод может эффективно решить задачу выбора ПО, где решение принимается на основе множества разнородных критериев.
Глава 2. Проектируем архитектуру будущей системы и выбираем инструментарий
Теоретический анализ подвел нас к практической части. Вторая, проектно-конструкторская глава — самая ответственная. Здесь вы должны детально описать, как именно будет устроена ваша система, и обосновать все принятые технические решения.
- Детальное обоснование метода. Если в первой главе вы лишь упомянули МАИ, то здесь его нужно описать подробно. Объясните его суть: декомпозиция сложной проблемы на иерархию более простых задач, вынесение парных суждений и вычисление весовых коэффициентов. Покажите, почему он идеально подходит для вашей задачи, позволяя сравнивать альтернативы по таким критериям, как цена, функциональность и удобство использования.
- Проектирование архитектуры. Опишите модульную структуру будущей СППР. Классическая архитектура включает в себя:
- Пользовательский интерфейс: через него пользователь будет вводить критерии, альтернативы и свои оценки.
- База данных: здесь будут храниться перечни программ, критериев и оценки экспертов.
- База моделей: «мозг» системы, где будет реализован алгоритм расчета по Методу Анализа Иерархий.
- Программная подсистема (ядро): модуль, связывающий все компоненты воедино.
Очень желательно сопроводить это описание наглядной блок-схемой.
- Выбор средств разработки. Обоснуйте свой выбор технологического стека. Например, почему для клиентской части вы выбрали определенный JavaScript-фреймворк, для серверной — конкретный язык программирования (Python, PHP, Java), а для хранения данных — ту или иную СУБД (MySQL, PostgreSQL). Свяжите свой выбор с задачами и спроектированной архитектурой.
Практический шаг. Как правильно сформировать и наполнить базу знаний
Мы спроектировали «скелет» системы. Теперь необходимо наполнить его «мозгом» — базой знаний. Это один из самых трудоемких, но критически важных этапов. База знаний — это структурированное хранилище фактов и правил, на основе которых система будет делать выводы.
Процесс извлечения и формализации знаний — это отдельная серьезная задача. Стоит упомянуть, что в промышленных системах он может занимать от одного до трех месяцев. В рамках дипломной работы этот процесс можно упростить. Определите ключевые критерии выбора ПО путем анализа технической документации или проведения опроса нескольких экспертов (в качестве которых могут выступить ваши сокурсники или преподаватели). Соберите список альтернатив — программных продуктов, которые будет сравнивать система.
Эту информацию необходимо представить в структурированном виде. Например, ее можно оформить в виде JSON-файла, который будет загружаться в систему. Это делает базу знаний гибкой и легко расширяемой.
{ "criteria": ["Цена", "Функциональность", "Удобство"], "alternatives": [ { "name": "ПО 1", "scores": }, { "name": "ПО 2", "scores": }, { "name": "ПО 3", "scores": } ] }
Такое представление данных позволяет легко управлять информацией и является отличным примером практической реализации информационного обеспечения системы.
Глава 3. Разрабатываем программный прототип и демонстрируем его работу
Третья глава — это кульминация вашей работы, демонстрация практического результата. Важно помнить, что прототип создается не для коммерческого использования, а для проверки концепции и логики работы системы. Здесь нужно не перегружать текст листингами кода, а наглядно показать, что и как делает ваша программа.
Начните с описания информационного обеспечения. Если вы используете реляционную базу данных, приведите ее схему: таблицы, поля, типы данных и связи между ними. Покажите, как в ней хранятся данные о критериях, альтернативах и оценках.
Далее переходите к функциональной структуре и алгоритмам. Опишите основные функции, доступные пользователю: добавление и редактирование альтернатив, ввод экспертных оценок, запуск процесса расчета. Центральный алгоритм (например, вычисление векторов приоритетов по МАИ) лучше всего представить в виде наглядной блок-схемы, а не кода. Это покажет ваше умение проектировать, а не только кодировать.
Самая важная часть — описание пользовательского интерфейса. Это лицо вашей работы. Представьте серию скриншотов, иллюстрирующих пошаговый сценарий работы пользователя:
- Запуск системы и главный экран.
- Экран ввода или выбора критериев.
- Интерфейс для попарного сравнения альтернатив по каждому критерию.
- Финальный экран с результатами — ранжированным списком программного обеспечения и рекомендацией.
Этот раздел должен убедить комиссию, что вы создали не абстрактную модель, а работающий и полезный инструмент.
Как провести тестирование и оценить эффективность вашей системы
Прототип готов. Но как доказать, что он работает правильно и решает поставленную задачу? Для этого проводится тестирование и оценка эффективности. Важно различать эти два понятия. Тестирование направлено на поиск технических ошибок и сбоев (багов). Верификация же проверяет, решает ли система исходную задачу адекватно.
В дипломной работе нужно описать методику оценки. Например, можно провести серию тестовых расчетов. Подготовьте несколько сценариев с разными входными данными и заранее известными, «идеальными» результатами. Прогоните эти сценарии через вашу систему и сравните полученный результат с эталонным. Расхождение в пределах допустимой погрешности будет свидетельствовать об адекватности работы алгоритма.
Кроме того, оцените удобство пользовательского интерфейса. Можно попросить нескольких человек (одногруппников) поработать с программой и зафиксировать их отзывы. В выводах по этому разделу необходимо дать заключение о работоспособности прототипа, адекватности его расчетов и удобстве использования.
Финальная сборка работы. Пишем заключение, введение и готовимся к защите
Когда все главы написаны, наступает этап «финальной сборки». Как ни странно, самые читаемые части работы — введение и заключение — дорабатываются именно сейчас.
- Написание заключения. Это не пересказ всей работы, а четкие ответы на задачи, поставленные во введении. Структурируйте выводы строго по пунктам: «Задача 1 решена путем… В результате было получено…», «Задача 2 решена посредством… Это позволило разработать…». Обязательно дайте рекомендации по дальнейшему развитию проекта: что можно улучшить, какие функции добавить.
- Финальная редактура введения. Теперь, когда у вас есть полная картина исследования и все результаты на руках, вернитесь к введению. Уточните формулировки цели и задач, актуальности, объекта и предмета исследования, чтобы они на 100% соответствовали содержанию основной части и выводам.
- Подготовка к защите. Начинайте готовить презентацию и доклад. Главное правило: один слайд — одна мысль. Структура презентации должна зеркально отражать логику вашей дипломной работы: титульный лист, актуальность, цель и задачи, краткий обзор аналогов, архитектура системы, демонстрация интерфейса и результатов, выводы.
Этот системный подход позволит вам грамотно завершить исследование и уверенно представить его на защите.
Чек-лист готовности дипломной работы. Проверяем себя перед сдачей
Последний шаг перед сдачей работы научному руководителю и на кафедру — финальная самопроверка. Она помогает снизить стресс и убедиться, что все формальные требования соблюдены. Пройдитесь по этому списку:
- Структура: На месте ли все обязательные элементы: титульный лист, содержание, введение, три главы, заключение, список литературы и приложения (если есть)?
- Соответствие: Каждый вывод в заключении напрямую отвечает на одну из задач, сформулированных во введении?
- Оформление: Все таблицы, рисунки, формулы и ссылки на источники оформлены по требованиям вашего вуза (ГОСТ)? Список литературы отсортирован и правильно описан?
- Уникальность: Работа проверена в системе обнаружения заимствований («Антиплагиат»), и процент оригинальности соответствует требуемому?
- Защита: Готова ли презентация и написан ли текст доклада (речи) на 7-10 минут?
Если на все вопросы вы ответили «да», можно с уверенностью сказать: ваша дипломная работа готова.
Список использованной литературы
- Конноли Т. Базы данных: проектирование, реализация и сопровождение. Теория и практика: [пер. с англ.] / Конноли Т., Бегг К., Страчан А. — 2-е изд.- М.: Вильямс, 2011. – 394с.
- Кривошеин М. ER: диаграммы сущность-связь [Электронный ресурс]. – Режим доступа: http://mikkri.narod.ru (03.03.2009).
- Кузнецов С.Д. Основы современных баз данных/ С.Д. Кузнецов К. – Курск, 2009. – 276 с.
- Липаев В.В. Проектирование программных средств. – М.: Высшая школа, 2009.
- Леоненков А. Объектно-ориентированный анализ и проектирование с использованием UML и IBM Rational Rose / А. Леоненков. — М.: Вильямс, 2009.- 357с.
- Любушин Н.П. Анализ финансово-экономической деятельности предприятия./ Н.П. Любушин. – М.: ЮНИТИ, 2009. – 251с.
- Марка Д. А., МакГоуэн К. Методология структурного анализа и проектирования SADT. – М.: Диалог – МИФИ , 2009. – 276 с.
- Маклаков С.В. BPWin, ERWin. CASE – средства разработки информационных систем. – М.: Диалог – МИФИ , 2006.
- Методическое руководство по проектированию ИС CASE средствами Platinum Technology (Login Work) BPWin, ERWin. – Пермь: ПГТУ, ГНИИМС, 2009. – 311 с.
- Петров Ю.А., Шлимович Е.Л., Ирюпин Ю.В. Комплексная автоматизация управления предприятием: Информационные технологии — теория и практика. — М.: Финансы и статистика, 2010. – 243 с.
- Уваров А.Ю. Вступая в век информации/ А.Ю. Уваров. — Информатика и образование, 2008. -№ 2. – С. 13.
- Хмельницкого С.В. Концепция развития информационных ресурсов/ С.В. Хмельницкого, В.В. Шарыхин, Н.В. Каплунова. – СПб.: Европейский университет в Санкт-Петербурге, 2009. – 321с.
- Хомоненко А.Д. и др. Базы данных: Учебник для вузов / Под ред. проф. А.Д. Хомоненко. — СПб.: КОРОНА принт, 2010 — 736 с.
- Шафер Д.Ф., Фартрел Т., Шафер Л.И. Управление программными проектами: достижение оптимального качества при минимуме затрат.: Пер. с англ. – М.: Вильямс, 2010. – 362 с.
- Антопольский А.Б. Проблемы классификации информационных ресурсов по критериям информационной безопасности/ А.Б. Антопольский. — НТИ.- 2007. — № 6.- С. 125-126.