Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Диаграмма размещения
Физическое представление программной системы не может быть полным, если отсутствует информация о том, на какой платформе и на каких вычислительных средствах она реализована. Для представления общей конфигурации и топологии распределенной программной системы в UML предназначены диаграммы размещения. Диаграмма размещения предназначена для визуализации элементов и компонентов программы, существующих лишь на этапе ее исполнения. При этом представляются только компоненты-экземпляры программы, являющиеся исполняемыми файлами или динамическими библиотеками. Те компоненты, которые не используются на этапе исполнения, на диаграмме развертывания не показываются. Так, компоненты с исходными текстами программ могут присутствовать только на диаграмме компонентов. На диаграмме размещения они не указываются. Диаграмма размещения отражает физические взаимосвязи между программными и аппаратными компонентами системы. Она является хорошим средством для того, чтобы показать маршруты перемещения объектов и компонентов в распределенной системе. Каждый узел на диаграмме размещения представляет собой некоторый тип вычислительного устройства - в большинстве случаев, часть аппаратуры. Эта аппаратура может быть простым устройством или датчиком, а может быть и мэйнфреймом.
Рисунок 14. Диаграмма размещений Закрашенные части диаграммы представляют собой процессоры, то есть компьютеры, которые могут обрабатывать данные. Здесь это сервер базы данных, касса и клиент - сервер компьютеров. Не закрашенные - устройства, неспособные обрабатывать данные. В данном случае, это принтер и совокупность экранов, используемых для отображения и ввода информации. Диаграмма размещения содержит графические изображения процессоров, устройств, процессов и связей между ними. В отличие от диаграмм логического представления, диаграмма размещения является единой для системы в целом, поскольку должна всецело отражать особенности ее реализации. Разработка диаграммы размещения, как правило, является последним этапом спецификации модели программной системы. 2.7. Генерация программного кода С++
Язык C++ является одним из наиболее широко применяемых на практике объектно-ориентированных языков. В Rational Rose 2000 предусмотрена возможность генерации программного кода C++, а также интеграции с языком Visual C++ v6 компании Microsoft. Для генерации программного кода на стандартном C++ необходимо: - создать компоненты; - определить компоненты для классов; - установить свойства генерации программного кода; - выбрать класс или компонент для генерации на диаграмме классов или компонентов; - для генерации выбрать Tools > C++ > Code Generation; - выбрать в меню Tools > C++ > Browse Header или Browse Body для просмотра сгенерированного программного кода. В C++ создание компонентов для классов (файла реализации и заголовочного файла) является необязательным. Rational Rose генерирует файлы *. cpp и *. h для каждого класса. Тем не менее, настоятельно рекомендуется создавать компоненты, что позволит управлять отображением классов на компоненты и моделировать зависимости между компонентами. При генерации с помощью Rational Rose 2000 программного кода Visual C++ применяется программа-мастер. Для запуска этого мастера необходимо выбрать Tools > Visual C++ Update Code, после чего стартует инструментальное средство обновления. Для генерации программного кода Rational Rose 2000 выбирает нужные для генерации кода сведения из всех данных, вводимых в окнах спецификации различных элементов модели. Ниже представлен листинг сгенерированного программного кода на языке С++:
#include "База данных РЖД.h" { //##ModelId=5550A1B00063 База данных РЖД::add ticket() };
{ //##ModelId=5550A60C0296 База данных РЖД::proverit reis() };
{ //##ModelId=5550A76D0361 База данных РЖД::proverit nalichie svobodnyh mest() };
{ //##ModelId=5550A791004A База данных РЖД::opname() };
#ifndef БАЗА_ДАННЫХ_РЖД_H_HEADER_INCLUDED_AAAE103A #define БАЗА_ДАННЫХ_РЖД_H_HEADER_INCLUDED_AAAE103A
//##ModelId=55509E470079 class База данных РЖД: public Менеджер транзакции { public: //##ModelId=5550A1B00063 add ticket();
//##ModelId=5550A60C0296 proverit reis();
//##ModelId=5550A76D0361 proverit nalichie svobodnyh mest();
//##ModelId=5550A791004A opname();
//##ModelId=5550A1EA011F Tip Poezda; //##ModelId=5550A1FF00EE Class; //##ModelId=5550A7D3036A Data; private: //##ModelId=5550A1D60361 Time; };
#endif /* БАЗА_ДАННЫХ_РЖД_H_HEADER_INCLUDED_AAAE103A */
#include "Касса РЖД.h" { //##ModelId=5550D59503E5 Касса РЖД::zapros dannyh o schete() };
{ //##ModelId=5550D5B10134 Касса РЖД::zapros klassa i vagona() };
{ //##ModelId=5550D5D001A5 Касса РЖД::vidacha kvitanciy() }; #ifndef КАССА_РЖД_H_HEADER_INCLUDED_AAAE541C #define КАССА_РЖД_H_HEADER_INCLUDED_AAAE541C
//##ModelId=55509D91035C class Касса РЖД { public: //##ModelId=5550D59503E5 zapros dannyh o schete();
//##ModelId=5550D5B10134 zapros klassa i vagona();
//##ModelId=5550D5D001A5 vidacha kvitanciy();
//##ModelId=5550D6040295 Name; //##ModelId=5550D62B022C Marshrut; //##ModelId=5550D63A01FD Tip poezda; //##ModelId=5550D64601C5 Class; private: //##ModelId=5550D61D00A5 Identification number; };
#endif /* КАССА_РЖД_H_HEADER_INCLUDED_AAAE541C */
#include "Менеджер транзакции.h"
{ //##ModelId=5550AAAE0214 Менеджер транзакции::Formirovanie zaprosa() };
{ //##ModelId=5550AAC70076 Менеджер транзакции::Otpravka zaprosa() };
{ //##ModelId=5550AAD702CC Менеджер транзакции::opname() };
{ //##ModelId=5550C900032D Менеджер транзакции::podtverzhdenie polucheniya bileta() };
{ //##ModelId=5550CB7B0117 Менеджер транзакции::Vidacha kvitancii na poluchenie() };
#ifndef МЕНЕДЖЕР_ТРАНЗАКЦИИ_H_HEADER_INCLUDED_AAAE0F5B #define МЕНЕДЖЕР_ТРАНЗАКЦИИ_H_HEADER_INCLUDED_AAAE0F5B
//##ModelId=55509E7700C8 class Менеджер транзакции { public: //##ModelId=5550AAAE0214 Formirovanie zaprosa();
//##ModelId=5550AAC70076 Otpravka zaprosa();
//##ModelId=5550AAD702CC opname();
//##ModelId=5550C900032D podtverzhdenie polucheniya bileta();
//##ModelId=5550CB7B0117 Vidacha kvitancii na poluchenie();
private: //##ModelId=5550CBA303AB Spiski; //##ModelId=5550CBC601E5 Kontactnaya informaciya; };
#endif /* МЕНЕДЖЕР_ТРАНЗАКЦИИ_H_HEADER_INCLUDED_AAAE0F5B */ #include "Экран.h" { //##ModelId=5550CC8F0176 Экран::Inicializaciya ekrana() }; { //##ModelId=5550CD9B00CD Экран::Vvjod tranzakcii() }; { //##ModelId=5550CDE1025D Экран::Vvod nachalnih dannih() };
{ //##ModelId=5550CF650065 Экран::Vibor marshruta, reisa, tipa vagona() }; #ifndef ЭКРАН_H_HEADER_INCLUDED_AAAE05C4 #define ЭКРАН_H_HEADER_INCLUDED_AAAE05C4
//##ModelId=55509E64005A class Экран { public: //##ModelId=5550CC8F0176 Inicializaciya ekrana();
//##ModelId=5550CD9B00CD Vvjod tranzakcii();
//##ModelId=5550CDE1025D Vvod nachalnih dannih();
//##ModelId=5550CF650065 Vibor marshruta, reisa, tipa vagona();
//##ModelId=5550CFA20276 Name; //##ModelId=5550D38F0395 Destination; //##ModelId=5550D399017D Data; private: //##ModelId=5550CFAA003D Identification number; }; #endif /* ЭКРАН_H_HEADER_INCLUDED_AAAE05C4 */ Date: 2015-07-24; view: 1705; Нарушение авторских прав |