Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Системный анализ, проектирование и UML > sequence diagram


Автор: garbuz 9.4.2009, 18:01
Здравуйте. Необходимо нарисовать UML диаграмму последовательности действий, а так как я ранее не имел большого опыта работы с UML, то не втыкаю несколько моментов, вот и решил поинтересоваться. На диаграмме надо изобразить процесс отправки сообщений пользователей администратору некой системы и прочтение этих сообщений администратором.
Как происходит процесс.

Отправка
1) В форму вводятся данные
2) Сабмит
3) Форма проверяется (нет ли пустых полей)
4) Отправка данных на сервер
5) На стороне сервера создается новый объект "Сообщение"
6) Потом этот объект сохраняется в базу и удаляется.

Прочтение
1) Открывается страница с сообщениями
2) Посылается запрос к системе, что необходимо вытащить сообщения из базы
3) Из базы тянутся данные
4) на основе этих данных формируются объекты сообщений
5) Затем это все отображается на странице

Вот что у меня получилось.
http://ipicture.ru/Gallery/Viewfull/17069732.html
Какие ошибки тут присутствуют?

Автор: deniva 9.4.2009, 18:37
я бы разбил диаграмму на две (по диагонали из правого верхнего угла), т.е. работа пользователя отдельно,  работа администратора - отдельно.
А так синтаксически правильно.
По проектированию конечно можно поспорить...

Автор: garbuz 9.4.2009, 18:59
Разбить конечно же надо, я просто решил сперва все в одну диаграмму запихать. А что по проектированию не так? Что можно улучшить? У меня в диаграмме просто не описана еще одна сущность - это некое DAO, которое непосредственно работает с данными (CRUD).

Автор: garbuz 11.4.2009, 14:04
Еще есть два вопроса.
1) Вот у меня на диаграмме выше создается объект "сообщение" Потом я типа у него вызываю метод "save()" и сохраняю его в базу. Хотя метод "save()" я должен вызвать у системы и сохранить созданный объект "сообщение". Правильно ли так рисовать, как нарисовано у меня? Как мне правильно отобразить передачу созданного объекта или выполнение над ним каких-либо других действий.
2) Когда вызов не асинхронный, а обычный,  как у меня в нижней части диаграммы, должен ли сохраняться фокус у объекта, который инициировал цепочку вызовов. Например у меня в диаграмме объект "форма" теряет фокус после сообщения "getMessages", но на самом деле форма находится в состоянии ожидания сообщений. Должен ли быть фокус на протяжении всего этого ожидания, или можно делать как у меня сделано.

Спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)