Продолжается подписка на наши издания! Вы не забыли подписаться?

Visio 2002

Visio давно известна как программа для создания схем, графиков и диаграмм с удобными в применении и довольно толково себя ведущими графическими примитивами. Благодаря им она завоевала популярность при создании схем, рисунков, планов и несложных чертежей. Из простой "рисовалки" Visio постепенно превратилась в продукт с множеством возможностей, позволяющий создавать не только схемы и диаграммы, но и клиентские приложения, работающие в самых различных областях применения. Visio (еще будучи самостоятельной компанией) первой включила VBA в свой продукт. Это позволило как разрабатывать собственные решения на основе Visio, так и значительно повысить интерактивность созданных в Visio схем и диаграмм. Затем эпоха "автономного плавания" Visio закончилась столкновением с Микрософт, но, в отличие от столкнувшегося с айсбергом "Титаника", Visio осталась на плаву.

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

Позвольте, возразит нетерпеливый читатель. Для этого есть ERWin, он прекрасно работает, при чем здесь Visio? Так-то оно так, но ERWin недешев, он стоит кучу полновесных заокеанских тугриков. При всем уважении к Computer Associates, 4000 долларов – весьма серьезная сумма для небольшой софтверной фирмы.

Включение средств создания и реконструирования БД в состав Visio просто напрашивалось. Это и было сделано. Начиная с версии 5 в enterprise-версии Visio появились такие возможности (в виде дополнительного модуля), но прошло это на удивление тихо для Микрософт, без обычных маркетинговых плясок на тысячу персон и укладывания Дона Бокса в мыльную ванну. Наверное, дело того не стоило. Но к выходу Visio 2002 положение изменилось, версия Enterprise вообще исчезла с горизонта, а Visio, покинув Office, вошла в VS.Net, где именно такие возможности куда ценнее, чем рисование плана офиса. В Visio 2002 Professional, поставляемой с VS.Net Beta 2, такие возможности имеются и даже работают. Правда, не все работает одинаково хорошо – например, если выбрать в качестве шаблона Database Model Diagram, импортировать (Пункт Reverse Engineer…) структуру БД и внести требуемые изменения, удастся создать новую базу нужной структуры. По созданной точно таким же образом ER-модели этого сделать нельзя, хотя и непонятно почему. Если в ERWin существуют логическое и физическое представление БД, то здесь ничего подобного найти не удалось.

Что нового в Visio 2002

Заметного расширения набора примитивов в Visio 2002 не произошло, хотя кое-что и добавилось. Главные различия с предыдущей версией носят косметический характер. Впрочем, есть и невидимые пользователю доработки программной модели. В результате Visio 2002 стала гораздо приятнее "на ощупь", чем ее предшественница. В ней меньше глюков, и работает она несколько быстрее – впрочем, это смогут оценить только владельцы машин с большим количеством памяти. Сыграло свою роль и то, что команда разработчиков теперь принадлежит Microsoft. Visio 2002 разрабатывалась как часть Microsoft Office XP, что позволило гораздо лучше интегрировать эту программу с другими продуктами Microsoft. Вот новые и расширенные наборы примитивов:

Для нас с вами, скорее всего, какое-то значение могут иметь три последних. Стоит отметить, что в Visio наконец-то появилось средство, реализующее поиск примитивов на жестком диске, на сервере Microsoft, или и там и там одновременно. Оно пришло на смену красивому, но неработающему Shape Explorer и интересно возможностью добавления Интернет-адресов для поиска.

Есть и другие новшества:

Стоит сказать, что изменились некоторые старые шаблоны. Улучшенная интеграция с другими продуктами Microsoft позволяет, например, импортировать данные из Microsoft Project и использовать их в диаграммах. А главное – стиль работы в Visio стал более "офисным", появились мелочи, которых явно не хватало:

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

С этим связана и появившаяся возможность хранения XML-данных в документах Visio. XML-данные могут быть ассоциированы как с целым документом, так и содержаться в любой из клеток ShapeSheet – электронной таблицы, содержащей информацию о данном объекте. Подробнее об этом рассказано ниже.

Вместе с тем в новой версии не появилось ряда усовершенствований, введенных Microsoft в Office XP. Например, не удалось найти так рекламируемого SmartTag. Неприятно удивили требования к памяти – пустая, свежеоткрытая версия Visio заняла в памяти ни много ни мало 40 МБ (Рисунок 2)! Для чего ей столько нужно, неясно – предыдущей версии вполне хватало 16 MБ.

Рисунок 2.

Что исчезло в этой версии

Прежде всего стоит заметить, что исчезли Visio Technical и Enterprise. Остались только Visio Professional и Standart. Почему это произошло? Microsoft заявил, что выбор из четырех вариантов "был слишком сложен для потребителя." Что ж, оставим мнение об интеллекте своих клиентов на совести Microsoft. Они, в конце концов, сами американцы, им виднее. Другая идея в том, что Visio Network Tools add-on, используемый IT-персоналом, будет доступен по Сети с сайта Visio Network Center. Разумеется, только зарегистрированным пользователям, и совсем не даром – за $500. Кроме этого, оказалось (кто бы мог подумать?), что большинство пользователей, выполняющих моделирование сетей и баз данных, использует Visual Studio. Поэтому в Microsoft решено включить Visio 2002 в состав VS.Net. Получившие VS.Net Beta2 уже могли в этом убедиться.

Этим дело не ограничилось. Ряд шаблонов для проектирования БД и программного обеспечения исключен из поставки (Bachman, Chen ERD, Martin ERD и Booch OOD – для БД и Fusion, Jacobsen Use Cases, Nassi-Schneiderman, Rumbaugh OMT, Shlaer-Mellor, SSADM, System Structure и Yourdon And Coad – для ПО, соответственно). Visio 2002 Standart теперь практически не содержит средств проектирования БД вовсе. Наверное, по просьбам трудящихся.

В результате единственным способом получения той же функциональности, что у Visio 2000 Enterprise Edition, теперь является приобретение Visio в составе VS.Net Enterprise Edition. Которого, впрочем, пока не существует. Очевидно, что приобретение VS.Net Enterprise Edition – довольно дорогая покупка. Однако большинству серьезных фирм-разработчиков этот продукт все равно придется покупать, так что, может быть, оно и к лучшему. Стоит сказать, что пока .Net проходит бета-тестирование, можно заплатить вполне символические 15 долларов и получить вместе с бета-версией вполне лицензионную, полную и действующую (не бета-версию) Visio 2002.

Да! Чуть не забыл! Из Visio 2002 тихо, по английски, ушла поддержка Java, использовавшаяся, например, в работе с UML-моделером!

Visio, проектирование ПО и работа с БД

Начиная с Visio 2000 версий Professional и Enterprise, продукт предоставляет в распоряжение пользователя достаточно широкие возможности разработки и проектирования БД и обратного проектирования кода, написанного на поддерживаемых Visual Studio языках. Это одни из самых интересных для разработчика возможностей, поэтому на них стоит остановиться подробнее.

Visio и работа с БД

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

Рисунок 3. Мастер импорта структуры БД в Visio.

Поэтому одной из главных радостей Visio является...

<...>

Visio и проектирование ПО

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

<...>

ShapeSheet

Свойства и параметры каждого примитива хранятся в особой таблице, именуемой ShapeSheet. Примитив и его ShapeSheet – это, в сущности, два представления одной и той же информации. Любое изменение примитива немедленно отражается в клетках property его ShapeSheet-а. И, соответственно, наоборот.

Увидеть ShapeSheet несложно. Можно выбрать примитив, а затем из меню Window с помощью пункта Show ShapeSheet вызвать окно с таблицей. Можно также вызвать диалог Options из меню Tools, и на закладке Advanced пометить Run in Developer Mode. Тогда пункт Show ShapeSheet появится и в контекстном меню. Наконец, можно вывести на экран инструментальную панель Developer. На ней имеется кнопка Show ShapeSheet.

ShapeSheet состоит из множества секций, хранящих различные свойства. Самый простой способ увидеть все - открыть меню View, и выбрать Sections a All a OK.

Больше всего ShapeSheet напоминает таблицу Microsoft Excel. Если выбрать клетку, появится строка Formula, позволяющая ввести формулы с похожим на Excel синтаксисом и начинающиеся со знака равенства (= ). Формулы могу содержать ссылки на другие клетки ShapeSheet. Возможность расчета значения свойства на основании изменений других свойств делает использование ShapeSheet достаточно интересным инструментом для разработчика...

<...>

Visio и XML

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

Все типы документов Visio теперь могут быть сохранены в формате XML for Visio. Трем видам файлов Visio соответствуют три XML-формата: XML-файлы диаграмм (.vdx), XML-шаблоны (.vtx) и XML-stencil'ы (.vsx).

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

Для хранения и выборки XML-данных на уровне документа используется...

<...>

Автоматизация и создание приложений, использующих Visio

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

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

Поддержка COM Add-Ins, модулей расширения, появившихся в Microsoft Office начиная с версии 2000 – одно из нововведений Visio 2002. COM Add-ins позволяют дополнить функциональность приложений Microsoft Office, Visual Basic Editor (VBE) и Microsoft Development Environment (MDE). Возможность создания модулей расширения этих программных средств существовала и раньше, но каждое приложение работало с расширениями по-своему. Появление COM Add-ins позволило разрабатывать модули, применимые во всех вышеперечисленных приложениях – по словам Microsoft. Реальность, конечно, несколько бледнее. Поскольку каждое из приложений имеет собственную объектную модель, то, стоит вам использовать специфичные для приложения возможности объектной модели, как вы тут же лишитесь обещанной универсальности. Также не совсем верно говорить о том, что модуль COM Add-in может быть загружен любой потенциально поддерживающей его средой. Более правильно сказать, что разработчик может заставить свой модуль работать с максимально возможным количеством приложений.

COM add-in должен быть зарегистрирован для работы с Visio. Приложения определяют наличие доступных модулей расширений, просматривая секцию Add-ins в реестре Windows. Таким образом, кроме обычных для любого компонента вхождений реестра, COM Add-in должен иметь соответствующие вхождения в подразделах секции Add-ins, в нашем случае – в подразделе Visio.

Поскольку последовательность никогда не была сильной чертой разработчиков ПО, в состав VS.Net Beta2 инструментарий для разработки COM Add-in включить забыли, хотя некий обобщенный шаблон для разработки модулей расширения имеется. Беда только в том, что созданные с его помощью модули Visio не видит. Впрочем, горю можно помочь. С сайта Microsoft можно абсолютно бесплатно (то есть даром) скачать VisioCOMAddin.exe, саморазворачивающийся архив, содержащий шаблон проекта для создания таких модулей.

Разработка COM Add-ins для Visio не отличается от аналогичной разработки для любых других приложений, но объектная модель Visio, естественно, обладает неким своеобразием...

<...>

* * *

Как уже упоминалось, Visio 2002 разрабатывалась как часть Office XP. Да и на заставке Visio 2002 гордо красуется логотип Microsoft Office. Однако, как выясняется, это декоративная надпись. Комплекта Office XP, содержащего Visio, в природе не существует. Поэтому Visio придется покупать как отдельный продукт, или в составе VS.Net. Такое решение, учитывая отсутствие в составе Office сколько-нибудь заслуживающих упоминания средств работы с графикой и подготовки иллюстраций, по меньшей мере странно. Если включение Visio в VS.Net вполне оправдано, то исключение из Office – явный промах.

Стоит ли переходить на новую версию? Только в случае необходимости. Если вы не собираетесь активно разрабатывать приложения на основе Visio, такой переход не будет иметь смысла. Однако если вы ищете не очень дорогой инструмент моделирования БД (стоимость Visio 2002 Professional – около 500 USD), этот продукт вполне может стать удачной покупкой.

Прочитать статью полностью вы можете в печатной версии журнала

Copyright © 1994-2016 ООО "К-Пресс"