Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Пример выполнения лабораторной работы. Для создания кооперативной диаграммы достаточно открыть диаграмму последовательности и нажать клавишу F5.




 

Для создания кооперативной диаграммы достаточно открыть диаграмму последовательности и нажать клавишу F5.

Далее необходимо определить обязанности (responsibilities), атрибуты и ассоциации классов Обязанность (responsibility) – действия, которые объект обязан выполнять по запросу других объектов. Обязанность преобразуется в одну или более операций класса на шаге проектирования. Обязанности определяются, исходя из сообщений на диаграммах взаимодействия, и документируются в классах в виде операций «анализа», которые появляются там автоматически в процессе построения диаграмм взаимодействия (соотнесения сообщений с операциями). Так, диаграмма классов VOPC (classes only) после построения диаграмм взаимодействия должна принять вид, изображенный на рисунке 2.16.

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

Перед добавлением атрибутов к классам необходимо выполнить предварительные настройки:

1) в меню модели выберите пункт меню Tools -> Options;

2) перейдите на вкладку Diagram;

3) убедитесь, что переключатель Show All Attributes помечен;

4) убедитесь, что переключатели Suppress Attributes и Suppress Operations не помечены.

 

Рисунок 2.16 – Диаграмма классов VOPC (classes only) с операциями «анализа»

 

 

Чтобы добавить атрибуты:

1) щелкните правой кнопкой мыши на классе Student;

2) в открывшемся меню выберите пункт New Attribute;

3) введите новый атрибут address;

4) нажмите клавишу Enter;

5) повторите шаги 1-4, добавив атрибуты name и studentID.

Добавьте атрибуты к классам CourseOffering, Shedule и PrimaryScheduleOfferingInfo, как показано на рисунке 2.17.

Связи между классами (ассоциации) определяются на основе диаграмм взаимодействия. Если два объекта взаимодействуют (обмениваются сообщениями), между ними должна существовать связь (путь взаимодействия).

 

 

Рисунок 2.17 – Классы с операциями «анализа» и атрибутами

 

 

 

Рисунок 2.18 – Диаграмма Entity Classes (классы-сущности)

 

Для ассоциаций задаются множественность и, возможно, направление навигации. Могут использоваться множественные ассоциации, агрегации и классы ассоциаций. Добавим связи к классам, принимающим участие в варианте использования Register for Courses.

 

Для отображения связей между классами построим три новые диаграммы классов в кооперации Register forCourses пакета Use-Case Realization – Register for Courses (рисунки 2.18 – 2.20).

Добавлены два новых класса – подклассы FulltimeStudent (студент очного отделения) и ParttimeStudent (студент вечернего отделения).

 

 

Рисунок 2.19 – Диаграмма CourseOfferingInfo

 

На диаграмме рисунка 2.20 показаны классы ассоциаций, описывающие связи между классами Schedule и CourseOffering и добавлен суперкласс ScheduleOfferingInfo.

Ассоциации создают непосредственно на диаграмме классов. Панель инструментов диаграммы классов содержит кнопки для создания как одно-, так и двунаправленных ассоциаций.

Чтобы на диаграмме классов создать ассоциацию:

1) нажмите на панели инструментов кнопку Association;

2) проведите мышью линию ассоциации от одного класса к другому.

 

Рисунок 2.20 – Полная диаграмма классов VOPC (без атрибутов
и операций)

 

Чтобы задать возможности навигации по ассоциации:

1) щелкните правой кнопкой мыши на связи с того конца, на котором хотите показать стрелку;

2) в открывшемся меню выберите пункт Navigable.

Чтобы создать рефлексивную ассоциацию:

1) на панели инструментов диаграммы нажмите кнопку Association;

2) проведите линию ассоциации от класса до какого-нибудь места вне класса;

3) отпустите кнопку мыши;

4) проведите линию ассоциации назад к классу.

Для создания агрегаций проделайте следующие операции:

1) нажмите кнопку Aggregation панели инструментов;

2) проведите линию агрегации от класса-части к целому.

Чтобы поместить на диаграмму классов рефлексивную агрегацию:

1) на панели инструментов диаграммы нажмите кнопку Aggregation;

2) проведите линию агрегации от класса до какого-нибудь места вне класса;

3) отпустите кнопку мыши;

4) проведите линию агрегации назад к классу.

При создании обобщения может потребоваться перенести некоторые атрибуты или операции из одного класса в другой. Если, например, понадобится перенести их из подкласса в суперкласс Employee, в браузере для этого достаточно просто перетащить атрибуты или операции из одного класса в другой. Не забудьте удалить другую копию атрибута из второго подкласса, если он имеется.

Чтобы поместить обобщение на диаграмму классов:

1) нажмите кнопку Generalization панели инструментов;

2) проведите линию обобщения от подкласса к суперклассу.

Спецификации связей касаются имен ассоциаций, ролевых имен, множественности и классов ассоциаций.

Чтобы задать множественность связи:

1) щелкните правой кнопкой мыши на одном конце связи;

2) в открывшемся меню выберите пункт Multiplicity;

3) укажите нужную множественность;

4) повторите то же самое для другого конца связи.

Чтобы задать связи ролевое имя:

1) щелкните правой кнопкой мыши на ассоциации с нужного конца;

2) в открывшемся меню выберите пункт role Name;

3) введите ролевое имя.

Чтобы задать элемент связи (класс ассоциаций):

1) откройте окно спецификации требуемой связи;

2) перейдите на вкладку Detail;

3) задайте элемент связи в поле Link Element.

Аналогично выполняется анализ варианта использования Close Registration и дальнейшее построение соответствующих диаграммы взаимодействия и классов.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных