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

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

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

Вся идея системы заключается в том, что клиент создает бронирование через мобильное приложение, которое загружается в приложение аукциона, где компании могут делать ставки на него. Если компания выигрывает торги, приложение аукциона предоставляет им ценовой диапазон, в котором они могут предложить цену покупателю (например, если компания А выигрывает тендер на стрижку газона клиента X, тогда приложение аукциона устанавливает диапазон цен от 15 до 20 долларов США). за работу, и расценки компании А должны быть между этим диапазоном). Затем клиент может принять предложение и продолжить работу или отклонить ее.

Действуйте следующим образом:

 1.   Customer creates a booking on booking app
 1.1  Booking app saves booking (recursive as customer can save more than one 
      booking)
 1.2  Job is uploaded to auction app where other companies can bid for it. In the 
      next step, a company will bid for job.

 In the event of an unsuccessful bid:

 2.   Company makes bid for job on auction application
 2.1  Message sent to company telling them that they failed to win the job

 In the event of a successful bid:

 3.   Company makes bid for job on auction application
 3.1  Message sent to company telling them that they won the job
 4.   Auction app sends price limit message for the job that the company has just 
      won (to prevent overcharging). In the next step, the company needs to set a 
      quote

 In the event that a customer rejects a set quote    

 5.   Company sets quote for the job that they won
 5.1  Auction app sends the quote message to the auction app
 6.   Quote displayed to customer on mobile application
 7.   Customer rejects the quote
 7.1  The rejection message is sent to the auction app
 8.   The rejection message is displayed to the company

 In the event that a customer accepts a set quote 

 9.   Company sets quote for the job that they won
 9.1  Auction app sends the quote message to the auction app
 10.  Quote displayed to customer on mobile application
 11.  Customer accepts the quote
 11.1 The acceptance message is sent to the auction app
 12.  The acceptance message is displayed to the company
 13.  End booking process

Это схема UML:

введите здесь описание изображения

У меня есть 3 вопроса:

  1. Когда BidSuccess=False (т. е. заявка компании на вакансию не удалась), они могут принять участие в торгах на другую работу и выиграть (таким образом, войдя в ветвь BidSuccess=True). Можно ли это передать на диаграмме последовательности. Если да, то как?
  2. Кажется, что в шагах 5-13 много избыточности, может ли схема последовательности быть лучше разработана здесь? Как мне объединить 5,5.1,6 и 9,9.1,10, но позволить им возвращать разные результаты в зависимости от CustomerAcceptQuote.
  3. Возможно, меня больше всего беспокоит, поставил ли я цикл/альтернативную защиту на место. Я думаю, что я использовал их правильно, но, пожалуйста, поправьте меня, если это не так.

Спасибо, что нашли время, чтобы прочитать это.


person methuselah    schedule 02.10.2014    source источник


Ответы (1)


объявление 3) Что касается loop/alt на вашей диаграмме, то их семантика не ясна, главным образом потому, что они не вложены должным образом (см. http://www.uml-diagrams.org/sequence-diagrams-combined-fragment.html#operator-alt для Примеры)

объявление 2) Что касается избыточности, вы можете использовать диаграмма последовательности UML - использование взаимодействия как в

введите здесь описание изображения

объявление 1, объявление 2) В целом, чтобы показать разветвление, избегая избыточности, вместо того, чтобы придерживаться диаграммы последовательности UML, вы можете использовать функции из диаграммы активности UML, как показано в примере диаграмма взаимодействия UML

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

введите здесь описание изображения

На самом деле согласно Обзор диаграмм UML 2.4

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


Отказ от ответственности: оригинальные изображения (без зеленых и фиолетовых прямоугольников) взяты из онлайн-книги Кирилла Фахрутдинова www .uml-diagrams.org

person xmojmr    schedule 03.10.2014