UML - это все еще популярный метод для разметки / предварительной разработки / визуализации программного обеспечения? - PullRequest
2 голосов
/ 09 декабря 2010

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

Ответы [ 4 ]

1 голос
/ 09 декабря 2010

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

Помимо этого, большинство групп, с которыми я работал в академических или промышленных кругах, на самом деле не используют их.Если вы хотите объяснить, почему, прочитайте « Смерть от лихорадки UML ».

0 голосов
/ 21 декабря 2010

Я думаю, что статья, на которую ссылается @chrisaycock, также может иметь следствия, например "Смерть от гибкой лихорадки", "Смерть от лихорадки CMM", "Смерть от лихорадки RT-SSADM", ...; -)

Как сказал @sfinnie, это действительно зависит от использования, но сам по себе UML - не более чем нотация.Для того, чтобы быть действительно полезным, вам нужно следовать некоторому методу разработки.@ Клиффорд пост не выдержал, я бы рекомендовал зрелый метод.Исполняемый UML начинался как Shlaer-Mellor и использовался более 19 лет.Метод Дугласа (больше не называемый ROPES, но ???) существует уже 11 лет.Унифицированный процесс основан на методах Booch, OMT и OOSE, поэтому его можно считать более 19 лет.Конечно, вы можете найти другой метод разработки UML или не-UML, который лучше соответствует вашим потребностям.

0 голосов
/ 14 декабря 2010

Однажды я посетил сессию вопросов и ответов по UML и MDA для встраиваемых систем, где в состав группы входили авторы Брюс Пауэлл Дуглас и Стивен Меллор.Ранее изучая и работая над проектами RT-SSADM и методологией Уорда-Меллора, я поставил перед Стивеном Меллором вопрос о том, почему новый способ проектирования программного обеспечения появляется каждые 10 лет, прежде чем практикующие практически не схватили или действительно не поняли последний.Возможно, он слишком честно ответил: « таким образом я продаю больше книг »!

В какой-то степени, поэтому я полагаю, что шумиха вокруг какой-либо конкретной нотации или методологии в основном обусловлена ​​поставщиками инструментов CASEи издательства;часто авторы также нанимаются поставщиками инструментов и имеют названия, такие как «Главный евангелист».

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

0 голосов
/ 09 декабря 2010

Вообще согласен с @chrisaycock. Добавил бы пару вещей:

Вы должны различать использование UML для спецификации против документации . На пике кривой обмана UML рекламировался как первый. Таким образом, процессы разработки требуют моделирования в UML перед переходом в код. Это использование значительно сократилось (хотя по-прежнему существуют карманы, использующие исполняемый файл uml, особенно в реальном времени / во встроенных средах).

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

В контексте документации диаграммы UML все чаще генерируются автоматически, а не создаются вручную, например от doxygen (как упоминает @chrisaycock).

Однако это также все еще полезно для создания эскизов проектов перед разработкой, например. на доске.

НТН.

...