Моделирование видов деятедьности.
Модель видов деятельности (activity model) может представлять в графической форме поток событий для прецедента. Этот тип модели был введен только в более поздние версии UML и позволил преодолеть разрыв между высокоуровневым представлением поведения системы с помощью моделей прецедентов и намного более низким уровнем представления поведения с помощью моделей взаимодействий (диаграмм последовательностей и диаграмм кооперации).
Модели видов деятельности широко используются в проектировании. Однако они также служат в качестве отличного метода изображения вычислений или технологических процессов на уровне абстракции, который подходит для анализа. Графы видов деятельности можно использовать для демонстрации различных уровней детализации вычислений.
Диаграмма видов деятельности показывает шаги вычисления. Каждый шаг соответствует состоянию (state), в котором что-либо выполняется. Поэтому шаги выполнения называются состояниями вида деятельности. Диаграмма описывает, какие шаги выполняются последовательно, а какие – параллельно. Передача управления от одного состояния вида деятельности к другому называется переходом (transition).
После завершения документа с описанием прецедента, состояния вида деятельности можно установить по описанию основного и альтернативных потоков. Однако, между описанием прецедентов и моделью видов деятельности существует важное различие. Описание прецедента создается с точки зрения внешнего субъекта. Модель видов деятельности отражает внутрисистемную точку зрения.
Модели видов деятельности могут быть особенно полезны для определения потоков видов деятельности в процессе выполнения прецедентов.
Диаграмма видов деятельности строится для каждого варианта использования. Построим диаграмму деятельности для нашей системы.
Для прецедента «Добавить новый ресурс» диаграмма деятельности принимает вид, изображенный на рисунке (рис.5).
Изначально происходит формирование формы, в которую пользователь вводит данные, затем происходит проверка данных на полноту.
Если данные заполнены не верно, происходит возврат в состояние заполнить форму . Если форма заполнена верно то информация посылается на сервер. Далее происходит проверка нового ресурса – сервер обращается на новый адрес. Если он не существует система не заносит его в БД. Если существует – переходит в состояние занести в свою БД, а затем и в состояние добавить в общий список ресурсов.
Рис. 5. Диаграмма видов деятельности для прецедента «Добавить новый ресурс»
Для прецедента «Опросить WEB-сайты» диаграмма видов деятельности примет вид, изображённый на рисунке 6.
Сервером посылается запрос на сайт, где проверяется информация. Если информация не обновилась, то выполняется условие не обновлять , которое переходит в состояние не изменять информацию. Если же информация изменилась, то выполняется условие обновить, которое переходит в состояние обновить в своей БД.
Рис. 6. Диаграмма видов деятельности для прецедента «Опросить WEB-сайты»
Для прецедента «Найти ресурс» диаграмма видов деятельности примет вид, изображённый на рисунке 7.
Пользователем посылается запрос на поиск. Системой выполняется условие не нашёл или нашёл. Если сервер не нашёл необходимую информацию, то переходит в состояние Отобразить «не найдено». Если жесервер нашел необходимую информацию, то переходит в состояние Отобразить на экран.
Рис. 7. Диаграмма видов деятельности для прецедента «Найти ресурс»
Для прецедента «Поиск среди найденных результатов» .
Пользователь посылает запрос на поиск среди найденного. Как и в предыдущей диаграмме выполняется условие. Если сервер нашел информацию необходимую, то переходит в состояние Отобразить на экран. Диаграмма будет точно такая же как и на рис.7.
Для прецедента «Сортировка результатов поиска» диаграмма видов деятельности примет вид, изображённый на рисунке 8.
Посылается запрос на сортировку. После этого переходит в состояние проверить сортировку. Если сортировка не правильная, то система возвращается в состояние послать запрос на сортировку. Если же сортировка правильная, то выполняется состояние послать на сервер, после чегопереходит в состояние отобразить на экран.
Рис. 8. Диаграмма видов деятельности для прецедента «Сортировка результатов поиска»
Для прецедента «Выбор формы результата» диаграмма видов деятельности примет вид, изображённый на рисунке 9.
Пользователю предоставляется возможность выбора формы поиска. Выполняется состояние выбрать форму поиска. Далее выполняется условие полная форма или краткая и в зависимости от этого произойдет состояние Отобразить полную форму или состояние Отобразить краткую форму.
Рис. 9. Диаграмма видов деятельности для прецедента «Выбор формы результата»