Диаграммы вариантов использования. Действительно ли стрелки абсолютно необходимы?

StackOverflow https://stackoverflow.com/questions/455373

  •  19-08-2019
  •  | 
  •  

Вопрос

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

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

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

Вот моя схема- щелкнуть

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

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

Большое спасибо за чтение, и я надеюсь вскоре прочитать ваш ответ.


РЕДАКТИРОВАТЬ

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

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

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

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

Еще раз спасибо за вашу помощь. Пожалуйста, оставляйте любую другую информацию/предложения, которые могут у вас возникнуть.:)


РЕДАКТИРОВАТЬ 2

Извините, ребята, у меня еще один вопрос.

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

Contheticket - это билетное агентство, занимающееся концертами и театральным билетом. Концертные и театральные места предоставляют Contheticket постоянный поток информации о предстоящих мероприятиях, который затем используется менеджером для составления списка матчей для использования продавцом для ответа на звонки клиентов.Менеджер выбирает некоторые события, для которых ContheTicket приобретет несколько билетов заранее, тем самым получая выгоду от скидок, согласованных с местами.

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

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

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

Post Clerks проверяет файл отправки каждый день и получает соответствующие билеты из предварительного файла заказов и отправляет их соответствующим клиентам.

Как вы можете видеть из моего диаграмма Как актер, у меня есть «Концертные и театральные площадки».

Из книги «Элементы стиля UML 2.0», Скотт В.Эмблер:

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

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

Я объясняю это тем, что CT&V предоставляет информацию о мероприятиях, которая затем используется менеджером для заказа/регистрации билетов, также предоставляемых CT&V.

Большое спасибо.

Это было полезно?

Решение

Хорошие новости

ваша схема нарисована правильно, а преподаватель ошибается:

  • стрелки не подходят для ассоциаций вариантов использования, поскольку они являются бинарными ассоциациями.
  • стрелки необходимы для отношений «Расширяет», «Включает» и «Использует» — см. эта диаграмма для примера всех трёх

тот Спецификация UML v1.4.2 [Предупреждение в формате PDF] Разделы 4.11.3 «Правила корректности» и 5.42.2 «Двоичная ассоциация» совершенно ясны по этим вопросам:

4.11.3 Правила корректности:«Акторы могут иметь ассоциации только с вариантами использования, подсистемами и классами, и эти ассоциации являются двоичными».
5.42.2 Бинарная ассоциация:«Двоичная ассоциация изображается как сплошная линия, соединяющая два символа классификатора»

Плохие новости

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

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

Осторожность:Ступайте осторожно

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

РЕДАКТИРОВАТЬ:Я действительно считаю, что в старых инструментах и ​​стандартах на диаграммах вариантов использования использовались одиночные стрелки (не треугольники и не закрашенные, а просто «крылья»), но больше этого не делается.Возможно, стандарты профессора или программное обеспечение просто устарели ;-)

Другие советы

Все остальные уже ответили по поводу стрел.Позвольте мне дать вам несколько советов относительно академических кругов.

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

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

Так что воспринимайте это как полезный опыт.Чтобы добиться успеха в качестве профессионала, вам просто нужно усвоить, что правильный способ делать что-то — это трудная задача, и если вы сделаете это самостоятельно, как в данном случае, это, вероятно, доставит вам больше проблем, чем просто нулевой результат.

Практикуйте неправильные поступки для достижения своих целей:Делайте стрелку и получайте очки.

Интегрируйте знание о том, что все всегда будут неправы (включая вас):Не верьте своим учителям на слово, читайте альтернативные точки зрения и формируйте мнение позже, когда у вас появится опыт.

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

Просто не теряйте время.Некоторые вещи просто не стоят усилий, чтобы их исправить...

Хотя это прискорбно, мне придется придерживаться фразы: «Если вам сказали сделать это так, а вы сделали это не так, вы получите именно такой балл».

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

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

Создание спецификации программного продукта в реальном мире — это неправильный подход.

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

  1. Команда проекта действительно читает это
  2. Документ эффективно отражает ваши намерения

Идея о том, что вам следует научиться правильно рисовать стрелы, просто смешна.Если у вас будет возможность, вам следует прочитать эту статью:

http://www.joelonsoftware.com/articles/fog0000000024.html

Он превосходно передает мои чувства.

Похоже, что для прохождения урока вам нужно притвориться, что вас интересуют стрелки UML.Мой вам совет:

  1. Делайте все необходимое, чтобы получить хорошую оценку в классе.
  2. Как только вы закончите выпускной экзамен, ПОЖАЛУЙСТА, забудьте все, что вы узнали на этом уроке, потому что это только навредит вам.
  3. Получите копию эта книга, и прочитайте это.Все это.

Глянь сюда:

Стрелки, указывающие источник вызова, не являются обязательными, поэтому кажется, что это на усмотрение вашего инструктора, но это может быть спорным моментом.

Кстати, по моему опыту, аспирантура — худшее место для изучения разработки программного обеспечения.ЮММВ.

Я думаю, у вас есть веские аргументы в этом вопросе ;)

Ссылаясь на нынешнюю Спецификация UML (2.1.2)

Страница 595, Ограничения, 2
UseCases могут быть задействованы только в двоичных ассоциациях.

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

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

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

Удачи

ПС:Используя мой любимый инструмент моделирования UML, Enterprise Architect, он не позволяет мне визуально указывать возможность навигации по ассоциации.

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

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

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

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

Еще раз спасибо за вашу помощь. Пожалуйста, оставляйте любую другую информацию/предложения, которые могут у вас возникнуть.:)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top