Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Проектный практикум

.pdf
Скачиваний:
397
Добавлен:
13.03.2015
Размер:
1.99 Mб
Скачать

Сервер приложения

Клиентская рабочая станция №1 Клиентская рабочая станция №2

6.На панели инструментов нажмите кнопку Device (Устройство).

7.Щелкнув мышью на диаграмме, поместите туда устройство.

8.Назовите его "Принтер".

Добавление связей

1.Нажмите кнопку Connection (Связь) панели инструментов.

2.Щелкните мышью на процессоре "Сервер базы данных".

3.Проведите линию связи к процессору "Сервер приложения".

4.Повторив шаги 1 — 3, добавьте следующие связи:

От процессора "Сервер приложения‖ к процессору "Клиентская рабочая станция №1

От процессора "Сервер приложения" к процессору "Клиентская рабочая станция №2"

От процессора "Сервер приложения" к устройству "Принтер"

Добавление процессов

1.Щелкните правой кнопкой мыши на процессоре "Сервер приложения" в браузере.

2.В открывшемся меню выберите пункт New > Process (Создать >

Процесс).

3.Введите имя процесса — OrderServerExe.

4.Повторив шаги 1 — 3, добавьте процессы:

Процесс OrderClientExe на процессоре "Клиентская рабочая станция №1"

Процесс ATMCIientExe на процессоре "Клиентская рабочая стан-

ция №2"

Отражение процессов на диаграмме

91

1.Щелкните правой кнопкой мыши на процессоре "Сервер прило-

жения".

2.В открывшемся меню выберите пункт Show Processes (Показать

процессы).

3.Повторив шаги 1 и 2, покажите процессы на следующих процес-

сорах:

Клиентская рабочая станция №1 Клиентская рабочая станция №2

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

Впредыдущих упражнениях была создана модель для системы обработки заказов. Теперь необходимо сгенерировать программный код C++ для

этой системы. С этой целью воспользуемся диаграммой

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

Упражнение 10. Генерация кода C++

Этапы выполнения упражнения

Ввод тел пакетов на диаграмму Компонентов системы

1.Откройте диаграмму Компонентов системы.

2.Выберите в браузере Entities: тело пакета Order.

3."Перетащите" тело пакета Order на диаграмму Компонентов сис-

темы.

4.Повторите пункты 2 и 3 для следующих компонентов:

Entities: тело пакета OrderItem.

Boundaries: тело пакета OrderOptions.

Boundaries: тело пакета OrderDetail.

Control: тело пакета TransactionMrg.

Control: тело пакета OrderMrg.

92

В окончательном виде после выполнения перечисленных опера-

ций диаграмма компонентов системы будет иметь вид, приведен-

ный на рис. 41.

Установка языка C++

1.Откройте спецификацию компонента Order (спецификацию паке-

та) в пакете компонентов Entities.

2.Выберите в качестве языка C++.

3.Повторите подпункты 1 и 2 для следующих компонентов:

Entities: тело пакета Order.

Entities: спецификация пакета OrderItem.

Entities: тело пакета OrderItem.

Boundaries: спецификация пакета OrderOptions.

Boundaries: тело пакета OrderOptions.

Boundaries: спецификация пакета OrderDetail.

Boundaries: тело пакета OrderDetail.

Control: спецификация пакета Transaction Mrg.

Control: тело пакета TransactionMrg.

Control: спецификация пакета OrderMrg.

Control: тело пакета OrderMrg.

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

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

93

Рис. 41. Диаграмма Компонентов системы

Упражнение 11. Генерация программного кода

1.Откройте диаграмму Компонентов системы.

2.Выполните проверку модели (Tools > Check Model).

3.Если система обнаружила ошибки в модели, устраните их.

2.Выберите все объекты на диаграмме Компонентов системы.

3.Выберите в меню Tools > ANSI C++ > Code Generation.

94

4.Откройте для просмотра сгенерированный код (Tools > ANSI C++

>Browse Header, Tools > ANSI C++ > Browse Body).

Файл OrderOptions.h

#ifndef ORDEROPTIONS_H_HEADER_INCLUDED_B1720E4D #define ORDEROPTIONS_H_HEADER_INCLUDED_B1720E4D //##ModelId=4E6CAD7E000F

class OrderOptions

{

public: //##ModelId=4E6CB29803D8 Boolean Create();

};

#endif /* ORDEROPTIONS_H_HEADER_INCLUDED_B1720E4D */

Файл OrderOptions.cpp

#include "OrderOptions.h"

//##ModelId=4E6CB29803D8

Boolean OrderOptions::Create()

{

}

Файл Order Detail.h

#ifndef ORDER_DETAIL_H_HEADER_INCLUDED_B17213B5 #define ORDER_DETAIL_H_HEADER_INCLUDED_B17213B5

//##ModelId=4E6CAE330167

class Order Order Detail

{

public:

//##ModelId=4E6CB2E9001F

Boolean Open();

//##ModelId=4E6CB3C80138

95

Boolean SubmitInfo(); //##ModelId=4E6CB756003E Boolean Save();

};

#endif /* ORDER_DETAIL_H_HEADER_INCLUDED_B17213B5 */

Файл Order Detail.cpp

#include "Order Detail.h" //##ModelId=4E6CB2E9001F Boolean Order Order Detail::Open()

{

}

//##ModelId=4E6CB3C80138

Boolean Order Order Detail::SubmitInfo()

{

}

//##ModelId=4E6CB756003E Boolean Order Order Detail::Save()

{

}

1.9.Проектирование базы данных

Упражнение 12. Проектирование реляционной базы данных

Проектирование БД состоит из следующих шагов.

Шаг 1. Создание нового компонента - базы данных:

1. Щелкните правой кнопкой мыши по представлению компонен-

тов.

2. Выберите пункт Data Modeler > New > Database в открывшемся меню.

96

3.Откройте окно спецификации вновь созданного компонента

DB_0 и в списке Target выберите Oracle 8.x (рис. 42).

Рис. 42. Окно спецификации базы данных

Ш а г 2. Определение устойчивых (persistent) классов:

1.Откройте окно спецификации класса Order в пакете Entities.

2.Перейдите на вкладку "Detail".

3.Установите значение переключателя Persistence в Persistent.

4.Проделайте такие же действия для класса OrderItem.

5.Откройте класс OrderItem в браузере.

6.Щелкните правой кнопкой мыши по атрибуту ItemID.

7.Выберите пункт Data Modeler > Part of Object Identity в от-

крывшемся меню (указание атрибута в качестве части первично-

го ключа).

Ш а г 3. Создание схемы БД:

97

1.Щелкните правой кнопкой мыши по пакету Entities.

2.Выберите пункт Data Modeler > Transform to Data Model в

открывшемся меню.

3.Укажите DB_0 и щелкните по кнопке ОК в появившемся окне в списке Target Database. В результате в логическом представлении появится новый пакет Schemas.

4.Откройте пакет Schemas и щелкните правой кнопкой мыши по пакету <<Schema» S_0.

5.Выберите пункт Data Modeler > New > Data Model Diagram в от-

крывшемся меню.

6.Откройте пакет, затем вновь созданную диаграмму "сущность-

связь" NewDiagram и перенесите на нее все классы-таблицы, находящиеся в пакете <<Schema>> S_0. Получившаяся диаграмма «Сущность-связь» при-

ведена на рис. 43.

98

Рис. 43. Диаграмма «Сущность-связь»

Упражнение 13. Генерация описания базы данных на языке SQL

После завершения проектирования БД можно сгенерировать описание базы данных на языке SQL

Для генерации описания БД:

1. Щелкните правой кнопкой мыши по пакету <<chema>>

S 0.

2. В открывшемся меню выберите пункт Data Modeler > Forward Engineerоткроется окно мастера ―Forward Engineering Wizard‖(рис. 44).

99

3.Щелкните по кнопке Next в открывшемся окне мастера

"Forward Engineering Wizard".

Рис. 44. Окно мастера Forward Engineering Wizard

4. Оставьте все флажки генерации языка описания данных

(DDL) отмеченными (рис. 45) и щелкните по кнопке Next.

100