включить или расширить (UML Java) - PullRequest
1 голос
/ 06 февраля 2011

Может кто-нибудь сказать мне, если я должен использовать зависимость include или extends one?

Use_case A: выбрать и загрузить файл

Use_case B: Показать форму волны

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

Я думаю, что Use_case A и Use_case B должны быть связаны extends .... я прав? Спасибо

Ответы [ 2 ]

3 голосов
/ 06 февраля 2011

Я бы сказал include не extend.

Причина: цель с точки зрения пользователя - Display Waveform. Выбор и загрузка файла является средством достижения этой цели, а не самоцелью. Трудно увидеть Select and Load file, когда-либо использовавшийся сам по себе: он не представляет ценной функциональности для конечного пользователя. Он будет существовать только в качестве UC только в случае общего шага в нескольких «реальных» UC.

НТН.

0 голосов
/ 08 февраля 2013

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

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

Несколько баллов:

1. Обратите внимание, что include и extension не являются зависимостями, зависимость - это еще одно отношение в UML.

2- Хорошие варианты использования - это те, которые не зависят от пользовательского интерфейса. Сосредоточьтесь на том, чего хочет достичь пользователь. Не принимайте решения, связанные с пользовательским интерфейсом, при написании сценариев использования.

3- Когда «A» включает в себя «B», «B» происходит каждый раз, когда происходит «A». Это похоже на безусловный вызов функции от «А» до «В». Таким образом, «B» всегда может быть частью «A». Мы разделяем «B» для повторного использования и модульности.

4- Некоторые профессионалы рекомендуют по возможности избегать продления. Наличие расширяет и включает в себя не обязательно подразумевает профессиональные диаграммы UC. Они могут снизить читабельность и ясность.

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