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

Учебное пособие 1877

.pdf
Скачиваний:
5
Добавлен:
30.04.2022
Размер:
2.61 Mб
Скачать

2.8. Окончательное построение диаграммы развертывания модели банкомата

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

1.Добавить процессор с именем: Банкомат №2, для которого задать помеченное значение в форме примечания: {адрес = ул. Парковая, д.7}, а на вкладке свойств Detail определить новый процесс и выбрать для него имяMainATM из вложенного списка.

2.Добавить процессор с именем: Банкомат №3, для которого задать помеченное значение в форме примечания: {адрес = ул. Лесная, д.9}, а на вкладке свойств Detail определить новый процесс и выбрать для него имя MainATM из вложенного списка.

3.Добавить процессор с именем: Сервер Банка, для которого на вкладке свойств Detail определить новый процесс

сименем MainBank.

4.Добавить соединение для узлов с именами Банкомат №2 и Сеть.

5.Добавить соединение для узлов с именами Банкомат №3 и Сеть.

6.Добавить соединение для узлов с именами Сервер Банка и Сеть.

Построенная

таким

 

образом диаграмма

развертывания будет

иметь

следующий

вид (рис. 3.27),

причем

для данной

диаграммы

показаны

выполняемые

на процессорах процессы и

не

показаны

процедуры

их планирования. Это

сделано по

той

причине, что при

наличии

единственного

процесса

 

планирование

ресурсов процессора теряет свое значение.

191

Рис. 3.27. Окончательный вид диаграммы развертывания разрабатываемой модели управления банкоматом

Следует отметить, что программа IBM Rational Rose 2003 не поддерживает возможности графического размещения

внутри узлов развертываемых

на них компонентов. Указать

размещение

компонентов

модели

в узлах диаграммы

развертывания можно

с

помощью

документации

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

модели

системы

управления

банкоматом

в

нотации UML может считаться завершенной.

 

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

192

SoDA), в результате чего будет открыто диалоговое окно свойств для выбора шаблонов генерации отчета. После выбора шаблонов будет автоматически сгенерирован отчет о разрабатываемой модели в формате MS Word с использованием специального средства IBM Rational SoDA, если оно доступно в системе после инсталляции IBM Rational Rose 2003.

Варианты заданий для лабораторной работы №3 представление в приложении А.

Отчет должен содержать:

Наименование и цель работы.

Краткие теоретические сведения.

Скриншоты полученных результатов выполнения.

Выводы по проделанной работе. Контрольные вопросы:

1.В чём выражается независимость компонентов?

2.Что такое стереотип? Какие стереотипы определены

вязыке UML для компонентов?

3.Для чего предназначена диаграмма развертывания?

4.Что включает в себя диаграмма развертывания?

193

3.4. Лабораторная работа № 4

Программирование для интернета с использованием

COM

1. ОБЩЕЕ ОПИСАНИЕ РАБОТЫ

1.1.Цель работы: разработать COM-интерфейс в среде

Visual Basic 6.

1.2.Содержание работы

Лабораторная работа заключается в разработке DLLприложения, реализующего COM-интерфейс.

1.3. Используемое оборудование Для выполнения лабораторной работы используется

ПЭВМ типа IBM PC, Монитор с графическим адаптером VGA

ивыше.

2.ВЫПОЛНЕНИЕ РАБОТЫ

2.1. Модель компонентных объектов

Модель компонентных объектов (Component Object Model, COM) – это спецификация, разработанная компанией Microsoft для построения программных компонентов, используемых приложениями или программами Windows для расширения своих функциональных возможностей. С помощью COM программное обеспечение, написанное на одном языке (например, на C++), может работать с программой, написанной на другом языке (скажем, на Visual Basic), без перекомпиляции программных компонентов. Это означает, что динамически подключаемую библиотеку, разработанную в C++, можно вызывать из исполняемого файла, написанного на Visual Basic. При работе с активными серверными страницами (ASP) VBScript может вызвать

194

функцию из объекта COM, созданного при помощи языка VB, C++ или любого другого. Веб-разработка с использованием технологии COM осуществляется посредством вызова в ASP функций, расположенных в COM-объектах.

Аббревиатура DCOM означает Distributed Component Object Model (Распределенная модель компонентных объектов). Эта модель функционирует аналогично COM с точки зрения построения и работы с программой, а отличается только способом применения и конфигурацией сервера. DCOM потребляет объекты COM, расположенные на других физических узлах.

Примечание. Термин "потребление" часто используется, когда речь идет о вызове программного обеспечения динамически подключаемой библиотеки (DLL) или другой библиотеки. Этот термин появился в результате изменения терминологии "клиент-сервер", описывающей взаимодействие между клиентом базы данных (программой, осуществляющей запрос или ввод данных) и самой базой. Термины "потребитель" и "провайдер" стали нормой при описании программных компонентов; они отражают процесс взаимодействия между программой, которая базируется на другой программе, и программой, которая обслуживает другую программу.

В отличие от обычного ASP-программирования, в COM-программировании активные серверные страницы используются в качестве системы организации. ASP упорядочивают HTTP-запросы в команды, осуществляют потребление COM-объектов, непосредственно выполняющих работу, и возвращают ответ клиенту. Преимуществом такого подхода является то, что программа в COM-объекте инкапсулирована в виде единого дискретного элемента, который можно целиком добавить или удалить из системы. Программное обеспечение разрабатывается таким образом, что программисты могут его использовать, но не могут изменять, поскольку к дистрибутиву исходный код не прилагается. В

195

зависимости от языка построения COM-объекта заложенные в программу машинные инструкции могут быть двоичными, выполняемыми с большей производительностью, чем языки сценариев VBScript в ASP.

Архитектура типичного COM-приложения показана на рис. 3.28.

В настоящее время COM-программирование заключается в написании библиотек DLL ActiveX с помощью языка Visual Basic 6 (VB6). Хотя объекты COM можно создавать с помощью других языков, в данной лекции мы будем работать с VB6. Проект VB6 компилируется в обычный исполняемый файл, что полностью избавляет программиста от трудностей, присущих работе с языком описания интерфейса COM (IDL) и управлению архитектурой самого объекта. VB6 является стандартным языком программирования, интегрированная среда разработки (IDE) довольно проста, и поэтому любой пользователь напишет, скомпилирует и запустит программу без особых трудностей.

Рис. 3.28. Архитектура веб-приложения COM

196

Примечание. Библиотека ActiveX DLL в VB6 является шаблоном проекта для создания COM-объекта.

2.2. Введение в Visual Basic 6

После запуска Visual Basic 6 отображается диалоговое окно New Project (Новый проект) (см. рис. 3.29), в котором выбирается тип проекта. Для построения COM-объектов вебприложения выберите ActiveX DLL и нажмите на кнопку Open (Открыть).

Рис. 3.29. Диалоговое окно нового проекта в Visual Basic 6

В VB6 можно создать проекты других типов, например, исполняемые файлы и элементы управления ActiveX. Проекты ActiveX EXE и Standard EXE обычно используются при разработке приложений. Проект исполняемого файла мы рассмотрим далее при создании тестовой программы для библиотеки DLL ActiveX. В проекте ActiveX Control мы

197

сгенерируем элемент управления ActiveX, передаваемый браузеру или используемый в приложениях рабочего стола. Из-за ограничений, связанных с разработкой программ в VB runtime, элементы управления ActiveX, написанные на VB, не подходят для веб-разработки, поскольку после установки программы на клиенте зачастую требуется перезагрузка компьютера для работы с новым элементом управления

ActiveX.

2.3. Настройка проекта ActiveX DLL

После выбора типа проекта будет создан новый проект с именем Project1 и новый класс Class1. Если сразу скомпилировать проект, то конечный файл будет называться по умолчанию Project1.dll, а идентификатор класса (CLSID), используемый для идентификации класса в команде ASP Server.CreateObject – Project1.Class1. Имена класса и проекта должны быть информативными, а не шаблонными именами по умолчанию. Классу следует присвоить имя применительно к сути создаваемого проекта, а проекту – имя, определяющее файл хранилища или исполнения, внутри которого будет находиться класс.

Примечание. Все COM-объекты, созданные с помощью проекта Active X DLL в VB6, имеют расширение

.dll.

Пусть в нашем примере веб-приложение является частью интернет-проекта по выбору параметров мебели с именем

ConfigSeat.

Объект "стул" определен в процессе сбора требований, а создаваемый класс предназначен для представления этого объекта и является частью бизнес-логики программного приложения. Данный класс логично назвать clsChair. Префикс cls определяет объект как класс. Элемент Auto List Members в функции Visual Basic IntelliSense отображает имена частей проекта и не различает классы и другие типы файлов,

198

например, модули. Использование префикса cls облегчает идентификацию класса в списке Auto List Members.

Для изменения имени класса откройте окно свойств с помощью команды View\Properties Window (Вид\Окно свойств) и выберите класс в Project Explorer (Диспетчер проектов). Исправьте имя Class1 в области Name (Имя) на clsChair (см. рис. 3.30). (Остальные параметры в окне свойств не меняйте, поскольку для этого требуются глубокие знания процесса разработки VB ActiveX. В данной лекции этот вопрос не рассматривается.)

Вы можете также изменить имя проекта, щелкнув правой кнопкой мыши на имени проекта в Project Explorer (Диспетчер проектов).

Рис. 3.30. Окно свойств класса

В диалоговом окне свойств проекта во вкладке General (Общие) имеется текстовое поле Project Name (Имя проекта), в котором отображается имя по умолчанию Project1. В нашем примере назовем проект ConfigSeat. Удалите в текстовом поле имя Project1 и введите ConfigSeat (см. рис. 3.31).

Многие программисты не знают о существовании автоматической нумерации версий в VB6. Номера версий помогают определять последнюю версию разрабатываемой

199

библиотеки DLL с помощью уникальных идентификаторов. При каждой компиляции программного кода номер версии увеличивается. Как правило, объект COM устанавливается на узел несколько раз. Потребители программного обеспечения должны использовать только одну версию (последнюю), и номера версий позволяют работать именно с этой версией. При отсутствии номеров версий для определения последней версии пришлось бы использовать дату создания файла. В некоторых ситуациях (особенно при совместной работе над проектом нескольких программистов) определение номера версии по дате не работает. Для включения автоматического присвоения номеров новым версиям проекта откройте вкладку Make (Создание) в диалоговом окне свойств проекта и отметьте опцию Auto Increment (Автоматическая нумерация). Если вы не сделаете это, ошибки в программе не возникнет. Опция Auto Increment (Автоматическая нумерация) по умолчанию не включена, но мы настоятельно рекомендуем включать ее в каждом проекте.

Рис. 3.31. Диалоговое окно свойств проекта с новым именем

ConfigSeat

200