Какие диаграммы UML Вы создаете для приложений ASP.NET?

Если вы хотите быть злым, вы можете использовать «новый» оператор на месте:

class Foo() {
    Foo() { /* default constructor deliciousness */ }
    Foo(Bar myParam) {
      new (this) Foo();
      /* bar your param all night long */
    } 
};

Кажется, работает для меня.

edit

Как указывает @ElvedinHamzagic, если Foo содержит объект, который выделил память, этот объект не может быть освобожден. Это еще более усложняет ситуацию.

Более общий пример:

class Foo() {
private:
  std::vector<int> Stuff;
public:
    Foo()
      : Stuff(42)
    {
      /* default constructor deliciousness */
    }

    Foo(Bar myParam)
    {
      this->~Foo();
      new (this) Foo();
      /* bar your param all night long */
    } 
};

Выглядит немного менее элегантно, наверняка. @ Решение JohnIdol намного лучше.

10
задан Nick 24 July 2009 в 16:39
поделиться

4 ответа

# 1 Какие диаграммы UML вы создаете в своей компании?

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

# 2 Имеет ли MS Visio возможность создавать все схемы, представленные выше?

Есть, но обычно мы не используем Visio для этого, так как существует множество инструментов, более подходящих для этой работы. Лично я предпочитаю инструменты, которые позволяют мне создавать диаграммы очень быстро, без лишней суеты. Инструменты, которые навязывают рабское соблюдение спецификации UML (или, что еще хуже, интерпретацию спецификации поставщиком инструментов), меня раздражают. Один из инструментов, который я нашел особенно полезным, - это Pacestar UML Diagrammer .

# 3 Выбираются ли диаграммы UML на основе типа разрабатываемого приложения?

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

Большинство архитекторов считают, что создание диаграмм UML не оправдывает затрат времени.

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

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

Большинство архитекторов считают, что создание диаграмм UML не оправдывает затрат времени.

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

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

Большинство архитекторов считают, что создание диаграмм UML не оправдывает затрат времени.

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

Большинство архитекторов считают, что создание диаграмм UML не оправдывает затрат времени.

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

Большинство архитекторов считают, что создание диаграмм UML не оправдывает затрат времени.

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

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

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

7
ответ дан 3 December 2019 в 22:38
поделиться

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

2
ответ дан 3 December 2019 в 22:38
поделиться

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

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

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

Разработка JavaScript и Ajax . Поддержка инструментов и визуализации слабая. Я использую UML для обдумывания и демонстрации высокоуровневого дизайна сложных приложений JavaScript. (Если вы работаете над Java-приложением, вы можете использовать инструменты, встроенные в большинство Java IDE, для визуализации вашего кода. С другой стороны, если вы работаете над JavaScript-приложением или у вас плохие инструменты, это труднее сделать. , поэтому UML может заполнить пробелы.)

Информационная архитектура и навигация для веб-приложений . Я использую UML для отображения веб-страниц, их взаимосвязей и информационных компонентов на веб-страницах. То же самое относится и к экранам в любом виде графического интерфейса (раньше это называлось моделью взаимодействия с пользователем). Я использую URL-адреса REST в своих веб-приложениях. Поэтому я аннотирую объекты моей страницы, чтобы показать актуальные URL-адреса REST. Таким образом, я m, одновременно обдумывая ОТДЫХ, пока раскладываю страницы. По моему опыту, это один из самых полезных и мало используемых типов диаграмм - возможно, потому, что он нестандартный. Он отражает как информационную архитектуру (модель вашей предметной области, представляющую собой набор страниц / экранов), так и концепцию приложения как набора доступных для навигации представлений. Часто существует несоответствие между этой моделью, наиболее близкой пользователю, и моделью предметной области приложения или моделью базы данных. Возможность иметь эту модель решает проблему. Я работал над проектами, в которых у каждого была своя модель приложения, которую нужно было построить: специалисты по удобству использования, разработчики, специалисты по базам данных, архитекторы предприятия. Но ни у кого не было правильной модели, и модель взаимодействия с пользователем конкретизировала то, чего они не видели.

Модели на основе кода . Я работаю с Java, перепроектирую кодовую базу и создаю диаграммы для документирования дизайна. Однако из-за того, что инструменты Java настолько развиты, мне нечасто нужно проводить обратное проектирование, чтобы просто понять код. Я использую Enterprise Architect, который является недорогим и позволяет вам реконструировать новый код и синхронизировать его с диаграммами UML на основе старого кода.

Я объединил все эти разные диаграммы в один проект, и он отображает общее количество ] дизайн Системы в виде набора представлений . Я также экспортирую свои проекты UML в XML и храню их в своей системе контроля версий. Диаграммы публикуются в Интранете и вставляются в документы.

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

Я использую диаграммы последовательности и активности нечасто , но они могут быть незаменимыми и мощными при раз. Диаграммы последовательности на этапе проектирования, когда вы разрабатываете взаимодействия объектов. Чем сложнее взаимодействия, тем больше вам понадобится диаграмм последовательности. (Когда диаграмма последовательностей слишком сложна, этот факт может указывать на то, что вам необходимо упростить дизайн.) Я считаю, что диаграммы последовательностей наиболее полезны при обратном проектировании нового проекта, который я унаследовал и которому нужно быстро освоиться. Я обнаружил, что они могут дать мне конкурентное преимущество в понимании систем.

Наконец, я предпочитаю квазифизические модели . Модели, основанные на фактическом коде, который будет написан, или на реальной системе, но в некоторой степени абстрактны и настроены для целей коммуникации. Где-то между воздушными абстракциями «архитектурных астронавтов» и замысловатыми моделями на основе кода со слишком большим количеством деталей и меньшей ценностью, чем схематический вид вашей IDE.

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

Где-то между воздушными абстракциями «архитектурных астронавтов» и замысловатыми моделями на основе кода со слишком большим количеством деталей и меньшей ценностью, чем схематический вид вашей IDE.

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

Где-то между воздушными абстракциями «архитектурных астронавтов» и замысловатыми моделями на основе кода со слишком большим количеством деталей и меньшей ценностью, чем схематический вид вашей IDE.

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

4
ответ дан 3 December 2019 в 22:38
поделиться

ПРЕДИСЛОВИЕ

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

Диаграммы последовательностей также чрезвычайно полезны при разработке ASP.NET. Это позволяет легко декомпозировать и реализовать компоненты высокоуровневого представления в диаграммах вариантов использования.

1. Какие диаграммы UML вы создаете в своей компании?

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

2. Имеет ли MS Visio возможность создавать все вышеперечисленные диаграммы?

Да. http://softwarestencils.com/uml/index.html

Я предлагаю вам рассмотреть инструмент, который позволяет UML -> Code Gen http://www.visual-paradigm.com/

3. Выбраны ли диаграммы UML в зависимости от типа разрабатываемого приложения?

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

Есть ли в MS Visio возможность создавать все вышеперечисленные схемы?

Да. http://softwarestencils.com/uml/index.html

Я предлагаю вам рассмотреть инструмент, который позволяет UML -> Code Gen http://www.visual-paradigm.com/

3. Выбраны ли диаграммы UML в зависимости от типа разрабатываемого приложения?

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

Есть ли в MS Visio возможность создавать все вышеперечисленные схемы?

Да. http://softwarestencils.com/uml/index.html

Я предлагаю вам рассмотреть инструмент, который позволяет UML -> Code Gen http://www.visual-paradigm.com/

3. Выбраны ли диаграммы UML в зависимости от типа разрабатываемого приложения?

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

http://softwarestencils.com/uml/index.html

Я предлагаю вам рассмотреть инструмент, который позволяет UML -> Code Gen http://www.visual-paradigm.com/

3. Выбраны ли диаграммы UML в зависимости от типа разрабатываемого приложения?

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

http://softwarestencils.com/uml/index.html

Я предлагаю вам рассмотреть инструмент, который позволяет UML -> Code Gen http://www.visual-paradigm.com/

3. Выбраны ли диаграммы UML в зависимости от типа разрабатываемого приложения?

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

Выбираются ли диаграммы UML в зависимости от типа разрабатываемого приложения?

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

Выбираются ли диаграммы UML в зависимости от типа разрабатываемого приложения?

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

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

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

2
ответ дан 3 December 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: