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

Леонтьев Б.К. Я изучаю Microsoft Office Visio 2003 (PDF)

.pdf
Скачиваний:
681
Добавлен:
02.05.2014
Размер:
919.27 Кб
Скачать

Основы работы

101

 

 

 

ность, чтобы конечным пользователям было проще обращаться к витри не данных с запросами, касающимися только размещения или только секции.

Ограничение размера первичного ключа

Я решил ограничить размер первичного ключа фактографической таблицы Enrollment одним полем, EnrollmentID, по двум причинам. Во первых, когда первичный ключ состоит из нескольких полей, мне при шлось бы писать требующие большого времени исполнения запросы с операциями соединения по каждому из этих полей. Во вторых, если объ явить уникальный столбец первичным ключом этой таблицы, то у SQL Server будет больше возможностей оптимизировать запросы к ней.

Устранение замкнутого цикла

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

Изменение отношений

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

Кроме того, я изменил поведение отношений, заменив режим усиленной ссылочной целостности RI на режим без усиления RI для опе раций обновления и удаления записей в таблицах размерностей. Исход ное правило гласило «При удалении или обновлении записей в таблицах размерностей следует провести соответствующие каскадные операции с записями фактографической таблицы». Но ведь мой клиент собирается периодически урезать и перезагружать таблицы размерностей в соответ ствии с модификациями источника данных. В случае, если бы я оставил это правило нетронутым, в дальнейшем чрезмерно возросло бы количе

102

Основы работы

 

 

 

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

Теперь можно провести прямое проектирование в соответствии с новой архитектурой, сгенерировать базу данных и сохранить образ теку щей базы данных в модели для синхронизации последующих проектных изменений. Однако, прямое проектирование можно проводить, только имея в своем распоряжении издание Visio 2003 Enterprise Edition. В случае, если вы работаете с Visio 2003 Professional, то придется вручную писать сценарии SQL для модификации существующих таблиц или же формировать новое множество таблиц.

В отличие от Visio 2003, уже «древней» программе Visio 2003 не хватает некоторых функций, необходимых специалистам, которые зани маются моделированием данных. Несмотря на то, что Visio 2003 содер жит не слишком подробную документацию для пользователей, тем не менее, ее возможности пришлись еще тогда в 2003 году весьма кстати многим пользователям. Во всем Online Help помочь не может, но форумы и группы новостей работают активно. В случае, если вы профессиональ но занимаетесь моделированием данных, то вам обязательно стоит при обрести Visio 2003, независимо от того, как вы работаете — в одиночку или в составе команды.

Глава 11. Создание решений

В решении Visio почти всегда присутствуют образы. Программа предлагает разработчику легкий доступ к сложному графическому паке ту с набором чертежных инструментов. Кроме того, образы можно про граммировать с помощью формул в окне ShapeSheet.

Лучшие решения Visio часто начинаются на листе чертежа, где вы разрабатываете образы. Хотя программирование позволяет вам опреде лить основную часть необходимого решения, вы получите более эффек тивный и быстрый результат, воспользовавшись встроенной функцио нальностью Visio образов. В случае, если вы хотите сделать свои образы «умными», вам надо разработать такое гибкое решение, которое почти не потребует написания кодов.

Основы работы

103

 

 

 

Самый простой вид решения — это стандартный чертеж, с содер жанием, которое поддерживается пакетом Visio, плюс созданные вами образы, трафареты и эскизы. Решение, включающее в себя так называе мые Drawing assistants (вспомогательные средства), также имеет некото рое программное обеспечение, которое помогает пользователю готовить чертежи.

Использование технологии SmartShapes

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

Диаграммы

Используя Microsoft Office Visio 2003, вы можете изобразить на ди аграмме сложный процесс и объяснить его другим людям. Вы можете со здать чертеж и диаграмму из наброска или импортировать информацию относительно той или иной диаграммы из других приложений.

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

Формы

С помощью Microsoft Office Visio 2003 вы можете создавать раз личные типы чертежей, которые определенным могут поддерживать ваш бизнес: бизнес формы, географические карты и путеводители, отражаю щие на диаграмме сферу вашего бизнеса и так называемые полосные и линейные графики, которые иллюстрируют тенденции и изменения, на мечающиеся и происходящие в вашем бизнесе.

104

Визуальные решения

 

 

 

Часть 4.

Визуальные решения

Глава 1. Моделирование

В Microsoft Office Visio 2003 комбинация образов и программ, мо делирующих тот или иной проект, называется визуальным решением (Visio solution). Подобное решение обычно включает в себя трафареты (stencils) уже готовых к использованию универсальных образов.

Вы можете просто «вытащить» и «сбросить» эти трафареты на страницу для создания чертежа (нет необходимости вырисовывать их са мостоятельно).

Визуальные решения «немыслимы» так же без эскизов (templates). Имея при себе эскизы, вы получаете для нового чертежа такие образы, как параллелепипеды, цилиндры, рамки.

В случае, если вы достаточно продвинутый пользователь, то вы должны знать, что визуальные решения также могут создаваться на базе дополнительных Visio приложений (Microsoft Visual Basic), которые по могут вам «построить» чертеж, проанализировать его, а также «перемес тить» информацию из чертежа во внешний источник данных. Для того, чтобы неподготовленный пользователь имел возможность правильно ис пользовать те или иные образы, в Microsoft Office Visio 2003 присутствует справочная служба Help и вспомогательные подсказки.

Visio 2003 позволяет проектировать диаграммы в процессе моде лирования данных.

Модель

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

Визуальные решения

105

 

 

 

Реальный мир

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

Дизайн

Стиль оформления вашего решения должен соответствовать пра вильному процессу моделирования и точному его графическому отобра жению. Кроме того, ваш стиль должны уметь «читать» другие пользова тели. Например, если вы планируете реорганизацию учреждения, то пространством модели станет учреждение, а служащие — объектами это го пространства. Подобная модель может представлять собой чертеж из прямоугольников и линий, визуализирующих иерархию подчинения.

Вслучае, если же вы создаете план перемещения вашей компании

вновый офис, пространством модели станет здание, а объектами данно го пространства станут служащие, мебель и оргтехника. Чертежом такой модели может быть план офиса, на котором указаны рабочие места, ме бель и оргтехника.

Совет: Старайтесь разрабатывать образы так, чтобы они были многоразовыми и многофункциональными.

Инструмент для создания модели

Программа Visio является великолепным инструментом для со здания модели. С его помощью вы можете не только разместить объекты в пространстве, но и поэтапно развивать соответствующую модель ваше го будущего решения. Например:

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

Пользователь может разрабатывать план переезда в другой офис, расставляя образы служащих, мебели и оборудования на схеме нового помещения. Данные образы рекомендуется снабжать «ручками переноски», чтобы

106

Визуальные решения

 

 

 

пользователь мог перемещать объекты по плану и обеспечивать свободное пространство около дверей и выдвижных ящиков. Кроме того, можно заблокировать неприемлемое изменение размеров, чтобы пользователь случайно не заказал в свой офис мебель с большими габаритами, которая позже не «влезет» в реальное помещение.

Глава 2.

«Извлекаем» данные из модели

Чертеж Visio — это специфический взгляд на модель, а не конеч ный продукт. Решение Visio наиболее ценно тогда, когда рисунок изоб ражает модель, из которой информация извлекается автоматически. На пример, в процессе моделирования ваш чертеж может показывать все стадии процесса, но к нему можно добавить данные о стоимости каждой стадии.

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

Обоснование модели

Модели «подчиняются» правилам, которые, как раз, и диктуют объектам манеру их поведения. С другой стороны, чертеж тоже должен следовать определенным правилам — к примеру, структурная схема уч реждения с частично перекрывающимися связями и прямоугольниками менее эффективна, чем та, где эти прямоугольники расположены после довательно, а соединительные линии их огибают. Однако этого еще не достаточно — образы и весь чертеж должны выполняться так, чтобы дан ные, которые они отображают, могли быть проверены на точность. К примеру, в плане нового офиса у каждого служащего должно быть свое рабочее место (несколько служащих редко сидят за одним и тем же сто лом, а один служащий редко имеет два и более стола).

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

Визуальные решения

107

 

 

 

делены и при необходимости объединены в глобальную структуру для проверки на целостность. Таким образом решение Visio может гаранти ровать, что у одного исполнителя не будет двух непосредственных на чальников, и что работники, не задействованные в новой организацион ной схеме, получат заблаговременное извещение об их увольнении.

Глава 3.

Пример: Автоматизация продаж

Попробуем понять, как решение может моделировать реальный мир, извлекать информацию из модели и обосновывать ее. Для это рас смотрим пример, связанный с распродажей, которую устроила компания по разработке и распространению систем безопасности.

Обычно продавцы компании обзванивают потенциальных поку пателей, выясняют их потребности и комплектуют систему безопасности из компонентов, указанных в каталоге фирмы (наряду с текущими цена ми). Затем продавец рисует на бумаге схему предлагаемой системы, сооб щает покупателю ее примерную стоимость и по возвращению в офис готовит формальную заявку на продажу. В офисе по его словам составля ется конечная схема системы, уточняются цены и подсчитывается итого вая стоимость заказа, после чего оформляется документ с предложением. В случае, если клиент принимает указанные условия, то компания за ключает с ним договор и далее выполняет монтаж системы. Традицион ный подход работает нормально... если только все идет по плану. Но предположим, что в первоначальном эскизе продавец упустил какие то важные компоненты, в результате чего блоки системы были неправиль но соединены, а что то вообще осталось неподключенным. Можно так же предположить, что конечная схема не соответствует первоначальному эскизу, или каталог продавца вообще устарел, в связи с чем предлагаемая система безопасности включает в себя уже недоступные или более доро гие компоненты.

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

Решение Visio «способно» автоматизировать этот процесс. Прода вец, установив на свой «ноутбук» приложение Visio и решение по автома тизации продаж, созванивается с потенциальным клиентом. При обсуж дении требований к системе безопасности он создает предварительную

108

Визуальные решения

 

 

 

схему, просто «перетаскивая» образы из стандартного трафарета и опре деляя их точное местоположение на чертеже Visio для данного участка монтажа.

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

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

Все это позволяет продавцу:

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

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

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

Глава 4.

Пример: Использование Visio образов для создания решений

В решении Visio почти всегда присутствуют образы. Программа предлагает разработчику легкий доступ к сложному графическому паке ту с набором чертежных инструментов. Кроме того, образы можно про граммировать с помощью формул в окне ShapeSheet.

Визуальные решения

109

 

 

 

Любой Visio образ включает в себя целый ассортимент формул, задающих его атрибуты (к примеру, ширину и высоту) и режим (что дан ный образ будет делать, если пользователь щелкнет по нему мышью два раза). А поскольку Visio образы программируются формулами, вы може те сделать их похожими на объекты реального мира.

К примеру, образы, предназначенные для оборудования офиса, можно наделить «числовой» информацией и связать ее с именами со трудников или фирмами поставщиков. В этом случае ваши образы станут мощными компонентами, чье уникальное поведение в более крупном решении будет определяться формулами, которые вы для них написали.

Сочетание объектов в рисунках

В случае, если вы привыкли думать о графике, как о «мешанине» векторов, то графика Visio «даст» вам новую точку зрения.

Visio образы параметричны. Это означает, что любой Visio образ может устанавливать свою геометрию и остальные атрибуты по величине определенных параметров — одни определяются инструментальным на бором Visio, другие — самим разработчиком образа. Вместо фиксирован ной геометрии, основанной на кодировании X, Y координат, геометрия образа определяется формулами, которые динамически пересчитывают ся в процессе того, как пользователь манипулирует этим образом, а вме сто вычерчивания линий вы пользуетесь «умными» объектами и с их по мощью создаете желаемый чертеж.

110

Визуальные решения

 

 

 

A.Диаметр головки болта

B.Длина болта

C.Длина резьбы

D.Диаметр болта

E.Толщина головки болта

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

Образы в виде компонентов

Как процедура определяет функциональность программы и облег чает ее использование, так и Visio образы определяют все то, что проис ходит на странице чертежа.

Давайте рассмотрим Visio образ в виде компонента, чье устанав ливаемое по умолчанию поведение диктуется инструментальным набо ром, а уникальное поведение задается написанными вами формулами.

Решение редко состоит из одного единственного образа. Чаще для поддержки того или иного чертежа вы разрабатываете целый пакет обра зов, а затем комплектуете из них шаблоны в трафарете Visio. Шаблон — это образ в трафарете, который вы можете использовать для создания примеров, или это образы, основанные на шаблоне. Примеры наследуют большую часть своих характеристик из шаблона. Пользователи (или ва ши программы) могут «перетаскивать» шаблоны из трафарета и «опус кать» их на чертеж Visio. Трафарет облегчает применение изготовленных вами образов — одни и те же образы могут быть использованы инжене ром (для воссоздания конфигурации продукта), продавцом (для демон страции клиентам того, что они покупают) и дизайнером (для оформле ния каталога вашей линии продукции).

В первый раз, когда пользователь «сбрасывает» шаблон на страни цу чертежа, приложение Visio автоматически создает на странице пример шаблона и одновременно добавляет копию этого шаблона (шаблон доку мента) в трафарет чертежа.

Трафарет документа находится в файле чертежа. Благодаря этого мы имеем два больших преимущества:

Визуальные решения

111

 

 

 

Чертеж становится полностью автономным и перемещаемым. Создав его однажды, пользователь больше не нуждается в вашем трафарете.

Примеры шаблона наследуют атрибуты из шаблона трафарета документа.

В случае, если пользователь захочет изменить характеристики всех своих примеров в чертеже, он может отредактировать шаблон в докумен тальном трафарете.

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

На уровне примера вы можете игнорировать любую формулу, но глобальные изменения будут влиять на примеры через шаблон доку мента.

Чертеж становится перемещаемым из за того, что он содержит ко пии шаблонов. Это означает, что вам больше не нужны те трафареты, ко торые первоначально поддерживали ваши шаблоны. Для чертежа необ ходима лишь копия приложения Visio.

112

Визуальные решения

 

 

 

A.7' x 19" структурная стойка

B.Коммутатор «Galactica»

C.Онлайн 506 C

D.32 портовая патч панель

E.Lattis Sys. 5005N

F.Сервер сети «LC»

G.Двусторонняя полка

Образы сетевого оборудования можно варьировать и связывать с образами приборных стоек. Они разработаны так, что с их помощью раз работчик сети может спроектировать точную модель комнаты, в которой будет размещаться сервер сети. Индивидуальные образы соответствуют спецификациям производителя сетевого оборудования. Кроме того, раз работчик образов предусмотрел регулировку размеров и для простоты использования увеличил число соединений.

Для того, чтобы помочь пользователю создавать чертежи по ва шим шаблонам, вы должны изготовить эскиз. Эскиз может снабжать страницу чертежа готовыми образами, но, что более важно, он обеспечи вает чертеж однородной сеткой и шкалой, а также особыми стилями и уровнями. Кроме того, эскиз может открывать один или несколько тра фаретов. Когда пользователь делает чертеж, основанный на эскизе, пакет Visio открывает трафареты и создает файл нового чертежа, копируя в не го стили и другие свойства эскиза. Так же как и в случае с трафаретом, пользователь, создав однажды чертеж, уже больше не нуждается в эскизе.

Глава 5.

Технология SmartShapes

Используя технологию Visio SmartShapes, вы можете разрабаты вать образы, которые будут вести себя как изображаемые ими объекты реального мира. Это означает, что образы могут моделировать характе ристики, которые вы считаете важными и значимыми для создаваемых чертежей и диаграмм.

Вы можете сделать это с помощью формул, настройка которых подчиняет образы установленным правилам, нормам или принципам, применимым для отображаемых объектов. Каждый Visio образ имеет свое окно ShapeSheet, которое определяет уникальные свойства и пове дение данного образа.

Давайте считать окно ShapeSheet особым окном свойств данного образа, в котором каждое свойство устанавливается числом или форму лой. Когда пользователь работает с образом, эти формулы динамически

Визуальные решения

113

 

 

 

пересчитываются. Вы можете просмотреть или отредактировать форму лы образа в окне ShapeSheet. Многие свойства, которые обычно требова ли внешнего программирования, теперь можно контролировать с помо щью окна ShapeSheet.

Например, вы добавляете в меню образа несколько пунктов и де лаете это, настраивая формулы для образа в окне ShapeSheet.

Формулы могут контролировать и другие атрибуты образа. Напри

мер:

Геометрию (раскачивание, вращение, видимые и невидимые траектории)

Цвет, заполнение и качество линий.

Текст, включая шрифты, форматирование параграфов и ориентацию.

Контрольные регулировки, которые помогают пользователю настраивать образ.

Точки соединения, к которым «подклеиваются» другие образы.

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

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

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

К примеру, заостренная фигура является классическим примером по управлению Visio образами с помощью формул. Формулы для этого образа не зависят от того, каким инструментом Visio была создана сам образ (речь идет о пропорциональном изменении размеров при верти кальной или горизонтальной растяжке образа).

Когда данный образ меняет горизонтальные размеры, его текущие формулы позволяют уменьшать и расширять образ, не воздействуя на его «наконечник».

114

Визуальные решения

 

 

 

A.Основание наконечника определяется как часть высоты.

B.Все точки на основании наконечника имеют одну и ту же Х коор динату: ширина высота — 0.5.

C.Высота.

D.Высота 0.75.

E.Высота 0.5.

F.Высота 0.25.

G.Ширина.

Глава 6. Автоматизация

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

В случае, если вам знаком Microsoft Visual Basic for Applications (VBA), то вы можете пользоваться объектами все время, к примеру, таки ми органами управления, как командные кнопки, формы пользователя, базы данных и поля. Благодаря режиму автоматизации вам дается воз

Визуальные решения

115

 

 

 

можность применения и других объектов приложений. Чертежи, шабло ны, образы, а также меню и инструменты Visio — все это может стать компонентами ваших программ. Вы либо запускаете программу в Visio, либо раскрываете приложение Visio, после чего добираетесь до нужных вам объектов.

Microsoft Office Visio 2003 содержит объекты VBA, поэтому при на писании программ вам не нужно использовать отдельную разработан ную рабочую среду. Однако программы для управления инструменталь ными набором Visio можно писать на любом языке, лишь бы этот язык поддерживал режим Automation в качестве контроллера. Большая часть примеров данного руководства написана на VBA, но указанные принци пы применимы к любому языку программирования.

Automation

Automation — это средство, благодаря которому программа пишет ся на VBA, Microsoft Visual Basic, C/C++ или на другом языке програм мирования, позволяющем режиму автоматизации вовлекать функ циональность приложения (к примеру, приложения Visio) простым использованием его объектов. В режиме Automation приложение, «по ставляющее» объекты (иногда его называют приложением провайдера или сервером автоматизации), делает эти объекты доступными для дру гих приложений, а также определяет те свойства и методы, которые их и контролируют (так называемая экспозиция объектов.)

Приложение провайдера и приложение контроллера

Приложение, которое использует объекты (к примеру, ваша про грамма, иногда называемая приложением контроллера или клиентом ре жима автоматизации), создает примеры объектов, а затем устанавливает и использует их свойства и методы с тем, чтобы заставить объекты «слу жить» приложению.

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

Доступ к объектам приложения

В отличие от языка сценариев, просто автоматизирующего те же действия, которые вы выполняете в пользовательском интерфейсе при ложения (выбор команд меню, нажатие ключей, набор символов на кла виатуре и т.д.), режим Automation предоставляет доступ к объектам при

116

Визуальные решения

 

 

 

ложения. Объект «сопрягает» данные, поведение и события с интерфей сом, который дает к ним доступ.

Каждый Visio объект обладает свойствами, методами и события ми, которые вы можете использовать для извлечения всех выгод и воз можностей этого объекта в вашей программе.

Примеры Visio

Visio объекты располагаются в примере Visio — программа Micro soft Visual Basic for Applications (VBA) запускается в примере приложения Visio и дает вам доступ к необходимым объектам. Внешняя программа за пускается вне примера программы Visio, поэтому она должна задейство вать саму программу Visio или обеспечить доступ к тому примеру Visio, который уже запущен в действие. После этого программа Visio может иметь дело с необходимыми ей объектами Visio. Большинство объектов в объектной модели Visio соответствуют предметам, которые вы можете просмотреть и выбрать в примере Visio.

В частности, объект Page представляет собой страницу чертежа, а объект Shape — образ на чертеже. Формулы образа представлены объек тами Cell.

Мониторинг событий и подсчет значений

Для того, чтобы понять, как решение Visio использует автоматиза цию для доступа к Visio объектам, мы рассмотрим решение, которое осу ществляет проверку событий.

Оно запускается в действие в тот момент, когда образы добавля ются к чертежу или удаляются из него. Рассматриваемое нами решение ведет подсчет энергии, которая расходуется каждым представленным об разом, и следит за тем, чтобы суммарная величина не превышала уста новленной границы.

Пример начинается с процедуры инициализации, которая прове ряет все образы на существующем чертеже. Предельное значение — это текст образа Limit. Этот текст пользователь может ввести в Limit shape на чертеже.

Функция Val VBA конвертирует текст в значение Double, которое может быть использовано для последующих вычислений. Решение про должает подсчет в определенной пользователем ячейке, названной PC (Энергетическое Потребление), в образе с именем Current (Текущее).

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

Визуальные решения

117

 

 

 

PowerConsumption, к которому программа имеет доступ через свойство Сells объекта Shape. Программа проходит по всему набору Shape объекта Page, а процедура InitWith уже просто проверяет величину расхода энер гии у каждого образа, который имеет свойство PowerConsumption. В слу чае, если полный расход энергии достигает предельной величины, на значенной для данного чертежа, то решение предупреждает об этом пользователя цветовым сигналом. Выполняется это так: величине Color cell в позиции Character Format из меню Limit shape (Char.Color), присва ивается значение 2, при котором текст образа окрашивается в красный цвет.

Option Explicit

Private WithEvents thePage As Page Private theLimit As Double

Private theCurrent As Cell

Public Sub InitWith(aPage As Page) Dim i As Integer

Set thePage = aPage

theLimit = Val(aPage.Shapes("Limit").Text)

Set theCurrent = aPage.Shapes("Current").Cells("User.PC") theCurrent.ResultIU = 0#

For i = 1 To aPage.Shapes.Count With aPage.Shapes(i)

If .CellExists("Prop.PowerConsumption", False) Then theCurrent.Result("") = theCurrent.Result("") + _

.Cells("prop.PowerConsumption").Result("") If theCurrent.Result("") > theLimit Then

aPage.Shapes("Limit").Cells("Char.Color").Result("") = 2 End If

End If

End With

Next i

End Sub

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

Private Sub thePage_ShapeAdded(ByVal Shape As Visio.IVShape) If Shape.CellExists("Prop.PowerConsumption", False) Then theCurrent.Result("") = theCurrent.Result("") + _

118

Визуальные решения

 

 

 

Shape.Cells("prop.PowerConsumption").Result("") If theCurrent.Result("") > theLimit Then

thePage.Shapes("Limit").Cells("Char.Color").Result(«») = 2 End If

End If

End Sub

Изъятие образа запускает событие BeforeShapeDelete. Хотя реше ние не может аннулировать изъятие, оно способно выполнять операции, которые требуют наличия данного образа до его действительного удале ния с чертежа. Процедура следующего события вычитает из общей сум мы величину расхода энергии удаляемого образа, а если изъятие образа приводит к падению расхода за установленный предел, то текст Limit shape окрашивается в черный цвет (0).

Private Sub thePage_BeforeShapeDelete(ByVal Shape As Visio.IVShape)

If Shape.CellExists("Prop.PowerConsumption", False) Then theCurrent.Result("") = theCurrent.Result("") — _ Shape.Cells("prop.PowerConsumption").Result("")

If theCurrent.Result("") <= theLimit Then thePage.Shapes("Limit").Cells("Char.Color").Result("") = 0 End If

End If

End Sub

Глава 7.

Планируем решения

Самый простой вид решения — это стандартный чертеж, с содер жанием, которое поддерживается пакетом Microsoft Office Visio 2003, плюс созданные вами образы, трафареты и эскизы. Решение, включаю щее в себя так называемые drawing assistants (вспомогательные средства или add ons), также имеет некоторое программное обеспечение, которое помогает пользователю готовить чертежи.

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

Визуальные решения

119

 

 

 

Планирование процесса разработки

Обычно для создания простых решений Visio, состоящих из стан дартных образов, эскизов и небольших программ, достаточно одного разработчика.

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

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

Разработчиков образов, которые знают, как создавать полезные для решений образы, и которым знакомы инструменты и окно ShapeSheet пакета Visio. Поскольку деятельность таких разработчиков связана с созданием формул для управления поведением образов, этим людям необходимы знания математики и геометрии.

Разработчиков режима автоматизации, которые разбираются в языках программирования, задействованных в данном решении (Microsoft VBA, Visual Basic или C++, в зависимости от типа интеграции, необходимой в данном решении). Разработчикам режима автоматизации необходимо общее знание Visio образов и формул, а также знакомство с моделями Visio объектов.

Экспертов по теме разработок, которые имеют обширные знания и квалификацию в области применения данного решения. Они обеспечивают остальную команду производственными или корпоративными стандартами, а также объясняют процессы, допуски и ограничения для создания программных правил.

Как только такая команда разработчиков будет собрана, начина ется следующий этап процесса разработки. Он включает в себя несколь ко пунктов:

Опрос пользователей для выяснения их требований и определения объектов планируемого решения. У пользователей выясняют, какие этапы им необходимы для выполнения задач. Затем собираются примеры находящихся в обращении чертежей, которые ваше

120

Визуальные решения

 

 

 

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

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

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

Начальная разработка образов и оценка их заказчиком, затем корректировка, основанная на обратной связи с потребителем. Полезность решения определяется тем, как его образы соответствуют нуждам потребителя. К примеру, что от вас требуется — дать пользователю множество индивидуальных образов или сделать образы многофункциональными? Каких то потребителей может устроить несколько гибких образов, которыми можно манипулировать в различных конфигурациях — причем, с гораздо большей функциональностью и с меньшей путаницей, чем в случае с трафаретом, где дается выбор многих образов. Другим пользователям может понравиться большой ассортимент предлагаемых образов.

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

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