UML — диаграмма вариантов использования (use case diagram)

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

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

    Вариант использования (use case)

    Вариант использования описывает, с точки зрения действующего лица, группу действий в системе, которые приводят к конкретному результату.
    Варианты использования являются описаниями типичных взаимодействий между пользователями системы и самой системой. Они отображают внешний интерфейс системы и указывают форму того, что система должна сделать (именно что, а не как).
    При работе с вариантами использования важно помнить несколько простых правил:
    • каждый вариант использования относится как минимум к одному действующему лицу,
    • каждый вариант использования имеет инициатора,
    • каждый вариант использования приводит к соответствующему результату (результату с «бизнес-значением»).
    Варианты использования также могут взаимодействовать с другими вариантами использования. Три наиболее часто встречающихся типа взаимодействия между вариантами использования приведены ниже.
    • Включение указывает, что вариант использования встраивается в другой вариант использования.
      включение
      В данном примере вариант использования Part включается в вариант использования Base.

    • Добавление указывает, что в определённых ситуациях или в некоторой точке (называемой точкой расширения) вариант использования будет расширен другим.
      добавление
      В данном примере вариант использования Base расширяется вариантом использования Another.

    • Обобщение указывает, что вариант использования наследует характеристики «родительского» варианта использования и может переопределить некоторые из них или добавить новые, подобно наследованию в классах.
      обобщение
      В данном примере вариант использования Child обобщает вариант использования Base.

    Действующее лицо (actor)

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

    Действующие лица представляют не физических людей или системы, а их роли. Эти означает, что когда человек взаимодействует с системой различными способами (предполагая различные роли), он отображается несколькими действующими лицами. Например, человек, работающий в службе поддержки и принимающий от клиентов заказы, будет отображаться в системе как «участник отдела поддержки» и «участник отдела продаж».

    Действующие лица могут иметь два типа связей с вариантами использования:
    • Простая ассоциация — отражается линией между актером и вариантом использования (без стрелки). Отражает связь актера и варианта использования.
      простая ассоциация
    • Направленная ассоциация — то же что и простая ассоциация, но показывает, что вариант использования инициализируется актером. Обозначается стрелкой.
      направленная ассоциация

    Описание варианта использования


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

    Заметки

    На мой взгляд проектирование нового компонента нужно вести в следующей последовательности: диаграмма вариантов использования (use case diagram) => диаграмма последовательности действий (sequence diagram) => диаграмма классов (class diagram). Соответственно при создании документации существующего кода последовательность действий будет обратной. Здесь было рассказано о диаграмме классов, поэтому для полноты обзора пока не хватает диаграммы последовательности действий.
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 16

    • UFO just landed and posted this here
        0
        спасибо, хотелось бы больше детальной информации о построении диаграм UML на примере какой нибудь CMS
        • UFO just landed and posted this here
            0
            Наверное имелось в виду средство разработки, тут было небольшое сравнение.
              0
              Спасибо, читал. Но там только обсуждаются программы в которых можно рисовать те самые диаграмы.
              0
              Возможно я не совсем корректно выразился, но из моего понимания на схемах UML можно отобразить связи таблиц и полей из базы данных так и связи между классами. Следовательно таким же образом можно описать работу более комплексных приложений таких как CMS, BMS и тому подобных.

              Вот собственно и вопрос назрел, пробовал ли кто с помощью UML отобразить чтото подобное или же все ето осталось только в теории?
              • UFO just landed and posted this here
            0
            Вот чем всегда раздражают подобные «заметки», так это полное отсутствие примеров! Вы уж не обессудьте, но примеры просто жизненно необходимы.
              0
              В какой-то мере согласен с вами по поводу примера, но у другой стороны можно просто поискать в картинках гугла подобную диаграмму. Примеров будет море. На мой взгляд важнее уметь их читать.
                0
                Ну причем тут гугл? :) Если уж на то пошло, то в гугле просто море учебников по UML, море слайдов и море презентаций, но это же не помешало вам написать своё? А вместо копипаста рисунков из книжки могли бы привести свой пример, который показал бы, что и вы в теме, и был бы нагляднее.
                  0
                  Рисунки нарисовал сам в Umbrello =)).
                    0
                    А если серьёзно, то я просто подумал, что важнее именно эта часть, чем пример, который можно посмотреть и разобрать самому. Думаю, это полезнее, если хочешь что-то освоить, когда тебя толкают, а ты сам разбираешься дальше.
                      0
                      В общем, ждем от вас продолжения в примерах )
                        0
                        Обязательно будут в Новом Году! Всех с наступающим!
                0
                картинки умерли
                  0
                  Есть ли возможность восстановить картинки?
                  Очень бы пригодилось.

                  Only users with full accounts can post comments. Log in, please.