- •С.М. Шаврин, л.Н. Лядова, с.И. Чуприна Моделирование и проектирование информационных систем
- •Содержание
- •I. Организационно-методический раздел 5
- •II. Содержание курса 6
- •III. Примерное распределение часов курса по формам и видам работ 153
- •IV. Форма итогового контроля 156
- •V. Учебно-методическое обеспечение курса 156
- •I. Организационно-методический раздел Цели и задачи курса
- •Требования к уровню освоения содержания курса
- •Место курса в системе основной образовательной программы
- •II. Содержание курса Связь между разделами
- •Конспект лекций
- •Введение
- •Понятие информационной системы
- •Проблемы сложных задач
- •Введение в теорию моделирования
- •Понятие моделирования и модели. Принципы моделирования и классификация моделей
- •Метамоделирование
- •Классификация информационных систем по уровню и составу моделей
- •Жизненный цикл программного обеспечения
- •Понятие жизненного цикла. Процессы жизненного цикла
- •Модели жизненного цикла
- •Структурный подход
- •Сущность и основные принципы структурного подхода
- •Метод функционального моделирования sadt
- •Моделирование потоков данных
- •Моделирование структур данных
- •Объектный подход
- •Сущность и основные принципы объектного подхода
- •Пример объектно-ориентированного анализа и проектирования
- •Унифицированный язык моделирования uml
- •Обзор языка uml
- •Моделирование функциональных требований и диаграммы прецедентов
- •Типичные ошибки
- •Моделирование бизнес-процессов и диаграммы активностей
- •Элементы диаграммы активностей
- •Концептуальное моделирование и диаграммы понятий
- •Понятие
- •Ассоциации
- •Атрибуты
- •Ограничения
- •Обобщение
- •Прямые и косвенные экземпляры
- •Абстрактные понятия
- •Многомерная множественная классификация
- •Агрегация
- •Правила идентификации отношения агрегации
- •Порядок построения концептуальной модели
- •Рекомендации по построению диаграмм понятий
- •Моделирование поведения системы и диаграмма последовательностей
- •Модель поведения системы
- •Объекты
- •Сообщения
- •Описание системных операций
- •Типичные ошибки
- •Рекомендации по построению диаграмм последовательностей
- •Проектирование поведения системы и диаграммы сотрудничества
- •Диаграммы взаимодействия
- •Диаграмма сотрудничества
- •Работа с коллекциями объектов
- •Сообщения классу
- •Видимость объектов
- •Типичные ошибки
- •Рекомендации по построению диаграмм сотрудничества
- •Проектирование статической структуры системы и диаграмма классов
- •Диаграмма классов
- •Операции
- •Информация о типах
- •Информация об области видимости
- •Вычислимые атрибуты
- •Направление навигации
- •Зависимости
- •Рекомендации по построению диаграмм классов
- •Модель реализации и диаграмма компонентов
- •Модель реализации
- •Диаграмма компонентов
- •Компоненты
- •Стереотипы
- •Пиктограммы
- •Интерфейсы
- •Зависимости
- •Рекомендации по построению диаграммы компонентов
- •Модель и диаграмма развертывания
- •Модель развертывания
- •Диаграмма развертывания
- •Стереотипы
- •Шаблоны проектирования
- •Введение в шаблоны проектирования
- •Обязанности
- •Дополнительная информация
- •Шаблоны проектирования grasp
- •Шаблоны graps
- •Шаблон Expert (Эксперт)
- •Шаблон Creator (Создатель)
- •Шаблон Low Coupling (Низкое Связывание)
- •Шаблон High Cohesion (Высокое Зацепление)
- •Шаблон Controller (Контроллер)
- •Учебное задание
- •Примерный перечень вопросов к зачету по всему курсу
- •Вопрос для итоговой аттестации
- •III. Примерное распределение часов курса по формам и видам работ
- •IV. Форма итогового контроля
- •V. Учебно-методическое обеспечение курса Рекомендуемая литература (обязательная)
- •Рекомендуемая литература (дополнительная)
- •Список адресов в Интернет
- •Моделирование и проектирование информационных систем Учебно-методическое пособие
Типичные ошибки
Типичной ошибкой является выделение бессодержательных прецедентов (в крайнем случае – одного единственного, например «Работа системы»). В любой нетривиальной системе должно быть несколько прецедентов, каждому из которых должна соответствовать вполне конкретная задача пользователя.
Другой типичной ошибкой является включить в обязанности системы выполнение фантастических действий. В качестве примера можно взять следующую формулировку: «читатель допускается в читальный зал без верхней одежды и посторонних книг». Понятно, что если речь идет об автоматизации библиотеки, то на текущем уровне развития техники данная формулировка смысла не имеет. Однако ее можно использовать, если в качестве границ системы была выбрана вся библиотека в целом и, например, стоит задача ее реорганизации.
Вопросы и задания для самоконтроля
Что такое прецедент?
Какова связь между задачами пользователя и системными взаимодействиями?
Что такое актор? Как он связан с пользователями системы?
Как выбор границ системы влияет на построение модели прецедентов?
Назовите три способа классификации прецедентов.
Какие отношения можно использовать в модели прецедентов?
В чем разница между зависимостью включения и зависимостью расширения?
Как прецеденты могут помочь при оптимизации и тестировании системы?
Задания для самостоятельной работы
После изучения темы 5.4 постройте концептуальную модель диаграммы прецедентов.
Постройте модель прецедентов для учебного задания.
Моделирование бизнес-процессов и диаграммы активностей
Тематический контекст
Краткое содержание
Понятие бизнес-процесса.
Элементы диаграммы активностей: «плавательные дорожки», активности, синхронизаторы/разветвители.
Определение. Бизнес-процесс – это устойчивый процесс (последовательность работ), соотнесенный с отдельным видом производственно-хозяйственной деятельности компании и обычно ориентированный на создание новой стоимости; иерархия взаимосвязанных функциональных действий, реализующих одну (или несколько) из целей организации.
Определение бизнес-процесса в чем-то похоже на определение прецедента, однако это разные понятия и необходимо четко понимать разницу между ними. Прецедент описывает решение некоторой частной задачи пользователя, в то время как бизнес-процесс ориентирован на достижение глобальных целей компании. Если речь не идет о комплексной автоматизации всего предприятия, то зачастую бизнес-процессы выходят за рамки создаваемой системы, в то время как прецедент жестко связан с ней. Обычно бизнес процесс включает несколько прецедентов.
Из вышесказанного следует, что описание бизнес-процесса позволяет понять контекст возникновения прецедентов. Для описания бизнес-процессов удобно использовать диаграмму активностей (Activity Diagram, AD) языка UML. Пример диаграммы активностей для процесса продажи товара «под заказ» представлен рис. 41.
Рис. 41. Пример описания бизнес-процесса
Элементы диаграммы активностей
Разберем основные элементы диаграммы активностей, используемые при описании бизнес-процессов. Прежде всего, любая диаграмма активностей начинается с начального состояния, обозначаемого жирной точкой, и заканчивается конечным состоянием, обозначаемым жирной точкой в окружности (рис. 41). Начальное состояние определяет точку входа в процесс, а конечное – точку выхода. На диаграмме допускается только одно начальное состояние; конечных состояний может быть несколько, но лучше, чтобы оно также было единственным. Если не получается построить диаграмму активностей с единственным конечным состоянием без пересечения линий, то лучше разбить ее на несколько диаграмм (например, одну крупную и несколько более детальных).
У любого бизнес-процесса всегда есть участники. Для каждого участника на диаграмме активностей создается так называемая плавательная дорожка – прямоугольная область диаграммы, в которой располагаются активности данного участника. Между собой плавательные дорожки разделяются пунктирными линиями (рис. 41).
Основным элементом диаграммы активностей является активность, которую иногда еще называют деятельностью. Дадим определение.
Определение. Активность – это состояние объекта (группы объектов), в котором он (они) выполняет некоторые действия.
Активность на диаграмме изображается в виде прямоугольника со скругленными углами и именем активности внутри. Переходы между активностями показываются при помощи стрелок (рис. 41).
При описании бизнес-процессов нередко встречаются ситуации, когда выбор активности, в которую следует перейти на следующем шаге, зависит от некоторого условия. Для отражения подобных особенностей процесса используется условный переход, который изображается в виде ромба (рис. 42). Альтернатив может быть 2 или больше, и они должны полностью покрывать все возможные варианты разрешения условия.
Рис. 42. Условный переход
Рис. 43. Сложные переходы
Кроме условных переходов существуют еще сложные переходы, которые разделяются на разветвители и синхронизаторы (рис. 43). Разветвители используются для разделения (распараллеливания) потока управления (на рисунке слева), а синхронизаторы – наоборот, для слияния нескольких потоков (на рисунке справа).
Наличие на диаграмме разветвителя означает, что при его срабатывании сразу два объекта переходят в активное состояние. Рассмотрим, например, предметную область «Гонки Формула-1» и процесс «Обслуживание машины на pit-стопе». В данном случае при заезде машины на pit-стоп в активное состояние переходят сразу две команды техников, одна из которых меняет резину, а вторая – заливает бензин. Для моделирования такой ситуации необходимо использовать разветвитель (рис. 44).
Рис. 44. Пример использования сложных переходов
Наличие на диаграмме синхронизатора означает, что данный переход срабатывает только в том случае, если завершились все его входящие активности. Например, очевидно, что машина может уехать с pit-стопа только в том случае, если обе команды техников закончили свою работу. Для моделирования такой ситуации необходимо использовать синхронизатор (рис. 44).
Необходимо четко понимать разницу между синхронизатором и состоянием с несколькими входами. Например, бизнес-процесс, изображенный на рис. 41, может прийти в конечное состояние либо в случае невозможности поставки товара, либо после отмены заказа, либо после отгрузки товара. Напротив, процесс, изображенный на рис. 44, может прийти в конечное состояние только после того, как завершится и смена резины, и дозаправка.
Диаграммы активностей обычно строят одновременно с диаграммами прецедентов. Эти два вида диаграмм дополняют друг друга. Диаграммы активностей позволяют понять бизнес-процесс заказчика, а прецеденты позволяют определить место разрабатываемой системы в этом бизнес-процессе.
Вопросы для самоконтроля
Что такое активность?
Для чего нужны «плавательные дорожки»?
В чем разница между моделью прецедентов и моделью бизнес-процессов?
Задания для самостоятельной работы
После изучения темы 5.4 постройте концептуальную модель диаграммы активностей.
Постройте диаграммы активностей для учебного задания, приведенного в конце пособия.
