2014-10-02 3 views
1

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

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

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

шаги заключаются в следующем:

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-схема:

enter image description here

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

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

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

ответ

1

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

объявления 2) Что касается избыточность можно использовать UML sequence diagram - interaction use как в

enter image description here

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

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

enter image description here

На самом деле, согласно UML 2.4 Diagrams Overview

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


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