All Forums
 Категория Visio
 Для заказчиков
 Visio и линки к БД
Author Previous Topic Topic Next Topic  

kizif

2 Posts

Posted - 07/25/2007 :  13:42:02
Привет всем.
Хочу узнать возможности Visio для заказа разработки:
1.
Можно ли схему в Visio загнать в БД например Oracle. И обратно, построить из нее идентичную схему.
Со всеми взаимосвязями узлов, цветами, комментариями.
2.
Как это отразится на пользователе который рисует схему.Должен ли он будет делать линки с БД каждой нарисованной ячейки вручную или БД создастся автоматом.
3.Возможно ли интерактивно при создании, или редактировании элемента схемы обратится к существующим в БД Oracle значениям таблиц для заполнения свойств этого элемента схемы.

Tumanov

Russia
1198 Posts

Posted - 07/25/2007 :  18:45:04
1.
Теоретически можно, но довольно трудоемко.
Наиболее легко связываются с базой такие схемы, в которых шейп ассоциируется со строкой таблицы БД. Например, схема ЛВС, в которой свойства каждого компьютера хранятся в базе.
Задача "загнать схему в базу, а потом восстановить" штатными средствами чаще всего не решается, нужно уже писать программу. При этом на восстановленной схеме еще и связи могут иметь несколько другую конфигурацию. То есть связь может идти между нужными объектами, но по несколько другой траектории.

2.
Распространенный вариант - мастер-шейп (в трафарете) несет информацию,с какой таблицей в БД ему связаться. При переносе шейпа на рисунок срабатывает событие, связывающее экземпляр шейпа с конкретной строкой базы. То есть вопрос решается программно.

3.
Вот с этим - никаких трудностей. Особенно если элемент на схеме содержит информацию, позволяющую однозначно выбрать нужные данные. Например, значение ключа таблицы.
Go to Top of Page

kizif

2 Posts

Posted - 07/26/2007 :  13:10:15
Спасибо за ответ.
По всем пунктам естественно нужно написание кода.
Трудоемкость.
Примерно, сколько потребуется трудодней для реализации:
"Загнать в БД и восстановить из БД"?

Наша схема это элементы (2-3 типов) и связи между ними (2- 3 типов, входящие, исходящие, обоюдные).

Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 07/26/2007 :  14:40:03
Очень важно еще, какие характеристики этих элементов Вам нужно сохранить и восстановить.
Если "со всеми взаимосвязями узлов, цветами, комментариями", то может получиться очень много. Тут хорошо бы иметь перечень. Например:
"- у элементов "Тип1" сохраняются координаты и Custom Properties, которых 8 штук".
Плюс требования к документации, тип базы данных.
Если для отладки придется устанавливать какую-то СУБД, это тоже существенно повлияет на трудоемкость.
А без таких сведений оценка будет очень расплывчатой.
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 07/26/2007 :  23:53:53
Давайте попробуем прикинуть трудоемкость по некой гипотетической задаче, а Вы можете примерить ее к своей.

Пусть рисуются схемы моделей, использующих два типа шейпов: процесс и объект. Процессы и объекты соединены одно- и двунаправленными связями.
Шейпы процесса и объекта существуют в трафарете (изображения). К ним нужно только добавить поля для связи.
Пусть у каждого типа шейпа свой набор экспортируемых свойств. Количество экспортируемых свойств примерно по 10 штук.
Для каждого типа шейпа в базе существует своя таблица. Каждый экземпляр шейпа связывается с одной строкой таблицы.
Должны выполняться функции:
1. Соединиться с базой данных - параметры соединения постоянны и закладываются в программу.
2. Экспортировать в базу всю или часть схемы. Объект экспорта задается фильтрами на форме. Это может быть один или несколько шейпов, все шейпы одного типа, вся схема. Если в базе есть данные, связанные с шейпом, они обновляются. Если нет - добавляется новая запись.
3. Импортировать из базы данные одной схемы и восстановить ранее экспортированное изображение.
4. Выбрать любой шейп, изменить его свойства и передать в базу.
5. Выбрать любой шейп и заполнить его свойства данными из базы.
6. Во время рисования схемы при переносе шейпа с трафарета на рисунок в нужной таблице базы добавляется строка и шейп связывается с этой строкой.
7. При удалении шейпа с рисунка в базе должна удаляться соответствующая строка.

Прикидываем перечень работ:
Разработка требований - 3 часа
Согласование требований - 3 часа
Проектирование - 2 часа
Разработка графических элементов
Шаблон - 1 час
Трафарет - 1 час
Шейпы - 2 часа на три типа шейпов
Разработка меню - 2 часа
Обработчики событий - 3 часа
Экспорт - 4 часа (час на каждый тип шейпа плюс 1 час общие функции)
Форма фильтров - 2 часа (Форма для выбора области экспорта: шейп, группа шейпов, вся схема)
Импорт - 4 часа (час на тип шейпа плюс 1 час общие функции)
Функционал - Никаких специальных вычислений не требуется
Разработка базы - 4 часа (Три таблички, описание полей, связей)
Справка - Интерактивная справка не делается
Отладка - 10 часов (50% к разработке)
Тестирование - 2 часа (Тщательное тестирование трудоемко. За пару часов проводятся минимальные проверки)
Поставка - 2 часа (Отослать, объяснить, ответить на вопросы по установке и настройке)
Техническая поддержка на время освоения - 2 часа
Документация - 4 часа (На краткое описание и инструкцию на 3 страничках)

Если просуммировать приведенные оценки, то получается порядка 50 часов работы. Причем работы квалифицированной, которая будет оцениваться примерно по 5 у.е. в час.
Если экспортируется больше свойств, увеличивается количество типов шейпов, требуется разработка самих шейпов, добавляются какие-то специальные функции, то это естественно сказывается на трудоемкости. Много времени занимает разработка полновесной документации. Если задача сложная, то значительно больше займет проектирование и согласование требований.
Приведенную оценку можно считать лишь приблизительным ориентиром... Я специально раскрыл ее составляющие, чтобы другие разработчики могли высказать свое мнение или поспорить :)
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)