Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
О.Н. Половикова. Методическое пособие по UML.doc
Скачиваний:
35
Добавлен:
18.03.2016
Размер:
764.42 Кб
Скачать

Типы компонентов

Существует несколько классификаций для компонентов. В качестве примера приведем несколько типов компонентов.

Спецификация и тело подпрограммы (Subprogram Specification and Body). Обычно подпрограмма не содержит определений класса. Спецификация подпрограммы – это, как правило, файл, включающий описание различных процедур и функция, а тело подпрограммы – включает программную реализацию указанных в спецификации процедур и функций на каком-то языке программирования (процедурном) (см. рис. 7.1).

Главная программа (main program). Как правило, этот компонент соответствует файлу, который является корневым (содержит корень программы). Например, если разрабатывается проект web-сайта, тогда корневым файлом является файл index.htm (см. рис. 7.2).

Рис. 7.1. Пример представления компонента типа спецификация программы и компонента типа тело подпрограммы.

Рис. 7.2. Пример представления компонента типа главная программа.

Подготовка к генерации программного кода:

Процесс генерации программного кода включает несколько этапов:

  1. Проверка модели на корректность.

  2. Создание диаграммы компонентов, указание для каждого компонента языка реализации программного кода.

  3. Соотнесение построенных классов с компонентами.

  4. Установка свойств генерации.

  5. Генерация программного кода, для выбранного класса, компонента или пакета.

В зависимости от используемого языка генерации какие-то шаги могут быть опущены или модифицированы. Например, для языка Си++ необязательно создавать компоненты, можно генерировать код класса или пакета.

Проверка модели на корректность

Ration Rose предоставляет разработчику средства для проверки модели на корректность, независимые от языка реализации. Проверку рекомендуется всегда выполнять, хотя данный этап не является необязательным. Для проверки следует выбрать Tools --> Check model. А затем проанализировать найденные ошибки в журнале ошибок.

Существуют связи между классами, принадлежащие разным пакетам, при этом между рассматриваемыми пакетами нет связи зависимости (такие ошибки называют нарушением правил доступа). Чтобы обнаружить этот тип ошибок следует выполнить: Report --> Show access violations.

Можно (следует) проверить созданную модель на соответствие правилам конкретного языка, для этого выберите tools --> c++ --> check model.

Установка свойств генерации кода

Можно перенастроить некоторые параметры генерации программного кода для атрибутов, методов, компонентов, связей и т.д. Например, одним из свойств генерации программного кода для атрибута класса на языке Си++ является параметр GenerateGetOperation, который определяет - будет ли для этого атрибута создан метод доступа в программном коде класса.

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

Генерация программного кода

В пункте меню Tools предложено несколько вариантов языков для генерации кода. Чтобы добавить или удалить соответствующие языки следует выбрать вкладку Add-In manager в пункте меню Add-Ins. После выбора класса или компонента на диаграмме выберите в меню соответствующий вариант для генерации кода.

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

Вопросы:

  1. Для каких целей предназначены диаграммы реализации?

  2. Какие существуют классификации типов компонентов?

  3. Какие источники используются для создания и спецификации компонентов, для определения связей между компонентами?

  4. Какими свойствами обладает компонент в Rational Rose?

  5. Какие существуют способы для проверки модели на корректность в Rational Rose? Примеры возможных ошибок.

Лабораторные работы

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

Лабораторная работа № 1. Принципы объектно-ориентированного проектирования.

Класс - объект

Указать несколько представителей для каждого класса.

Класс

Представители (ОБЪЕКТЫ)

Человек

Помещение

Телевизор

Книга

Наследование и свойства класса

1. Указать несколько потомков (3-4) для каждого родителя.

Предок (РОДИТЕЛЬ)

Потомки

Прибор

Ученый

Устройство отображения

Растение

2. Указать несколько родителей (2-3) для каждого потомка.

Предки (РОДИТЕЛи)

Потомок (НАСЛЕДНИК)

Футболист

Геоинформатик

Microsoft Word

Лиса

  1. Указать необходимые свойства для каждого класса.

Класс

Свойства

Данные (Атрибуты)

Действия (методы, Операции)

Автомобиль

Цветок

Пульт управления

  1. Определить недостающие классы для указанной иерархии наследования (рис. 1).

  2. Указать для каждого класса ДАННЫЕ (АТРИБУТЫ), наследуемые и «свои собственные» (рис. 1).

Рис. 1L.1. Иерархия наследования.