Интеллектуальный анализ данных. Технологии интеллектуального анализа данных Понятие метода интеллектуального анализа данных

Интеллектуальный анализ данных (ИАД), или Data Mining, - термин, используемый для описания открытия знаний в базах данных, выделения знаний, изыскания данных, исследования данных, обработки образцов данных, очистки и сбора данных; здесь же подразумевается сопутствующее ПО. Все эти действия осуществляются автоматически и позволяют получать быстрые результаты даже непрограммистам.

Запрос производится конечным пользователем, возможно на естественном языке. Запрос преобразуется в SQL – формат. SQL запрос по сети поступает в СУБД, которая управляет БД или хранилищем данных. СУБД находит ответ на запрос и доставляет его назад. Пользователь может затем разрабатывать презентацию или отчет в соответствии со своими требованиями.

Многие важные решения в почти любой области бизнеса и социально сферы основываются на анализе больших и сложных БД. ИАД может быть очень полезным в этих случаях.

Методы интеллектуального анализа данных тесно связаны с технологиями OLAP и технологиями построения хранилищ данных. Поэтому наилучшим вариантом является комплексный подход к их внедрению.

Для того чтобы существующие хранилища данных способствовали принятию управленческих решений, информация должна быть представлена аналитику в нужной форме, то есть он должен иметь развитые инструменты доступа к данным хранилища и их обработки.

Очень часто информационно – аналитические системы, создаваемые в расчете на непосредственное использование лицами, принимающими решения, оказываются чрезвычайно просты в применении, но жестко ограничены в функциональности. Такие статические системы называются Информационными системами руководителя. Они содержат в себе предопределенные множества запросов и, будучи достаточными для повседневного обзора, неспособны ответить на все вопросы к имеющимся данным, которые могут возникнуть при принятии решений. Результатов работы такой системы, как правило, являются многостраничные отчеты, после тщательного изучения которых у аналитика появляется новая серия вопросов. Однако каждый новый запрос, непредусмотренный при проектировании такой системы, должен быть сначала формально описан, закодирован программистом и только затем выполнен. Время ожидания в таком случае может составлять часы и дни, что не всегда приемлемо. Таким образом, внешняя простота статистических ИС поддержки решений, за которую активно борется большинство заказчиков информационно – аналитических систем, оборачивается потерей гибкости.

Динамические ИС поддержки решений, напротив, ориентированы на обработку нерегламентированных (ad hoc) запросов аналитиков к данным. Работа аналитиков с этими системами заключается в интерактивной последовательности формирования запросов и изучения их результатов.


Но динамические ИС поддержки решений могут действовать не только в области оперативной аналитической обработки (OLAP). Поддержка принятия управленческих решений на основе накопленных данных может выполняться в трех базовых сферах.

1. Сфера детализированных данных. Это область действия большинства систем, нацеленных на поиск информации. В большинстве случаев реляционные СУБД отлично справляются с возникающими здесь задачами. Общепризнанным стандартом языка манипулирования реляционными данными является SQL. Информационно – поисковые системы, обеспечивающие интерфейс конечного пользователя в задачах поиска детализированной информации, могут использоваться в качестве надстроек как над отдельными базами данных транзакционных систем, так и над общим хранилищем данных.

2. Сфера агрегированных показателей. Комплексный взгляд на собранную в хранилище данных информацию, ее обобщение и агрегация и многомерный анализ являются задачами систем OLAP. Здесь можно или ориентироваться на специальные многомерные СУБД, или оставаться в рамках реляционных технологий. Во втором случае заранее агрегированные данные могут собираться в БД звездообразного вида, либо агрегация информации может производится в процессе сканирования детализированных таблиц реляционной БД.

3. Сфера закономерностей. Интеллектуальная обработка производится методами интеллектуального анализа данных главными задачами которых являются поиск функциональных и логических закономерностей в накопленной информации, построение моделей и правил, которые объясняют найденные аномалии и/или прогнозируют развитие некоторых процессов.

Полная структура информационно – аналитической системы построенной на основе хранилища данных, показана на рис.3.2. В конкретных реализациях отдельные компоненты этой схемы часто отсутствуют.

Рис.3.2. Структура корпоративной информационно – аналитической системы.

Английский термин «Data Mining» не имеет однозначного перевода на русский язык (добыча данных, вскрытие данных, информационная проходка, извлечение данных/информации) поэтому в большинстве случаев используется в оригинале. Наиболее удачным непрямым переводом считается термин «интеллектуальный анализ данных» (ИАД).

ИАД включает методы и модели статистического анализа и машинного обучения , дистанцируясь от них в сторону автоматического анализа данных. Инструменты ИАД позволяют проводить анализ данных предметными специалистами (аналитиками), не владеющими соответствующими математическими знаниями.

Задачи, решаемые ИАД

  1. Классификация - отнесение входного вектора (объекта, события, наблюдения) к одному из заранее известных классов.
  2. Кластеризация - разделение множества входных векторов на группы (кластеры) по степени «похожести» друг на друга.
  3. Сокращение описания - для визуализации данных, лаконизма моделей, упрощения счета и интерпретации, сжатия объемов собираемой и хранимой информации.
  4. Ассоциация - поиск повторяющихся образцов. Например, поиск «устойчивых связей в корзине покупателя» (англ. market basket analysis ) - вместе с пивом часто покупают орешки.
  5. Анализ отклонений - Например, выявление нетипичной сетевой активности позволяет обнаружить вредоносные программы.
  6. Визуализация

В литературе можно встретить еще ряд классов задач. Базовыми задачами являются первые три. Остальные задачи сводятся к ним тем или иным способом.

Также можно использовать сводные задачи под основу

Алгоритмы обучения

Для задач классификации характерно «обучение с учителем », при котором построение (обучение) модели производится по выборке содержащей входные и выходные векторы.

Для задач кластеризации и ассоциации применяется «обучение без учителя », при котором построение модели производится по выборке, в которой нет выходного параметра. Значение выходного параметра («относится к кластеру …», «похож на вектор …») подбирается автоматически в процессе обучения.

Для задач сокращения описания характерно отсутствие разделения на входные и выходные векторы . Начиная с классических работ К. Пирсона по методу главных компонент , основное внимание здесь уделяется аппроксимации данных.

Этапы обучения

Можно выделить типичный ряд этапов решения задач методами ИАД:

  1. Формирование гипотезы;
  2. Сбор данных;
  3. Подготовка данных (фильтрация);
  4. Выбор модели;
  5. Подбор параметров модели и алгоритма обучения;
  6. Обучение модели (автоматический поиск остальных параметров модели);
  7. Анализ качества обучения, если неудовлетворительный переход на п. 5 или п. 4;
  8. Анализ выявленных закономерностей, если неудовлетворительный переход на п. 1, 4 или 5.

См. также

Литература

  • Паклин Н.Б., Орешков В.И. Бизнес-аналитика: от данных к знаниям (+ СD). . - СПб: Изд. Питер, 2009. - 624 с.
  • Айвазян С.А., Бухштабер В.М., Енюков Е.С., Мешалкин Л.Д. Прикладная статистика. Классификация и снижение размерности . - М.: Финансы и статистика, 1989. - 608 с.
  • Дюк В., Самойленко А. Data Mining: учебный курс (+CD).. - СПб: Изд. Питер, 2001. - 368 с.
  • Журавлёв Ю.И. , Рязанов В.В., Сенько О.В. "РАСПОЗНАВАНИЕ.Математические методы.Программная система.Практические применения", к книге прилагается компакт-диск с демоверсией программной системы «РАСПОЗНАВАНИЕ» . - М.: Изд. «Фазис», 2006. - 176 с. - ISBN 5-7036-0106-8
  • Зиновьев А. Ю. Визуализация многомерных данных . - Красноярск: Изд. Красноярского государственного технического университета, 2000. - 180 с.
  • Чубукова И. А. Data Mining: учебное пособие . - М.: Интернет-университет информационных технологий: БИНОМ: Лаборатория знаний, 2006. - 382 с. - ISBN 5-9556-0064-7

Ссылки


Wikimedia Foundation . 2010 .

Смотреть что такое "Интеллектуальный анализ данных" в других словарях:

    В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники. Эта отметка… … Википедия

    Топологический анализ данных новая область теоретических исследований для задач анализа данных (Data mining) и компьютерного зрения. Основные вопросы: Как из низкоразмерных представлений получать структуры высоких размерностей; Как… … Википедия

    Процесс получения высококачественной информации из текста на естественном языке. Как правило, для этого применяется статистическое обучение на основе шаблонов: входной текст разделяется с помощью шаблонов, затем производится обработка полученных… … Википедия

    интеллектуальный учет электроэнергии - [Интент] Учет электроэнергии Понятия «интеллектуальные измерения» (Smart Metering), «интеллектуальный учет», «интеллектуальный счетчик», «интеллектуальная сеть» (Smart Grid), как все нетехнические,… … Справочник технического переводчика

    У этого термина существуют и другие значения, см. Капитал (значения). Эта статья должна быть полностью переписана. На странице обсуждения могут быть пояснения … Википедия

    Обычный агент … Википедия

    Интеллектуальный анализ данных (англ. Data Mining) выявление скрытых закономерностей или взаимосвязей между переменными в больших массивах необработанных данных. Подразделяется на задачи классификации, моделирования и прогнозирования и другие.… … Википедия

    Для улучшения этой статьи по математике желательно?: Проставив сноски, внести более точные указания на источники. Исправить статью согласно стилистическим правилам Википедии. Переработать офо … Википедия

    Мониторинг сетей целенаправленное воздействие на сеть, осуществляемое для организации ее функционирования по заданной программе: включение и отключение системы, каналов передачи данных, терминалов, диагностика неисправностей, сбор… … Википедия

    Не следует путать с Извлечение информации. Data Mining (рус. добыча данных, интеллектуальный анализ данных, глубинный анализ данных) собирательное название, используемое для обозначения совокупности методов обнаружения в данных ранее… … Википедия

Книги

  • Интеллектуальный анализ данных в системах поддержки принятия решений. Моделирование слабоструктурированных временных рядов и нечеткая оценка инвестиционных проектов , Рамин Рзаев. Предлагаемая читателю книга посвящена решению проблем, направленных на разработку методов и алгоритмов решения задач прогнозирования и принятия решений в условиях неопределенности и комплекса…

Использование данных является проблемой при составлении программ и разработке информационных систем. Прежде чем выполнить анализ большого объема данных и принять решение, гарантирующее достоверный и объективный результат, необходимо определить этот большой объем. Задача усложняется, если поток информации стремительно растет, а время на принятие решения ограничено.

Данные и их формализация

Современные информационные технологии гарантируют безопасный и надежный анализ, представление и обработку данных. Синтаксически и формально это верно. С точки зрения семантики задачи и объективности ожидаемого решения - результат зависит от опыта, знаний и умений программиста.

Языки программирования находятся в статусе надежного и безопасного инструмента. Знания и умения специалистов анализировать, представлять и обрабатывать данные пришли к уровню относительной универсальности.

Технологии интеллектуального анализа данных на этом уровне практически безупречны. Тип данных может быть известен к моменту операции над ними, а в случае несоответствия - будет автоматически приведен к нужному типу.

Развиты инструменты гипертекста, повсеместно используется распределенная обработка больших объемов данных. На этом уровне:

  • информационные задачи поддаются формализации;
  • потребности к интеллектуальному анализу удовлетворяются;
  • качество результата зависит от качества знаний и профессионализма программиста.

Ситуация в программировании информационных систем уровня предприятия характеризуется наличием реально работающих продуктов, обеспечивающих формирование больших объемов данных и проблему более высокого порядка.

Большие объемы данных

В 80-е годы, когда базы данных становились системами управления базами данных, повышение надежности аппаратного обеспечения и качество языков программирования оставляли желать лучшего.

В настоящее время накопилось большое количество баз данных, многие источники информации компьютеризированы, разработаны сложные системы сбора различной информации (финансы, погода, статистика, налоги, недвижимость, персональные данные, климат, политика...).

Некоторые источники данных характеризуются очевидными закономерностями и поддаются анализу математическими методами. Можно выполнить интеллектуальный анализ данных в Excel: очистить данные, построить модель, сформировать гипотезу, определить корреляции и т.д.

В некоторых данных и источниках закономерности трудно обнаружить. Во всех случаях программно-аппаратное обеспечение для обработки данных характеризуется надежностью и стабильностью. Задача интеллектуального анализа данных стала во главе угла во многих социально-экономических сферах.

Лидеры информационной отрасли, в частности Oracle, фокусируют свое внимание на спектре обстоятельств, характеризующих данные нового типа:

  • огромные потоки;
  • естественная информация (даже если она создана программно);
  • разнородные данные;
  • высочайшие критерии ответственности;
  • широкий спектр форматов представления данных;
  • совместимость интеграторов данных и их обработчиков.

Главная особенность данных нового типа: огромный объем и скорость нарастания этого объема. Классические алгоритмы не применимы для обработки данных нового типа даже с учетом быстродействия современных компьютеров и применения параллельных технологий.

От бэкапа к миграции и интеграции

Раньше была актуальна задача безопасного хранения информации (бэкап, резервное копирование). Сегодня актуальна проблема миграции множественных представлений данных (разные форматы и кодировки) и их интеграции в единое целое.

Без технологии интеллектуального анализа данных многие задачи не решить. Здесь не идет речь о принятии решений, определении зависимостей, создании алгоритмов данных для последующей обработки. Слияние разнородных данных стало проблемой, и привести источники информации к единому формализованному основанию нет возможности.

Интеллектуальный анализ данных большого объема требует определения этого объема и создания технологии (алгоритма, эвристик, наборов правил) для получения возможности поставить задачу и решить ее.

Data mining: что копать

Понятие анализа данных в контексте интеллектуальных методов начало активно развиваться с начала 90-х годов прошлого века. Искусственный интеллект к этому времени не оправдал надежд, но необходимость в принятии обоснованных решений на основе анализа информации стала стремительно расти.

Машинное обучение, интеллектуальный анализ данных, распознавание образов, визуализация, теория баз данных, алгоритмизация, статистика, математические методы составили спектр задач новой, активно развивающейся область знаний, которую ассоциируют с англоязычным data minig.

На практике новая область знаний приобрела междисциплинарный характер и находится в стадии становления. Благодаря опыту и программной продукции от Oracle, Microsoft, IBM и других лидирующих компаний сложилось отчетливое представление о том, что такое интеллектуальный анализ данных, но вопросов еще очень много. Достаточно сказать, что линейка программных изделий от Oracle, посвященная исключительно большим объемам информации, их интеграции, совместимости, миграции и обработке - это более сорока позиций!

Что нужно, чтобы поставить задачу обработки больших данных правильно и получить обоснованное решение? Ученые и практики сходятся на обобщенном понимании фразы «поиск скрытых закономерностей». Здесь сочетаются три позиции:

  • неочевидность;
  • объективность;
  • практическая полезность.

Первая позиция означает, что обычными методами не определить, что нужно найти и как это сделать. Классическое программирование здесь не применимо. Нужен если не искусственный интеллект, то хотя бы программы для интеллектуального анализа данных. Термин «интеллектуального» представляет собой не меньшую проблему, чем задача определения достаточного объема данных для принятия начальных решений и формулировки исходных правил работы.

Объективность - своего рода гарантия, что выбранная технология, разработанная «интеллектуальная» методика или спектр «интеллектуальных» правил дадут основание считать полученные результаты правильными не только автору, но и любому другому специалисту.

Oracle в своих программных изделиях добавляет к понятию объективность статус безопасного, лишенного постороннего негативного вмешательства.

Практическая полезность - самый важный критерий для результата и алгоритма решения задачи интеллектуального анализа данных в конкретном применении.

Data mining: где копать

Бизнес-интеллект (Business Intelligence - BI) - основа современного, самого дорогого и востребованного программного обеспечения. Поставщики бизнес-решений считают, что нашли способ решения задач по обработке больших объемов данных, и их программные изделия могут обеспечить безопасное и стремительное развитие бизнеса компании любого размера.

Как в случае искусственного интеллекта в области средства интеллектуального анализа данных, не следует слишком сильно преувеличивать текущие достижения. Все только становится на ноги, но и отрицать реальные результаты тоже нельзя.

Вопрос сферы применения. Разработаны алгоритмы интеллектуального анализа данных в экономике, на производстве, в области информации о климате, о курсах на валютной бирже. Существуют интеллектуальные продукты по защите предприятия от негативного влияния уволенных сотрудников (область психологии и социологии - сильная тема), от вирусных атак.

Многие разработки реально выполняют функции, декларируемые их изготовителями. Фактически задача - что делать и где это делать - приобрела осмысленный и объективный контекст:

  • минимально возможная область применения;
  • максимально точная и четкая цель;
  • источники данных и данные, приведенные к одному основанию.

Только область применения и ожидаемая практическая полезность могут помочь сформулировать технологии, методики, правила и основы интеллектуального анализа данных в конкретной сфере, ради конкретной цели.

Информационные технологии сделали заявку на научную дисциплину, и не следует гнушаться небольшими шагами в новом, неизведанном направлении. Позарившись на святая святых - естественный интеллект, человек не может требовать от себя того, что сделать не в состоянии.

Решить, что делать и где это делать, на сегодняшний день крайне трудно. На конкретном бизнесе, в конкретной области человеческой деятельности можно очертить объем информации, подлежащей исследованию, и получить решение, которое будет характеризоваться какой-то долей достоверности и показателем объективности.

Data mining: как копать

Профессиональное программирование и собственный высококвалифицированный персонал - единственный инструмент для достижения желаемого.

Пример 1. Задача интеллектуального анализа данных не будет решена чистым применением Oracle Controller. Этот продукт заявлен как полнофункциональный и расширяемый инструмент тестирования нагрузки. Это крайне узкая задача. Только нагрузка! Ничего более, никаких высокоинтеллектуальных задач.

Однако задачи, на которых применяется данный продукт, могут поставить в тупик не только тестировщика, но и разработчика, при всех его регалиях лидера отрасли. В частности, тестирование - это требование функциональной полноты. Где гарантия, что Oracle Controller «в курсе», какие наборы данных могут поступать на вход тестируемого приложения, сервера, программно-аппаратного комплекса.

Пример 2. Oracle Business Intelligence Suite Foundation Edition for Oracle Applications - разработчик декларирует этот продукт как удачное сочетание используемого ПО с экспертными знаниями построения, развития и обеспечения крупного бизнеса.

Бесспорно, опыт Oracle велик, но этого не достаточно для его трансформации через программно-экспертное изделие. На конкретном предприятии, в конкретном регионе Business Intelligence от Oracle может не сработать от решения налоговой службы или постановления местного муниципалитета.

Разумное применение современных технологий

Единственное правильное решение в области больших объемов информации, data mining и системы интеллектуального анализа данных в компании, государственном учреждении и в любой социально-экономической сфере - коллектив специалистов.

Знания и опыт квалифицированных специалистов - это единственно правильное решение, которое даст комплексный ответ на вопрос:

  • data mining: что копать, где это делать и как?

Приобрести приоритетные продукты соответствующего назначения лишним не будет, но прежде чем это делать, потребуется изучить область применения, сформулировать ориентировочное решение и поставить предварительную цель.

Только после того, как предметная область определена и цель примерно ясна, можно заняться поиском уже разработанных и проверенных практикой решений. Скорее всего, будет найден продукт, который позволит уточнить предметную область и цель.

Никакая программа сегодня не справится с реальной задачей. Проиграв в области искусственного интеллекта в начале 80-х годов прошлого века, человек-разумный еще не может рассчитывать, что способен написать программу, решающую интеллектуальные задачи.

Не следует надеяться, что ИИ придет сам, а купленная у Oracle, Microsoft или IBM программа скажет, что нужно было делать, как и какой результат считать правильным. В современном мире информационных технологий идет бурный прогресс. В нем можно принять эффективное участие, усилить позиции своего бизнеса или решить задачу, которую трудно было поставить. Но нужно принимать участие, а не рассчитывать на программу.

Программирование - это статический труд, его результат - жесткий алгоритм. Современное интеллектуальное правило или эвристика - это жестко поставленное решение, которое не сработает при первой попавшейся оказии.

Моделирование и тестирование

Интеллектуальный анализ больших данных - действительно востребованная и актуальная задача. Но область применения до обнаружения этой задачи худо-бедно, но жила и развивалась.

Необходимость в дальнейшем развитии бизнеса ставит новые задачи, которые позволяют концептуально очертить объемы подлежащих обработке больших данных. Это естественный процесс научно-технического и интеллектуального развития предприятия, компании, бизнеса. Это же можно отнести к интернет-технологиям, к задачам парсинга информации на просторах интернета.

Существует множество новых задач и приложений, которые востребованы, могут быть более-менее четко поставлены и характеризуются объективным параметром: в их решении есть востребованный интерес и есть понимание вероятной полезности.

Моделирование - достаточно разработанная область, которая оснащена множеством проверенных математических методов. Модель можно построить всегда, было бы время и желание.

Моделирование позволяет сфокусировать все имеющиеся знания в одну систему и совершенствовать ее на наборе тестовых данных циклически. Это классический путь развития, который также прошел проверку практикой.

Если не строить воздушных замков, а со стабильной уверенностью идти к поставленной цели, то можно определить и путь, и желаемое решение, и конечную цель.

Именно программирование в начале 80-х годов прошлого века подтолкнуло общественное сознание к рождению идей искусственного интеллекта, именно оно стало родоначальником data mining, и именно с него начались методы интеллектуального анализа данных.

В те далекие времена проблемы больших объемов данных не существовало. Сегодня есть не только большие объемы данных, но и результат развития систем управления базами данных - значительный опыт в реляционных отношениях, как основе основ для представления данных.

Реляционные отношения - это часть, но не целое. Есть еще понятие системности, иерархии и много того, чем владеет интеллект естественный, но не может реализовать интеллекте искусственный: в данном случае - в программировании.

Программирование не есть интеллект ни в каком смысле, но это реальный результат применения интеллекта на практике. В этом его смысл, и именно это можно использовать в достижении желаемых целей.

Активные знания и умения

Любая программа - это статика. Она представляет собой конструирование в рамках синтаксиса языка программирования.

Современные языки программирования - совершенный результат 80-х годов, и это отрицать никак нельзя. Нельзя также не заметить, что современные языки программирования дают возможность создавать свободные алгоритмы за пределами своего синтаксиса.

Если кто-либо когда-либо сможет написать программу, которая будет работать не по воле ее автора, а по воле приобретенных ею знаний и умений, проблема больших объемов данных и принятия интеллектуальных решений будет закрыта, и начнется новый виток развития знаний.

Целью интеллектуального анализа данных (англ. Datamining, другие варианты перевода - "добыча данных", "раскопка данных") является обнаружение неявных закономерностей в наборах данных. Как научное направление он стал активно развиваться в 90-х годах XXвека, что было вызвано широким распространением технологий автоматизированной обработки информации и накоплением в компьютерных системах больших объемов данных [ , ]. И хотя существующие технологии позволяли, например, быстро найти в базе данных нужную информацию, этого во многих случаях было уже недостаточно. Возникла потребность поиска взаимосвязей между отдельными событиями среди больших объемов данных, для чего понадобились методы математической статистики, теории баз данных, теории искусственного интеллекта и ряда других областей.

Классическим считается определение ,данное одним из основателей направления Григорием Пятецким-Шапиро : DataMining - исследование и обнаружение "машиной" (алгоритмами, средствами искусственного интеллекта) в сырых данных скрытых знаний, которые ранее не были известны, нетривиальны, практически полезны, доступны для интерпретации.

Учитывая разнообразие форм представления данных, используемых алгоритмов и сфер применения, интеллектуальный анализ данных может проводиться с помощью программных продуктов следующих классов:

  • специализированных "коробочных" программных продуктов для интеллектуального анализа;
  • математических пакетов;
  • электронных таблиц(и различного рода надстроек над ними);
  • средств интегрированных в системы управления базами данных (СУБД);
  • других программных продуктов.

В рамках данного курса нас в первую очередь будут интересовать средства, интегрированные с СУБД . В качестве примера можно привести СУБД MicrosoftSQLServer и входящие в ее состав службы AnalysisServices, обеспечивающие пользователей средствами аналитической обработки данных в режиме on-line ( OLAP )и интеллектуального анализа данных, которые впервые появились в MSSQLServer 2000.

Не только Microsoft, но и другие ведущие разработчики СУБД имеют в своем арсенале средства интеллектуального анализа данных.

Задачи интеллектуального анализа данных

В ходе проведения интеллектуального анализа данных проводится исследование множества объектов (или вариантов). В большинстве случаев его можно представить в виде таблицы, каждая строка которой соответствует одному из вариантов, а в столбцах содержатся значения параметров, его характеризующих. Зависимая переменная - параметр , значение которого рассматриваем как зависящее от других параметров (независимых переменных). Собственно эту зависимость и необходимо определить, используя методы интеллектуального анализа данных.

Рассмотрим основные задачи интеллектуального анализа данных.

Задача классификации заключается в том, что для каждого варианта определяется категория или класс , которому он принадлежит. В качестве примера можно привести оценку кредитоспособности потенциального заемщика: назначаемые классы здесь могут быть "кредитоспособен" и "некредитоспособен". Необходимо отметить, что для решения задачи необходимо, чтобы множество классов было известно заранее и было бы конечным и счетным.

Задача регрессии во многом схожа с задачей классификации, но в ходе ее решения производится поиск шаблонов для определения числового значения. Иными словами, предсказываемый параметр здесь, как правило, число из непрерывного диапазона.

Отдельно выделяется задача прогнозирования новых значений на основании имеющихся значений числовой последовательности (или нескольких последовательностей, между значениями в которых наблюдается корреляция). При этом могут учитываться имеющиеся тенденции (тренды), сезонность, другие факторы. Классическим примером является прогнозирование цен акций на бирже.

Тут требуется сделать небольшое отступление. По способу решения задачи интеллектуального анализа можно разделить на два класса: обучение с учителем (от англ. supervisedlearning) и обучение без учителя (от англ. unsupervisedlearning). В первом случае требуется обучающий набор данных, на котором создается и обучается модель интеллектуального анализа данных. Готовая модель тестируется и впоследствии используется для предсказания значений в новых наборах данных. Иногда в этом же случае говорят об управляемых алгоритмах интеллектуального анализа. Задачи классификации и регрессии относятся как раз к этому типу.

Во втором случае целью является выявление закономерностей имеющихся в существующем наборе данных. При этом обучающая выборка не требуется. В качестве примера можно привести задачу анализа потребительской корзины, когда в ходе исследования выявляются товары, чаще всего покупаемые вместе. К этому же классу относится задача кластеризации.

Также можно говорить о классификации задач интеллектуального анализа данных по назначению, в соответствии с которой,они делятся на описательные (descriptive) и предсказательные (predictive). Цель решения описательных задач - лучше понять исследуемые данные, выявить имеющиеся в них закономерности, даже если в других наборах данных они встречаться не будут. Для предсказательных задач характерно то, что в ходе их решения на основании набора данных с известными результатами строится модель для предсказания новых значений.

Но вернемся к перечислению задач интеллектуального анализа данных.

Задача кластеризации - заключается в делении множества объектов на группы (кластеры) схожих по параметрам. При этом, в отличие от классификации, число кластеров и их характеристики могут быть заранее неизвестны и определяться в ходе построения кластеров исходя из степени близости объединяемых объектов по совокупности параметров.

Другое название этой задачи - сегментация . Например, интернет-магазин может быть заинтересован в проведении подобного анализа базы своих клиентов, для того, чтобы потом сформировать специальные предложения для выделенных групп, учитывая их особенности.

Кластеризация относится к задачам обучения без учителя (или "неуправляемым" задачам).

Задача определения взаимосвязей , также называемая задачей поиска ассоциативных правил , заключается в определении часто встречающихся наборов объектов среди множества подобных наборов. Классическим примером является анализ потребительской корзины, который позволяет определить наборы товаров, чаще всего встречающиеся в одном заказе (или в одном чеке). Эта информация может потом использоваться при размещении товаров в торговом зале или при формировании специальных предложений для группы связанных товаров.

Данная задача также относится к классу "обучение без учителя".

Анализ последовательностей или сиквенциальный анализ одними авторами рассматривается как вариант предыдущей задачи, другими - выделяется отдельно. Целью, в данном случае, является обнаружение закономерностей в последовательностях событий. Подобная информация позволяет, например, предупредить сбой в работе информационной системы, получив сигнал о наступлении события, часто предшествующего сбою подобного типа. Другой пример применения - анализ последовательности переходов по страницам пользователей web-сайтов.

Анализ отклонений позволяет отыскать среди

Информационные технологии Торговля Финансовая сфера

Интеллектуальный анализ данных (ИАД) ориентирован на поиск закономерностей в накопленной информации. При этом используются методы искусственного интеллекта, прикладной статистики, теории баз данных. Выделяются пять стандартных типов закономерностей, которые позволяют выявлять методы Data Mining: ассоциация, последовательность, классификация, кластеризация и прогнозирование.

Ассоциация имеет место в том случае, если несколько событий связаны друг с другом. Например, исследование, проведенное в супермаркете, может показать, что 65 % купивших кукурузные чипсы берут также и кока-колу, а при наличии скидки за такой комплект колу приобретают в 85 % случаев. Располагая сведениями о подобной ассоциации, менеджерам легко оценить, насколько действенна предоставляемая скидка.

Если существует цепочка связанных во времени событий, то говорят о последовательности . Так, например, после покупки дома в 45 % случаев в течение месяца приобретается и новая кухонная плита, а в пределах двух недель 60 % новоселов обзаводятся холодильником. Выявленные ассоциации и последовательности позволяют выполнять анализ покупательской корзины для улучшения рекламы, выработки стратегии создания запасов товаров и способов их раскладки в торговых залах.

Рис. 3.13. Фрагмент сформированного отчета по поставкам деталей

С помощью классификации выявляются признаки, характеризующие однотипные группы объектов – классы, для того чтобы по известным значениям этих характеристик можно было отнести новый объект к тому или иному классу. Ключевым моментом выполнения этой задачи является анализ множества классифицированных объектов. Типичный пример использования классификации – исследование характерных признаков мошенничества с кредитными карточками в банковском деле. Путем анализа прошлых транзакций, которые впоследствии оказались мошенническими, банк выявляет некоторые стереотипы такого мошенничества.

Кластеризация отличается от классификации тем, что сами группы заранее не заданы. С помощью кластеризации самостоятельно выделяются различные однородные группы данных. Так, например, можно выделить родственные группы клиентов с тем, чтобы определить характеристики неустойчивых клиентов («группы риска») – клиентов, готовых уйти к другому поставщику. При этом необходимо найти оптимальную стратегию их удержания (например, посредством предоставления скидок, льгот или даже с помощью индивидуальной работы с представителями «группы риска»).



Основой для систем прогнозирования служит историческая информация, хранящаяся в виде временных рядов. Если удается построить шаблоны, адекватно отражающие динамику поведения целевых показателей, есть вероятность, что с их помощью можно предсказать поведение системы в будущем. Например, создание прогнозирующих моделей дает возможность торговым предприятиям узнавать характер потребностей различных категорий клиентов с определенным поведением (покупающих товары известных дизайнеров или посещающих распродажи). Эти знания нужны для разработки точно направленных, экономичных мероприятий по продвижению товаров.

В общем случае процесс ИАД состоит из трёх стадий:

1) выявления закономерностей;

2) использования выявленных закономерностей для предсказания неизвестных значений;

3) анализа исключений, предназначенного для выявления и толкования аномалий в найденных закономерностях.

Data Mining является мультидисциплинарной областью, возникшей и развивающейся на базе достижений прикладной статистики, распознавания образов, методов искусственного интеллекта, теории баз данных и др. Отсюда обилие методов и алгоритмов, реализованных в различных действующих системах Data Mining.

Традиционные методы прикладной статистики

- Статистическое исследование структуры и характера взаимосвязей, существующих между анализируемыми количественными переменными . Сюда относят корреляционный, факторный, регрессионный анализ, анализ временных рядов. Необходимо отметить, что проблема статистического исследования зависимостей по своему значению заметно превосходит две другие.

- Методы классификации объектов и признаков . В данной группе выделяют, в частности, дискриминантный и кластерный анализ.

- Снижение размерности исследуемого признакового пространства в целях лаконичного объяснения природы анализируемых данных . К данному разделу относят метод главных компонент, многомерное шкалирование и латентно структурный анализ.

В качестве примеров наиболее мощных и распространенных статистических пакетов, реализующих указанные методы, можно назвать SAS, SPSS, STATGRAPHICS, STATISTICA и др.

Нейронные сети

Искусственные нейронные сети (ИНС) представляют парадигму обработки информации, базирующуюся на той или иной упрощенной математической модели биологических нейронных систем. ИНС организует свою работу путем распределения процесса обработки информации между нейроэлементами, связанными между собой посредством синаптических связей. Выявление закономерностей в данных осуществляется путем обучения ИНС, в процессе которого происходит корректировка величин синаптических связей. Круг задач, решаемых при помощи данных методов, также довольно широк: распознавание образов, адаптивное управление, прогнозирование, построение экспертных систем и др. Основными недостатками нейросетевой парадигмы являются: необходимость большого объема обучающей выборки, отсутствие универсальных топологий и настроек сети. Другой существенный недостаток заключается в том, что ИНС представляет собой «черный ящик», не поддающийся интерпретации человеком. Примеры нейросетевых систем – BrainMAker, NeuroShell, OWL, Neural Analyzer в программном комплексе Deductor (BaseGroup).

Методы обнаружения логических закономерностей в данных

Данные методы апеллируют к информации, заключенной не только в отдельных признаках, но и в сочетаниях значений признаков. Они вычисляют частоты комбинаций простых логических событий в подгруппах данных. На основании анализа вычисленных частот делается заключение о полезности той или иной комбинации для установления ассоциаций в данных, для классификации, прогнозирования. Результаты работы данных методов оформляются в виде деревьев решений или правил типа «ЕСЛИ…, ТО…». Популярность данного подхода связана с наглядностью и понятностью полученных результатов анализа. Проблемой логических методов обнаружения закономерностей является необходимость перебора вариантов за приемлемое время и поиск оптимальной композиции предложенных правил. Представителями систем, реализующих данные методы, являются системы See5/C5.0, WizWhy, Tree Analyzer (BaseGroup).

Методы рассуждения на основе аналогичных случаев

Идея методов CBR (case based reasoning) довольно проста. Для того чтобы сделать прогноз на будущее или выбрать правильное решение, эти системы находят в прошлом близкие аналоги наличной ситуации и

выбирают тот же ответ, который был для них правильным. Главным минусом такого подхода считают то, что данные системы вообще не создают каких-либо моделей или правил, обобщающих предыдущий опыт. В выборе решения они основываются на всем массиве доступных исторических данных. Поэтому существует проблема выбора объема множества прецедентов, которые необходимо хранить для достижения удовлетворительной классификации или прогноза. Примеры систем, использующих CBR – KATE tools, Pattern Recognition Workbench.

Эволюционные и генетические алгоритмы

Данные методы предназначены в основном для оптимизации в задачах поиска зависимости целевой переменной от других переменных. Примером может служить обучение нейронной сети, то есть подбор таких оптимальных значений весов, при которых достигается минимальная ошибка. В основе указанных методов лежит метод случайного поиска, модифицированный за счет использования ряда биологических принципов, открытых при изучении эволюции и происхождения видов, для отбора наилучшего решения. В частности, используются процедуры репродукции (скрещивания), изменчивости (мутаций), генетической композиции, конкурирования в рамках естественного отбора наилучшего решения. В силу своей специфики данные методы часто используются в качестве дополнительного инструментария к какому-либо другому методу. Пример реализации эволюционного алгоритма – отечественная система PolyAnalist. GeneHanter – пример системы, использующей генетические алгоритмы.

Методы визуализации многомерных данных

Эти методы позволяют ассоциировать с анализируемыми данными различные параметры диаграмм рассеивания: цвет, форму, ориентацию относительно собственной оси, размеры и другие свойства графических элементов. При этом они не выполняют автоматического поиска закономерностей, но реализуемые на их основе выводы чрезвычайно удобны для интерпретации и объяснения. В той или иной мере средства для графического отображения данных поддерживаются абсолютным большинством систем Data Mining, однако внушительную долю рынка занимают системы, специализирующиеся исключительно на этой функции. Примером может служить программа DataMiner 3D.

Следует отметить, что использование автономных инструментов Data mining менее предпочтительно по сравнению с их внедрением в среду OLAP или СУБД.

3.2.3. Геоинформационные системы

Геоинформационная система (ГИС) – это программно-аппаратный комплекс, осуществляющий сбор, отображение, обработку, анализ и распространение информации о пространственно распределенных объектах и явлениях на основе электронных карт и связанных с ними баз данных. ГИС – это особый случай автоматизированной информационной системы, где база данных состоит из наблюдений за пространственно распределенными явлениями, процессами и событиями, которые могут быть определены как точки, линии или контуры.

Функции ГИС:

Создание высококачественной картографической продукции; процесс преобразования данных с бумажных карт в компьютерные файлы называется оцифровкой ;

- геокодирование – процесс установления пространственной привязки объектов с атрибутивной информацией;

Манипулирование и визуализация информации;

Пространственный анализ и моделирование;

Интеграция информации различных источников.

Существует два подхода к представлению пространственных объектов:

Растровый (ячейки или клетки на карте);

Векторный (точки, линии, полигоны).

Вся карта представлена набором слоев. Каждый слой соответствует определенному информационному объекту базы данных. Слои могут быть точечными, площадными и полигонными. Кроме этого, выделяются надписи. Объекты разных слоев могут иметь пространственную связь между собой. Связь такого рода называется топологией. Несколько связанных слоев могут образовывать покрытие.

Пространственный анализ включает в себя следующие методы: навигацию, поиск информации, моделирование.

Навигация включает в себя:

Изменение масштаба;

Перемещение по карте;

Выдачу необходимого набора слоев;

Задание атрибутов слоя;

Порядок прорисовки слоев.

Поиск информации включает:

Поиск конкретного объекта по карте по атрибутивным данным (например, поиск улицы по названию);

Поиск атрибутивной информации об объекте на карте;

Построение буферных зон, анализ близости;

Поиск по геометрическим признакам (например, нахождение одного объект или его части внутри другого, нахождение смежных объектов).

Моделирование используется при построении, например, моделей инженерных сетей (тепловых, электрических).

Приведем примеры пространственных запросов. Сколько домов находится в 100 метрах от заданного водоема? (пример анализа близости); Сколько покупателей живет не далее 1 км от данного магазина?; Какие почвы встречаются в заданной охраняемой территории? (выполняется наложение почвенной карты на карту охраняемых объектов).

Наиболее распространенными представителями ГИС являются продукты MapInfo, ArcInfo.


3.3. МетодЫ анализа и проектирования
информационных систем

Характерными чертами корпоративных информационных систем являются длительность жизненного цикла, масштабность и сложность решаемых задач, пересечение множества предметных областей, ориентация на аналитическую обработку данных, территориальная распределенность, наличие нескольких уровней иерархического подчинения и др. Перечисленные свойства послужили стимулом к развитию и использованию инструментальных средств для анализа и проектирования автоматизированных систем – CASE-средств (Computer Aided Software Engineering). Обычно к CASE-средствам относят любое программное средство, автоматизирующее ту или иную совокупность процессов жизненного цикла автоматизированной системы и обладающее следующими основными характерными особенностями, такими как:

Мощные графические средства для описания и документирования системы, обеспечивающие удобный интерфейс с разработчиком и развивающие его творческие возможности;

Интеграция отдельных компонентов CASE-средств, обеспечивающая управляемость процессом разработки системы;

Использование специальным образом организованного хранилища проектных метаданных (репозитория).

Интегрированное CASE-средство (или комплекс средств, поддерживающих полный жизненный цикл программного обеспечения) содержит следующие компоненты:

Репозиторий, являющийся основой CASE-средства; он должен обеспечивать хранение версий проекта и его отдельных компонентов, синхронизацию поступления информации от различных разработчиков при групповой разработке, контроль метаданных на полноту и непротиворечивость;

Графические средства анализа и проектирования, обеспечивающие создание и редактирование иерархически связанных диаграмм, образующих модели автоматизированных систем;

Средства разработки приложений;

Средства конфигурационного управления;

Средства документирования;

Средства тестирования;

Средства управления проектом;

Средства реинжиниринга.

В основе CASE-средства лежит определенная методология анализа и проектирования автоматизированной системы. При этом имеют место два основных подхода – структурный и объектный.

Структурный подход основан на декомпозиции функций, реализуемых системой. В его основе лежит функциональная модель (Data Flow Diagrams – DFD), информационная модель (Entity Relationship Diagrams – ERD) и событийная модель состояний (State Translation Diagrams – STD). Процессу проектирования системы предшествует анализ бизнес-процессов, имеющих место в предметной области. При этом используется методология структурного анализа систем (Structured Analysis and Design – SADT), на основе которой принят стандарт моделирования бизнес-процессов IDEF0.

Сочетание DFD- и ERD- диаграмм дает относительно полные модели анализа, которые фиксируют все функции и данные на требуемом уровне абстракции независимо от особенностей аппаратного и программного обеспечения. Построенные модели анализа преобразуются в проектные модели, которые обычно выражаются в понятиях реляционных баз данных.

Следует заметить, что структурный подход направлен на разработку негибких решений, которые способны удовлетворить набор определенных бизнес-функций, но которые в будущем может быть трудно масштабировать и расширять. Вместе с тем до сих пор структурный подход широко используется при проектировании информационных систем.

Наиболее распространенными CASE-средствами, основанными на структурном подходе, являются BPwin (поддерживает нотации IDEF0, DFD, IDEF3) для функционального моделирования и ERwin для информационного моделирования систем. Фирма ORACLE, в частности, поддерживает свой продукт Designer/2000. Представляет интерес продукт PowerDesigner (поддерживает нотации IDEF1X, DFD,UML).

Объектно-ориентированный подход основан на глубинном изучении предметной области с позиции объектов и их поведения. Ассоциация производителей программного обеспечения Object Managament Group утвердила в качестве стандартного средства моделирования для этого подхода язык UML (Unified Modeling Language – унифицированный язык моделирования). По сравнению со структурным подходом объектно-ориентированный подход в большей степени ориентирован на данные. Он соответствует итеративному процессу разработки с наращиванием возможностей. Единая модель конкретизируется на этапах анализа, проектирования и реализации.

Для объектного анализа и проектирования систем возможно использование продуктов Rational Rose (Rational Software), Paradigm Plus (Computer Associates) и др.

Рассмотрим наиболее распространенные методы анализа и проектирования информационных систем.

3.3.1. Моделирование бизнес-процессов (IFEF0)

С точки зрения менеджеров, наиболее подходящим языком моделирования бизнес-процессов на стадии создания моделей предметной области является IDEF0. Этот язык моделирования появился в результате применения методологии структурного анализа и проектирования систем (Structured Analysis and Design Technique - SADT). На основе этой методологии создан стандарт моделирования бизнес-процессов IDEF0. Его успеху в немалой степени способствовала фирма Logic Works (США), создав на основе IDEF0 свой популярный среди менеджеров программный продукт BPwin. В 2000 году в нашей стране введен в действие руководящий документ РД IDEF0-2000 «Методология функционального моделирования IDEF0».

Стандарт IDEF0 используется при проектировании корпоративных информационных систем, при документировании созданных систем, а также используется в процессе совершенствования (реинжиниринга) деятельности организации при построении новой модели бизнес-процессов.

В нотации IDEF0 описание системы (модель) организовано в виде иерархически упорядоченных и взаимосвязанных диаграмм. Вершина этой древовидной структуры представляет собой самое общее описание системы и ее взаимодействия с внешней средой, а в ее основании находятся наиболее детализированные описания выполняемых системой функций. Диаграммы содержат функциональные блоки, соединенные дугами. Дуги отображают взаимодействия и взаимосвязи между блоками. Функциональный блок на диаграммах изображается прямоугольником и представляет собой функцию или активную часть системы, поэтому названиями блоков служат глаголы или глагольные обороты. Каждая сторона блока имеет особое, вполне определенное назначение. К левой стороне блока подходят дуги входов, к верхней – дуги управления, к нижней – механизмов реализации выполняемой функции, а из правой – выходят дуги выходов. Такое соглашение предполагает, что, используя управляющую информацию об условиях и ограничениях и реализующий ее механизм, функция блока преобразует свои входы в соответствующие выходы.

На диаграмме блоки упорядочены по степени важности, начиная с левого верхнего угла диаграммы и кончая нижним правым углом. Для обеспечения наглядности и лучшего понимания моделируемых процессов рекомендуется использовать от 3 до 6 блоков на одной диаграмме. Такое представление модели устраняет неоднозначность, присущую естественному языку. Благодаря этому достигается необходимая для понимания и анализа лаконичность и точность описания без потери деталей и качества.

Рассмотрим основные компоненты IDEF0 синтаксиса.


3.15. Изображение дуги

3.16. Варианты объединения дуг

Дуги изображают данные или объекты, связанные функциями. Дуга состоит из одного или нескольких сегментов линии со стрелкой, направленной в один конец. Как показано на рис. 3.15, сегмент дуги может быть прямым или изогнутым (на угол, кратный 90°). Дуги передают данные или объекты, связанные функциями, которые нужно выполнить (рис. 3.16).

Правила определяют, как используются вышеуказанные компоненты:

1) блок должен быть достаточного размера, чтобы в него убралось имя блока;

2) блок должен иметь прямоугольную форму и квадратные углы;

3) блок должен изображаться сплошными линиями;

4) угол изгиба дуг должен быть кратным 90°;

5) дуги должны изображаться сплошными линиями;

6) дуги должны изображаться вертикально или горизонтально, но не по диагонали.

7) концы дуги должны касаться внешнего периметра функционального блока;

8) дуги должны присоединяться к сторонам блока, а не к углам.

Диаграммы представляют собой объединения блоков и дуг, изображенных в соответствии с правилами. Место соединения дуги с блоком определяет тип интерфейса. Управляющая информация входит в блок сверху, в то время как информация, которая подвергается обработке, показана с левой стороны блока, а результаты выхода показаны с правой стороны (рис. 3.17). Механизм (человек или автоматизированная система), который осуществляет операцию, представляется дугой, входящей в блок снизу.


Одной из наиболее важных особенностей методологии SADT является постепенное введение все больших уровней детализации по мере создания диаграмм, отображающих модель.

Рис. 3.17. Функциональный блок и интерфейсные дуги

Построение модели бизнес-процессов начинается с представления всей системы в виде простейшего компонента − одного блока и дуг, изображающих интерфейсы с функциями вне системы. Поскольку единственный блок представляет всю систему как единое целое, имя, указанное в блоке, является общим. Это верно и для интерфейсных дуг − они также представляют полный набор внешних интерфейсов системы в целом. Затем блок, который представляет систему в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков, соединенных интерфейсными дугами. Эти блоки представляют
основные подфункции системы. Данная декомпозиция выявляет полный набор подфункций, каждая из которых представляется блоком, границы которого определены интерфейсными дугами. Каждая из этих подфункций может также быть декомпозирована подобным образом для более детального представления. Модель представляет собой серию диаграмм с сопроводительной документацией, разбивающих сложный объект на составные части, которые представлены в виде блоков (рис.


3.18).

Во всех случаях каждая подфункция может содержать только те элементы, которые входят в исходную функцию. Кроме того, модель не может опустить какие-либо элементы, т.е., как уже отмечалось, родительский блок и его интерфейсы обеспечивают контекст. К нему нельзя ничего добавить, и из него не может быть ничего удалено.

Дуги, входящие в блок и выходящие из него на диаграмме верхнего уровня, являются точно теми же самыми, что и дуги, входящие в диаграмму нижнего уровня и выходящие из нее, потому что блок и диаграмма представляют одну и ту же часть системы.


3.19. Одновременное выполнение функций

Рис. 3.20. Полное и непротиворечивое соответствие между диаграммами


Для того чтобы указать положение любой диаграммы или блока в иерархии, используются номера диаграмм (рис. 3.22). Например, А21 является диаграммой, которая детализирует блок 1 на диаграмме А2. Аналогично А2 детализирует блок 2 на диаграмме А0, которая является самой верхней диаграммой модели. Приведен пример анализа бизнес-процессов (рис. 3.23).

Рис. 3.22. Иерархия диаграмм

Рис.

3.23. Пример анализа бизнес-процессов

3.3.2. функциональное моделирование (DFD)

Построение диаграмм потоков данных (DFD), являясь методом функционального моделирования, позволяет показать набор задач (функций/процессов), которые необходимо решать для поддержания деятельности автоматизированной системы, и информационные потоки между ними. DFD-диаграммы используются для описания процессов обработки информации в АИС.

Рассмотрим основные компоненты DFD-синтаксиса.

Процессы показывают, что делает система (рис. 3.24). Каждый процесс имеет одну или несколько точек ввода данных и одну или несколько точек вывода данных. Процессы в DFD обычно изображаются в виде кругов. Каждый процесс имеет уникальное имя и номер.


Внешние сущности либо передают данные в систему (в этом случае они называются источниками), либо получают данные из системы (в этом случае они называются приемниками). Внешние сущности изображаются в виде прямоугольника и имеют уникальное имя (рис. 3.26).

Рис. 3.26. Изображение внешней сущности

Потоки данных определяют передачу данных в системе и изображаются стрелками, соединяющими компоненты системы. Направление стрелки указывает на направление потока. Каждый поток имеет имя, отображающее его содержание (рис. 3.27).


Существует ряд нотаций представления DFD-диаграмм (рис. 3.28 – 3.30).

3.28. Диаграммы потоков данных в нотации Yourdon / De Marco

Рис. 3.29. Диаграммы потоков данных в нотации SSADM


3.30. Диаграммы потоков данных в нотации Gane/Sarson

Процесс построения модели потоков данных выполняется сверху вниз, начиная с контекстной диаграммы (рис. 3.31), на которой система представлена в виде одного процесса. Кроме того, в контекстной диаграмме показаны все внешние сущности, взаимодействующие с системой, и все потоки данных между ними и системой. Цель контекстной диаграммы – определить, как система связана и взаимодействует с другими сущностями, составляющими ее окружение (среду данных).

Рис. 3.31. Контекстная DFD- диаграмма

DFD верхнего уровня (рис. 3.32) обеспечивает более детальное описание системы. Она определяет главные процессы системы (максимум 6 или 7), потоки данных между ними, внешние сущности и накопители данных. Каждый процесс имеет уникальное имя и номер, причем порядок обработки данных соответствует номерам процессов.

Рис. 3.32. DFD-диаграмма верхнего уровня

Для нумерации процессов используется десятичная система: в диаграмме второго уровня, детализирующей процесс 3 диаграммы верхнего уровня, процессы имеют номера 3.1, 3.2, 3.3 и т. д.; процессы DFD третьего уровня, описывающие процесс 3.3, имеют номера 3.3.1, 3.3.2 и т. д. Поток данных DFD нижнего уровня получает в точности тот же «входной» поток данных и передает такой же «выходной» поток, как и процесс верхнего уровня, который он описывает.

Во избежание ошибок, возникающих при разработке диаграмм потоков данных, необходимо учитывать следующее:


между процессами не может быть циклов и повторений (рис. 3.34);

Рис. 3.34. Ошибка, связанная с использованием циклов


процессы не могут активизироваться входными сигналами (рис. 3.35).

Рис. 3.35. Ошибка, связанная активацией процессов входными сигналами

Чтобы сделать DFD читаемой, необходимо придерживаться следующих правил.

Процессы должны описываться коротким словосочетанием с глаголом, например «вычислить недельный оклад».

Копители данных должны содержать только один конкретный набор структур и обозначаться сложным существительным, например «заказ пользователя».

Потоки данных должны обозначаться одним существительным, описывающим поток, например «счет» или «заказ»; в больших системах можно использовать словосочетания для поддержки уникальности имен потоков, например «подробности заказа» или «подробности отгрузки».

3.3.3. Унифицированный язык моделирования (UML)

В январе 1997 года три теоретика в области объектного моделирования Гради Буч, Джим Рамбо и Айвар Якобсон, объединившиеся под эгидой компании Rational Software, подготовили и выпустили версию 1.0 спецификации нового языка объектно–ориентированного моделирования UML, отразившего сильные стороны методологий Booch, OMT и OOSE.

UML изначально задумывался авторами не как язык моделирования данных, а как язык объектного проектирования . Создатели UML позиционировали его как язык для определения, представления, проектирования и документирования программных систем, бизнес-систем и прочих систем непрограммного обеспечения. UML представляет собрание лучших технических методов, которые успешно доказали свою применимость при моделировании больших и сложных систем.

В основе языка лежит совокупность диаграмм, посредством которых моделируется статика и динамика процессов, происходящих в системе. Сначала выполняется анализ требований к системе на основе выявления прецедентов − вариантов использования системы (use case ) с точки зрения внешнего окружения. Разрабатываемая модель видов деятельности (activity model ) отражает внутрисистемную точку зрения. Диаграмма видов деятельности показывает алгоритм вычисления в рамках каждого прецедента.

Внутреннее состояние системы задается в модели классов (class model ). Выделяются классы-сущности (entity class ), которые представляют постоянно хранимые объекты базы данных. Также выделяются пограничные классы (boundary class ) для определения интерфейсов системы и управляющие классы (control class ) для определения программной логики. На этапе анализа прецедентов, как правило, формируются классы-сущности. Моделирование классов других типов выполняется на этапе проектирования системы.

Далее проводится анализ поведения классов в определенных вариантах использования. При моделировании взаимодействий (interaction modeling ) между классами определяются наборы сообщений, свойственных поведению системы. Каждое сообщение обращается к операции в вызываемом объекте. Таким образом, исследование взаимодействий между классами приводит к выявлению операций. Если модель взаимодействий (interaction model) является источником детализированной спецификации прецедента, то разрабатываемая модель состояний (statechart model ) служит детализированным описанием класса (динамических изменений состояний класса). Диаграмма состояний, присоединенная к классу, определяет способ реагирования объектов класса на события.

Построенная на этапе анализа модель классов детализируется на этапе проектирования системы. В процессе архитектурного проектирования системы решаются проблемы, связанные с построением клиентской и серверной частей системы. Выделяются следующие части системы: пользовательский интерфейс, презентационная логика (логика представления), прикладные функции приложения (логика программы), функции доступа к данным. Выполняется преобразование (отображение) классов UML-модели в логическую модель базы данных (реляционной, объектно-ориентированной или объектно-реляционной). Решается вопрос о реализации логики программы (исполняемые модули, динамически компонуемые библиотеки, хранимые процедуры, триггеры, ограничения целостности базы данных).

Рассмотрим несколько подробнее структурный уровень моделирования в UML.

Структурные сущности представляют собой статические части модели, соответствующие концептуальным или физическим частям системы. Существует несколько разновидностей структурных сущностей: класс, объект, интерфейс, прецедент, узел, компонент.

Класс (Class ) – это описание совокупности объектов с общими атрибутами, операциями, отношениями и семантикой. Класс реализует один или несколько интерфейсов. Класс графически изображается в виде прямоугольника с прямыми углами, разделенного на три части. Верхняя часть содержит имя класса. Средняя секция содержит список атрибутов. Нижняя (если есть) содержит описание поведения (список методов).

Объект (Object ) – это экземпляр сущности, представленной классом.

Интерфейс (Interface ) – это совокупность методов, которые определяют сервис (набор услуг), предоставляемый классом или компонентом. Графически интерфейс изображается в виде круга, под которым написано его имя.

Компонент (Component ) – это физическая заменяемая часть системы, которая соответствует некоторому набору интерфейсов и обеспечивает его реализацию. Графически компонент изображается в виде прямоугольника с вкладками, содержащего обычно только имя.

Узел (Node ) – это физический элемент, существующий во время выполнения приложения и представляющий собой тип вычислительного устройства. Графически узел изображается в виде куба.

Атрибуты в UML могут характеризоваться одним или несколькими параметрами:

1. Видимость. В терминах объектно-ориентированного кода видимость имеет три уровня:

Public (+) – открытый для всех;

Protected (#) – защищенный, виден только для потомков данного класса;

Private (-) – закрытый для других классов.

2. Имя – обязательное свойство (не допускаются пробелы).

3. Множественность. Объектная ориентация UML снимает ограничение реляционной модели, допускающей только одно значение атрибута для одного объекта.

4. Тип данных атрибута (число, символ и т. д.).

5. Значение по умолчанию.