Бегун.Рекомендую - рекламодателю
Здесь может быть ваша реклама
|

 Глава 8. Ищем решение

Глава 8.

Ищем решение

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

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

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

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

Иллюстрированный самоучитель по Microsoft Visio 2002, Программмы,софт,электронные книги,электронн книг,электронная библиотека,чтение электронных книг

Для того, чтобы неподготовленный пользователь имел возможность правильно использовать те или иные образы, в Microsoft Visio 2002 присутствует справочная служба Help и вспомогательные подсказки.

 

Моделирование

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

Модель

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

Иллюстрированный самоучитель по Microsoft Visio 2002, Программмы,софт,электронные книги,электронн книг,электронная библиотека,чтение электронных книг

Реальный мир

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

Дизайн

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

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

Иллюстрированный самоучитель по Microsoft Visio 2002, Программмы,софт,электронные книги,электронн книг,электронная библиотека,чтение электронных книг

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

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

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

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

 

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

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

Иллюстрированный самоучитель по Microsoft Visio 2002, Программмы,софт,электронные книги,электронн книг,электронная библиотека,чтение электронных книг

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

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

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

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

Иллюстрированный самоучитель по Microsoft Visio 2002, Программмы,софт,электронные книги,электронн книг,электронная библиотека,чтение электронных книг

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

 

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

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

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

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

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

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

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

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

  •  Обосновывать предлагаемую систему безопасности по выверенному чертежу, а также гарантировать правильный монтаж и подключение различных компонентов. То есть, продавец может устранять возникшие ошибки, не покидая здания клиента.
  •  Сверяться по базе данных с текущими ценами и оформлять перечень материалов с точной оценкой поставок работ. Таким образом клиент будет знать, на что он может рассчитывать.
Иллюстрированный самоучитель по Microsoft Visio 2002, Программмы,софт,электронные книги,электронн книг,электронная библиотека,чтение электронных книг

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

 

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

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

Иллюстрированный самоучитель по Microsoft Visio 2002, Программмы,софт,электронные книги,электронн книг,электронная библиотека,чтение электронных книг

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

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

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

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

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

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

Иллюстрированный самоучитель по Microsoft Visio 2002, Программмы,софт,электронные книги,электронн книг,электронная библиотека,чтение электронных книг

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

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

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

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

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

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

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

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

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

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

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

Иллюстрированный самоучитель по Microsoft Visio 2002, Программмы,софт,электронные книги,электронн книг,электронная библиотека,чтение электронных книг

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

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

 

Технология SmartShapes

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

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

  •  Геометрию (раскачивание, вращение, видимые и невидимые траектории)
  •  Цвет, заполнение и качество линий.
  •  Текст, включая шрифты, форматирование параграфов и ориентацию.
Иллюстрированный самоучитель по Microsoft Visio 2002, Программмы,софт,электронные книги,электронн книг,электронная библиотека,чтение электронных книг
  •  Контрольные регулировки, которые помогают пользователю настраивать образ.
  •  Точки соединения, к которым «подклеиваются» другие образы.
  •  Настройки, которые могут содержать информацию о пользователе.

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

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

Иллюстрированный самоучитель по Microsoft Visio 2002, Программмы,софт,электронные книги,электронн книг,электронная библиотека,чтение электронных книг

 

Автоматизация

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

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

Иллюстрированный самоучитель по Microsoft Visio 2002, Программмы,софт,электронные книги,электронн книг,электронная библиотека,чтение электронных книг

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

Automation

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

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

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

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

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

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

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

Примеры Visio

Visio-объекты располагаются в примере Visio — программа Microsoft 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 (Текущее).

Каждый образ представляет собой устройство, потребляющее энергию. Величина расхода энергии описывается выбранным свойством Power Consumption, к которому программа имеет доступ через свойство Cells объекта 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.ResultlU = 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(«») + _

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

 

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

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

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

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

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

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

  •  Системного архитектора, который разбирается в дизайне систем, знает толк в приложении Visio, архитектуре этого пакета и его возможностях. Системный архитектор должен заниматься техническими проблемами и дизайном решения Visio.
  •  Разработчиков образов, которые знают, как создавать полезные для решений образы, и которым знакомы инструменты и окно ShapeSheet пакета Visio. Поскольку деятельность таких разработчиков связана с созданием формул для управления поведением образов, этим людям необходимы знания математики и геометрии.
  •  Разработчиков режима автоматизации, которые разбираются в языках программирования, задействованных в данном решении (Microsoft VBA, Visual Basic или C++, в зависимости от типа интеграции, необходимой в данном решении). Разработчикам режима автоматизации необходимо общее знание Visio-образов и формул, а также знакомство с моделями Visio-объектов.
  •  Экспертов по теме разработок, которые 'Имеют обширные знания и квалификацию в области применения данного решения. Они обеспечивают остальную команду производственными или корпоративными стандартами, а также объясняют процессы, допуски и ограничения для создания программных правил.

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

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

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

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

 

Планирование образов и трафаретов

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

Перед тем как начать работу с образами, вы должны знать:

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

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

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

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

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

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

 

Планируем эскизы

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

Эскиз может включать в себя стили и обеспечивать страницы чертежей однородной сеткой и измерительной системой.

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

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

Наделив решение эскизом, вы получаете несколько преимуществ:

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

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

Автоматизация образов и эскизов

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

  •  Создания пользовательского интерфейса вашего решения. Большинство самостоятельных программ нуждаются в диалоговом ' окне или в wizard-экране для того, чтобы рассказывать пользователю о порядке действий или выдавать ему информацию о выполняемой программе.
  •  Сохранения и восстановления данных. Образы могут иметь выбранные свойства, предназначенные для подсказок пользователю (к примеру, как вводить какие-то данные или свойства образа, когда шаблон перенесен на страницу чертежа). Для того, чтобы сохранить данные и защитить их от незапланированных изменений, вы можете сделать так, что ваше решение будет размещать информацию во внешней базе данных и при необходимости брать ее оттуда.
  •  Размещения образов, настройки их свойств и связи друг с другом. В случае, если ваше решение создает чертеж, то вам необходимо определить, какие шаблоны понадобятся, куда их сбрасывать на лист, как разместить текст, какие стили необходимо использовать и в каком порядке связывать различные образы. В случае, если ваше решение «читает» рисунки или работает с существующими образами, то вам необходимо найти эти образы и убедиться в том, что они соответствуют программе. Затем вы должны настроить их свойства и формулы.

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

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

 

Объединяем свои решения с базой данных

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

Иллюстрированный самоучитель по Microsoft Visio 2002, Программмы,софт,электронные книги,электронн книг,электронная библиотека,чтение электронных книг

После отладки взаимодействия с базой данных решение может производить изменения с помощью:

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

Visio может определять указанные потребителем ячейки и связывать свойства выбранных ячеек с полями базы данных для простых решений или для создания прототипов более сложных решений. Для доступа к базам данных через ODBC (Open Database Connectivity) вы можете использовать библиотеку ОАО (Data Access Objects), поставляемую компанией Microsoft.

 

Другой подход к автоматизации

Вид программы, которую вам надо написать, зависит оттого, что вы пытаетесь сделать. Вы можете написать макрос VBA в самом документе Visio или другое приложение для контроллера автоматизации, или самостоятельную программу на языке Visual Basic или C/C++. Вы можете также написать особый тип динамически связанной библиотеки DLL, который запускается вместе с Visio и называется библиотекой Visio (VSL).

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

Автоматизация в решении Visio выполняется четырьмя основными способами. Вы можете создать:

  •  Самостоятельно исполняемый ЕХЕ-файл, который обычно пишется на Visual Basic или C++. Тем не менее его можно написать на любом языке, который поддерживает создание контроллера автоматизации ActiveX. ЕХЕ-файл легко пишется на многих языках, и обычно он довольно ясен. Однако ЕХЕ-файл должен выполняться в каком-то другом процессе, а не в контролируемом им примере Visio. Кроме того, он должен загружаться каждый раз при выполнении, а это влияет на эксплуатационные характеристики:
  • Библиотеку Visio, которая является стандартной Windows DLL с предписанной Visio входной точкой (entry point) и файловым расширением .vsl. VSL гораздо быстрее, чем ЕХЕ файл, поскольку он выполняется в том же процессе, что и Visio-при-мер, и таким образом загружается только один раз, а затем запускается из памяти. В контексте задачи вы можете определить, когда файл VSL будет видимым для пользователя. Однако VSL пишется на C++ и «уступает» ЕХЕ-файлу в гибкости — если он портится, то вместе с ним портится и пример Visio. К тому же, VSL быстрее ЕХЕ-файла только в том случае, если большая часть его процессуального времени тратится на контроль примера Visio. В случае, если же VSL затрачивает хотя бы половину своего времени на контроль другого приложения, то лучшим выбором будет программа, выполняемая в процессе этого другого приложения.
  •  Макросы VBA. Язык VBA включен в продукты Visio и может быть использован для написания макросов, создания диалоговых окон или модулей класса (class modules). Другие контроллеры VBA (к примеру, Microsoft Word и Microsoft Excel) также могут быть использованы для управления приложением Visio. Как и VSL, макросы VBA выполняются в том же процессе, что и пример Visio. Они легки в написании, поэтому с . их помощью программисты могут делать большее за меньшее время. Макросы VBA легко распространять — это и преимущество, и беда — каждый чертеж содержит копию кода VBA, которая усложняет отладку программы.

С помощью так называемого «гибридного» подхода, который использует VBA в примере Visio при загрузке и работе серверов автоматизации (DLL или ЕХЕ файлы), созданных на других языках. «Гибридный» подход поддерживает широкий диапазон архитектур и выполняется внутри процесса, если сервер автоматизации создан в виде DLL. Тем не менее гибридный подход требует более точного и аккуратного дизайна системы.

 
MKPortal©2003-2008 mkportal.it
MultiBoard ©2007-2009 RusMKPortal