Главная страница
Навигация по странице:

  • Практическая работа №19 Разработка диаграмм классов с помощью Visual Paradigm for UML Цель

  • 2 Краткие теоретические сведения

  • Общий формат записи отдельного атрибута класса следующий

  • Общий формат записи отдельной операции класса следующий

  • Направленная бинарная ассоциация

  • Практическая работа 1213 Построение диаграмм состояний на языке uml с помощью ms visio


    Скачать 3.46 Mb.
    НазваниеПрактическая работа 1213 Построение диаграмм состояний на языке uml с помощью ms visio
    Дата26.03.2023
    Размер3.46 Mb.
    Формат файлаpdf
    Имя файла3_MR_PR_i_SR_MDK.01.02_chasty_2.pdf
    ТипПрактическая работа
    #1016164
    страница4 из 7
    1   2   3   4   5   6   7

    3 Методика выполнения
    В качестве примера рассматривается моделирование системы продажи товаров по каталогу.
    1. Запустите visual Paradigm for UML CE.
    2. Создайте новый проект: Project > New. Введите название проекта и нажмите кнопку Create Blank
    Project (рис. 6).
    Рисунок 39 – Окно создания проекта
    3. Создайте новую диаграмму вариантов использования (Use Case Diagram): Diagram > New (рис. 7).
    Рисунок 40 – Добавление диаграммы в проект
    4. Присвойте имя диаграмме: SaleOfGoods (рис. 8).

    33
    Рисунок 41 – Указание имени диаграммы
    5. Добавьте фигуру System. Для этого в панели инструментов для работы с фигурами выберите нужную фигуру и щелкните в любом месте рабочей области. После этого переименуйте систему задав название: «Система продажи товаров по каталогу» (рис. 9).
    Рисунок 42 – Добавление элемента Система
    6. Далее добавьте актеров Продавец и Покупатель и вариант использования Оформить заказ на
    покупку товара.
    7. Добавьте связь актеров с вариантом использования. Для этого: выделите актера > в правом верхнем углу откройте каталог ресурсов > в контекстном меню выберите use case > во вспомогательном окне начните вводить название ранее созданного прецедента «Оформить заказ на покупку товара» > нажмите кнопку Ok.
    Результат выполнения действий 6 и 7 показан на рисунке 10.

    34
    Рисунок 43 – Исходная диаграмма прецедентов
    8. Далее необходимо установить кратность для отношения ассоциации между актерами и вариантом использования. Для этого необходимо навести курсор на связь и дважды щелкнуть левой кнопкой мыши по точке вначале линии. В появившемся контекстном окне необходимо задать кратность данной стороны отношения (рис. 11).
    Рисунок 44 – Задание кратности отношения
    Для задания кратности второй стороне отношения нажмите кнопку со стрелкой вправо и проделайте те же действия. Для того, чтобы применить произведенные действия достаточно нажать кнопку с зеленой галочкой либо щелкнуть в любом пустом месте рабочей области.
    9. Дополним исходную диаграмму. Для этого добавим 4 варианта использования «Обеспечить покупателя информацией», «Согласовать условия оплаты», «Заказать товар со склада» и «Запросить каталог товаров» (рис. 12).
    Рисунок 45 – Дополнительные варианты использования

    35 10.
    Установим связи между основным и дополнительными вариантами использования.
    «Запросить каталог товаров» связан с «Оформить заказ на продажу товара» отношением расширения.
    Для того чтобы установить этот тип соединения необходимо в панели инструментов для работы с диаграммами выбрать соответствующую фигуру (рис. 13).
    Рисунок 46 – Фигура отношения расширения
    После чего соединить два варианта использования.
    «Обеспечить покупателя информацией», «Согласовать условия оплаты», «Заказать товар со склада» связаны с «Оформить заказ на покупку товара» отношением включения. Для того чтобы установить этот тип соединения необходимо в панели инструментов для работы с диаграммами выбрать соответствующую фигуру (рис. 13).
    Рисунок 47 – Фигура отношения включения
    После чего соединить варианты использования «Обеспечить покупателя информацией»,
    «Согласовать условия оплаты», «Заказать товар со склада» с «Оформить заказ на покупку товара».
    В результате выполнения всех вышеописанных действий диаграмма вариантов использования должна иметь вид, показанный на рисунке 14.

    36
    Рисунок 48 – Дополненная диаграмма вариантов использования
    4 Задание
    Построить диаграмму прецедентов (вариантов использования) в соответствии с вариантом.
    Отчет по практическому занятию выполняется в формате MS Word, который содержит пошаговое описание процесса построения организационной диаграммы, а также скриншоты результатов согласно заданию.
    5 Варианты
    1. «Отдел кадров»;
    2. «Агентство аренды»;
    3. «Аптека»;
    4. «Ателье»;
    5. «Аэропорт»;
    6. «Библиотека»;
    7. «Кинотеатр»;
    8. «Поликлиника»;
    9. «Автосалон»;
    10. «Таксопарк».
    11. «Издательство»;
    12. «Прокат велосипедов»;
    13. «Спортивный клуб».
    6 Контрольные вопросы
    1. Для чего используется диаграмма вариантов использования (прецедентов) Use Case?
    2. Назовите основные элементы диаграммы прецедентов.
    3. Как создать диаграмму вариантов использования с помощью Visual Paradigm for UML CE?хм

    37
    Практическая работа №19
    Разработка диаграмм классов с помощью Visual Paradigm for UML
    Цель: изучение основ создания диаграмм классов на языке UML с помощью case-средства Visual
    Paradigm for UML CE, применение приобретенных навыков для построения объектно-ориентированных моделей определенной предметной области.
    1 Задачи
    Основными задачами практической работы являются:
    ‒ получить навыки создания диаграмм классов с помощью case-средства Visual Paradigm for UML
    CE.
    2 Краткие теоретические сведения
    Диаграмма классов отражает различные взаимосвязи между отдельными сущностями предметной области, а также описывает их внутреннюю структуру и типы отношений.
    Диаграмма классов (class diagram) – диаграмма языка UML, на которой представлена совокупность декларативных или статических элементов модели, таких как классы с атрибутами и операциями, а также связывающие их отношения.
    Диаграмма классов предназначена для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования.
    Диаграмма классов содержит интерфейсы, пакеты, отношения и даже отдельные экземпляры классификаторов, такие как объекты и связи.
    Класс (class) – абстрактное описание множества однородных объектов, имеющих одинаковые атрибуты, операции и отношения с объектами других классов.
    Графически изображается в виде прямоугольника, который дополнительно может быть разделен горизонтальными линиями на разделы или секции (рис. 1). В этих секциях могут указываться имя класса, атрибуты и операции класса. Даже если секции атрибутов и операций пусты, в обозначении класса они должны быть выделены горизонтальной линией.
    Рисунок 49 – Варианты графического изображения класса на диаграмме классов
    В первом случае для класса Окружность (рис. 2, а) указаны только его атрибуты – точка на координатной плоскости, которая определяет расположение ее центра. Для класса Окно (рис. 2, б) указаны только его операции, при этом секция его атрибутов оставлена пустой. Для класса Счет (рис. 2, в) дополнительно изображена четвертая секция, в которой указано требование – реализовать резервное копирование объектов этого класса.
    Рисунок 50 – Примеры графического изображения конкретных классов

    38
    Имя класса должно быть уникальным в пределах пакета, который может содержать одну или несколько диаграмм классов. Имя класса записывается по центру секции имени полужирным шрифтом и должно начинаться с заглавной буквы.
    В секции имени класса могут также находиться стереотипы или ссылки на стандартные шаблоны, от которых образован данный класс и, соответственно, от которых он наследует атрибуты и операции. Здесь также могут записываться и другие общие свойства этого класса.
    Класс может иметь или не иметь экземпляров или объектов. В зависимости от этого в языке UML
    различают конкретные и абстрактные классы.
    Конкретный класс (concrete class) – класс, на основе которого могут быть непосредственно созданы экземпляры или объекты.
    Рассмотренные выше обозначения относятся к конкретным классам.
    Абстрактный класс (abstract class) – класс, который не имеет экземпляров или объектов.
    Для обозначения имени абстрактного класса используется курсив.
    Атрибут (attribute) – содержательная характеристика класса, описывающая множество значений, которые могут принимать отдельные объекты этого класса.
    Атрибут класса служит для представления отдельного свойства или признака, который является общим для всех объектов данного класса. Каждому атрибуту класса соответствует отдельная строка текста, которая состоит из квантора видимости атрибута, имени атрибута, его кратности, типа значений атрибута и, возможно, его исходного значения.
    Общий формат записи отдельного атрибута класса следующий:
    <квантор видимости> <имя атрибута> [кратность] : <тип атрибута> = <исходное значение> {строка- свойство}
    Видимость (visibility) – качественная характеристика описания элементов класса, характеризующая потенциальную возможность других объектов модели оказывать влияние на отдельные аспекты поведения данного класса.
    Видимость в языке UML специфицируется с помощью квантора видимости (может быть опущен), который может принимать одно из 4-х возможных значений и отображаться при помощи специальных символов.

    "+" – область видимости типа общедоступный (public). Атрибут с этой областью видимости доступен или виден из любого другого класса пакета, в котором определена диаграмма.

    "#" – область видимости типа защищенный (protected). Атрибут недоступен или невиден для всех классов, за исключением подклассов данного класса.

    "-" – область видимости типа закрытый (private). Атрибут недоступен или невиден для всех классов без исключения.

    "

    " – область видимости типа пакетный (package). Атрибут недоступен или невиден для всех классов за пределами пакета, в котором определен класс-владелец данного атрибута.
    Вместо условных графических обозначений можно записывать соответствующее ключевое слово: public, protected, private, package.
    Имя атрибута используется в качестве идентификатора соответствующего атрибута и поэтому должно быть уникальным в пределах данного класса. Имя атрибута - обязательный элемент, должно начинаться со строчной (малой) буквы и не должно содержать пробелов.
    Кратность (multiplicity) – спецификация области значений допустимой мощности, которой могут обладать соответствующие множества.
    Тип атрибута представляет собой выражение, семантика которого определяется некоторым типом данных, определенным в пакете Типы данных языка UML или самим разработчиком, или в зависимости от языка программирования, который предполагается использовать для реализации данной модели.
    Исходное значение служит для задания начального значения соответствующего атрибута в момент создания отдельного экземпляра класса. Если оно не указано, то значение соответствующего атрибута не определено на момент создания нового экземпляра класса.
    Пояснительный текст в фигурных скобках может означать две различные конструкции. Если в этой строке имеется знак равенства, то вся запись Строка-свойство служит для указания дополнительных свойств атрибута, которые могут характеризовать особенности изменения значений атрибута в ходе выполнения программы. Фигурные скобки как раз и обозначают фиксированное значение соответствующего атрибута для класса в целом, которое должны принимать все вновь создаваемые

    39 экземпляры класса без исключения. Это значение принимается за исходное значение атрибута, которое не может быть переопределено в последующем.
    Отсутствие строки-свойства по умолчанию трактуется так, что значение соответствующего атрибута может быть изменено в программе.
    Знак "/" перед именем атрибута указывает на то, что данный атрибут является производным от некоторого другого атрибута этого же класса.
    Операция (operation) – это сервис, предоставляемый каждым экземпляром или объектом класса по требованию своих клиентов, в качестве которых могут выступать другие объекты, в том числе и экземпляры данного класса.
    Общий формат записи отдельной операции класса следующий:
    <квантор видимости> <имя операции>(список параметров):
    <выражение типа возвращаемого значения> {строка-свойство}
    Квантор видимости операции аналогичен квантору видимости атрибутов.
    Имя операции – обязательный элемент, должно начинаться со строчной (малой) буквы, и записываться без пробелов.
    Список параметров является перечнем разделенных запятой формальных параметров, каждый из которых, в свою очередь, может быть представлен в следующем виде:
    <направление параметра> <имя параметра> : <выражение типа> = <значение параметра по умолчанию>
    Параметр (parameter) – спецификация переменной операции, которая может быть изменена, передана или возвращена.
    Выражение типа возвращаемого значения указывает на тип данных значения, которое возвращается объектом после выполнения соответствующей операции. Две точки и выражение типа возвращаемого значения могут быть опущены, если операция не возвращает никакого значения. Для указания нескольких возвращаемых значений данный элемент спецификации операции может быть записан в виде списка отдельных выражений.
    Кроме внутреннего устройства классов важную роль при разработке проектируемой системы имеют различные отношения между классами, которые также могут быть изображены на диаграмме классов.
    Базовые отношения, изображаемые на диаграммах классов:
    ‒ отношение ассоциации (association relationship);
    ‒ отношение обобщения (generalization relationship);
    ‒ отношение агрегации (aggregation relationship);
    ‒ отношение композиции (composition relationship).
    Отношение ассоциации соответствует наличию произвольного отношения или взаимосвязи между классами. Оно обозначается сплошной линией со стрелкой или без нее и с дополнительными символами, которые характеризуют специальные свойства ассоциации.
    В качестве простого примера ненаправленной бинарной ассоциации можно рассмотреть отношение между двумя классами – классом «Компания» и классом «Сотрудник» (рис. 3). Они связаны между собой бинарной ассоциацией «Работает». Для данного отношения определен следующий порядок чтения следования классов - сотрудник работает в компании.
    Рисунок 51 – Графическое изображение ненаправленной бинарной ассоциации между классами
    Направленная бинарная ассоциация изображается сплошной линией с простой стрелкой на одной из ее концевых точек. Направление этой стрелки указывает на то, какой класс является первым, а какой
    – вторым.

    40
    В качестве простого примера направленной бинарной ассоциации можно рассмотреть отношение между двумя классами – классом «Клиент» и классом «Счет» (рис. 4). Они связаны между собой бинарной ассоциацией с именем «Имеет», для которой определен порядок следования классов. Это означает, что конкретный объект класса «Клиент» всегда должен указываться первым при рассмотрении взаимосвязи с объектом класса «Счет», например, <клиент, счет_1, счет_2,…, счет_n>.
    Рисунок 52 – Графическое изображение направленной бинарной ассоциации между классами
    Частный случай отношения ассоциации – так называемая исключающая ассоциация (Xor-association).
    Семантика данной ассоциации указывает на то, что из нескольких потенциально возможных вариантов данной ассоциации в каждый момент времени может использоваться только один.
    На диаграмме классов исключающая ассоциация изображается пунктирной линией, соединяющей две и более ассоциации (рис. 5), рядом с которой записывается ограничение в форме строки текста в фигурных скобках: {xor}.
    Рисунок 53 – Графическое изображение исключающей ассоциации между тремя классами
    Отношение обобщения является отношением классификации между более общим элементом
    (родителем или предком) и более частным или специальным элементом (дочерним или потомком).
    Менее общий элемент модели должен быть согласован с более общим элементом и может содержать дополнительную информацию. Отношение обобщения описывает иерархическое строение классов и наследование их свойств и поведения.
    Согласно одному из главных принципов методологии ООП – наследованию, класс-потомок обладает всеми свойствами и поведением класса-предка, а также имеет собственные свойства и поведение, которые могут отсутствовать у класса-предка.
    Отношение обобщения обозначается сплошной линией с треугольной стрелкой на одном из концов
    (рис. 6). Стрелка указывает на более общий класс (класс-предок или суперкласс), а ее начало – на более специальный класс (класс-потомок или подкласс).
    Рисунок 54 – Графическое изображение отношения обобщения в языке UML
    От одного класса-предка одновременно могут наследовать несколько классов-потомков. т.е. в класс- предок входит несколько линий со стрелками.
    Пример: класс «Транспортное средство» (курсив обозначает абстрактный класс) может выступать в качестве суперкласса для подклассов, соответствующих конкретным транспортным средствам, таким как: «Автомобиль», «Автобус», «Трактор» и другим (рис 7).

    41
    Рисунок 55 – а) Пример графического изображения отношения обобщения для нескольких классов- потомков; б) Альтернативный вариант графического изображения отношения обобщения классов для случая объединения отдельных линий
    Отношение агрегацииимеет место между несколькими классами в том случае, если один из классов представляет собой сущность, которая включает в себя в качестве составных частей другие сущности.
    Данное отношение применяется для представления системных взаимосвязей типа «часть-целое» и показывает, из каких элементов состоит система, и как они связаны между собой.
    Очевидно, что рассматриваемое в таком аспекте деление системы на составные части представляет собой иерархию, но принципиально отличную от той, которая порождается отношением обобщения.
    Отличие заключается в том, что части системы никак не обязаны наследовать ее свойства и поведение, поскольку являются самостоятельными сущностями. Более того, части целого обладают собственными атрибутами и операциями, которые существенно отличаются от атрибутов и операций целого.
    Графически отношение агрегации изображается сплошной линией, один из концов которой представляет собой не закрашенный внутри ромб. Этот ромб указывает на тот класс, который представляет собой
    «целое» или класс-контейнер. Остальные классы являются его «частями» (рис. 8).
    Рисунок 56 – Графическое изображение отношения агрегации в языке UML
    В качестве примера отношения агрегации можно рассмотреть взаимосвязь типа «часть-целое», которая имеет место между классом «Системный блок» персонального компьютера и его составными частями: «Процессор», «Материнская плата», «Оперативная память», «Жесткий диск» и «Дисковод гибких дисков» (рис. 9).
    Рисунок 57 – Диаграмма классов для иллюстрации отношения агрегации на примере системного блока ПК
    1   2   3   4   5   6   7


    написать администратору сайта