Author |
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. Вот с этим - никаких трудностей. Особенно если элемент на схеме содержит информацию, позволяющую однозначно выбрать нужные данные. Например, значение ключа таблицы. |
|
|
kizif
2 Posts |
Posted - 07/26/2007 : 13:10:15
|
Спасибо за ответ. По всем пунктам естественно нужно написание кода. Трудоемкость. Примерно, сколько потребуется трудодней для реализации: "Загнать в БД и восстановить из БД"?
Наша схема это элементы (2-3 типов) и связи между ними (2- 3 типов, входящие, исходящие, обоюдные).
|
|
|
Tumanov
Russia
1198 Posts |
Posted - 07/26/2007 : 14:40:03
|
Очень важно еще, какие характеристики этих элементов Вам нужно сохранить и восстановить. Если "со всеми взаимосвязями узлов, цветами, комментариями", то может получиться очень много. Тут хорошо бы иметь перечень. Например: "- у элементов "Тип1" сохраняются координаты и Custom Properties, которых 8 штук". Плюс требования к документации, тип базы данных. Если для отладки придется устанавливать какую-то СУБД, это тоже существенно повлияет на трудоемкость. А без таких сведений оценка будет очень расплывчатой. |
|
|
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 у.е. в час. Если экспортируется больше свойств, увеличивается количество типов шейпов, требуется разработка самих шейпов, добавляются какие-то специальные функции, то это естественно сказывается на трудоемкости. Много времени занимает разработка полновесной документации. Если задача сложная, то значительно больше займет проектирование и согласование требований. Приведенную оценку можно считать лишь приблизительным ориентиром... Я специально раскрыл ее составляющие, чтобы другие разработчики могли высказать свое мнение или поспорить :) |
|
|
|
Topic |
|
|
|