ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.10.2023
Просмотров: 13
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
БАЗИС ЯЗЫКА ВИЗУАЛЬНОГО МОДЕЛИРОВАНИЯ
Для создания моделей анализа и проектирования объектно-ориентированных программных систем используют языки визуального моделирования. Появившись сравнительно недавно, в период с 1989 по 1997 гг., эти языки уже имеют представительную историю развития. В настоящее время различают три поколения языков визуального моделирования. И если первое поколение образовали 10 языков, то численность второго поколения уже превысила 50 языков. Среди наиболее популярных языков второго поколения можно выделить: язык Буча (G. Booch), язык Рамбо (J. Rumbaugh), язык Джекобсона (I. Jacobson), язык КоадаЙордона (Coad-Yourdon), язык Шлеера-Меллора (Shlaer-Mellor) и т.д. [41], [64], [69]. Каждый язык вводил свои выразительные средства, ориентировался на собственный синтаксис и семантику, иными словами – претендовал на роль единственного и неповторимого языка. В результате разработчики (и пользователи этих языков) перестали понимать друг друга. Возникла острая необходимость унификации языков. Идея унификации привела к появлению языков третьего поколения. В качестве стандартного языка третьего поколения был принят Unified Modeling Language (UML), создававшийся в 1994 – 1997 гг. (основные разработчики – три «amigos» Г. Буч, Дж. Рамбо, И. Джекобсон). В настоящее время разработана версия UML 2.0, которая описывается в [17]. Данная глава посвящена определению базовых понятий языка UML.
УНИФИЦИРОВАННЫЙ ЯЗЫК МОДЕЛИРОВАНИЯ
UML – стандартный язык для написания моделей анализа, проектирования и реализации объектно-ориентированных программных систем [17], [18], [19]. UML может использоваться для визуализации, спецификации, конструирования и документирования результатов программных проектов. UML – это не визуальный язык программирования, однако его модели прямо транслируются в текст на языках программирования (Java, C++, Visual Basic, Object Pascal) и даже в таблицы для реляционной БД. Словарь UML образуют три разновидности строительных блоков: предметы, отношения, диаграммы. Предметы – это абстракции, которые являются основными элементами в модели, отношения связывают эти предметы, диаграммы группируют коллекции предметов
ПРЕДМЕТЫ В UML
В UML имеются четыре разновидности предметов: структурные предметы;
предметы поведения; группирующие предметы; поясняющие предметы.
Эти предметы являются базовыми объектно-ориентированными строительными блоками. Они используются для написания моделей. Структурные предметы являются существительными в UML-моделях. Они представляют статические части модели – понятийные или физические элементы. Перечислим восемь разновидностей структурных предметов.
Класс – описание множества объектов, которые разделяют одинаковые свойства, операции, отношения и семантику (смысл). Класс реализует один или несколько интерфейсов. графически класс отображается в виде прямоугольника, обычно включающего секции с именем, свойствами (атрибутами) и операциями.
Интерфейс – набор операций, которые определяют услуги класса или компонента. Интерфейс описывает поведение элемента, видимое извне. Интерфейс может представлять полные услуги класса или компонента или часть таких услуг. Интерфейс определяет набор спецификаций операций (их сигнатуры), а не набор реализаций операций. Графически интерфейс изображается в виде кружка с именем. Имя интерфейса обычно начинается с буквы «I». Интерфейс редко показывают самостоятельно. Обычно его присоединяют к классу или компоненту, который реализует интерфейс.
Кооперация (сотрудничество) определяет взаимодействие и является совокупностью ролей и других элементов, которые работают вместе для обеспечения коллективного поведения более сложного, чем простая сумма всех элементов. Таким образом, кооперации имеют как структурное, так и поведенческое измерения. Конкретный класс может участвовать в нескольких кооперациях. Эти кооперации представляют реализацию паттернов (образцов), которые формируют систему. графически кооперация изображается как пунктирный эллипс, в который вписывается её имя.
Актёр – набор согласованных ролей, которые могут играть пользователи при взаимодействии с системой (её элементами Use Case). Каждая роль требует от системы определённого поведения. Актёр изображается как проволочный человечек с именем.
Элемент Use Case (Прецедент) – описание последовательности действий (или нескольких последовательностей), выполняемых системой в интересах отдельного актёра и производящих видимый для актёра результат. В модели элемент Use Case применяется для структурирования предметов поведения. Элемент Use Case реализуется кооперацией. элемент Use Case изображается как эллипс, в который вписывается его имя.
Активный класс – класс, чьи объекты имеют один или несколько процессов (или потоков) и поэтому могут инициировать управляющую деятельность. Активный класс похож на обычный класс за исключением того, что его объекты действуют одновременно с объектами других классов. активный класс изображается как утолщённый прямоугольник, обычно включающий имя, свойства (атрибуты) и операции.
Компонент – физическая и заменяемая часть системы, которая соответствует набору интерфейсов и обеспечивает реализацию этого набора интерфейсов. В систему включаются как компоненты, являющиеся результатами процесса разработки (файлы исходного кода), так и различные разновидности используемых компонентов (СОМ+-компоненты, Java Beans). Обычно, компонент – это физическая упаковка различных логических элементов (классов, интерфейсов и сотрудничеств). компонент изображается как прямоугольник с вкладками, обычно включающий имя.
Узел – физический элемент, который существует в период работы системы и представляет ресурс, обычно имеющий память и возможности обработки. В узле размещается набор компонентов, который может перемещаться от узла к узлу.