- •8 Средства автоматизации проектирования
- •8.1. Основные определения
- •Перспективная case-система
- •8.2. Модели жизненного цикла
- •8.3. Модели структурного проектирования
- •Диаграммы потоков данных
- •Методология функционального моделирования
- •8.4. Объектно-ориентированные модели
- •Общая характеристика унифицированного языка моделирования
- •Типы диаграмм унифицированного языка моделирования
- •Примеры диаграмм uml
- •8.5. Классификация case-средств
- •8.6. Системы структурного типа Независимые системы
- •Номер отдела
- •Идентификатор
- •Номер материала Название материала
- •Система Designer/2000
- •8.7 Объектно-ориентированные системы
- •Объектно-ориентированная система Rational Rose
- •8.8. Рекомендации по применению case-систем
- •Библиографический список
8.4. Объектно-ориентированные модели
Многообразие моделей объектно-ориентированного проектирования усложняет выбор модели и обмен информацией при работе над разными проектами. Поэтому ведущие специалисты фирмы Rational Software Corporation разработали унифицированную модель и метод проектирования UML (Unified Modeling Language – унифицированный язык моделирования).
Общая характеристика унифицированного языка моделирования
Унифицированный язык моделирования (UML) – единый язык моделирования, предназначенный для спецификации, визуализации, конструирования и документирования материалов программных систем, а также для моделирования бизнеса и других непрограммных систем. В основу создания UML положены три наиболее распространенные модели:
Booch, получившая название по фамилии автора Гради Буча (Grady Booch);
OMT (Object Modeling Technique – метод моделирования объектов);
OOSE (Object-Oriented Software Engineering - объектно-ориентированное проектирование программного обеспечения).
Унифицированный язык моделирования – промышленный объектно-ориентированный стандарт моделирования, включающий в себя в унифицированном виде лучшие методы визуального (графического) моделирования.
Типы диаграмм унифицированного языка моделирования
Проект информационной системы, создаваемый с помощью UML, может включать в себя следующие восемь видов диаграмм:
Прецедентов использования (use case);
Классов (class);
Состояний (statechart);
Активности (activity);
Следования (sequence);
Сотрудничества (collaboration);
Компонентов (component);
Размещения (deployment).
Диаграммы состояний, активности служат для описания поведения информационной системы, диаграммы следования и сотрудничества – для описания взаимодействия объектов, а диаграммы компонентов и размещения описывают физическую реализацию информационной системы.
Диаграммы прецедентов использования описывают функциональность информационной системы, видимую пользователям системы. Прецедент – это типичное взаимодействие пользователя с системой, которое выполняет следующее:
Описывает видимую пользователем функцию;
Представляет различные уровни детализации;
Обеспечивает достижение конкретной цели.
Прецедент изображается овалом. Он связан с типичными пользователями, называемыми «актерами». Актер – это любая сущность, взаимодействующая с системой извне (человек, группа лиц, оборудование, другая система(ы)). Прецедент описывает, что система предоставляет актеру – определяет набор транзакций, выполняемый актером при диалоге с информационной системой. Диаграмма прецедентов использования имеет высокий уровень абстракции и позволяет определить функциональные требования к информационной системе.
Диаграммы классов описывают статическую структуру классов. Состав диаграмм классов: классы, объекты и отношения между ними. Класс представляется многоугольником с тремя разделами: имя класса, атрибуты и операции. Объекты обозначаются аналогично, с той разницей, что к имени класса добавляется имя объекта и вся надпись подчеркивается.
Ассоциации или статические связи между классами изображаются линией с указанием мощности ассоциации, направления, названия и возможного ограничения. Свойства ассоциации, например отношение агрегации, когда составными частями класса являются другие классы, изображается в виде ромба, расположенного рядом с агрегирующим классом. Отношение обобщения изображается в виде треугольника и связующей линии, позволяя представить иерархию наследования классов.
Диаграммы состояний описывают поведение объектов во времени, моделируют возможные изменения в состоянии объекта, вызванные внешними воздействиями со стороны других объектов или извне. Каждое состояние объекта представляется в виде прямоугольника с закругленными углами. Прямоугольник содержит имя состояния и, возможно, значение атрибутов объекта в данный момент времени. Переход осуществляется при наступлении некоторого события, например, получения объектом сообщения или приема сигнала. Переход изображается в виде стрелки, соединяющей два состояния. На переходе указывается имя события и, возможно, действия, производимые объектом в ответ на внешние события.
Диаграммы активности представляют частный случай диаграмм состояния. Каждое состояние – это выполнение некоторой операции и при е завершении переход в следующее состояние. При этом реализуется процедурное, синхронное управление, обусловленное завершением внутренних действий. Данное состояние не имеет внутренних переходов и и переходов по внешним событиям.
Для изображения диаграмм активности используются стрелки, но на переходах отсутствует сигнатура события и добавляется символ «синхронизации» переходов для реализации параллельных алгоритмов. Диаграммы активности используются в основном для описания операций классов.
Диаграмма следования определяет временную последовательность передаваемых сообщений, т.е. динамику взаимодействия – порядок, вид и имя сообщения.
Диаграмма следования имеет два измерения. Первое – слева направо, в виде вертикальных линий, изображающих объекты, участвующие во взаимодействии. Верхняя часть линий дополняется прямоугольником, содержащим имя класса объекта или имя экземпляра класса. Второе измерение – вертикальная временная ось. Посылаемые сообщения изображаются в виде стрелок с именем сообщения и упорядочены по времени возникновения.
Диаграммы сотрудничества описывают взаимодействие объектов системы, выполняемого ими для получения некоторого результата. Под получением результата подразумевается выполнение законченного действия, например, описание в терминах взаимодействующих объектов смоделированного ранее прецедента использования информационной системы или некоторого сервиса, объявленного как операция класса на соответствующей диаграмме.
Диаграмма сотрудничества изображает объекты, участвующие во взаимодействии, в виде прямоугольников, содержащих имя объекта, его класс и, возможно, значение атрибутов. Ассоциации между объектами изображаются в виде соединительных линий с возможным указанием имени ассоциации и ролей объектов в данной ассоциации. Динамические связи (потоки сообщений) представляются в виде соединительных линий между объектами, сверху которых располагается стрелка с указанием направления и имени сообщения.
Диаграмма компонентов служит для определения архитектуры разрабатываемой системы путем установления зависимости между программными компонентами: исходным, бинарным и/или исполняемым кодом. Обычно модуль или компонент – это файл. Пунктирные стрелки, соединяющие модули, показывают отношения взаимозависимости (как при компиляции).
Диаграммы размещения используются для задания конфигурации компонентов, процессов и объектов, действующих в системе на этапе выполнения. Кроме того, они показывают физическую зависимость аппаратных устройств, участвующих в реализации системы, и соединений между ними – маршрутов передачи информации.