Материал: Лабораторные_Архитерктура ИС

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
background image

1

03

3.

В

появившемся

окне

в

списке

 Target Database 

укажите

 DB_0 

и

нажмите

ОК

В

результате

в

логическом

представлении

появится

новый

пакет

 Schemas.

4.

Откройте

пакет

 Schemas 

и

щелкните

правой

кнопкой

мыши

на

пакете

 <<Schema>> S_0.

5.

В

открывшемся

меню

выберите

пункт

 Data Modeler > New > Data

Model Diagram.

6.

Откройте

пакет

затем

откройте

вновь

созданную

диаграмму

«

сущность

-

связь

» NewDiagram 

и

перенесите

на

нее

все

классы

-

таблицы

находящиеся

в

пакете

 <<Schema>> S_0. 

Получившаяся

диаграмма

показана

на

рис

. 3.29.

Рис

. 3.29. 

Диаграмма

 «

сущность

-

связь

»

T_Student.

+ name : NUMBER(5, 0)
+ address : NUMBER(5, 0)
+ nextAvailID : NUMBER(5, 0)
- studentID : NUMBER(5, 0)
+ dateofBirth : DATE

<<PK>> + PK_T_Student.

1

5()

T_FulltimeClassification

+ gradDate : NUMBER(5, 0)
studentID : NUMBER(5, 0)
T_Classification_ID : NUMBER(

1

0, 0)

<<PK>> + PK_T_FulltimeClassification

1

6()

<<FK>> + FK_T_FulltimeClassification7()

T_ParttimeClassification

+ maxNumCourses : NUMBER(5, 0)
studentID : NUMBER(5, 0)
T_Classification_ID : NUMBER(

1

0, 0)

<<PK>> + PK_T_ParttimeClassification

1

7()

<<FK>> + FK_T_ParttimeClassification8()

T_Classification

- T_Classification_ID : NUMBER(

1

0, 0)

studentID : NUMBER(5, 0)

<<PK>> + PK_T_Classification

1

4()

<<Unique>> + TC_T_Classification

1

8()

<<FK>> + FK_T_Classification6()
<<Index>> + TC_T_Classification

1

7()

1
1

<<Identifying>>

1

0..

1

1

0..

1

<<Identifying>>

1

0..

1

1

0..

1

<<Identifying>>

background image

1

04

Генерация

описания

БД

на

 SQL:

1

.

Щелкните

правой

кнопкой

мыши

на

пакете

 <<Schema>> S_0.

2.

В

открывшемся

меню

выберите

пункт

 Data Modeler > Forward

Engineer.

3.

В

открывшемся

окне

мастера

 Forward Engineering Wizard 

нажмите

Next.

4.

Отметьте

все

флажки

генерации

 DDL 

и

нажмите

 Next.

5.

Укажите

имя

и

расположение

текстового

файла

с

результатами

генерации

и

нажмите

 Next.

6.

После

завершения

генерации

откройте

созданный

текстовый

файл

и

просмотрите

результаты

.

3.7. 

Реализация

системы

3.7.1. 

Создание

компонентов

В

 Rational Rose 

диаграммы

компонентов

создаются

в

представлении

компонентов

системы

Отдельные

компоненты

можно

создавать

непосредственно

на

диаграмме

или

перетаскивать

их

туда

из

браузера

.

Упражнение

 15. 

Создание

компонентов

Выберем

в

качестве

языка

программирования

С

++ 

и

для

класса

Student 

создадим

соответствующие

этому

языку

компоненты

.

Создание

диаграммы

компонентов

:

1

.

Дважды

щелкните

мышью

на

главной

диаграмме

компонентов

в

представлении

компонентов

.

2.

На

панели

инструментов

нажмите

кнопку

 Package Specification.

3.

Поместите

спецификацию

пакета

на

диаграмму

.

4.

Введите

имя

спецификации

пакета

 Student 

и

укажите

в

окне

спецификации

язык

С

++.

5.

На

панели

инструментов

нажмите

кнопку

 Package Body.

6.

Поместите

тело

пакета

на

диаграмму

.

7.

Введите

имя

тела

пакета

 Student 

и

укажите

в

окне

спецификации

язык

С

++.

background image

1

05

8.

На

панели

инструментов

нажмите

кнопку

 Dependency.

9.

Проведите

линию

зависимости

от

тела

пакета

к

спецификации

пакета

.

Рис

. 3.30. 

Диаграмма

компонентов

Соотнесение

классов

с

компонентами

:

1

.

В

логическом

представлении

браузера

найдите

класс

 Student.

2.

Перетащите

этот

класс

на

спецификацию

пакета

компонента

Student 

в

представлении

компонентов

браузера

В

результате

класс

Student 

будет

соотнесен

со

спецификацией

пакета

компонента

Student.

3.

Перетащите

класс

 Student 

на

тело

пакета

компонента

 Student

в

представлении

компонентов

браузера

В

результате

класс

 Student

будет

соотнесен

с

телом

пакета

компонента

 Student.

3.7.2. 

Генерация

кода

Процесс

генерации

кода

состоит

из

четырех

основных

шагов

:

1

.

Проверка

корректности

модели

.

2.

Установка

свойств

генерации

кода

.

3.

Выбор

класса

компонента

или

пакета

.

4.

Генерация

кода

.

Student

Student

background image

1

06

Для

проверки

модели

:

1

.

Выберите

в

меню

 Tools > Check Model.

2.

Проанализируйте

все

найденные

ошибки

в

окне

журнала

.

К

наиболее

распространенным

ошибкам

относятся

такие

например

,

как

сообщения

на

диаграмме

последовательности

или

кооперативной

диаграмме

не

соотнесённые

с

операцией

либо

объекты

этих

диаграмм

,

не

соотнесённые

с

классом

.

С

помощью

пункта

меню

 Check Model 

можно

выявить

большую

часть

неточностей

и

ошибок

в

модели

Пункт

меню

 Access Violations 

позволяет

обнаруживать

нарушения

правил

доступа

возникающие

тогда

когда

существует

связь

между

двумя

классами

разных

пакетов

но

связи

между

самими

пакетами

нет

.

Чтобы

обнаружить

нарушение

правил

доступа

:

1

Выберите

в

меню

 Report > Show Access Violations.

2. 

Проанализируйте

все

нарушения

правил

доступа

в

окне

.

Можно

установить

несколько

параметров

генерации

кода

для

классов

,

атрибутов

компонентов

и

других

элементов

модели

Этими

свойствами

определяется

способ

   

генерации

программ

Для

каждого

языка

в

 Rose

предусмотрен

ряд

определенных

свойств

генерации

кода

.

Перед

генерацией

кода

рекомендуется

анализировать

эти

свойства

и

вносить

необходимые

изменения

.

Для

анализа

свойств

генерации

кода

выберите

 Tools > Options, 

а

затем

вкладку

соответствующего

языка

В

окне

списка

можно

выбрать

класс

,

атрибут

операцию

и

другие

элементы

модели

Для

каждого

языка

в

этом

списке

указаны

свои

собственные

элементы

модели

При

выборе

разных

значений

на

экране

появляются

разные

наборы

свойств

.

Любые

изменения

вносимые

в

набор

свойств

в

окне

 Tools > Options,

воздействуют

на

все

элементы

модели

,  

для

которых

используется

данный

набор

.

Иногда

нужно

изменить

свойства

генерации

кода

для

одного

класса

,

атрибута

одной

операции

и

т

.

д

Для

этого

отройте

окно

спецификации

элемента

модели

Выберите

вкладку

языка

 (C++, Java, …) 

и

измените

свойства

здесь

Все

изменения

,  

вносимые

в

окне

спецификации

элемента

модели

оказывают

влияние

только

на

этот

элемент

.

background image

1

07

При

генерации

кода

за

один

раз

можно

создать

класс

компонент

или

целый

пакет

Код

генерируется

с

помощью

диаграммы

или

браузера

.

При

генерации

кода

из

пакета

можно

выбрать

или

пакет

логического

представления

на

диаграмме

классов

или

пакет

представления

компонентов

на

диаграмме

компонентов

При

выборе

пакета

логического

представления

генерируются

все

классы

этого

пакета

При

выборе

пакета

представления

компонентов

генерируются

все

  

компоненты

этого

пакета

.

После

выбора

класса

или

компонента

на

диаграмме

выберите

в

меню

соответствующий

вариант

генерации

кода

Сообщения

об

ошибках

,

возникающих

в

процессе

генерации

кода

будут

появляться

в

окне

журнала

.

Во

время

генерации

кода

 Rose 

выбирает

информацию

из

логического

и

компонентного

представлений

модели

и

генерирует

большой

объем

«

скелетного

» (skeletal) 

кода

:

Классы

.

Генерируются

все

классы

модели

.

Атрибуты

.

Код

включает

атрибуты

каждого

класса

в

том

числе

видимость

тип

данных

и

значение

по

умолчанию

.

Сигнатуры

операций

Код

содержит

определения

операций

со

всеми

параметрами

типами

данных

параметров

и

типом

возвращаемого

значения

операции

.

Связи

Некоторые

из

связей

модели

вызывают

создание

атрибутов

при

генерации

кода

.

Компоненты

.

Каждый

компонент

реализуется

в

виде

соответствующего

файла

с

исходным

кодом

.

Упражнение

 16. 

Генерация

кода

С

++

1

.

Откройте

диаграмму

компонентов

системы

.

2.

Выберите

все

объекты

на

диаграмме

компонентов

.

3.

Выберите

 Tools > C++ > Code Generation 

в

меню

.

4.

Выполните

генерацию

кода

.

5.

Просмотрите

результаты

генерации

  (

меню

 Tools > C++ > Browse

Header 

и

 Tools > C++ > Browse Body).

Источник: https://files.student-it.ru/previewfile/15390