Диаграммы вариантов использования - действительно ли стрелки необходимы? - PullRequest
7 голосов
/ 18 января 2009

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

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

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

Вот моя диаграмма - нажмите

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

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

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


EDIT

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

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

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

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

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


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

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

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

CONTHETICKET - билетное агентство дело в концерте и театре Билеты. Концертные и театральные площадки обеспечить КОНТЕТИКЕТ постояннымпоток информации о предстоящем события , который затем используется Менеджер для составления списка приборов для использовать торговый персонал в ответ на звонки клиентов. Менеджер выбирает некоторые события, для которых CONTHETICKET купит несколько билетов в заранее, тем самым извлекая выгоду из скидки по договоренности с объектами.

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

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

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

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

Как вы можете видеть из моей диаграммы У меня есть "Концертные и театральные площадки" в качестве актера.

Из элементов стиля UML 2.0, Скотт В. Эмблер:

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

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

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

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

Ответы [ 7 ]

11 голосов
/ 18 января 2009

Благая весть

Ваша диаграмма правильно нарисована, а ваш инструктор ошибается:

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

спецификация UML v1.4.2 [PDF Предупреждение] Разделы 4.11.3 Правила правильного формирования и 5.42.2 Бинарная ассоциация достаточно четко показывают следующие моменты:

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

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

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

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

Осторожно: действуйте слегка

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

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

3 голосов
/ 18 января 2009

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

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

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

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

Попрактикуйтесь в том, чтобы поступать неправильно, чтобы достичь своих целей: поступайте так, как надо, и набирайте очки.

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

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

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

1 голос
/ 19 января 2009

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

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

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

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

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

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

Превосходно отражает мои чувства.

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

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

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

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

0 голосов
/ 19 января 2009

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

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

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

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

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

0 голосов
/ 18 января 2009

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

Ссылка на текущую спецификацию UML (2.1.2)

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

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

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

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

Удачи

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

0 голосов
/ 18 января 2009

Смотрите здесь:

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

Кстати, по моему опыту, аспирантура - худшее место для изучения программной инженерии. YMMV.

...