Опубликован: 20.07.2007 | Доступ: свободный | Студентов: 765 / 147 | Оценка: 4.30 / 4.06 | Длительность: 09:58:00
Специальности: Программист
Лекция 3:

Визуальное моделирование при анализе и проектировании. Основы Unified Modeling Language (UML)

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >
7.5. Пакеты

Пакет - структурная единица для группировки элементов модели, в частности, классов.

Пакет - это способ организации элементов модели в более крупные блоки, которыми впоследствии позволяется манипулировать как единым целым. Хорошо спроектированный пакет группирует семантически близкие элементы, которые имеют тенденцию изменяться совместно [3.3].


Рис. 3.13.
7.6. Подсистемы

На этапе проектирования системы классы и пакеты могут объединяться в подсистемы. Подсистема - структурная единица. Каждая подсистема имеют свою область ответственности и реализует некоторую функциональность. Подсистема реализует Интерфейс, который описывает ее поведение. В рассматриваемом учебном примере SRS примерами подсистем являются: подсистема бронирования билетов; подсистема доступа к данным...


Рис. 3.14.
7.7. Компоненты

Компонент - физическая заменяемая часть системы, совместимая с одним набором интерфейсов и обеспечивающая реализацию какого-либо другого [3.3]. Компонент может разрабатываться и тестироваться независимо от системы.

Виды компонентов:

  • Исходные файлы (.cpp, .h, .java…).
  • Бинарные файлы (.dll, .ocx…).
  • Исполняемые файлы (.exe).

По смыслу компонент представляет собой реализацию подсистемы. На этапе проектирования мы работаем с подсистемами. На этапе реализации - с компонентами.


Рис. 3.15.
7.8. Комментарии

UML предусматривает возможность написания комментариев (заметок). Делается это следующим образом:


Рис. 3.16.
7.9. Отношения между элементами модели

UML поддерживает следующие виды отношений между элементами модели:

  • Зависимость.
  • Ассоциация.
  • Обобщение (наследование).
  • Реализация (для Интерфейса).

Отношения показывают наличие связей между элементами модели и семантику этих связей.

Рассмотрим каждый из этих типов отношений.

7.9.1. Зависимость

Зависимость - связь между сущностями (классами, объектами). Зависимость показывает, что изменения в одной сущности могут повлиять на другую сущность. Зависимость - не структурная связь. Возникает через локальную, глобальную переменные или параметр метода.


Рис. 3.17.
Ассоциация

Ассоциация - связь между сущностями (классами, объектами). Ассоциация показывает наличие структурной связи между экземплярами (объектами). Структурная связь реализуется через поле класса. В обозначениях UML направление может быть не указано (двусторонняя связь).


Рис. 3.18.
7.9.3. Направление и навигация

Заметим, что наличие направления связано с понятием Навигация. Навигация означает, что в направлении стрелки один объект "видит" другой, в то время как обратное не выполняется.


Рис. 3.19.
7.9.4. Кратность

Кратность - способ конкретизации характера отношения. Показывает тип отношения 1:1, 1:M, N:1, N:M.


Рис. 3.20.
Вид кратности Значение
* или 0..* ?0
1..* ?1
обычно 0 или 1
1 Ровно 1
3,5..6 {3,5,6}
7.9.5. Частные случаи ассоциаций: агрегация и композиция

Агрегация предполагает, что 0 или более объектов одного типа включены в 1 или более объектов другого типа.

Композиция - вариант агрегации, в котором каждый объект второго типа может быть включен ровно в 1 объект первого типа.


Рис. 3.21.
7.9.6. Обобщение (наследование)

Рис. 3.22.

8. Что дальше?

Тема следующей лекции - Основы MSF - Microsoft Solutions Framework.

< Лекция 2 || Лекция 3: 12345 || Лекция 4 >