- •С.М. Шаврин, л.Н. Лядова, с.И. Чуприна Моделирование и проектирование информационных систем
- •Содержание
- •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. Учебно-методическое обеспечение курса Рекомендуемая литература (обязательная)
- •Рекомендуемая литература (дополнительная)
- •Список адресов в Интернет
- •Моделирование и проектирование информационных систем Учебно-методическое пособие
Концептуальное моделирование и диаграммы понятий
Тематический контекст
Краткое содержание
Понятия и их атрибуты.
Идентификация понятий.
Ассоциации, идентификация ассоциаций, роли.
Ограничения.
Отношение обобщения, правило «100%», правило «is_a», абстрактные понятия, многомерная множественная классификация.
Отношение агрегации, композитная и коллективная агрегация, идентификация отношений агрегации.
Порядок построения концептуальной модели.
Определение. Концептуальная модель предметной области – это модель, отражающая основные понятия предметной области, их структуру и взаимосвязи.
Результат концептуального моделирования отображается на диаграмме понятий, которая является частным случаем диаграммы классов языка UML. На рис. 45 приведен пример диаграммы понятий, иллюстрирующей часть концептуальной модели предметной области «Система розничной торговли».
Рис. 45. Пример диаграммы понятий
На диаграммах понятий обычно отображаются следующие элементы: понятия и их атрибуты, отношения ассоциации и обобщения, а также ограничения. Разберем эти элементы подробно.
Понятие
Прежде всего, необходимо разобраться с понятием понятия. Говоря обще, понятие – это представление некоторой идеи или объекта в сознании человека. Формальное определение понятия дается ниже.
Определение. Понятие – это тройка: символ, содержание и расширение, где символ – это слово или образ, представляющий понятие; содержание – это определение понятия, а расширение – это множество примеров, к которым понятие применимо.
Рассмотрим в качестве примера понятие окружности. Символом в данном случае будет слово «окружность», определением – «геометрическое место точек, равноудаленных от данной», а расширением – множество всевозможных окружностей с разными радиусами.
Идентификация понятий. Для построения концептуальной модели необходимо прежде всего выделить понятия предметной области. Основным источником понятий являются текстовые описания предметной области (прецеденты). Точного метода выделения понятий нет. На практике можно использовать непосредственное выделение понятий из описания предметной области или поиск по списку стандартных категорий. Рассмотрим эти методы.
Суть непосредственного выделения понятий из текстовых описаний сводится к поиску имен существительных и их рассмотрению в качестве кандидатов на понятия. В данном случае надо понимать, что между именами существительными и понятиями нет однозначного соответствия, т.к. для естественного языка человека характерны такие явления, как синонимы и омонимы. Кроме того, имя существительное может соответствовать атрибуту (например, дата) или операции (например, завершение).
Богатый опыт моделирования позволил человечеству сформулировать список стандартных категорий понятий, которые обычно имеют значение (табл. 1). Данным списком можно воспользоваться для уточнения состава понятий концептуальной модели предметной области.
Для изображения понятий на диаграмме понятий используется нотация для класса без раздела операций (см. диаграмму классов). Если понятие не имеет атрибутов или они не важны в данном контексте, то раздел атрибутов может опускаться (рис. 46).
Рис. 46. Варианты графической нотации для изображения понятий
Таблица 1. Примеры категория понятий
Категория понятия |
Пример |
Физические или материальные объекты |
Самолет |
Спецификации, элементы дизайна или описания объектов |
Описание полета, описание товара |
Места |
Магазин, Аэропорт |
Транзакции |
Продажа, Платеж, Бронирование |
Элемент транзакции |
Товарная позиция |
Роли людей |
Кассир, Пилот |
Контейнеры других объектов |
Склад, Магазин, Самолет |
Содержимое контейнеров |
Элемент, Пассажир, Товар |
Другие компьютерные или электромеханические системы, внешние по отношению к данной системе |
Банк (для банкомата) |
Абстрактные понятия |
Голод, Клаустрофобия |
Организации |
Отдел продаж, Библиотека |
События |
Продажа, Полет |
Процессы (обычно не представляются в виде понятий) |
Продажа продукта, Бронирование места |
Правила и политики |
Правила возврата товара, политика выдачи кредитов |
Каталоги |
Каталог товаров, книг |
Записи финансовой, трудовой, юридической и др. деятельности |
Чек, Трудовой контракт |
Руководства, книги |
Должностная инструкция |
