Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Уточнение атрибутов




Уточнение операций

В ходе выполнения лабораторной работы № 9, в процессе построения диаграмм взаимодействия (соотнесения сообщений с операциями) в классах автоматически появились операции "анализа". Обязанности классов, определенные в процессе анализа и документированные в виде операций анализа, преобразуются в операции, которые будут реализованы в коде, при этом:

- каждой операции присваивается краткое имя, характеризующее ее результат;

- определяется полная сигнатура операции (в соответствии с нотацией, принятой в языке UML);

- создается краткое описание операции, включая смысл всех ее параметров;

- задается видимость операции: public, private или protected;

- определяется область действия операции: экземпляр (операция объекта) или классификатор (операция класса);

- может быть составлено описание алгоритма выполнения операции (с использованием диаграмм деятельности в виде блок-схем, а также диаграмм взаимодействия различных объектов при выполнении операции).

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

1. В пункте меню Tools ® Options, на вкладке Diagram установить переключатели ShowAllAttributes, а переключатели SuppressAttributes и SuppressOperations выключить.

2. Добавить атрибуты классов с помощью команды NewAttribute контекстного меню класса. После добавления атрибутов, они автоматически отображаются и на диаграмме классов UseCaseRealization.

Кроме имени атрибута задаются его тип и значение по умолчанию (необязательное), при этом учитываются соглашения по именованию атрибутов, принятые в проекте и языке реализации. Также задается видимость атрибутов: public, private или protected. При необходимости определяются производные (вычисляемые) атрибуты.

Уточнение связей между классами

Уточнение связей между классами осуществляется в два этапа.

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

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

Ассоциации между граничными и управляющими классами, а также между управляющими классами и классами-сущностями вводятся на основе анализа диаграмм взаимодействия и в отличие от устойчивых структурных (семантических) связей между сущностями отражают связи, динамически возникающие между соответствующими объектами в потоке управления (в процессе работы приложения). Поскольку для ассоциаций это не свойственно, в дальнейшем (в процессе проектирования) они могут быть преобразованы в зависимости.

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

Проектирование базы данных зависит от того, какой тип СУБД используется для хранения данных СУБД - объектная или реляционная. Для объектных БД никакого проектирования не требуется, поскольку классы-сущности непосредственно отображаются в БД. Для реляционных БД классы-сущности объектной модели должны быть отображены в таблицы реляционной БД.

В Rose существует средство проверки моделей (Tools ® CheckModel), не зависящее от языка и применяемое для обеспечения корректности модели перед генерацией кода. Рекомендуется всегда выполнять такую проверку, поскольку она помогает выявить в модели неточности и ошибки, не позволяющие генерировать код надлежащим образом. Проанализируйте все ошибки, появившиеся в окне журнала.

В Rose создание компонентов и соотнесение классов с компонентами выполняется в представлении компонентов. Как и в случае классов, одним из критериев объединения компонентов в пакеты является повторное использование.

Отдельные компоненты можно создавать непосредственно на диаграмме или перетаскивать их туда из браузера. Для этого открыть диаграмму компонентов Main в представлении компонентов и с помощью кнопок PackageSpecification и PackageBody разместить соответствующие элементы на диаграмме, определить спецификацию и провести линию зависимости. Далее необходимо соотнести соответствующий класс с компонентом.

Для каждого языка в Rose предусмотрен ряд определенных свойств генерации кода. Перед генерацией кода рекомендуется анализировать эти свойства и вносить необходимые изменения.

Во время генерации кода, Rose выбирает информацию из логического и компонентного представлений модели и генерирует большой объем "скелетного" кода:

- классы - генерируются все классы модели;

- атрибуты - код включает атрибуты каждого класса, в том числе видимость, тип данных и значение по умолчанию;

- сигнатуры операций - код содержит определения операций со всеми параметрами, типами данных параметров и типом возвращаемого значения операции;

- связи - некоторые из связей модели вызывают создание атрибутов при генерации кода;

- компоненты - каждый компонент реализуется в виде соответствующего файла с исходным кодом.

 

Задание к выполнению

В соответствии с вариантом, определяющим предметную область, продолжить разработку модели проектирования ИС с использованием CASE -средства, выполнив следующие действия:

1. Уточнить и добавить атрибуты к существующим классам.

2. Уточнить операции классов.

3. Разработать и создать средствами Rose не менее трех диаграмм классов, установив между классами разные виды отношений.

4. Уточнить классы путем определения типов атрибутов, области видимости атрибутов и операций, возвращаемых операциями значений, параметров операций (использовать возможности Rose по установке значений по умолчанию, вычисляемых значений и др.).

5. Создать компоненты и соотнести с ними классы.

6. Выполнить генерацию программного кода для отдельного класса, включенного в компонент.

7. Выполнить проверку модели.

 

Контрольные вопросы

1. Этапы проектирования архитектуры системы и ее элементов?

2. Элементы представления компонентов и представления размещения в модели Rose и их назначение?

3. Этапы проектирования классов. Детализация проектных классов?

4. Уточнение операций и атрибутов классов анализа?

5. Уточнение связей между классами анализа?

6. Назначение класса, его изображение, правила именования класса, атрибута класса и операции класса?

7. Области видимости атрибутов и операций класса?

8. Виды отношений между классами?

9. Назначение диаграммы классов и ее основных элементов?

10. Назначение диаграммы компонентов и ее основных элементов?

11. Назначение диаграммы размещения и ее основных элементов?

 




Поделиться с друзьями:


Дата добавления: 2017-01-14; Просмотров: 276; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.016 сек.