Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК по курсу ТРПС / ТРПС - Метод-указания к ЛР.doc
Скачиваний:
55
Добавлен:
12.03.2015
Размер:
1.3 Mб
Скачать

5.3. Порядок выполнения

1. Изучить назначение элементов интерфейса RRдля построения диаграммы состояний. Рассмотреть типовой пример построения диаграммы.

2. Продолжить моделирование системы в соответствии с индивидуальным заданием в виде построения диаграммы состояний:

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

2.2. Выполнить спецификацию определённых состояний и переходов.

3. Изучить назначение элементов интерфейса RRдля построения диаграммы деятельности. Рассмотреть типовой пример построения диаграммы.

4. Продолжить моделирование системы в соответствии с индивидуальным заданием в виде построения диаграммы деятельности:

4.1. Активизировать окно диаграммы деятельности, добавить деятельности и переходы, в т.ч. при необходимости добавить символы ветвления (решения), символы соединения, переходы со сторожевым условием.

4.2. Определить при необходимости стереотипы деятельностей, выполнить спецификацию определённых переходов.

5. Оформить отчёт по результатам выполнения лабораторной работы.

5.4. Содержание отчёта

Результаты выполнения лабораторной работы необходимо представить в виде отчёта, который должен содержать следующие разделы:

1. Постановка задачи.

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

3. Окончательный вид каждой из диаграмм проектируемой системы.

5.5. Варианты заданий

Вариант индивидуального задания соответствует варианту, полученному при выполнении лабораторной работы №2.

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

1. Для чего предназначена диаграмма состояний?

2. В чём особенности построения диаграммы состояний в средеRR?

3. В чём отличие диаграммы состояний от диаграммы деятельности?

4. Используются ли диаграммы переходов состояний при генерации кода?

5. Как можно создать диаграмму переходов состояний?

6. Сколько начальных и конечных состояний может иметь диаграмма переходов состояний? Как они добавляются?

7. Как превратить обычное состояние в композитное?

8. Какие свойства состояний (переходов, деятельности) можно определить?

9. Что определяет сторожевое условие?

10. Что позволяет определитьSynchronizationна диаграмме деятельности?

6. Диаграмма компонентов

6.1. Цель работы

Целью данной работы является использование диаграммы компонентов при разработке программной системы в среде RR.

6.2. Общие сведения

Диаграмма компонентов (component diagram) служит частью физического представления модели и относится к диаграммам реализации (implementation diagram). Она является необходимой для генерации кода. Она отображает компоненты системы и зависимости между ними: компоненты – исходный код, исполняемые компоненты, библиотеки кода; зависимости – порядок компиляции. В модели может быть создано несколько диаграмм для отражения пакетов, компонентов верхнего уровня и описания содержимого каждого пакета компонентов.

В RRесть возможность работы с программными библиотеками. Можно как разрабатывать библиотеки, так и пользоваться уже готовыми. Для этого необходимо указать, какие классы в каких компонентах будут находиться. При разработке проекта разделение классов по компонентам является серьёзной задачей. Чтобы обеспечить минимальные трудозатраты на разработку и сопровождение, тесно связанные между собой классы собираются в библиотекиDLL,OCXи т.п. Этим обычно занимаются системные аналитики, проектирующие структуру ПО.

Для разработки диаграмм компонентов в браузере предназначено представление компонентов (Component View), в котором уже есть диаграмма компонентов с пустым содержанием и именемMain(Главная). Активизация диаграммы компонентов может быть выполнена одним из следующих способов:

1. Раскрыть представление компонентов и дважды щёлкнуть на значке Main.

2. В браузере щёлкнуть правой кнопкой мыши на пакете и в открывшемся меню выбрать New → Component Diagram(Создать → Диаграмма компонентов).

3. Через меню Browse → Component Diagram(Браузер → Диаграмма компонентов), указав пакет и выбрав в окне диаграммы компонентов пунктNew.

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

Таблица 6.1

Значок

Подсказка

Назначение кнопки

Selection Tool

Переключает в режим выделения элементов на диаграмме

Text Box

Добавляет на диаграмму текстовую область

Note

Добавляет на диаграмму примечание

Anchor Note to Item

Добавляет связь примечания с элементом диаграммы

Component

Добавляет на диаграмму компонент

Package

Добавляет на диаграмму пакет

Dependency

Добавляет на диаграмму отношение зависимости

Subprogram Specification

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

Subprogram Body

Добавляет на диаграмму тело подпрограммы

Main Program

Добавляет на диаграмму главную программу

Package Specification

Добавляет на диаграмму спецификацию пакета

Package Body

Добавляет на диаграмму тело пакета

Task Specification

Добавляет на диаграмму спецификацию задачи

Task Body

Добавляет на диаграмму тело задачи

Generic Subprogram

Добавляет на диаграмму типовую подпрограмму

Generic Package

Добавляет на диаграмму типовой пакет

Database

Добавляет на диаграмму базу данных

Использование стереотипов увеличивает наглядность и позволяет архитектору уточнить характер реализации модели на выбранном ЯП (табл.6.2).

Таблица 6.2

Изобра­жение

Название

Характеристика стереотипа компонента

Subprogram Specification

Спецификация подпрограммы

Содержит описание переменных и подпрограмм и не содержит определений классов.

Subprogram Body

Тело подпрограммы

Содержит реализацию подпрограмм, не относящихся к каким-либо классам, при этом не содержит определений классов или реализаций операций других классов.

Main Program

Главная программа

Реализует базовую логику работы приложения и содержит ссылки на другие компоненты модели.

Package Specification

Спецификация пакета

Содержит определение класса, его атрибутов и операций. В C++спецификации пакета соответствует файл-заголовок.

Package Body

Тело пакета

Содержит код реализации операций класса. В C++спецификации пакета соответствует файл-реализация.

Task Specification

Спецификация задачи

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

Task Body

Тело задачи

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

Generic Subprogram

Типовая подпрограмма

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

Generic Package

Типовой пакет

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

Database

База данных

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

Для добавления компонента можно использовать специальную панель инструментов, главное меню Tools → Create → Componentили контекстного меню представления компонентовNew → Component. Для удаления компонента из диаграммы выделите его и нажмите клавишуDelete. Для удаления компонента из модели выделите его и в меню модели выберитеEdit → Delete from Model.

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

Можноназначать ЯП для кодирования отдельных компонентов. Есть также возможность создавать дополнительные декларации для каждого компонента при генерации кода (вкладкаDeclarationsспецификации компонента). Декларациями называют специфичные для ЯП операторы объявления переменных, классов и т.д.

Для генерации кода класса необходимо соотнести класс с компонентом. Это позволяет определить, в каком физическом файле следует сохранить код класса. С каждым компонентом можно соотнести несколько классов. В результате в логическом представлении после имени класса появится имя соответствующего компонента, заключённое в скобки.

Для соотнесения класса с компонентом нужно открыть окно спецификации компонента, перейти на вкладку Realizes(Реализации), щёлкнуть правой кнопкой мыши на классе и в открывшемся меню выбратьAssign(Назначить). На вкладкеRealizesсодержатся все классы, которые присутствуют в модели. Классы будут показаны только при выбранном свойствеShow all classes(Показать все классы).

Для добавления зависимости между двумя компонентами нужно с помощью левой кнопки мыши нажать кнопку с изображением зависимости на специальной панели инструментов. Для наглядности можно указать в форме примечаний те классы модели, которые предполагается реализовать в данных компонентах Отношение зависимости в среде RRне имеет окна спецификации свойств. Специфицировать свойства этого отношения (имя и стереотип) можно только с помощью текстовой области.

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

Типовой пример

Пример диаграммы компонентов для модели банкомата приведён на рис.6.1. При её построении добавлены следующие компоненты и зависимости.

1. Компоненты:

1) компонент ‘MainATM.exe’: стереотип – <<EXE>>;

2) компонент ‘MainBank’: стереотип – ‘MainProgram’;

3) компонент ‘Устройства банкомата’: стереотип – ‘Task Specification’;

4) компоненты ‘Устройство чтения карточки’, ‘Клавиатура банкомата’, ‘Принтер банкомата’, ‘Экран банкомата’, ‘Устройство выдачи наличных’: стереотип – Task Body.

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

1) от компонента ‘MainATM.exe’ к компоненту ‘MainBank’;

2) от ‘MainATM.exe’ к ‘Устройства банкомата’;

3) от ‘Устройство чтения карточки’ к ‘Устройства банкомата’;

4) от ‘Клавиатура банкомата’ к ‘Устройства банкомата’;

5) от ‘Принтер банкомата’ к ‘Устройства банкомата’;

6) от ‘Экран банкомата’ к ‘Устройства банкомата’;

7) от ‘Устройство выдачи наличных’ к ‘Устройства банкомата’.

Рис.6.1. Диаграммы компонентов модели управления банкомата