Визуальное моделирование при анализе и проектировании. Основы Unified Modeling Language (UML)
7.5. Пакеты
Пакет - структурная единица для группировки элементов модели, в частности, классов.
Пакет - это способ организации элементов модели в более крупные блоки, которыми впоследствии позволяется манипулировать как единым целым. Хорошо спроектированный пакет группирует семантически близкие элементы, которые имеют тенденцию изменяться совместно [3.3].
7.6. Подсистемы
На этапе проектирования системы классы и пакеты могут объединяться в подсистемы. Подсистема - структурная единица. Каждая подсистема имеют свою область ответственности и реализует некоторую функциональность. Подсистема реализует Интерфейс, который описывает ее поведение. В рассматриваемом учебном примере SRS примерами подсистем являются: подсистема бронирования билетов; подсистема доступа к данным...
7.7. Компоненты
Компонент - физическая заменяемая часть системы, совместимая с одним набором интерфейсов и обеспечивающая реализацию какого-либо другого [3.3]. Компонент может разрабатываться и тестироваться независимо от системы.
Виды компонентов:
По смыслу компонент представляет собой реализацию подсистемы. На этапе проектирования мы работаем с подсистемами. На этапе реализации - с компонентами.
7.8. Комментарии
UML предусматривает возможность написания комментариев (заметок). Делается это следующим образом:
7.9. Отношения между элементами модели
UML поддерживает следующие виды отношений между элементами модели:
- Зависимость.
- Ассоциация.
- Обобщение (наследование).
- Реализация (для Интерфейса).
Отношения показывают наличие связей между элементами модели и семантику этих связей.
Рассмотрим каждый из этих типов отношений.
7.9.1. Зависимость
Зависимость - связь между сущностями (классами, объектами). Зависимость показывает, что изменения в одной сущности могут повлиять на другую сущность. Зависимость - не структурная связь. Возникает через локальную, глобальную переменные или параметр метода.
Ассоциация
Ассоциация - связь между сущностями (классами, объектами). Ассоциация показывает наличие структурной связи между экземплярами (объектами). Структурная связь реализуется через поле класса. В обозначениях UML направление может быть не указано (двусторонняя связь).
7.9.3. Направление и навигация
Заметим, что наличие направления связано с понятием Навигация. Навигация означает, что в направлении стрелки один объект "видит" другой, в то время как обратное не выполняется.
7.9.4. Кратность
Кратность - способ конкретизации характера отношения. Показывает тип отношения 1:1, 1:M, N:1, N:M.
7.9.5. Частные случаи ассоциаций: агрегация и композиция
Агрегация предполагает, что 0 или более объектов одного типа включены в 1 или более объектов другого типа.
Композиция - вариант агрегации, в котором каждый объект второго типа может быть включен ровно в 1 объект первого типа.
7.9.6. Обобщение (наследование)
8. Что дальше?
Тема следующей лекции - Основы MSF - Microsoft Solutions Framework.