2009-02-28 4 views
0

В настоящее время я пытаюсь нарисовать набор диаграмм UML для представления продуктов, предложений, заказов, поставок и платежей. Эти диаграммы, вероятно, были изобретены миллионом разработчиков.Где я могу найти диаграммы UML (вместо того, чтобы изобретать колесо)?

  1. Есть ли какие-либо усилия по стандартизации моделирования таких распространенных вещей? Или даже моделирование конкретных доменов (например, производство автомобилей).
  2. Знаете ли вы, существует ли какой-то репозиторий, содержащий UML-диаграммы (диаграммы классов, диаграммы последовательностей, диаграммы состояний ...)?

ответ

3

Существует движение для документирования (в отличие от стандартизации) моделей для определенных доменов. Они называются шаблонами анализа и является термином Martin Fowler. Он действительно написал книгу под названием Analysis patterns. Кроме того, у него есть dedicated section на своем веб-сайте, где он представляет некоторые из этих шаблонов, сопровождаемые диаграммами UML.

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

0

Я думаю, что вопрос MiniQuark действительно хорош и рано или поздно будет предоставлен такими поставщиками, как Omondo, Rational IBM и т. Д. ... Пользователям нужны не только инструменты, они нужны модели из коробки и просто добавляют их бизнес-правил внутри существующей четко определенной архитектуры. Зачем разрабатывать с нуля новую архитектуру, если работа уже выполнена? В Java мы используем множество фреймворков, существующих методов и т. Д., Поэтому почему бы не перейти на один уровень выше и повторно использовать архитектуру? Сегодня невозможно угадать, как будет развиваться проект, и новые требования приходят каждый день. Поэтому нам нужна стабильная архитектура, которая была проверена ранее и расширяема. Я видел так много проектов, начиная с хорошей архитектуры, а затем реализовывая в середине проекта, что это не то, что лучше, а затем меняет их архитектуру. Переименование классов, разделение классов, создание пакетов и т. Д. ... после первой итерации он становится настоящим беспорядком. Не могли бы вы представить, что мы обнаружили после 10 итераций! полный беспорядок !! Этот беспорядок можно было бы избежать, если использовать предварительно определенную модель, которая была проверена ранее, потому что отсутствующий класс или пакет и т. Д. Должны были быть созданы, и для целей архитектуры было бы достаточно переименования классов. Добавление методов бизнес-правил закончит этап кодирования перед тестом развертывания.

Я думаю, что существует путаница между шаблонами и первоначальным вопросом, который связан с использованием UML-модели. Сегодня не существует модели многоразового использования, которая была разработана. Это действительно странно, но эта работа никогда не проводилась или никогда не использовалась. Omondo попытался запустить инициативу без реального успеха. Я слышал, что они работают над сотней моделей из коробки, которые будут доступны с открытым исходным кодом и предоставлены бесплатно сообществу. Я надеюсь, что это будет сделано, потому что это действительно важно для меня и сэкономит мне много времени в начале проекта.

+0

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

3

Есть много инструментов, которые делают оба - но они, как правило, не бесплатны! Microsoft Visio делает и расширяемый, и расширяемый. Для артефактов UML они поставляются с автогенераторами в код шаблона VB/Java, но вы можете их модифицировать, чтобы автоматически генерировать любой код. Есть много пользователей Visio, которые создали модели, из которых можно использовать в качестве шаблонов.

Artisan Enterprize - это самый мощный инструмент UML (но это не дешево).

Некоторые утверждают, что Rational Rose или RUP является лучшим инструментом

Но для автомобилестроительных и других аналогичных моделей реального мира, безусловно, лучшим инструментом является Mathworks Simulink (не потому, что это один из самых дорогих) , Это, безусловно, лучший инструмент, поскольку вы можете анимировать модель - вы можете доказать, что модель работает до создания кода slik (в любой грамматике/языке/других моделях, которые вы хотите нажать)! Вы можете получить лицензию студента около 180 фунтов стерлингов; с «реальной вещью», толкающей 4000 фунтов стерлингов (для артефактов, связанных с автомобилем). Полный продукт со всей отделкой составляет около 15 тысяч фунтов. Simulink также расширяется с C-подобным языком, хотя есть и .Net addin и API, чтобы использовать множество других langhuages. И так же, как и Visio, существует всемирный форум, создающий доступные, условно бесплатные шаблоны моделей реальных игр реального мира. Многие мировые автопроизводители уже используют Simulink.