ailev.ru

21 ноября 2012 · Запись

Критерии оценки софта для моделирования

Вот некоторый чеклист оценки софта для моделирования, по литературе и из набитых собственноголовно шишек: -- наличие поддерживаемого стандарта мета-модели (то есть не "уникальная мета-модель, придуманная поставщиком софта") -- альтернативные представления (прежде всего -- графическое и текстовое) -- полнота поддержки стандарта мета-модели -- возможности расширения мета-модели (особенно, если стандарт предусматривает это в мета-модели) -- поддержка модульности модели (часто модульность не предусмотрена стандартом моделирования, а каждый моделер понимает это по-своему), полноценная идентификация любой части модели -- паттерны, шаблоны моделирования -- интерфейсный сахар (типа autocomplete) -- не падать и не замедляться на очень крупных моделях -- контроль конфигурации (полноценная идентификация версионности частей модели), сравнение моделей -- многопользовательская работа (эккаунты, блокировки, доступ через интернет к общему репозиторию для редактирования, секьюрити, бэкапы, доступ к репозиторию с мобильных устройств хотя бы для просмотра). -- issue tracker с привязкой issue к модели -- возможность локализации не только имён, но и самой метамодели (полезно, когда рядом с модельером сидит эксперт и смотрит "под руку" -- на родном языке эксперта дело идёт быстрее) -- аннотирование объектов и отношений -- авторазводка/авторазмещение на странице -- редактирование размещения на странице (influence layout) -- язык скриптования моделера, наличие плагинов (валидаторов, адапторов, солверов, оптимизаторов, альтернативных обработчиков и т.д.). Сюда же -- всякие "триггеры", business rules, наличие API и прочие "обработки" и "настройки на предметную область". То есть: это платформа моделирования, или таки "просто моделер"? -- возможность создания форм для ввода (в том числе -- табличный ввод) -- генератор отчётов, -- рендеринг в векторном формате (например, .PDF) для крупных распечаток "на стену" -- импорт-экспорт модели в понятном формате (и возможность импорта-экспорта понятных фрагментов модели) -- адаптеры "из коробки" для экспорта/импорта моделей в/из других систем -- поддержка разработчика, развитое комьюнити -- анонимизация (чтобы иметь возможность послать кусок модели куда-нибудь на форум или в службу поддержки для получения помощи, но без раскрытия sensitive information) -- стандартное бинарное представление, позволяющее реификацию (включая подпись и шифрование) без перекодирования -- free as in beer (бесплатный софт, freeware), -- free as in speech (доступность исходных кодов и свобода их использования) -- ... Я пока игнорирую возможное разбиение на "условную САПР-часть" и "условную PLM-часть". Этот список можно добавлять бесконечно, но чеклисты должны быть не "для всего", а лишь "для самого важного, часто забываемого". Что я пропустил из важного?

Читать обсуждение →