- •С.М. Шаврин, л.Н. Лядова, с.И. Чуприна Моделирование и проектирование информационных систем
- •Содержание
- •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. Учебно-методическое обеспечение курса Рекомендуемая литература (обязательная)
- •Рекомендуемая литература (дополнительная)
- •Список адресов в Интернет
- •Моделирование и проектирование информационных систем Учебно-методическое пособие
Ассоциации
Ассоциации используются для связывания понятий между собой. В подавляющем большинстве случаев диаграмма понятий представляет собой граф, вершинами которого являются понятия, а дугами – ассоциации (рис. 47). Повторим определение ассоциации.
Рис. 47. Пример ассоциации
Определение. Ассоциация – это устойчивое структурное отношение между сущностями (в данном случае – понятиями).
Основным способом выделения ассоциаций является выделение по определению. В данном случае можно предложить следующее правило. Если экземпляры некоторых двух понятий могут участвовать в устойчивых структурных связях друг с другом и есть необходимость в хранении информации об этих связях, то в концептуальную модель необходимо добавить ассоциацию между этими понятиями.
Другим способом является поиск по списку стандартных категорий ассоциаций (табл. 2). В этом случае берутся два понятия, между которыми подозревается наличие ассоциации, и проверяются по списку.
Таблица 2. Стандартные категории ассоциаций
Категория ассоциации |
Пример |
А является физической частью В |
Крыло – Самолет |
А является логической частью В |
Товарная позиция – Продажа |
А физически содержится в/на В |
Товар – Полка, Пассажир – Самолет |
А логически содержится в В |
Описание товара – Каталог |
А является описанием В |
Описание товара – Товар |
А известен / зарегистрирован / записан / включен в отчет / содержится в В |
Продажа – Система розничной торговли |
А является членом В |
Ученик – Класс, Игрок – Команда |
А является организационной единицей В |
Отдел – Магазин |
А использует или управляет В |
Кассир – Система розничной торговли, Пилот – Самолет |
А взаимодействует с В |
Покупатель – Кассир |
А связан с транзакцией В |
Покупатель – Платеж |
А является транзакцией, которая связана с другой транзакцией В |
Платеж – Продажа |
А следует за В |
Остановка – Остановка |
А является собственностью В |
Самолет – Авиакомпания, Система розничной торговли – Магазин |
Из приведенного выше списка особую важность имеют следующие категории ассоциаций:
A является физической или логической частью B;
A физически или логически содержится в B;
A записан в B.
Как и у понятий, у ассоциаций есть имена. В языке UML есть определенный стандарт именования ассоциаций. Имя ассоциации должно содержать некоторую глагольную форму, причем при прочтении подряд имени одного понятия, имени ассоциации и имени другого понятия, должна получаться осмысленная фраза. По умолчанию, диаграмма понятий читается слева направо и сверху вниз. Если какую-то ассоциацию необходимо читать в противоположном направлении, то это отмечается при помощи закрашенной стрелки (рис. 48).
Рис. 48. Именование ассоциаций
Роли
Каждый конец ассоциации называется ролью. Роль имеет две базовые характеристики: имя и кратность. Имя определяет название роли, в которой выступает понятие в данной ассоциации. Если имя роли не указано, то считается, что оно совпадает с именем понятия. В примере на рис. 49 человек, выступая в роли классного руководителя, руководит классом. Данную ассоциацию следует читать следующим образом: «Классный руководитель руководит классом». Аналогичным образом читается и вторая ассоциация.
Рис. 49. Роли ассоциации
Кратность роли определяет, сколько экземпляров понятия, соответствующего данной роли, может быть одновременно связано с одним экземпляром понятия, соответствующего противоположной роли. Из примера на рис. 45 следует, что классом одновременно может руководить только один руководитель, но учиться в нем могут сразу несколько учеников (символ «*» означает «много»). Кратность роли может задаваться числом, промежутком (пример: 3..5), перечислением (пример: 2,5,7) или произвольной комбинацией указанных способов.
При поиске ассоциаций следует придерживаться следующих рекомендаций:
Гораздо важнее идентифицировать понятия, чем ассоциации.
Изучение ассоциаций не должно отнимать слишком много времени, но должно приносить максимальный эффект.
Избегайте использования избыточных ассоциаций.
