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

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

  • Upload
    silas

  • View
    78

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Citation preview

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

Основы Основы проектирования проектирования

информационных информационных систем.систем.МоделиМодели

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

• ВведениеВведение• Принципы моделирования• Визуальное представление моделей

• Конечные автоматы• Пример с удалением комментариев• Регулярные выражения

• Системы потоков• Стохастические модели

• Марковские процессы• Дискретные цепи Маркова• Процессы размножения и гибели

• Системы массового обслуживания

• Внутри «прибора»: параллельные процессы• Структурный системный анализ• Функциональные модели IDEF0

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

Системы и моделиСистемы и модели• Система – совокупность взаимодействующих Система – совокупность взаимодействующих

компонентов и взаимосвязей между ними.компонентов и взаимосвязей между ними.• Модель – упрощенное представление системы Модель – упрощенное представление системы

(упрощенное представление реальности).(упрощенное представление реальности).

• «Мы строим модель для того, чтобы лучше «Мы строим модель для того, чтобы лучше понимать разрабатываемую систему».понимать разрабатываемую систему».

Гради БучГради Буч

• МодельМодель дает полное, точное и адекватное дает полное, точное и адекватное описание системы, имеющее конкретное описание системы, имеющее конкретное назначение. Это назначение называется назначение. Это назначение называется целью целью моделимодели..

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

Значение моделированияЗначение моделирования

??????

В каких случаях разумно В каких случаях разумно моделировать?моделировать?

Будет ли от этого толк?Будет ли от этого толк?

Что такое ХОРОШАЯ модель?Что такое ХОРОШАЯ модель?

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

РезюмеРезюме► Создаваемые человеком системы сложны. Для Создаваемые человеком системы сложны. Для

понимания и планирования понимания и планирования разработки/изменений организационных и разработки/изменений организационных и информационных систем применяются информационных систем применяются упрощенные представления – модели.упрощенные представления – модели.

► В организационной/информационной системе В организационной/информационной системе присутствуют структура и процессы. присутствуют структура и процессы.

► Модели могут отражать статические свойства Модели могут отражать статические свойства системы (структуру) и/или ее динамические системы (структуру) и/или ее динамические свойства (процессы).свойства (процессы).

► Модель не тождественна системе.Модель не тождественна системе.► Модель отвечает на Модель отвечает на НЕКОТОРЫЕНЕКОТОРЫЕ вопросы о вопросы о

системе.системе.► Модель должна иметьМодель должна иметь цельцель – множество – множество

вопросов, на которые ей предстоит ответить (с вопросов, на которые ей предстоит ответить (с желаемой точностью). желаемой точностью).

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

Модель как проекция. Точка зрения Модель как проекция. Точка зрения моделимодели►При моделировании При моделировании

систем реального систем реального мира и мира и нетривиальных нетривиальных программных систем программных систем выбор проекций выбор проекций неочевиден. неочевиден.

►Проекция (Проекция (точка точка зрениязрения) определяет, ) определяет, на какие вопросы на какие вопросы может ответить может ответить модель.модель.

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

Границы моделиГраницы модели

► Сложные системы, как правило, открыты – Сложные системы, как правило, открыты – они взаимодействуют с внешним миром.они взаимодействуют с внешним миром.

►Проекцию чего следует включить в модель? Проекцию чего следует включить в модель? Если усеченный цилиндр стоит на столе, то Если усеченный цилиндр стоит на столе, то следует ли изображать стол? А следует ли следует ли изображать стол? А следует ли изображать реальное положение такого изображать реальное положение такого цилиндра, если он лежит?цилиндра, если он лежит?

►Приходится принимать решения о границах Приходится принимать решения о границах моделируемой системы – моделируемой системы – границах границах моделимодели. .

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

Цель, точка зрения, границы Цель, точка зрения, границы модели – главные вопросы модели – главные вопросы

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

►Невозможность задать границы модели, Невозможность задать границы модели, соответствующие цели – признак того, соответствующие цели – признак того, что, возможно, цель модели выбрана что, возможно, цель модели выбрана неверно. неверно.

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

Задачи моделированияЗадачи моделирования

• Визуализировать систему в ее Визуализировать систему в ее текущем или желаемом состоянии.текущем или желаемом состоянии.

• Описать структуру или поведение Описать структуру или поведение системы.системы.

• Получить шаблон, позволяющий Получить шаблон, позволяющий сконструировать систему.сконструировать систему.

• Документировать принимаемые Документировать принимаемые решения.решения.

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

Сверхзадачи моделированияСверхзадачи моделирования• Исследовать факторы, определяющие Исследовать факторы, определяющие

эффективность работы системыэффективность работы системы согласно выбранному критерию.согласно выбранному критерию.

• Выявить «узкие места».Выявить «узкие места».• Определить (качественно или Определить (качественно или

количественноколичественно) ) эффективную эффективную стратегию управления системой.стратегию управления системой.

• Описать структуру системы и Описать структуру системы и протекающие в ней процессы с протекающие в ней процессы с возможностью генерации возможностью генерации соответствующего программного кода.соответствующего программного кода.

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

Сфера примененияСфера применения• Бизнес-процессы, организация деятельности Бизнес-процессы, организация деятельности

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

системы семантического анализа, обработка системы семантического анализа, обработка текстовых корпусов, системы параллельных текстовых корпусов, системы параллельных вычислений…вычислений…

• Игры.Игры.• Эко-, био- и социальные системы.Эко-, био- и социальные системы.• Системы искусственного интеллекта, Системы искусственного интеллекта,

описание деятельности мозга.описание деятельности мозга.• ……

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

Типы моделей. Общий взглядТипы моделей. Общий взгляд• Структурная (подчеркивает организацию Структурная (подчеркивает организацию

системы).системы).• Поведенческая (отображает процессы, динамику).Поведенческая (отображает процессы, динамику).

С другой стороны:С другой стороны:• МатематическаяМатематическая, физическая, …, физическая, …

Что может отражать модель?Что может отражать модель?• Структурные сущности (классы, интерфейсы, Структурные сущности (классы, интерфейсы,

кооперации, варианты использования)…кооперации, варианты использования)…• Поведенческие сущности (взаимодействия, Поведенческие сущности (взаимодействия,

автоматы, деятельность)…автоматы, деятельность)…• Зависимости, ассоциации, обобщения, цепочки Зависимости, ассоциации, обобщения, цепочки

ответственности…ответственности…

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

Немного терминологииНемного терминологииКакие сущности могут быть полезны при Какие сущности могут быть полезны при

моделировании?моделировании?

►КлассКласс►ИнтерфейсИнтерфейс►КооперацияКооперация►Вариант использованияВариант использования►ДеятельностьДеятельность►ВзаимодействиеВзаимодействие►ПоследовательностьПоследовательность►АвтоматАвтомат

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

Понятный частный примерПонятный частный примерВеб-ресурсВеб-ресурс

• Структура. Классы.Структура. Классы.• Варианты использования.Варианты использования.

• Повышение эффективности с точки зрения Повышение эффективности с точки зрения пользователя.пользователя.

• Достижение коммерческих целей.Достижение коммерческих целей.

• Взаимодействия клиент – сервер.Взаимодействия клиент – сервер.• Потоки запросов.Потоки запросов.• Обеспечение функциональности, клиентское и Обеспечение функциональности, клиентское и

серверное программирование.серверное программирование.• Структура и процессы с точки зрения разработчика.Структура и процессы с точки зрения разработчика.

• Развертывание, продвижение, сопровождение.Развертывание, продвижение, сопровождение.

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

Принципы моделированияПринципы моделирования1.1. Выбор модели оказывает решающее Выбор модели оказывает решающее

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

2.2. У каждой модели есть точка зрения и своя У каждой модели есть точка зрения и своя степень точности.степень точности.

3.3. Лучшие модели – те, что ближе к реальности.Лучшие модели – те, что ближе к реальности.

4.4. Наилучший подход – использовать Наилучший подход – использовать совокупность моделей, почти независимых совокупность моделей, почти независимых друг от друга.друг от друга.

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

О выборе моделиО выборе модели

Аристотель(384-388 г. до н.э.)

Гиппарх(125 г. до н.э.)

Аристарх Самосский(III в. до н.э.)

Целлариус«Небесный атлас»(1660 г.)

Коперник(1473-1543 г.)

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

Еще о выборе моделиЕще о выборе модели

►1596 – 16501596 – 1650►Как жили до Как жили до

декартовой системы декартовой системы координат?координат?

►Какие были модели Какие были модели геометрической геометрической информации?информации?

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

И еще о выборе моделиИ еще о выборе моделиРеляционная база данныхРеляционная база данныхотделы

программированиямоделирования

Лаб. 1 Лаб. 2 Лаб. 3

Птичкин

Воробьев

Грачев

Проекты

QW237-SD

AVP-2008

IDEF0-55

Орлов

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

Системная архитектураСистемная архитектураАспекты представления системы:Аспекты представления системы:

проектирование,дизайн

реализация

процессы,взаимодейств

ия

развертывание

вариантыиспользования

словарь,функциональность

сборка системы,конфигурирование

поведение

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

топология системы,распределение,поставка,установка

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

Визуальное представление Визуальное представление моделимодели

• Чертеж, карта, макет, …Чертеж, карта, макет, …

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

Визуальное представление Визуальное представление моделимодели

• Блок-схемаБлок-схема

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

Визуальное представление Визуальное представление моделимодели

• Граф переходов между состояниямиГраф переходов между состояниями

off

работа

on

подготовка

включение

проверкаготовности

включение

установкапараметроввыключение

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

Визуальное представление Визуальное представление моделимодели

• Диаграмма «заполнить форму» - стандарт Диаграмма «заполнить форму» - стандарт IDEF0IDEF0

Ожидать завершенияввода данных

Проверить, все ли данные внесены

Вывести сообщение онеполноте данных

Пустаяформа

Данные

Требование полноты данных

Значения полейформы

Заполненная форма

Не все данные

Возврат к заполнению формы

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

Визуальное представление Визуальное представление моделимодели

Отдел обслуживанияклиентов

Отдел продаж Склад

Заказать товар

Обработать заказ Подобрать

товарОтгрузить заказ

Выставить счетПолучить заказ

Оплатить счет

Закрыть заказ

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

Визуальное представление Визуальное представление моделимодели

• Диаграмма (неформальная)Диаграмма (неформальная)

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

Визуальное представление Визуальное представление моделимодели

• Диаграмма (неформальная)Диаграмма (неформальная)

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

Наши задачиНаши задачи• Получить представление о разнообразии Получить представление о разнообразии

моделей.моделей.• Прочувствовать специфику Прочувствовать специфику некоторыхнекоторых классов классов

систем.систем.• Осознать, что база моделирования – это Осознать, что база моделирования – это выбор выбор

адекватной модели и удачного набора точек адекватной модели и удачного набора точек зрениязрения..

• Согласиться с тем, что необходимы формальные Согласиться с тем, что необходимы формальные стандарты моделирования.стандарты моделирования.

• Рассмотреть бегло один из таких стандартов – Рассмотреть бегло один из таких стандартов – IDEF0IDEF0 ( (IIntegration ntegration DEFDEFinition inition 00) – ) – функциональное функциональное моделирование (моделирование (Function ModelingFunction Modeling).).

• И чуть более подробно – другой стандарт – И чуть более подробно – другой стандарт – UMLUML ((UUnified nified MModelling Language)odelling Language)

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

Конечные автоматыКонечные автоматы((Finite state machineFinite state machine))

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

• Термины и понятияТермины и понятия• СостояниеСостояние• Событие (стимул)Событие (стимул)• ПереходПереход• Деятельность (Деятельность (activity)activity)• ДействиеДействие (action) (action)

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

Конечные автоматы: Конечные автоматы: строгое строгое определениеопределение

Конечный автомат может быть задан Конечный автомат может быть задан параметрами:параметрами:

• Q – Q – конечное множество состоянийконечное множество состояний• qq00 Q – Q – начальное состояниеначальное состояние

• F F Q – Q – множество заключительных множество заключительных состоянийсостояний

– – конечное множество входных конечное множество входных символовсимволов

– – заданное отображениезаданное отображение QQ QQ ( (функция переходов)функция переходов)

= = ((qqi i , b), , b), где где bb

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

Конечные автоматы: Конечные автоматы: классыклассы

1.1. Детерминированные и недетерминированные.Детерминированные и недетерминированные.

2.2. «С памятью» или без оной.«С памятью» или без оной.

• Автомат Мура – выходные сигналы зависят только от Автомат Мура – выходные сигналы зависят только от текущего состояния.текущего состояния.

• Автомат Мили - выходные сигналы зависят как от Автомат Мили - выходные сигналы зависят как от текущего состояния, так и от текущих значений текущего состояния, так и от текущих значений входных сигналов.входных сигналов.

Иначе говоря:Иначе говоря:• В автомате Мура все действия привязаны к В автомате Мура все действия привязаны к

состояниям.состояниям.• В автомате Мили все действия привязаны к переходам.В автомате Мили все действия привязаны к переходам.

• В реальных ситуациях модель обычно представляет В реальных ситуациях модель обычно представляет собой комбинацию машин Мура и Мили.собой комбинацию машин Мура и Мили.

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

Пример: светофорПример: светофор

таймер таймер

таймертаймер

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

Пример: из жизни хищникаПример: из жизни хищника

состояниесостояниестимулыстимулы

охотникохотник добычадобыча

1. сытый1. сытый убежатьубежать

22

спатьспать

22

2. голодный2. голодный убежатьубежать

22

съестьсъесть

11

действия…

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

Пример: система климат-Пример: система климат-контроляконтроля

простой

охлаждениеактивация

активен

обогрев

жарко

холодно

жаркохолодно

t0 ОК

готов

t0 ОК

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

Задача: анализ текстаЗадача: анализ текста• В тексте возведение в степень обозначалось двумя идущими

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

состояниесостояние очередной очередной входной входной символсимвол

новое новое состояниесостояние

действиедействие

основноеосновное '**' после *после * нетнет

основноеосновное xx '**' основноеосновное печать печать хх

после *после * '**' основноеосновное печать печать '^'

после *после * xx '**' основноеосновное печать печать '**' хх

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

Задачи Задачи (анализ текста)(анализ текста)

• Описать автомат, удаляющий из текста Описать автомат, удаляющий из текста заданную подстроку.заданную подстроку.

• Описать автомат, удаляющий из текста Описать автомат, удаляющий из текста программы комментарии ( /* … */ ).программы комментарии ( /* … */ ).

• Описать автомат, удаляющий из Описать автомат, удаляющий из HTMLHTML-кода -кода (или модифицирующий) заданные (или модифицирующий) заданные HTMLHTML-теги.-теги.

• Подумать над автоматом для определения в Подумать над автоматом для определения в тексте фрагментов, представляющих собой, тексте фрагментов, представляющих собой, например, например, URL URL или или e-maile-mail..

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

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

• 1 вариант1 вариант

Вне комм.

Вне комм.после /

Внутри комм.

Внутри комм.после *

/ *

*

/

* /

**

/

Вне комм.после /*

Внутри комм.после */

*

*

/

/

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

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

• 2 вариант2 вариант

Вне комм.

Вне комм.после /

Внутри комм.

Внутри комм.после *

/ *

* /

**

/

*

/

Конец анализируемого текста

0

1 2

3

print('/'+s)

print(s)

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

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

• Матрица стимулов (входных символов)Матрица стимулов (входных символов)

состояниясостояния 00 11 22 33

00 / /

11 * **

22 * **

33 / /

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

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

• Матрица действийМатрица действий

состояниясостояния 00 11 22 33

00 вывод очередного вывод очередного символасимвола

11вывод вывод ''// ' ' и и

очередного очередного символасимвола

22

33

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

К.А.: модель банкоматаК.А.: модель банкомата

Так работает банкомат СбербанкаТак работает банкомат Сбербанка(не слишком эффективно)(не слишком эффективно)

Ожидание

Запрос pin-кода

Запрос операции

Запрос суммы

Выполнение операции

Вставлена карта

Неверный код

Снятие наличных

Остаток на счете

Нет денег

Завершение работы

Выдача денег,чека, …

Возврат карты

Запрос на продолжение

ОК

нет

да

Такой банкомат умнееТакой банкомат умнее

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

Обобщение и развитие Обобщение и развитие темытемы

• Бесконечное число состояний.Бесконечное число состояний.• Описание Описание вероятностныхвероятностных

характеристик переходов.характеристик переходов.• Акцент на описании Акцент на описании процессапроцесса

переходовпереходов• Расчет характеристик процесса.Расчет характеристик процесса.• Попытка Попытка управленияуправления процессом с процессом с

точки зрения некоторого точки зрения некоторого функционала качества.функционала качества.

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

Системы потоковСистемы потоков

Динамические системы Sn = f(Sn-1)

Системы потоков• регулярные• нерегулярные

Системы массового обслуживания (СМО)(системы с очередями)

приборзапросы

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

ДС: ДС: ФракталыФракталы

zzn+1n+1 = = f(zf(znn) = a) = azznn2 2 + b+ bzznn + C + C

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

Регулярные системы Регулярные системы потоковпотоков

• ОдноканальныеОдноканальные

λμ

λ – интенсивность поступления запросов

μ – интенсивность обслуживания (пропускная способность)

μ > λ – условие стабильности

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

Другие возможные задачиДругие возможные задачи

• Оптимизация по стоимости или Оптимизация по стоимости или времени протекания процесса.времени протекания процесса.

• Несколько начальных или Несколько начальных или конечных состояний.конечных состояний.

• Комбинированные потоки.Комбинированные потоки.• ……• Стохастические моделиСтохастические модели..

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

Стохастические моделиСтохастические модели• Стохастические модели акцентируют внимание на Стохастические модели акцентируют внимание на

явном количественном описании явном количественном описании вероятностных вероятностных характеристикхарактеристик тех или иных ситуаций в тех или иных ситуаций в жизненном цикле системы.жизненном цикле системы.

• Такие модели могут быть дискретными или Такие модели могут быть дискретными или непрерывными.непрерывными.

• Основные цели построения стохастических Основные цели построения стохастических моделей:моделей:

• Исследование (качественное или количественное) Исследование (качественное или количественное) поведения системы (как правило, в стационарном поведения системы (как правило, в стационарном режиме).режиме).

• Расчет значимых характеристик системы.Расчет значимых характеристик системы.• Поиск управляющих воздействий, оптимизирующих Поиск управляющих воздействий, оптимизирующих

функционирование системы с учетом обратных связей.функционирование системы с учетом обратных связей.

• Решение: аналитическое либо численное.Решение: аналитическое либо численное.

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

Стохастическая Стохастическая одноканальная модельодноканальная модель

• Время поступления запросов Время поступления запросов случайно.случайно.

• ==> > случайно количество запросов.случайно количество запросов.• Время обслуживания также Время обслуживания также

случайно.случайно.λ μ

Теперь одноканальная модель уже не кажется тривиальной

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

Марковские моделиМарковские модели

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

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

Дискретные цепи МарковаДискретные цепи Маркова

• Задача путешественникаЗадача путешественника

ppijij - - вероятность перехода вероятность перехода

из состоянияиз состояния ii в состояние в состояние jj1

2

3

3/4

1/4

1/4 1/41/4 3/4

1/2

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

Задача путешественникаЗадача путешественника

• Матрица Матрица вероятностей вероятностей переходаперехода

• Вероятность попадания в состояние Вероятность попадания в состояние jj из из состояния состояния ii за за mm шаговшагов

ppijij(m)(m) = = ppikik

(m-1)(m-1) p pkjkj

00 3/3/44

1/41/4

1/41/4 00 3/43/4

1/41/4 1/1/44

1/21/2

P =

k

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

Процессы размножения и Процессы размножения и гибелигибели

Pij =

dj j = i-1

1 - bj - dj j = i

bj j = i+10 в остальных случаях

• Состояния характеризуется объемом популяции.Состояния характеризуется объемом популяции.• Возможны переходы только в «соседние» состояния.Возможны переходы только в «соседние» состояния.• Вероятности переходов, вообще говоряВероятности переходов, вообще говоря,, зависят от зависят от

состояния.состояния.

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

Процессы размножения и Процессы размножения и гибелигибели

• Матрица вероятностей перехода Матрица вероятностей перехода

1-1-bb00 bb00 00 00 00 00 00 00 ……

dd11 1-1-bb11- d- d11 bb11 00 00 00 00 00 ……

00 dd22 1-1-bb22- d- d22 bb22 00 00 00 00 ……

00 00 dd33 1-1-bb33- d- d33 bb33 00 00 00 ……

00 00 00 dd44 1-1-bb44- d- d44 bb44 00 00 ……

00 00 00 00 dd55 1-1-bb55- d- d55 bb55 00 ……

00 00 00 00 00 dd66 1-1-bb66- d- d66 bb66 ……

00 00 00 00 00 00 …… …… ……

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

Процессы размножения и Процессы размножения и гибелигибели

Рассмотрев вместо вероятностей Рассмотрев вместо вероятностей интенсивностиинтенсивности переходов, переходов, получаемполучаем

классический процесс общего вида.классический процесс общего вида.• Вероятность ровно одного «рождения» в промежутке Вероятность ровно одного «рождения» в промежутке ΔΔt :t :

kk ΔΔt + o(t + o(ΔΔtt))

• Вероятность ровно одной «гибели» в промежутке Вероятность ровно одной «гибели» в промежутке ΔΔt :t : kk ΔΔt + o(t + o(ΔΔtt))

• Основное применение модели: анализ потоков в системах с Основное применение модели: анализ потоков в системах с обслуживанием запросов.обслуживанием запросов.

0 1 2 К-1 К+1К… …

00 11 к-1к-1 kk

11 22 kk k+1k+1

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

Процессы размножения и Процессы размножения и гибелигибели

Для процесса общего вида:Для процесса общего вида:

ppkk+1+1 = = p p00 = p = pkk

Формула Литтла: Формула Литтла: N =N = λλTT

Среднее число запросов в системе равно Среднее число запросов в системе равно произведению интенсивности их поступления на произведению интенсивности их поступления на среднее время пребывания запроса в системе.среднее время пребывания запроса в системе.

i=0

K ii

ii

ii

ii

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

Системы массового Системы массового обслуживания (обслуживания (Queueing Queueing

systemssystems) – «СМО») – «СМО»• Совокупность «приборов» («каналов»).Совокупность «приборов» («каналов»).• Потоки запросов (однородные или Потоки запросов (однородные или

неоднородные).неоднородные).• Характеристики входных потоков. Характеристики входных потоков. • Характеристики «приборов».Характеристики «приборов».• Стратегия обслуживания.Стратегия обслуживания.

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

Вопросы, представляющие Вопросы, представляющие интересинтерес

• Среднее количество запросов в системе.Среднее количество запросов в системе.

• Ожидаемое время, проведенное запросом в Ожидаемое время, проведенное запросом в системе (или в очереди).системе (или в очереди).

• Ожидаемый промежуток времени непрерывной Ожидаемый промежуток времени непрерывной загрузки прибора.загрузки прибора.

• Ожидаемый пик нагрузки.Ожидаемый пик нагрузки.

• Дисциплина обслуживания, приоритеты. Дисциплина обслуживания, приоритеты. Распределение запросов по приборам Распределение запросов по приборам (каналам).(каналам).

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

Основные характеристики Основные характеристики СМОСМО

• ξξ : коэффициент использования = : коэффициент использования = произведение средней интенсивности произведение средней интенсивности поступления запросов на среднее время поступления запросов на среднее время обслуживанияобслуживания

N N : среднее число запросов в системе: среднее число запросов в системе

TT : : Среднее время пребывания в системе Среднее время пребывания в системе

0 1 2 К-1 К+1К… …

00 11 к-1к-1 kk

11 22 kk k+1k+1

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

Простейшие классические СМО: Простейшие классические СМО: 11

М / М / 1 М / М / 1 kk = = ; ; kk = =

Проще не бывает: в любом состоянии Проще не бывает: в любом состоянии интенсивности поступления запросов и интенсивности поступления запросов и интенсивности их обслуживания – константы.интенсивности их обслуживания – константы.

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

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

Простейшие классические СМО: Простейшие классические СМО: 11

М / М / 1 М / М / 1 kk = = ; ; kk = =

Вероятность прихода Вероятность прихода k k запросов в промежутке запросов в промежутке t t ::

Плотность распределения интервала между Плотность распределения интервала между соседними запросами:соседними запросами:

a(t) = e a(t) = e --t

((t)k e-t

k!PPkk(t) =(t) = - - распределение Пуассонараспределение Пуассона

- показательное распределение

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

Простейшие классические СМО: Простейшие классические СМО: 11

М / М / 1 М / М / 1 kk = = ; ; kk = =

ξξ = = //μμ

ppkk = p = p0 0 ξξ kk; ; pp0 0 = 1 -= 1 - ξξ

N = N = k p k pkk = = ξξ / (1- / (1-ξξ))

TT = 1 / ( = 1 / ( (1- (1- ξξ) )) )

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

Простейшие классические СМО: Простейшие классические СМО: 11

М / М / 1 М / М / 1 kk = = ; ; kk = =

Пуассоновский входящий поток

Постоянная интенсивность поступления / обслуживания

Показательное распределение промежутков

Отсутствие последействия

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

Простейшие классические СМО: Простейшие классические СМО: 22

М / М / 1М / М / 1 kk = = / (k+1) / (k+1); ; kk = =

ppkk = p = p0 0 ( ( // ) )kk / k! / k!

ξξ = 1 – e = 1 – e- - //

N = N = //

TT = 1 / ( = 1 / ( (1- (1- ξξ) )) )

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

Простейшие классические СМО: Простейшие классические СМО: 33

М / М / М / М / - немедленное - немедленное обслуживаниеобслуживание

kk = = kk = = k k

N = N = /

T = 1 / T = 1 /

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

Простейшие классические СМО: Простейшие классические СМО: 44

М / М / М / М / m m - несколько - несколько приборовприборов

kk = = kk = = min { kmin { k, m, m } }

ξξ = = / m / m

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

Простейшие классические СМО: Простейшие классические СМО: 55

М / М / 1 / М / М / 1 / K K - конечный накопитель - конечный накопитель ((kk=1 - система с удалением=1 - система с удалением

заблокированных запросов)заблокированных запросов)

, k<K, k<K

kk ==

, k>=K, k>=K

kk = =

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

Простейшие классические СМО: Простейшие классические СМО: 66

М / М / М / М / m m - система с несколькими - система с несколькими приборами и потерямиприборами и потерями

, k<m, k<m

kk ==

0, k>=m0, k>=m

kk = = kk

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

Внутри «прибора»:Внутри «прибора»:параллельные процессыпараллельные процессы

• Как управлять очередью?Как управлять очередью?• Проблема взаимного исключения при Проблема взаимного исключения при

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

процесс

Критическая секция

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

Параллельные процессы. 1Параллельные процессы. 1

flag1:= falseflag1:= false

flag2:= falseflag2:= false

Процесс 1

Критическая секция 1

flag1:= trueflag1:= true

flag2flag2

flag1:= falseflag1:= false

Процесс 2

Критическая секция 2

flag2:= trueflag2:= true

flag1flag1

flag2:= falseflag2:= false

yes

no

yes

no

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

Параллельные процессы. Параллельные процессы. 22

flag1:= false; flag2:= falseflag1:= false; flag2:= false

Процесс 1

Критическая секция 1

flag1:= trueflag1:= true

flag2 &flag2 &((letPass=2letPass=2))

flag1:= falseflag1:= false

letPassletPass:= 2:= 2

Процесс 2

Критическая секция 2

flag2:= trueflag2:= true

flag1 &flag1 &((letPass=1letPass=1))

flag2:= falseflag2:= false

letPassletPass:= 1:= 1

yesyes nono

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

Параллельные процессы: Параллельные процессы: семафорсемафор

Персоналиии «проблемы взаимного исключения»:Персоналиии «проблемы взаимного исключения»:

• Эдсгер Дейкстра (1965 г.)Эдсгер Дейкстра (1965 г.)• Гарри Петерсен (1981 г.)Гарри Петерсен (1981 г.)

Объекты класса «семафор» принимают целочисленные неотрицательные значения и имеют методы:Объекты класса «семафор» принимают целочисленные неотрицательные значения и имеют методы:

V(s)

s:= s + 1s:= s + 1

P(s)

s = 0s = 0

s:= s - 1s:= s - 1yes

no

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

Параллельные процессы: Параллельные процессы: семафорсемафор

semaphore:= 1semaphore:= 1

Процесс 1

Критическая секция 1

semaphore.P()semaphore.P()

semaphore.V()semaphore.V()

Процесс 2

Критическая секция 2

semaphore.P()semaphore.P()

semaphore.V()semaphore.V()

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

Параллельные процессы: писатели и Параллельные процессы: писатели и читателичитатели

блокировка

жесткая рекомендательная

исключительная разделяемая

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

Структурный системный анализСтруктурный системный анализ

Рассмотрим Рассмотрим системусистему на высоком уровне абстракции как на высоком уровне абстракции как совокупность объектов, характеризующихсясовокупность объектов, характеризующихся

• делимостью,делимостью,• связностью,связностью,• упорядоченностью,упорядоченностью,• интегральностью.интегральностью.

Основные принципы структурного системного анализа:Основные принципы структурного системного анализа:

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

• На каждом уровне абстракции – ограниченное число На каждом уровне абстракции – ограниченное число наиболее существенных компонентов. наиболее существенных компонентов.

• использование графических нотаций использование графических нотаций

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

Структурный системный анализСтруктурный системный анализ

Сфера применения: проектирование Сфера применения: проектирование производственно-экономических и инженерно-производственно-экономических и инженерно-технических систем.технических систем.

• анализ информационных потоков на предприятии,анализ информационных потоков на предприятии,• ре-инжиниринг бизнес-процессов,ре-инжиниринг бизнес-процессов,• компьютеризация деятельности предприятия,компьютеризация деятельности предприятия,• разработка систем автоматизированного разработка систем автоматизированного

проектирования,проектирования,• разработка баз данных,разработка баз данных,• разработка программных приложений, разработка программных приложений,

реализующих управление информационными реализующих управление информационными потоками (например, системы электронного потоками (например, системы электронного документооборота)документооборота)

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

Исторические вехиИсторические вехи

• SA SA – – Structured Analysis (Structured Analysis (1960-е – середина 1970-х1960-е – середина 1970-х))• системы автоматизированного проектирования,системы автоматизированного проектирования,• структурный анализ при создании алгоритмических структурный анализ при создании алгоритмических

языков.языков.

• SADT – Structural Analysis and Design Technique SADT – Structural Analysis and Design Technique ((19741974))

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

• Программа Программа ICAM ICAM - - Integrated Computer-Aided Integrated Computer-Aided ManufacturingManufacturing ( (конец 1970-хконец 1970-х))

• интегрированная компьютеризация производства СШАинтегрированная компьютеризация производства США

• начало разработки методологии начало разработки методологии IDEF (IDEF (IICAM CAM DefDefinition)inition)

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

Исторические вехиИсторические вехи

• Развитие объектно-ориентированных методов Развитие объектно-ориентированных методов (1980-е)(1980-е)

• «Война методов»«Война методов»• Object-Oriented Software Engineering (OOSE)Object-Oriented Software Engineering (OOSE)• Object Modeling Technique (OMT) …Object Modeling Technique (OMT) …

• Unified Modeling Language – UML (1994)Unified Modeling Language – UML (1994)• объектно-ориентированное моделирование системы объектно-ориентированное моделирование системы

в целом, от концепции до исполняемых в целом, от концепции до исполняемых компонентов;компонентов;

• решение проблемы масштабируемости;решение проблемы масштабируемости;• создание языка моделированиясоздание языка моделирования

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

• легко конвертируемого в программный кодлегко конвертируемого в программный код..

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

Исторические вехиИсторические вехи

XXI XXI век. Дальнейшее развитие век. Дальнейшее развитие • методологии,методологии,• стандартов стандартов IDEF, UML IDEF, UML …,…,• графических нотаций,графических нотаций,• инструментальных средств инструментальных средств

моделирования.моделирования.

Использование инструментальных средствИспользование инструментальных средств• предполагает следование стандартам и предполагает следование стандартам и

соблюдение строгой формализации при соблюдение строгой формализации при разработке моделей;разработке моделей;

• позволяет генерировать позволяет генерировать соответствующие программные модули.соответствующие программные модули.

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

Графические нотацииГрафические нотации

• Диаграммы функционального Диаграммы функционального моделирования (моделирования (Structured Analysis and Structured Analysis and

Design Technique,Design Technique, SADT) SADT)

• Диаграммы "сущность-связь" (Диаграммы "сущность-связь" (Entity-Entity-

Relationship Diagrams,Relationship Diagrams, ERD) ERD)

• Диаграммы потоков данных (Диаграммы потоков данных (Data Data

Flow Diagrams,Flow Diagrams, DFD). DFD).

• ……

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

Примеры диаграмм Примеры диаграмм SADTSADT ( (IDEFIDEF00))

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

Примеры диаграмм Примеры диаграмм ERDERD

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

Пример диаграммы Пример диаграммы IDEF3IDEF3

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

Стандарты Стандарты IDEFIDEF

• IDEF0 IDEF0 ((Integration Definition For Functional Integration Definition For Functional ModellingModelling) -) -функциональные модели: функциональные модели:

• функции информационной средыфункции информационной среды• информация и объекты, связывающие эти функцииинформация и объекты, связывающие эти функции

• IDEFIDEF11XX – информационные модели – информационные модели• структура информации, необходимой для поддержки структура информации, необходимой для поддержки

функций системыфункций системы

• IDEFIDEF2 – динамические модели2 – динамические модели• изменение во времени функций, информационных изменение во времени функций, информационных

потоков и ресурсов системыпотоков и ресурсов системы

• IDEFIDEF3, 3, IDEFIDEF4, … , 4, … , IDEFIDEF1414

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

Функциональные модели Функциональные модели IDEFIDEF00

Цель: документирование информационных и Цель: документирование информационных и производственных процессов и отображение производственных процессов и отображение информации об использовании ресурсов на каждом из информации об использовании ресурсов на каждом из этапов проектирования системы.этапов проектирования системы.

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

Основные сущности:Основные сущности:• функциональные блокифункциональные блоки• объектные потокиобъектные потоки

Графическая нотация:Графическая нотация:функциональная диаграмма функциональная диаграмма IDEF0IDEF0

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

Основные концепции Основные концепции IDEFIDEF00

1.1. МодельМодель

• Модель дает полное, точное и Модель дает полное, точное и адекватное описание системы. адекватное описание системы.

• Модель имеет конкретное Модель имеет конкретное назначение. Оно называется целью назначение. Оно называется целью модели.модели.

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

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

Основные концепции Основные концепции IDEFIDEF00

2.2. Блочное моделированиеБлочное моделирование

• Система представляется в виде Система представляется в виде функциональных блоковфункциональных блоков

• Связи и взаимодействия между Связи и взаимодействия между блоками характеризуются блоками характеризуются объектными потоками.объектными потоками.

• Модель представляет собой набор Модель представляет собой набор взаимосвязанных диаграмм.взаимосвязанных диаграмм.

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

Основные концепции Основные концепции IDEFIDEF00

3.3. Принцип декомпозиции Принцип декомпозиции (Decomposition) (Decomposition) - разбиение сложного - разбиение сложного процесса на составляющие его процесса на составляющие его функции.функции.

4.4. Глоссарий (Glossary) Глоссарий (Glossary) - набор соответствующих определений, - набор соответствующих определений, ключевых слов, и т.д., характеризующих ключевых слов, и т.д., характеризующих каждый объект модели.каждый объект модели.

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

Основные элементы диаграммы Основные элементы диаграммы IDEFIDEF00

• функциональный блок (Activity функциональный блок (Activity Box) Box) - изображается прямоугольником.- изображается прямоугольником.

• интерфейсная дуга (Arrow)интерфейсная дуга (Arrow)- изображается стрелкой.- изображается стрелкой.

Обслужить пользователя

уровень доступа

администратор монитор системы

loginpassword

база данныхзапрос база данных

протокол

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

Функции - Функции - основа основа IDEFIDEF0-модели 0-модели

Название функции – глагол.Название функции – глагол.

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

Функция в Функция в IDEFIDEF0 существует вне времени, сама по 0 существует вне времени, сама по себе она атомарна.себе она атомарна.

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

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

Объектные потокиОбъектные потокиУсловия выполнения функций при моделировании Условия выполнения функций при моделировании

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

Каждый объектный поток на диаграмме Каждый объектный поток на диаграмме IDEFIDEF0 0 должен иметь название (имя существительное). должен иметь название (имя существительное).

Объектные потоки на диаграммах Объектные потоки на диаграммах IDEFIDEF0 0 изображаются в виде стрелок.изображаются в виде стрелок.

Имена и другие характеристики объектных потоков Имена и другие характеристики объектных потоков входят в словарь данных модели. Этот словарь входят в словарь данных модели. Этот словарь может затем использоваться для создания может затем использоваться для создания моделей «сущность-связь».моделей «сущность-связь».

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

Функциональный блокФункциональный блок

Функция

управление(Control)

механизм(Mechanism)

вызов(Call)

вход(Input)

выход(Output)

Обслужить пользователя

уровень доступа

администратор монитор системы

login

password

база данных

запрос база данных

протокол

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

Функциональный блок: примечанияФункциональный блок: примечания

• Входы (объекты соответствующих потоков) Входы (объекты соответствующих потоков) исчезают в результате выполнения функции.исчезают в результате выполнения функции.

• Выходы возникают в результате выполнения Выходы возникают в результате выполнения функции.функции.

• Объектные потоки управления – это Объектные потоки управления – это существенные ограничения, которые существенные ограничения, которые определяют, как входы преобразуются в определяют, как входы преобразуются в выходы.выходы.

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

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

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

Фрагмент диаграммы Фрагмент диаграммы IEDF0IEDF0

учиться

сдать сессию

студент

стандарты на специальность

студент, сдавший сессию

студент, переживший семестр

отчисленныйстудент

студент, сдавший

все экзамены

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

Функциональный блок: примечанияФункциональный блок: примечания

Итак,Итак,

• Диаграммы содержат блоки и дуги Диаграммы содержат блоки и дуги

• Блоки представляют функции Блоки представляют функции

• Блоки имеют доминирование Блоки имеют доминирование

• Дуги изображают Дуги изображают • объекты объекты • взаимосвязи между блоками взаимосвязи между блоками • наборы объектов наборы объектов

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

Синтаксис диаграммСинтаксис диаграмм

Объектные потоки Объектные потоки ICOMICOM

прямолинейный сегмент

поворот под углом 900, скруглен

расщепление

слияние

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

UMLUML Unified modelling languageUnified modelling language

Унифицированный язык моделированияУнифицированный язык моделирования

Диаграммы

Диаграммы взаимодейств

ия

Структурные

Диаграммы поведения

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

Структурные диаграммы

Диаграмма классов

(Structure diagram)

Диаграмма компонентов

(Component diagram)

Диаграмма объектов

(Object diagram)

Диаграмма композитной (составной структуры)

(Composite structure diagram)

Диаграмма развёртывания

(Deployment diagram)

Диаграмма профилей

(Profile diagram)

Диаграмма пакетов

(Package diagram)

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

Диаграммы поведения

Диаграмма деятельности

(Activity diagram)

Диаграмма прецедентов

(Use case diagram)

Диаграммы взаимодействия

(Interaction Diagrams)

Диаграмма состояний

(State Machine diagram)

Диаграмма последовательно

сти

(Sequence diagram)

Диаграмма коммуникаци

и

(Communication diagram)

Диаграмма обзора

взаимодействия

(Interaction overview diagram)

Диаграмма синхронизац

ии

(Timing diagram)

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

Взаимосвязь между диаграммамиВзаимосвязь между диаграммами(один из возможных взглядов)(один из возможных взглядов)

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

Диаграмма классовДиаграмма классов► Центральное место в объектно-ориентированном Центральное место в объектно-ориентированном

программировании занимает разработка программировании занимает разработка логической модели системы в виде диаграммы логической модели системы в виде диаграммы классов. Диаграмма классов (class diagram) классов. Диаграмма классов (class diagram) служит для представления статической служит для представления статической структуры модели системы в терминологии структуры модели системы в терминологии классов объектно-ориентированного классов объектно-ориентированного программирования. программирования.

► Диаграмма классов представляет собой граф, Диаграмма классов представляет собой граф, вершинами которого являются элементы типа вершинами которого являются элементы типа «классификатор», связанные различными типами «классификатор», связанные различными типами структурных отношений. структурных отношений.

Диаграмма классов может также содержать Диаграмма классов может также содержать интерфейсы, пакеты, отношения и даже интерфейсы, пакеты, отношения и даже отдельные экземпляры, такие как объекты и отдельные экземпляры, такие как объекты и связи.связи.

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

Диаграмма классовДиаграмма классов► КлассКласс (class) в языке UML служит для обозначения  (class) в языке UML служит для обозначения

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

Имя класса

(для абстрактного класса выводится курсивом)

Атрибуты (свойства) класса

Student::RegUser

name: String(15)address: String(35)userID: StringphoneNmbr: String

logon()requestCatalogue() Методы (операции)

класса

Имя пакета Имена классов

образуют словарь предметной области

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

Атрибуты классаАтрибуты класса<квантор видимости><имя атрибута>[кратность]:<квантор видимости><имя атрибута>[кратность]:

<тип атрибута> = <исходное значение>{строка-свойство}<тип атрибута> = <исходное значение>{строка-свойство}

квантор видимости  квантор видимости  ► ««++» обозначает атрибут с областью видимости типа » обозначает атрибут с областью видимости типа

общедоступный (public). Атрибут с этой областью общедоступный (public). Атрибут с этой областью видимости доступен или виден из любого другого класса видимости доступен или виден из любого другого класса пакета, в котором определена диаграмма;пакета, в котором определена диаграмма;

►   ««##» обозначает атрибут с областью видимости типа » обозначает атрибут с областью видимости типа защищенный (protected). Атрибут с этой областью защищенный (protected). Атрибут с этой областью видимости недоступен или невиден для всех классов, за видимости недоступен или невиден для всех классов, за исключением подклассов данного класса;исключением подклассов данного класса;

►   ««--»  обозначает атрибут с областью видимости типа »  обозначает атрибут с областью видимости типа закрытый (private). Атрибут с этой областью видимости закрытый (private). Атрибут с этой областью видимости недоступен или невиден для всех классов без недоступен или невиден для всех классов без исключения.исключения.

квантор квантор видимостивидимости

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

Атрибуты классаАтрибуты класса<квантор видимости><имя атрибута>[кратность]:<квантор видимости><имя атрибута>[кратность]:<тип атрибута> = <исходное значение>{строка-свойство}<тип атрибута> = <исходное значение>{строка-свойство}

► Имя атрибута  Имя атрибута  студент студент regUser regUser счет факультет счет факультет visibility visibility ……

► КратностьКратность(границы – целые положительные числа)(границы – целые положительные числа)

[1..2] [[1..2] [22..5,10..15] [2..*] ..5,10..15] [2..*] [*] - [*] - любое положительное число или 0любое положительное число или 0[1] [1] - ровно 1- ровно 1

► Тип атрибутаТип атрибутаString Integer Color String Integer Color Цвет Многоугольник Цвет Многоугольник

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

тип тип атрибутаатрибута

имя имя атрибутаатрибута

кратноскратностьть{{строка-строка-

свойствосвойство}}

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

Атрибуты класса: примерыАтрибуты класса: примеры<квантор видимости><имя атрибута>[кратность]:<квантор видимости><имя атрибута>[кратность]:

<тип атрибута> = <исходное значение>{строка-свойство}<тип атрибута> = <исходное значение>{строка-свойство}

► цвет: Соlоr ► имя_студента [1..2]: String► видимость: Boolean ► форма: эллипс formType: ellipce► цвет:Соlоr = (255, 0, 0) ► форма: Прямоугольник = квадрат► занятие: Программирование► стипендия : Currency = $30

► стипендия: Currency = {$30}

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

«Все объекты данного класса могут иметь несколько различных форм, каждая из которых является прямоугольником»

абстрактный атрибут

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

Операции (методы) классаОперации (методы) класса<квантор видимости><имя операции>(список параметров):<квантор видимости><имя операции>(список параметров):<выражение типа возвращаемого значения >{строка-свойство}<выражение типа возвращаемого значения >{строка-свойство}

► Квантор видимостиКвантор видимости «+» - область видимости типа общедоступный (public)«+» - область видимости типа общедоступный (public) «#» - область видимости типа защищенный (protected)«#» - область видимости типа защищенный (protected) «-» - область видимости типа закрытый (private)«-» - область видимости типа закрытый (private)

► Список параметров  Список параметров  набор разделенных запятой формальных параметров в формате:набор разделенных запятой формальных параметров в формате:

<вид параметра><имя параметра>:<выражение типа>=<вид параметра><имя параметра>:<выражение типа>=<значение параметра по умолчанию> <значение параметра по умолчанию>

вид параметра - одно из ключевых слов «in» (по умолчанию), вид параметра - одно из ключевых слов «in» (по умолчанию), «out» или «inout» «out» или «inout»

синтаксис зависит от конкретного языка программирования синтаксис зависит от конкретного языка программирования и подчиняется принятым в нем ограничениям и подчиняется принятым в нем ограничениям

(список (список параметров)параметров)

Квантор Квантор видимостивидимости

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

Операции (методы) классаОперации (методы) класса<квантор видимости><имя операции>(список параметров):<квантор видимости><имя операции>(список параметров):<выражение типа возвращаемого значения >{строка-свойство}<выражение типа возвращаемого значения >{строка-свойство}

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

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

подчеркиванием имени и строки выражения типа. По подчеркиванием имени и строки выражения типа. По умолчанию под областью операции понимается объект умолчанию под областью операции понимается объект класса. В этом случае имя и строка выражения типа класса. В этом случае имя и строка выражения типа операции не подчеркиваются.операции не подчеркиваются.

Операция, которая не может изменять состояние системы и, Операция, которая не может изменять состояние системы и, соответственно, не имеет никакого побочного эффекта, соответственно, не имеет никакого побочного эффекта, обозначается строкой-свойством «{запрос}» («{query}»).обозначается строкой-свойством «{запрос}» («{query}»).

выражение типа возвращаемого выражение типа возвращаемого значениязначения

{{строка-строка-свойствосвойство}}

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

Операции (методы) класса: Операции (методы) класса: примерыпримеры

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

► +нарисовать(форма: Многоугольник = прямоугольник, +нарисовать(форма: Многоугольник = прямоугольник, цвет_заливки: Color = (О, О, 255)) цвет_заливки: Color = (О, О, 255))

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

► выдать_сообщение():{"Ошибка деления на ноль"} выдать_сообщение():{"Ошибка деления на ноль"}

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

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

Отношения между классамиОтношения между классами

►зависимость (dependency relationship)

►ассоциация (association relationship) aгрегация (aggregation relationship) композиция (composition relationship)

►обобщение (generalization relationship)

Клиент зависимости Источник зависимости

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

Отношения ассоциацииОтношения ассоциации

компания сотрудникработает1 1..*

Имя ассоциации

Символ порядка классов в ассоциации

Кратность ассоциации

компания сотрудникимеет в штате

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

Отношения ассоциацииОтношения ассоциации

► Ассоциации могут быть бинарными (связывающими Ассоциации могут быть бинарными (связывающими 2 класса), тернарными, 2 класса), тернарными, N-N-арными…арными…

► Исключающая ассоциацияИсключающая ассоциация

год матч

футбольная команда

*

*

*

Юридическое лицо

Физическое лицоСчет в банке xor

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

Отношения агрегацииОтношения агрегации

настольный компьютер

системный блок клавиатура

монитор мышь

целое частьсостоит из

контейнер элементвключает в себя

коллекция элементпредставляет собой набор

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

Отношения композицииОтношения композиции(частный случай агрегации)(частный случай агрегации)

► Составляющие элементы не могут существовать Составляющие элементы не могут существовать в отрыве от целогов отрыве от целого

окно приложения

заголовок рабочая область

полоса прокрутк

и

меню

панель инструментов

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

Отношения обобщенияОтношения обобщения

► Наследуются атрибуты и методыНаследуются атрибуты и методы

класс-предок класс-потомокгеометрическая фигура

квадрат прямоугольник окружность эллипс …многоугольник

квадрат

прямоугольник окружность

эллипс …

параллелограмм

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

Пример диаграммы классовПример диаграммы классов

Point

Poligon Circle

radius

Style

ColorborderTypeisFilled

stroke()fill()

3..* 1

1 1

* *

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

Примеры диаграмм классовПримеры диаграмм классов

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

Диаграммы вариантов использованияДиаграммы вариантов использования(диаграммы прецедентов)(диаграммы прецедентов)

((use case diagram)use case diagram)

Цели:Цели:► Определить общие границы и контекст Определить общие границы и контекст

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

► Сформулировать общие требования к Сформулировать общие требования к функциональному поведению проектируемой функциональному поведению проектируемой системы.системы.

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

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

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

Диаграммы вариантов Диаграммы вариантов использованияиспользования

Отношения между акторами и Отношения между акторами и прецедентами:прецедентами:

►Отношение ассоциации Отношение ассоциации (association relationship)(association relationship)

►Отношение расширения Отношение расширения (extend relationship)(extend relationship)

►Отношение обобщения Отношение обобщения (generalization (generalization relationship)relationship)потомок наследует все свойства и поведение родителяпотомок наследует все свойства и поведение родителя

►Отношение включения Отношение включения (include relationship)(include relationship)

1 *

«extend»

«include»

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

Диаграммы вариантов Диаграммы вариантов использованияиспользования

Запросить каталог всех товаров

Оформить заказна покупку товара

Оформить заказна покупку ноутбука

Выписать счет на покупку ноутбука

Выдавать каталог

только по запросу

клиента

Проверить условия на запрос каталога клиентом

«extend»

«include»

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

Диаграммы вариантов Диаграммы вариантов использованияиспользования

►На диаграмме отражаются На диаграмме отражаются отношения между акторами (отношения между акторами (actorsactors) ) и прецедентами – возможными и прецедентами – возможными вариантами использования системы.вариантами использования системы.

►Каждый вариант использованияКаждый вариант использования Связан хотя бы с одним акторомСвязан хотя бы с одним актором Кем-то инициированКем-то инициирован Имеет существенный для системы Имеет существенный для системы

результатрезультат

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

Примеры диаграмм Примеры диаграмм вариантов использованиявариантов использования

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

Диаграмма состояний Диаграмма состояний ((SStatetate C Chart/State Machine hart/State Machine

diagram) diagram) ►Цель - описать возможные Цель - описать возможные

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

►Диаграмма состояний представляет Диаграмма состояний представляет динамическое поведение сущностей динамическое поведение сущностей

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

Диаграмма деятельности Диаграмма деятельности (activity diagram) (activity diagram)

►Цель - моделирование процесса Цель - моделирование процесса выполнения операций.выполнения операций.

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

►В определенном смысле можно В определенном смысле можно считать, что это частный случай считать, что это частный случай диаграммы состояний.диаграммы состояний.

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

Диаграмма деятельности Диаграмма деятельности

Сущности и графические нотацииСущности и графические нотации

►Состояние действия Состояние действия (action state)(action state)

►ПереходПереход ВетвлениеВетвление Параллельные ветви (разделение и Параллельные ветви (разделение и

слияние)слияние)

►ДорожкаДорожка

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

Примеры диаграмм Примеры диаграмм деятельностидеятельности

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

Диаграмма Диаграмма последовательности последовательности (sequence diagram) (sequence diagram)

►Цель - моделирование Цель - моделирование взаимодействия объектов во времени.взаимодействия объектов во времени.

►Представляет временные особенности Представляет временные особенности передачи и приема сообщений между передачи и приема сообщений между объектами.объектами.

►Сущности:Сущности: ОбъектОбъект Линия жизни объектаЛиния жизни объекта Фокус управленияФокус управления Сообщения (рекурсия, рефлексия)Сообщения (рекурсия, рефлексия)

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

Примеры диаграмм Примеры диаграмм последовательностипоследовательности