- •С.М. Шаврин, л.Н. Лядова, с.И. Чуприна Моделирование и проектирование информационных систем
- •Содержание
- •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. Учебно-методическое обеспечение курса Рекомендуемая литература (обязательная)
- •Рекомендуемая литература (дополнительная)
- •Список адресов в Интернет
- •Моделирование и проектирование информационных систем Учебно-методическое пособие
Компоненты
Основным элементом диаграммы компонентов является компонент, для изображения которого используется прямоугольник с двумя небольшими накладками с левой стороны (рис. 89).
Рис. 89. Пример компонента
Стереотипы
Как можно заметить из рис. 88, компоненты бывают различных типов. Среди наиболее часто используемых можно перечислить исполняемые файлы, изображения, библиотеки, базы данных, конфигурационные файлы, файлы помощи, исходные коды и пр. Для того чтобы различать компоненты, на диаграмме используют стереотипы, которые подписываются в кавычках над именем компонента (рис. 90).
Рис. 90. Пример использования стереотипа
Пиктограммы
Для повышения наглядности диаграммы в стандарте UML предусмотрена возможность связать с каждым стереотипом некоторую пиктограмму, которая более точно, по сравнения со стандартной нотацией, отражает его суть (рис. 91). Однако не стоит забывать о том, что основное достоинство UML – это его стандартная нотация, понятная большинству разработчиков и аналитиков. Поэтому если принимается решение о введении нестандартного обозначения для некоторого стереотипа, то необходимо позаботиться о том, чтобы оно было максимально простым и понятным, находилось в рамках принятых в UML соглашений и не выбивалось и общего визуального ряда.
Рис. 91. Пример нестандартной нотации для компонента со стереотипом «database»
Интерфейсы
Если компонент представляет собой некоторый программный модуль, то в большинстве случаев он будет реализовывать один или несколько интерфейсов. Наличие этих интерфейсов является необходимым условием того, чтобы компонент можно было использовать в другом контексте или, при необходимости, заменить другим. Интерфейс на диаграмме компонентов обозначается так же, как это принято в COM-технологии – при помощи отрезка с окружностью на конце (рис. 92).
Рис. 92. Пример компонента, который реализует интерфейс
Зависимости
Одной из важнейших целей построения диаграмм компонентов является выделение и визуализация зависимостей между частями системы. Если один компонент потребляет услуги (например, библиотека классов) или ресурсы (например, изображение) другого компонента, то он зависит от него. Зависимость между компонентами изображается при помощи пунктирной стрелки, направленной от зависимого компонента к независимому (рис. 93).
Рис. 93. Пример зависимости между компонентами
Компоненты, связанные отношением зависимости, должны находиться «близко» друг к другу. Степень «близости» (одна папка, один компьютер, локальная сеть) определяется требованиями конкретной ситуации. Если не отслеживать зависимости между компонентами, то высока вероятность того, что в процессе разработки система превратится в груду файлов, про многие из которых сложно будет сказать, нужны они или нет. Это усложняет разработку и приводит к засорению компьютеров конечных пользователей.
Вопросы для самоконтроля
Что такое компонент?
Как компонент связан с классами и интерфейсами?
Какие преимущества дает использование стереотипов на диаграмме компонентов?
Задания для самостоятельной работы
Постройте концептуальную модель диаграммы компонентов.
Постройте диаграмму компонентов для учебного задания.
