1 / 125

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

Основы проектирования информационных систем. Модели. Введение Принципы моделирования Визуальное представление моделей Конечные автоматы Пример с удалением комментариев Регулярные выражения Системы потоков Стохастические модели Марковские процессы Дискретные цепи Маркова

silas
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Введение • Принципы моделирования • Визуальное представление моделей • Конечные автоматы • Пример с удалением комментариев • Регулярные выражения • Системы потоков • Стохастические модели • Марковские процессы • Дискретные цепи Маркова • Процессы размножения и гибели • Системы массового обслуживания • Внутри «прибора»: параллельные процессы • Структурный системный анализ • Функциональные модели IDEF0

  3. Системы и модели • Система – совокупность взаимодействующих компонентов и взаимосвязей между ними. • Модель – упрощенное представление системы (упрощенное представление реальности). • «Мы строим модель для того, чтобы лучше понимать разрабатываемую систему». Гради Буч • Модельдает полное, точное и адекватное описание системы, имеющее конкретное назначение. Это назначение называется целью модели.

  4. Значение моделирования ??? В каких случаях разумно моделировать? Будет ли от этого толк? Что такое ХОРОШАЯ модель?

  5. Резюме • Создаваемые человеком системы сложны. Для понимания и планирования разработки/изменений организационных и информационных систем применяются упрощенные представления – модели. • В организационной/информационной системе присутствуют структура и процессы. • Модели могут отражать статические свойства системы (структуру) и/или ее динамические свойства (процессы). • Модель не тождественна системе. • Модель отвечает на НЕКОТОРЫЕ вопросы о системе. • Модель должна иметьцель – множество вопросов, на которые ей предстоит ответить (с желаемой точностью).

  6. Модель как проекция. Точка зрения модели • При моделировании систем реального мира и нетривиальных программных систем выбор проекций неочевиден. • Проекция (точка зрения) определяет, на какие вопросы может ответить модель.

  7. Границы модели • Сложные системы, как правило, открыты – они взаимодействуют с внешним миром. • Проекцию чего следует включить в модель? Если усеченный цилиндр стоит на столе, то следует ли изображать стол? А следует ли изображать реальное положение такого цилиндра, если он лежит? • Приходится принимать решения о границах моделируемой системы – границах модели.

  8. Цель, точка зрения, границы модели – главные вопросы • Цель определяет возможный набор точек зрения (часто – единственную возможную точку зрения) и допустимые границы модели. • Невозможность задать границы модели, соответствующие цели – признак того, что, возможно, цель модели выбрана неверно.

  9. Задачи моделирования • Визуализировать систему в ее текущем или желаемом состоянии. • Описать структуру или поведение системы. • Получить шаблон, позволяющий сконструировать систему. • Документировать принимаемые решения.

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

  11. Сфера применения • Бизнес-процессы, организация деятельности предприятия, бухгалтерия, документооборот… • Производство, строительство, транспорт… • Разработка программного обеспечения. • Сложные информационные системы: ИПС, системы семантического анализа, обработка текстовых корпусов, системы параллельных вычислений… • Игры. • Эко-, био- и социальные системы. • Системы искусственного интеллекта, описание деятельности мозга. • …

  12. Типы моделей. Общий взгляд • Структурная (подчеркивает организацию системы). • Поведенческая (отображает процессы, динамику). С другой стороны: • Математическая, физическая, … Что может отражать модель? • Структурные сущности (классы, интерфейсы, кооперации, варианты использования)… • Поведенческие сущности (взаимодействия, автоматы, деятельность)… • Зависимости, ассоциации, обобщения, цепочки ответственности…

  13. Немного терминологииКакие сущности могут быть полезны при моделировании? • Класс • Интерфейс • Кооперация • Вариант использования • Деятельность • Взаимодействие • Последовательность • Автомат

  14. Понятный частный пример Веб-ресурс • Структура. Классы. • Варианты использования. • Повышение эффективности с точки зрения пользователя. • Достижение коммерческих целей. • Взаимодействия клиент – сервер. • Потоки запросов. • Обеспечение функциональности, клиентское и серверное программирование. • Структура и процессы с точки зрения разработчика. • Развертывание, продвижение, сопровождение.

  15. Принципы моделирования • Выбор модели оказывает решающее воздействие на подход к решению проблемы и на то, как будет выглядеть решение. • У каждой модели есть точка зрения и своя степень точности. • Лучшие модели – те, что ближе к реальности. • Наилучший подход – использовать совокупность моделей, почти независимых друг от друга.

  16. О выборе модели Гиппарх (125 г. до н.э.) Аристотель (384-388 г. до н.э.) Аристарх Самосский (III в. до н.э.) Целлариус«Небесный атлас» (1660 г.) Коперник (1473-1543 г.)

  17. Еще о выборе модели • 1596 – 1650 • Как жили до декартовой системы координат? • Какие были модели геометрической информации?

  18. отделы моделирования программирования Проекты Лаб. 1 Лаб. 2 Лаб. 3 QW237-SD AVP-2008 Птичкин IDEF0-55 Воробьев Грачев Орлов И еще о выборе модели Реляционная база данных

  19. Системная архитектура Аспекты представления системы: словарь, функциональность сборка системы,конфигурирование проектирование, дизайн реализация вариантыиспользования поведение процессы, взаимодействия развертывание производительность,масштабируемость,пропускная способность топология системы,распределение,поставка,установка

  20. Визуальное представление модели • Чертеж, карта, макет, …

  21. Визуальное представление модели • Блок-схема

  22. Визуальное представление модели • Граф переходов между состояниями включение on off включение проверка готовности работа установкапараметров выключение подготовка

  23. Визуальное представление модели • Диаграмма «заполнить форму» - стандарт IDEF0 Пустаяформа Требование полноты данных Возврат к заполнению формы Значения полейформы Данные Ожидать завершенияввода данных Заполненная форма Проверить, все ли данные внесены Не все данные Вывести сообщение онеполноте данных

  24. Визуальное представление модели Отдел обслуживанияклиентов Отдел продаж Склад Заказать товар Обработать заказ Подобрать товар Отгрузить заказ Получить заказ Выставить счет Оплатить счет Закрыть заказ

  25. Визуальное представление модели • Диаграмма (неформальная)

  26. Визуальное представление модели • Диаграмма (неформальная)

  27. Наши задачи • Получить представление о разнообразии моделей. • Прочувствовать специфику некоторых классов систем. • Осознать, что база моделирования – это выбор адекватной модели и удачного набора точек зрения. • Согласиться с тем, что необходимы формальные стандарты моделирования. • Рассмотреть бегло один из таких стандартов – IDEF0 (Integration DEFinition 0) – функциональное моделирование (Function Modeling). • И чуть более подробно – другой стандарт – UML (Unified Modelling Language)

  28. Конечные автоматы(Finite state machine) • Автомат – это поведение, специфицирующее последовательность состояний, через которые проходит объект за время своего существования в ответ на события (стимулы), а также его реакцию на эти события. • Термины и понятия • Состояние • Событие (стимул) • Переход • Деятельность (activity) • Действие (action)

  29. Конечные автоматы: строгое определение Конечный автомат может быть задан параметрами: • Q – конечное множество состояний • q0 Q – начальное состояние • F  Q – множество заключительных состояний •  – конечное множество входных символов • – заданное отображениеQ  Q (функция переходов) = (qi , b), где b 

  30. Конечные автоматы: классы • Детерминированные и недетерминированные. • «С памятью» или без оной. • Автомат Мура – выходные сигналы зависят только от текущего состояния. • Автомат Мили - выходные сигналы зависят как от текущего состояния, так и от текущих значений входных сигналов.Иначе говоря: • В автомате Мура все действия привязаны к состояниям. • В автомате Мили все действия привязаны к переходам. • В реальных ситуациях модель обычно представляет собой комбинацию машин Мура и Мили.

  31. Пример: светофор таймер таймер таймер таймер

  32. Пример: из жизни хищника действия …

  33. Пример: система климат-контроля простой холодно жарко t0ОК t0ОК обогрев готов охлаждение активация жарко активен холодно

  34. Задача: анализ текста • В тексте возведение в степень обозначалось двумя идущими подряд звездочками. Решено заменить это обозначение на '^' (так что, к примеру, 'x**y' заменится на 'x^y'). Как это проще всего сделать? Исходный текст разрешается читать символ за символом, получающийся текст требуется печатать символ за символом.

  35. Задачи (анализ текста) • Описать автомат, удаляющий из текста заданную подстроку. • Описать автомат, удаляющий из текста программы комментарии ( /* … */ ). • Описать автомат, удаляющий из HTML-кода (или модифицирующий) заданные HTML-теги. • Подумать над автоматом для определения в тексте фрагментов, представляющих собой, например, URL или e-mail.

  36. / Внутри комм.после */ / * Вне комм.после /* * Автомат, удаляющий из текста программы комментарии / • 1 вариант Вне комм. * / / Вне комм.после / Внутри комм.после * *  / * Внутри комм. *

  37. print(s) print('/'+s) Автомат, удаляющий из текста программы комментарии • 2 вариант / 3 / 0 Внутри комм.после * Вне комм. * * /  / Вне комм.после / Внутри комм. * 1 2 * Конец анализируемого текста

  38. Автомат, удаляющий из текста программы комментарии • Матрица стимулов (входных символов)

  39. Автомат, удаляющий из текста программы комментарии • Матрица действий

  40. Ожидание Запрос pin-кода Запрос операции Запрос суммы Выполнение операции Запрос на продолжение Завершение работы К.А.: модель банкомата Такой банкомат умнее Так работает банкомат Сбербанка(не слишком эффективно) Вставлена карта Неверный код Остаток на счете Снятие наличных Выдача денег,чека, … ОК да Нет денег Возврат карты нет

  41. Обобщение и развитие темы • Бесконечное число состояний. • Описание вероятностных характеристик переходов. • Акцент на описании процесса переходов • Расчет характеристик процесса. • Попытка управления процессом с точки зрения некоторого функционала качества.

  42. Системы потоков Динамические системы Sn = f(Sn-1) • Системы потоков • регулярные • нерегулярные Системы массового обслуживания (СМО) (системы с очередями) запросы прибор

  43. ДС: Фракталы zn+1= f(zn) = azn2 + bzn + C

  44. Регулярные системы потоков • Одноканальные λ μ λ – интенсивность поступления запросов μ – интенсивность обслуживания (пропускная способность) μ> λ– условие стабильности

  45. Другие возможные задачи • Оптимизация по стоимости или времени протекания процесса. • Несколько начальных или конечных состояний. • Комбинированные потоки. • … • Стохастические модели.

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

  47. Стохастическая одноканальная модель • Время поступления запросов случайно. • => случайно количество запросов. • Время обслуживания также случайно. λ μ Теперь одноканальная модель уже не кажется тривиальной

  48. Марковские модели • Для ряда задач очень эффективны модели, в которых вероятности перехода из текущего состояния в другие не зависят от предыстории (то есть от того, как именно система перешла в это состояние). Такие модели называются марковскими.

  49. Дискретные цепи Маркова • Задача путешественника pij - вероятность перехода из состоянияiв состояние j 3/4 2 1/4 1 3/4 1/4 1/4 1/4 3 1/2

  50. Задача путешественника • Матрица вероятностей перехода • Вероятность попадания в состояние jиз состояния iза mшаговpij(m) = pik(m-1) pkj P = k

More Related