Подтвердить что ты не робот

Является ли UML по-прежнему рассматриваться как жизнеспособный способ документирования разработки программного обеспечения?

Является ли UML по-прежнему рассматриваться как жизнеспособный способ документирования дизайна программного обеспечения?

Дополнительные баллы для ссылок, подтверждающие любые претензии:)

4b9b3361

Ответ 1

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

Контекст:. Эта перспектива зависит от моей повседневной работы как архитектора, который должен проектировать сотни систем/программного обеспечения, 10 000 часов + усилий и поддерживать согласованную документацию и практику для портфеля систем. Это означает, что мне приходилось многократно сталкиваться с качеством документации, согласованностью и определением.

Резюме: Что еще есть? Конечно, вы можете обсуждать уровни документации, UML действительно лучше, чем чтение кода для условной логики? Скорее всего, нет, но в целом нет реальной альтернативы, если пространство проблем достаточно велико.

Если UML - это не что иное, то для документации и связи. "UML Distilled", написанный Мартином Фаулером, который является почти стандартом дезактома для книг UML, придерживается такого мнения. Фаулер, если я правильно прочитал, полагает, что первичное использование UML файлов предназначено для связи, какая документация - просто статический. Не так много характеристик низкого уровня и генерации кода.

IBM, Borland, Microsoft и Eclipse поддерживают UML с большими сложными инструментами. Многие другие мелкие или целевые поставщики также предоставляют инструменты UML. Я не знаю более приемлемого/внедренного стандарта диаграммы/моделирования.

Кроме того, рассмотрите альтернативы, какая схема обозначения более распространена? Почему бы не использовать то, что знают большинство людей. Большинство колледжей/университетов, если они учат диаграмме или моделированию, используют UML. Помимо некоторых стилей потоков или условных логических схем там не так много, хорошо документированы и стандартизованы.

Стандартная нотация еще важнее того, что знают большинство людей. В крупных проектах вы не всегда можете прочитать код, поговорить с человеком, который его написал, или попросить делового партнера, что они хотят снова. Именно здесь важны стандарты. Несогласованное использование вызовет путаницу, и это действительно будет, если людям разрешено изобретать или добавлять к символам неформальным способом. Кроме того, вы не хотите создавать документ и всегда должны объяснять, что вы имели в виду.

Никогда не изобретайте, если у вас тоже есть, что является наиболее вероятной альтернативой UML. Подумайте об этом каждый раз, когда новый человек присоединяется к команде или компании. Что означает коробка, стрелка? Может ли эта стрелка соединиться с этим треугольником в этом направлении, и что это значит? Вы в основном должны изобретать язык/модель, специфичную для домена. Таким образом, вам нужна обучающая презентация, учебные пособия, примеры, обзорная работа, учебные занятия по расписанию, поддержка изобретенного метода документации и т.д. Тогда вы, конечно же, переключите партнеров по задаче или наняли нового человека, и вам придется делать это снова и снова. Позвольте людям сосредоточиться на изучении систем, а не на вашем методе документации, или если они должны сделать это передаваемыми знаниями или навыками, такими как UML. Позвольте специалистам сосредоточиться на кодировании и разработке, не изобретая стандарт документации/диаграммы.

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

Действительные дополнительные вопросы:

  • Что я должен визуализировать визуально с помощью UML, где могут записываться комментарии к коду?
  • Какой диапазон или аспекты важнее?
  • Что может быть последовательным набором артефактов, которые работают для моих систем или приложений? (Это важный вопрос, если вы работаете на предприятии с сотнями приложений/систем).
  • Где мы храним документацию и делаем ее доступной для поиска и обнаружения.

Ответ 2

Мышление - единственный жизнеспособный способ разработки программного обеспечения.
UML иногда рассматривается как жизнеспособный способ частично описать дизайн, который вы придумали.

Ответ 3

UML - это стандартная нотация для представления дизайна, это не процесс или подход.

Ответ 4

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

IMO, UML теперь широко рассматривается как то, что на самом деле представляет собой: стандарт для многих диаграмм, необходимых для анализа и дизайна оо. Это действительно самый популярный используемый стандарт диаграммы. Есть больше инструментов, и все больше людей знают UML, а затем любой другой стиль диаграммы.

Ответ 5

Я предпочитаю использовать autogenerated UML (исходный код → UML) для визуализации реализации системы. Я считаю, что статическая документация часто бесполезна и иногда вводит в заблуждение.

Ответ 6

UML - это способ визуального представления дизайна, а не самого самого метода проектирования. Это просто инструмент, который вы используете в своих путешествиях. Насколько я знаю, он по-прежнему широко распространен в мире разработки программного обеспечения, поскольку он является стандартным и может использоваться для эффективного обмена идеями между двумя людьми (поэтому он называется языком).

Ответ 7

UML должен использоваться как инструмент связи. Это, безусловно, эффективный способ передачи дизайна и дает разработчикам общий язык для обсуждения этих проектов перед реализацией.

Лучший способ документировать ваш дизайн - это написать чистый код. UML, как и вся другая документация, стремится к энтропии.

Вот лучшая ссылка, которую я мог найти

Ответ 8

UML может стать частью процесса проектирования и реализации. Enterprise Architect имеет отличные инструменты для первоначального проектирования. UML падает, когда это не подкрепляется их дополнительными инструментами повторного импорта после настройки для обновления дизайна. Это действительно хорошая работа по отображению вашей текущей структуры и позволяет добавлять детали с точки зрения других диаграмм UML (использовать случаи, диаграммы состояний, макеты пользовательского интерфейса и т.д.).

К сожалению, UML действительно не использует для этого полный потенциал на практике.

Ответ 9

UML, как отметил @John Topley, представляет собой стандартную нотацию для описания аспектов объектно-ориентированного дизайна, поэтому ваш вопрос не имеет смысла.

Лично я считаю, что диаграммы классов являются наиболее полезным аспектом UML; Я редко разбираюсь в большинстве других вещей, так как мне легче писать короткую описательную документацию, объясняющую взаимодействия и поведение. Однако диаграммы классов предоставляют разумный обзор архитектуры.

Следует иметь в виду, что вы не должны слишком беспокоиться о написании "идеального" (то есть нормативного) UML; самое главное - убедиться, что люди понимают ваш дизайн. Тем не менее, будьте осторожны в случайном злоупотреблении обозначением, потому что это может смутить людей, которые ожидают, что вещи будут иметь конкретное значение. Если вы сомневаетесь, комментируйте текст, чтобы понять, что происходит.

Ответ 10

UML - это больше способ визуализировать дизайн системы, а не процесс создания этого дизайна. Хотя возможность визуализации помогает процессу разработки.

Как мне кажется, мне нравится и использовать UML при разработке более чем базовой архитектуры.

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

Он служит хорошей ссылкой для того, чтобы заставить людей ускорить работу системы, и это полезно, когда вы вернетесь к этому коду позже и скажете: "Как я снова это задумал?"

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

Ответ 11

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

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

Ответ 12

Обсуждение Как представить архитектуру вашего корпоративного приложения с использованием UML 2.0 и более, которое проводит Paulo Merson на JavaOne 2006, описывает различные подходы к документирование архитектуры, как с UML, так и без него. Более подробная информация приведена в Архитектурная документация, взгляды и последующий подход (V & B), описывающий подход, поддерживаемый Институтом программного обеспечения (SEI).

Ответ 13

UML - это только метод визуализации некоторых аспектов дизайна программного обеспечения. Он не может использоваться отдельно для документирования дизайна.