F>>Что господа программисты могут сказать о целесообразности изучения сабжа? M.NET>>Абсолютно безполезно, только время зря тратить :)
Все зависит от того чем ты собираешься заниматься.
Если собираешься рубать на конвеере ширпотреб, где в общем все модели известны (хотя, может, и не описаны), напр. небольшие справочные системы, автоматизатия бухгалтеркой д. :), "корпоративные сайты" (в кавычках, надеюсь, понимаете что я имею в виду :) и пр., слонов, короче, всю программерскую жизнь ловить, то UML не просто бесполезен, он просто вреден, потомучто заставляет задумываться над тем что ты делаешь и правильно ли ты это делаешь, что в таком деле отнимает слишком много времени, так как в этом деле лучше сделать три плохонько спроектированные проги (все равно заплатят — никуда не денуться), чем одно хорошую, но долго.
Если же надеешься хоть когда-то заняться серьезными вещами, промышленными решениями автоматизации, крупными и сверх крупными информационными системами, програмным обеспечением научно-исследоваательской деятельности. То UML (или что-то подобное, коего море) — это must have, иначе выкинуть тя нахер от туда, там программеры не нужны, нужны только иженеры (умеющие, например, программить :).
А также зависит от того, что ты считаешь (_для себя_) продуктом "разработки програмного обеспечения" (РПО :).
Если это Код и перед ним ты прекланяешься, думаешь, что хороший код решает проблему, сделал Код и гуляй, то UML тебе тоже не впился, время тратить... и скучно.
А вот я напр. не считаю (для себя) код продуктом РПО. Вот для заказчика, да код — это продукт, он его покупает (думает, что покупает решение, а на самом деле покупает код :). А для меня код — мусор, благо он уже продан, и у меня его какбы уже и нету. А вот xp'ы набранные в процессе _проектирования_ системы, части построенных моделей — вот это то, что останется у меня, то что мое. И именно это я смогу использовать в других системах. Я вообще скептически отношусь к code reuse, что касается кода проблемной области, потому что он обычно отличается в той степени, в какой отличаются и проблемные области (вопрос о конвеере и почему там так не происходит), и тащить код из одной проблемной области в др можно, как можно писать проги в машинных кодах (а кто говорит, что нельзя?), но полученное решение будет не таким, что можно сказать, лет через 10 — _Я_ это сделал. А вот наработанные части моделей таскать вполне резонно.
Мое мнение — незнание UML (или, опять же, другого подобного инструмента), значит привязывать себя к одному языку программирования (ведь именно там остануться все наработки, если (вернее, когла) придется пересесть на другой.
Дело в том, что лчно для меня UML был просто открытием, заставившим взглянуть на все, что касается проектирования и программирования, совсем с другой точки, с тех пор я стал по другому программировать и теперь мне нравиться _что_ я делаю и _как_ я это делаю.
Thus, ruki proch ot UML, что в переводе с пуэрториканского означает, что знание UML — важно :)]