Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Добавление новых атрибутов к классу




Для добавления нового атрибута к классу нужно вызвать контекстное меню для строки Атрибуты и выбрать пункт Добавить, либо вызвать контекстное меню класса, выбрать пункт Добавить (рис. 2.7) и выбрать пункт Атрибут.

Рис. 2.7 Контекстное меню класса.

Добавление новых операций к классу

Для добавления новой операции к классу нужно вызвать контекстное меню для строки Операции и выбрать пункт Добавить, либо вызвать контекстное меню класса, выбрать пункт Добавить (рис. 2.7) и выбрать пункт Операции.

Добавление параметров к операции класса

Для добавления параметров к операции класса необходимо открыть свойства операции, выбрать вкладку Параметры, в ней по кнопке с тремя точками, после чего откроется окно настройки параметров (рис. 2.8).

Рис. 2.8 Окно добавления параметров

Создание отношений между классами.

Общее замечание. Для любого типа отношений задание его свойств осуществляется одинаковым способом - вызвать для нее контекстное меню и выбрать пункт Свойства....

Отношение зависимости.

Является наиболее общей формой отношения в языке UML. Все другие типы отношений можно считать частным случаем данного отношения. Отношение зависимости показывает, что изменение одного класса влечет изменение другого класса. Чаще всего применяется, когда один класс использует другой в качестве аргумента. Изображается пунктирной линией со стрелкой, направленной от зависимого класса к независимому.

Для создания отношения зависимости следует выбрать кнопку Зависимость на панели,затем щелкнуть мышкой по зависимому классу и не отпуская кнопки мыши перетащить стрелку на независимый класс.

Отношение ассоциации, агрегации и композиции.

Поскольку отношения ассоциации, агрегации и композиции отличаются очень незначительно, то рассмотрим работу с ними в общем.
Отношение ассоциации показывает, что один класс каким-то образом связан с другим классом (аналог связи в диаграмме «Сущность-Связь»). Изображается сплошной линией, соединяющей классы.

Отношение агрегации - частный случай ассоциации. Представляет собой отношение типа «целое/часть». Изображается в виде простой ассоциации с незакрашенным ромбом со стороны «целого». Агрегация не является наследованием, поскольку все классы-«части» в агрегации являются вполне самостоятельными, со своими атрибутами и операциями, отличающимися от атрибутов и операций класса-«целое».

Отношение композиции - частный случай агрегации. Служит для выделения специальной формы отношения «целое-часть», при которой составляющие части в некотором смысле находятся внутри целого. Специфика взаимосвязи между ними заключается в том, что части не могут выступать в отрыве от целого, т.е. с уничтожением целого уничтожаются и все его составные части. Изображается в виде сплошной линии с закрашенным ромбом возле класса «целое».

Для создания одного из приведенных выше отношений следует выбрать соответствующую кнопку на панели,затем щелкнуть мышкой по одному классу и не отпуская кнопки мыши перетащить стрелку на другой класс.

Отношение наследования

Это отношение между двумя элементами модели, при котором один элемент (клиент) реализует поведение, заданное другим (поставщиком). Изображается в виде пунктирной линии с большой незакрашенной стрелкой, указывающей на поставщика. Чаще всего наследование используют для определения отношений между интерфейсом и классом или компонентом, который предоставляет объявленные в интерфейсе операции или услуги.
Для создания отношения наследования следует выбрать кнопку Наследование на панели, затем щелкнуть мышкой по объекту-клиенту и не отпуская кнопки мыши перетащить стрелку на объект-поставщик.

 


3. Пример выполнения лабораторной работы

3.1. Создание диаграммы классов для сценария "Добавить новый заказ" прецедента "Работа с заказом"

Диаграммы классов будем рассматривать с концептуальной точки зрения. Для упрощения задачи и чтобы не загромождать диаграммы несущественными деталями методы setX, getX для каждого атрибута Х классов задавать не будем.
Создадим в Логическом представлении браузера новую диаграмму классов и назовем ее " Add New Order ". В поле документации запишем для нее следующий текст: " Диаграмма классов для сценария "Добавить новый заказ" прецедента "Работа с заказом" ".

Заполнение диаграммы начнем с определения классов-сущностей. Рассматриваемый сценарий состоит из:

· самого заказа;

· клиента, который делает заказ;

· комплектующих изделий, которые входят в заказ.

Создадим классы-сущности Order (Заказ), Client (Клиент) и ComponentPart (Комплектующее изделие). Поскольку в один заказ может входить много разных комплектующих изделий, и одно комплектующее изделие может входить во много заказов, то введем еще один класс-сущность OrderItem (Состав заказа). Опишем каждый класс.

Класс Client:

Параметр Значение
Комментарий Класс, представляющий собой клиента фирмы
Атрибуты name: String - наименование клиента address: String - адрес клиента phone: String - телефон клиента Все атрибуты имеют модификатор доступа - private
Операции AddClient() - добавление нового клиента RemoveClient() - удаление существующего клиента GetInfo() - получить информацию о клиенте Все операции имеют модификатор доступа - public

Класс Order:

Параметр Значение
Комментарий Класс, представляющий собой заказ, который делает клиент
Атрибуты orderNumber: Integer - номер заказа orderDate: Date - дата оформления заказа orderComplete: Date - дата выполнения заказа Все атрибуты имеют модификатор доступа - private
Операции Create() - создание нового заказа SetInfo() - занести информацию о заказе GetInfo() - получить информацию о заказе Все операции имеют модификатор доступа - public

Класс OrderItem:

Параметр Значение
Комментарий Класс, представляющий собой пункт заказа, который делает клиент
Атрибуты itemNumber: Integer - номер пункта заказа quantity: Integer - количество комплектующих изделий price: Double - цена за единицу Все атрибуты имеют модификатор доступа - private
Операции Create() - создание новой строки заказа SetInfo() - занести информацию о строке заказа GetInfo() - получить информацию о строке заказа Все операции имеют модификатор доступа - public

Класс ComponentPart:

Параметр Значение
Комментарий Класс, представляющий собой комплектующие изделия
Атрибуты name: String - наименование manufacturer: String - производитель price: Double - цена за единицу description - описание Все атрибуты имеют модификатор доступа - private
Операции AddComponent() - добавление нового комплектующего изделия RemoveComponent() - удаление комплектующего изделия GetInfo() - получить информацию о комплектующем изделии Все операции имеют модификатор доступа - public

 

Результат создания классов-сущностей показан на рис. 2.9:

Рис. 2.9 Созданные классы-сущности

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...