UML Modeling - В какой-то момент это стало практикой вуду на практике? - PullRequest
4 голосов
/ 07 февраля 2011

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

Диаграммы классов, которые я нашел бесценными как инструмент организации в моем программировании. Пока что варианты использования умеренно полезны.

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

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

Ответы [ 5 ]

2 голосов
/ 13 февраля 2011

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

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

Что касается вас, то моделирование - это абстрагирование от неважных деталей, поэтому могут возникнуть некоторые неясности. Дело в том, что они должны быть не важны для целей моделирования. Например, на самом деле не имеет значения, включаете ли вы все свойства ваших классов, если хотите показать структуру дизайна, например, использование некоторого образца. Вы также можете использовать открытые свойства, не беспокоясь о себе, если они являются частными полями с методами получения и установки (Java), свойствами (C #) или сгенерированными объектными методами с использованием метапрограммирования (Ruby). То же самое относится и к сценариям, полученным с использованием сценариев использования - конечно, вы не можете (и не должны пытаться) захватывать альтернативные ветви с помощью UML, но вы можете описать условия в описаниях сценариев использования достаточно, чтобы избежать двусмысленности без необходимости сначала разрабатывать систему и впоследствии обнаружив, что это неправильно.

Что касается вещей вуду - проблема в том, что UML большой, и поэтому многие разработчики не знают, как правильно его использовать, и часто создают больше беспорядка, чем ценности. Не смущайтесь общим неуважением к UML, проблема заключается в поставщиках инструментов, комитетах и ​​ленивых разработчиках ... За многими концепциями в UML стоят хорошо известные формальные модели, опирающиеся на академическую научную работу, например, диаграммы состояний взяты из диаграмм состояний Харела (http://linkinghub.elsevier.com/retrieve/pii/0167642387900359).) Так что, на мой взгляд, это не так уж и много, как вуду, в принципе, они просто перепроданы инструментами, не поддерживающими стандарт, а также стандарт пытается объединить все (это унифицированный язык. ..), но это медленно улучшается.

Моим советом для вас будет попытаться узнать, что важно - эти формализмы, методы анализа и проектирования, попробовать их на практике и решить для себя, что полезно. Если по какой-либо другой причине изучите UML, потому что это язык для анализа и проектирования, хотя он и большой, но он все же лучше, чем его ~ 50 предшественников вместе взятых:).

2 голосов
/ 07 февраля 2011

Это началось Вуду.Разработка программного обеспечения для диаграмм всегда была такой.Это способ показать на картинках, что вы хотите сказать о дизайне на человеческом языке.Если бы он был достаточно точным для генерации кода, мы бы пошли дальше и вообще отказались от шага кодирования.

Единственное, что UML привносит в старые способы, - это стандарт.Даже тогда, существует так много разных видов «стандартных» диаграмм, что мне нужно немного посмеяться, называя их стандартом.

Однако деятельность самого дизайна чрезвычайно важна длявсе, кроме самых тривиальных задач.Вопрос в том, собираетесь ли вы потратить некоторое время на предварительное проектирование своей системы, или же вы собираетесь делать это «на лету», после написания большого количества неправильного или нецензурного кода.Если вы хотите, чтобы все было сделано быстро и / или хорошо, вы должны сделать предварительный дизайн.

Это относится не только к написанию программного обеспечения BTW.Это неотъемлемая часть любой сложной творческой деятельности.Мой тесть, учитель английского на пенсии, который пишет своим детям длинные открытки, когда он уходит в отпуск, на самом деле пишет наброски для своих почтовых сообщений.Большинство мастеров и скульпторов делают тестовые рисунки первыми.

2 голосов
/ 07 февраля 2011

Нет.

Все виды и формы документации, полезны только как средство общения.Документация ради документации - это пустая трата времени.

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

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

1 голос
/ 07 февраля 2011

Из моего опыта: Не совсем.

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

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

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

0 голосов
/ 07 февраля 2011

Не в МХО.Для меня это совершенно излишне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...