- •С.М. Шаврин, л.Н. Лядова, с.И. Чуприна Моделирование и проектирование информационных систем
- •Содержание
- •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. Учебно-методическое обеспечение курса Рекомендуемая литература (обязательная)
- •Рекомендуемая литература (дополнительная)
- •Список адресов в Интернет
- •Моделирование и проектирование информационных систем Учебно-методическое пособие
Работа с коллекциями объектов
Для стандартных коллекций объектов, таких как список, массив и пр., в UML введено специальное понятие мультиобъекта. Пример мультиобъекта приведен на рис. 82. В имени мультиобъекта после двоеточия указывается тип элементов коллекции.
Рис. 82. Пример мультиобъекта
Рис. 83. Примеры работы с коллекциями
Важно понимать разницу между мультиобъектом и специализированной коллекцией. Мультиобъект – это стандартная коллекция объектов, которая реализуется такими классами, как, например, ArrayList в .NET. Соответственно мультиобъекту можно отправлять только простые сообщения, типа добавить/удалить элемент, получить количество элементов и т.д. Если нужна сложная логика (например, получить все продажи за некоторый период), то необходимо создавать отдельный класс. На рис. 83 представлены некоторые примеры работы с коллекцией товарных позиций.
Сообщения классу
Сообщения могут передаваться не только объектам, но и самим классам. Сообщение классу соответствует вызову статического метода. На рис. 84 представлен пример получения текущей даты при помощи сообщения классу. Класс на диаграмме отличается от объекта тем, что его имя не подчеркнуто и пишется без двоеточия.
Рис. 84. Пример сообщения классу
Видимость объектов
Видимость между объектами является необходимым условием для обмена сообщениями. Для отправки сообщения объектом А объекту Б необходимо, чтобы объект Б был виден объекту А. Существуют следующие четыре способа обеспечения видимости объекта Б объектом А:
Посредством атрибутов (ассоциаций). Ссылка на объект Б является значением некоторого атрибута объекта А.
Посредством параметров. Ссылка на Б передается в качестве параметра в некоторый метод объекта А.
Локальная видимость. Ссылка на объект Б хранится в локальной переменной некоторого метода объекта А.
Глобальная видимость. Объект Б доступен глобально объекту А.
Кроме того, каждый объект видит сам себя. Способ обеспечения видимости между объектами пишется в кавычках со стороны видимого объекта (рис. 85). Если способ обеспечения видимости не указан, то подразумевается видимость посредством ассоциаций.
Рис. 85. Видимость между объектами
В представленном выше списке способы обеспечения видимости перечислены в порядке убывания их приоритета. Если некоторый объект виден несколькими способами, то следует на диаграмме указывать тот способ, который имеет больший приоритет. Например, на рис. 85 объект оп: ОписаниеТовара передается в качестве параметра конструктора при создании объекта тп: ТоварнаяПозиция, после чего между ними формируется связь, соответствующая ассоциации «ссылается на» (рис. 71). Поскольку видимость посредством ассоциации имеет больший приоритет, чем видимость посредством параметра, то на диаграмме (рис. 85) указывается именно она.
Построение диаграмм сотрудничества является, пожалуй, самым сложным этапом, т.к. это творческий процесс, в рамках которого принимаются основные проектные решения. Человеческий опыт проектирования взаимодействия сформировал некоторые правила и вобрал удачные идеи, на которые имеет смысл ориентироваться. Одной из форм выражения этих идей являются шаблоны проектирования, некоторые из которых рассматриваются в следующей теме.
Вопросы для самоконтроля
В чем состоит основная цель этапа проектирования?
В чем разница между диаграммой последовательностей и диаграммой сотрудничества?
Что такое сотрудничество и взаимодействие? Как они связаны?
Какие сообщения можно посылать мультиобъектам?
Для чего нужна видимость между объектами?
Какие существуют способы обеспечения видимости?
Задания для самостоятельной работы
Постройте концептуальную модель диаграммы сотрудничества.
Постройте диаграммы сотрудничества для учебного задания.
