- •С.М. Шаврин, л.Н. Лядова, с.И. Чуприна Моделирование и проектирование информационных систем
- •Содержание
- •I. Организационно-методический раздел 5
- •II. Содержание курса 6
- •Место курса в системе основной образовательной программы
- •II. Содержание курса Связь между разделами
- •Конспект лекций
- •Введение
- •Понятие информационной системы
- •III. Примерное распределение часов курса по формам и видам работ 153
- •IV. Форма итогового контроля 156
- •V. Учебно-методическое обеспечение курса 156
- •I. Организационно-методический раздел Цели и задачи курса
- •Требования к уровню освоения содержания курса
- •Проблемы сложных задач
- •Введение в теорию моделирования
- •Понятие моделирования и модели. Принципы моделирования и классификация моделей
- •Метамоделирование
- •Классификация информационных систем по уровню и составу моделей
- •Жизненный цикл программного обеспечения
- •Понятие жизненного цикла. Процессы жизненного цикла
- •Модели жизненного цикла
- •Структурный подход
- •Сущность и основные принципы структурного подхода
- •Метод функционального моделирования sadt
- •Моделирование потоков данных
- •Моделирование структур данных
- •Объектный подход
- •Сущность и основные принципы объектного подхода
- •Пример объектно-ориентированного анализа и проектирования
- •Унифицированный язык моделирования uml
- •Обзор языка uml
- •Моделирование функциональных требований и диаграммы прецедентов
- •Типичные ошибки
- •Моделирование бизнес-процессов и диаграммы активностей
- •Элементы диаграммы активностей
- •Концептуальное моделирование и диаграммы понятий
- •Понятие
- •Ассоциации
- •Атрибуты
- •Ограничения
- •Обобщение
- •Прямые и косвенные экземпляры
- •Абстрактные понятия
- •Многомерная множественная классификация
- •Агрегация
- •Правила идентификации отношения агрегации
- •Порядок построения концептуальной модели
- •Рекомендации по построению диаграмм понятий
- •Моделирование поведения системы и диаграмма последовательностей
- •Модель поведения системы
- •Объекты
- •Сообщения
- •Описание системных операций
- •Типичные ошибки
- •Рекомендации по построению диаграмм последовательностей
- •Проектирование поведения системы и диаграммы сотрудничества
- •Диаграммы взаимодействия
- •Диаграмма сотрудничества
- •Работа с коллекциями объектов
- •Сообщения классу
- •Видимость объектов
- •Типичные ошибки
- •Рекомендации по построению диаграмм сотрудничества
- •Проектирование статической структуры системы и диаграмма классов
- •Диаграмма классов
- •Операции
- •Информация о типах
- •Информация об области видимости
- •Вычислимые атрибуты
- •Направление навигации
- •Зависимости
- •Рекомендации по построению диаграмм классов
- •Модель реализации и диаграмма компонентов
- •Модель реализации
- •Диаграмма компонентов
- •Компоненты
- •Стереотипы
- •Пиктограммы
- •Интерфейсы
- •Зависимости
- •Рекомендации по построению диаграммы компонентов
- •Модель и диаграмма развертывания
- •Модель развертывания
- •Диаграмма развертывания
- •Стереотипы
- •Шаблоны проектирования
- •Введение в шаблоны проектирования
- •Обязанности
- •Дополнительная информация
- •Шаблоны проектирования grasp
- •Шаблоны graps
- •Шаблон Expert (Эксперт)
- •Шаблон Creator (Создатель)
- •Шаблон Low Coupling (Низкое Связывание)
- •Шаблон High Cohesion (Высокое Зацепление)
- •Шаблон Controller (Контроллер)
- •Вопрос для итоговой аттестации
- •III. Примерное распределение часов курса по формам и видам работ
- •Учебное задание
- •Примерный перечень вопросов к зачету по всему курсу
- •IV. Форма итогового контроля
- •V. Учебно-методическое обеспечение курса Рекомендуемая литература (обязательная)
- •Рекомендуемая литература (дополнительная)
- •Список адресов в Интернет
- •Моделирование и проектирование информационных систем Учебно-методическое пособие
Классификация информационных систем по уровню и составу моделей
Тематический контекст
Краткое содержание
Классическая четырехуровневая иерархия моделей.
Классификация информационных систем по количеству, уровню и способу использования моделей.
Рассмотрим классическую четырехуровневую иерархию моделей (рис. 10). В данной иерархии каждый вышестоящий уровень определяет язык для описания нижестоящего. В конкретных случаях уровней может быть меньше, в большем же количестве уровней до сих пор не было необходимости.
Рис. 10. Классическая четырехуровневая иерархия моделей
Разберем подробнее уровни классической иерархии применительно к задаче моделирования информационных систем. На уровне М0 находятся данные, описывающие состояние предметной области, т.е. модель состояния. Уровень М1 является онтологической метамоделью для уровня М0 и содержит модель предметной области. Уровень М2 определяет лингвистическую метамодель для уровней М1 и М0. Другими словами, на уровне М2 находится модель языка моделирования, с которым работают аналитики, разработчики, CASE-средства и пр. Самый верхний уровень (М3) определяет язык, на котором описываются метамодели уровня М2 и который обычно описывается на самом себе.
В зависимости от количества уровней и способа их использования информационные системы и технологии их разработки можно разделить на несколько классов.
Традиционные информационные системы (рис. 11). В традиционной информационной системе внутри системы находятся данные, описывающие состояние предметной области. Эти данные соответствуют некоторой модели предметной области, которая может быть описана на любом языке (в том числе и на естественном языке человека). Модель разрабатывается аналитиками, после чего разработчики реализуют ее с помощью средств программирования. В случае изменения модели приходится переписывать и перекомпилировать исходные коды системы.
Рис. 11. Традиционные информационные системы
Традиционные CASE-технологии (рис. 12). В традиционных CASE-технологиях модель предметной области определяется формально и находится внутри CASE-средства. Модель описывается в терминах метамодели, которая может быть определена на любом языке. Как и в случае с традиционной информационной системой, метамодель разрабатывается аналитиками, после чего реализуется разработчиками. Изменение метамодели влечет за собой переписывание и перекомпиляцию CASE-средства, однако такие изменения происходят крайне редко.
Рис. 12. Традиционные CASE-технологии
CASE-средство предоставляет инструменты для создания и редактирования моделей, а также позволяет частично сгенерировать код информационной системы. Полученная на выходе система обычно реализует все необходимые структуры данных, обеспечивает доступ к БД и предоставляет стандартный интерфейс пользователя. Поведенческие и функциональные аспекты дописываются вручную. В случае изменения модели CASE-средство позволяет заново сгенерировать код системы, при этом код, добавленный программистами, сохраняется (при соблюдении определенных правил его написания). После повторной генерации обычно требуется ручная доработка кода. Достоинством подхода является то, что существенно экономится время на начальных этапах разработки. Кроме того, поддерживается соответствие между системой и моделью. В предыдущем случае зачастую оказывается так, что реализация далеко уходит от начальной модели (которая не обновляется), что, в свою очередь, приводит к неуправляемости разработки и некоторым другим проблемам.
Информационные системы, управляемые метаданными (см. рис. 13). В этом случае также используются три уровня моделей, однако модель предметной области находится внутри информационной системы. Таким образом, система выступает в роли интерпретатора, а модель – в роли «управляющей программы». Недостатком такого подхода является то, что снижается универсальность, т.к. нет возможности что-то дописать вручную. Соответственно, метамодель должна быть максимально мощной. К достоинствам следует отнести тот факт, что при изменении модели не требуется повторять кодирование и компиляцию – информационная система просто начинает работать в соответствии с новой моделью.
Рис. 13. Информационные системы, управляемые метаданными
В качестве примера реальной системы, использующей данный подход, можно привести систему «1С: Предприятие». Этот подход используется также в CASE-технологии «METAS», разрабатываемой в АНО науки и образования «Институт компьютинга» при участии сотрудников кафедры математического обеспечения вычислительных систем Пермского государственного университета.
Технология DSM с генерацией кода (рис. 14). Аббревиатура DSM расшифровывается как Domain Specific Modeling, что можно перевести как моделирование в терминах предметной области. В данном случае для решения каждой задачи применяется свой язык моделирования, в котором используются исключительно понятия и отношения из предметной области. Вариант реализации данной технологии представлен на рис. 14. Здесь используется мета-метамодель, которая реализуется meta-CASE-средством. При помощи этого средства описывается метамодель, которая определяет предметно-зависимый язык моделирования. На основе этой модели генерируется CASE-средство – с его помощью описывается модель предметной области и генерируется информационная система. Meta-CASE и CASE-средство могут быть объединены в одну систему, что проиллюстрировано пунктирным контуром (рис. 14).
Рис. 14. Технология DSM с генерацией кода
Использование предметно-зависимого языка (DSL – Domain Specific Language) позволяет существенно упростить процесс создания моделей предметной области, в котором могут принимать активное участие эксперты заказчика – специалисты в рассматриваемой предметной области. Прочие плюсы и минусы, связанные с генерацией кода, совпадают с соответствующими плюсами и минусами традиционной CASE-технологии.
Технология DSM с интерпретацией метаданных (рис. 15). Данный вариант является комбинацией двух предыдущих. Метамодель, модель и данные находятся внутри информационной системы.
Рис. 15. Технология DSM с интерпретацией метаданных
Для того чтобы данный подход оказался применимым на практике, необходимо, чтобы мета-метамодель была максимально выразительной. Интерпретация сразу двух уровней метамоделей приводит к ощутимой потере производительности, однако при достаточной выразительности мета-метамодели получается чрезвычайно гибкая система.
Вопросы для самоконтроля
Назовите и охарактеризуйте уровни классической четырехуровневой иерархии моделей.
На какие классы можно разделить информационные системы по количеству, уровню и способу использования моделей?
Подумайте, почему классическая иерархия включает именно четыре уровня?
Проклассифицируйте известные Вам информационные системы по количеству, уровню и способу использования моделей.
Задания для самостоятельной работы
Измените классическую четырехуровневую иерархию моделей с учетом разделения метамоделей на лингвистические и онтологические.
Уточните классификацию информационных систем с учетом разделения метамоделей на лингвистические и онтологические.
