1
Варианты Использования (Use Case) / Re: Несколько частных вопросов по ВИ
« : 19 Августа 2011, 08:14:46 »
lnew, книги я, конечно же читаю, но стараюсь анализировать предлагаемые стандарты описания и формировать свой удобный инструмент на основе стандартов, который будет понятен всем. Стандарт UML не является широко используемым в нашей компании, поэтому, повторюсь: главным для меня является корректное формулирование ВИ.
Изначально у меня были проблемы с изображением некоторых моментов на диаграмме. Например, отмены на любом шаге (в текстовом описании такая проблема легко решается). Кроме того, остались проблемы, по которым я формулирую вопросы ниже.
Я сейчас сформирую текстовое описание того, что изображено (просто напишу по картинке) и может быть мы попробуем обсудить его?
Опускаю описание абстрактного прецедента "Добавить товар"
Наименование ВИ: Добавить товар
Краткое описание ...
Участники: ...
Предусловия: ...
Постусловия: ...
Основной сценарий: ...
Альтернативные сценарии: ...
Бизнес-правила: ...
Здесь мы обобщенного опишем процедуру добавления товара (независимо от того штука это или единица упаковки)
Далее будет описание ВИ Добавить базовую единицу и Добавить единицу упаковки. Есть очень хороший пример (когда "чисто" определяется в каких местах наследуется поведение абстрактного ВИ, в каких местах оно переопределяется и т.д.) для реализации таких ВИ, у которых есть обобщенный описанный ВИ. Но сейчас, для упрощения, я просто опишу один из этих ВИ не следуя этим правилам.
Наименование ВИ: Добавить базовую единицу
Краткое описание: Добавление базовых единиц товара в каталог.
Участники: Публикатор.
Предусловия: нет предварительных условий (хотя здесь можно написать, что публикатор успешно авторизовался, но мне кажется это излишним)
Постусловия: товар добавлен и зарегистрирован [Комментарий: см. вопрос дальше]
Основной сценарий:
1. Публикатор запускает действие добавления базовой единицы товара.
2. Система предлагает форму для заполнения данных о товаре.
[Комментарий: Здесь на блок-схеме в пунктирном прямоугольнике значится точка расширения - это означало наличие точки расширения в будущих релизах на этом месте. Т.е. мы бы написали здесь: точка расширения: подменить пустую форму.]
3. Публикатор заполняет данные о товаре.
4. Публикатор инициирует Зарегистрировать товар Вопрос: Тут мы уходим в выполнение другого сценарий (сценарий, который может быть выполнен самостоятельно, но полагаю на диаграмме ВИ, необходимо изобразить include). Целью сценария "Добавить товар" было добавления товара в чистовики, сценарий "Зарегистрировать товар" преследует цель перевода товара из черновиков в чистовики. При успешном выполнении вызываемого сценария мы достигаем цель, т.е. выполнены постусловия. Верно?
Альтернативные сценарии:
3а Публикатор прерывает выполнение сценария.
3а1 Система выдает запрос на сохранение изменений.
3а2 Публикатор подтверждает сохранение изменений. [Комментарий: здесь можно было бы использовать комбинацию Если...иначе]
3а2а Публикатор отклоняет сохранение изменений.
3а2b Публикатор отменяет прерывание выполнения сценария. Возвращается к шагу 2.
4а Публикатор сохраняет товар в черновики.
4а1 Система проверяет товар.
4а2 Система сохраняет товар в черновики. Вопрос: Стоит ли использовать "минимальные гарантии успеха" для того, чтобы зафиксировать, что сохранение в черновики - это тоже частичное выполнение сценария?
4а2а Система выдает публикатору сообщение об ошибке.
4b Публикатор инициирует Добавить упаковку. Вопрос: Здесь у меня возникает проблема: публикатор хочет запустить выполнение другого сценария, но системе предварительно необходимо произвести некоторые действия. Как это можно зафиксировать. При этом, опять же достигается выполнение сохранения товара в черновики, но не главная цель.
Изначально у меня были проблемы с изображением некоторых моментов на диаграмме. Например, отмены на любом шаге (в текстовом описании такая проблема легко решается). Кроме того, остались проблемы, по которым я формулирую вопросы ниже.
Я сейчас сформирую текстовое описание того, что изображено (просто напишу по картинке) и может быть мы попробуем обсудить его?
Опускаю описание абстрактного прецедента "Добавить товар"
Наименование ВИ: Добавить товар
Краткое описание ...
Участники: ...
Предусловия: ...
Постусловия: ...
Основной сценарий: ...
Альтернативные сценарии: ...
Бизнес-правила: ...
Здесь мы обобщенного опишем процедуру добавления товара (независимо от того штука это или единица упаковки)
Далее будет описание ВИ Добавить базовую единицу и Добавить единицу упаковки. Есть очень хороший пример (когда "чисто" определяется в каких местах наследуется поведение абстрактного ВИ, в каких местах оно переопределяется и т.д.) для реализации таких ВИ, у которых есть обобщенный описанный ВИ. Но сейчас, для упрощения, я просто опишу один из этих ВИ не следуя этим правилам.
Наименование ВИ: Добавить базовую единицу
Краткое описание: Добавление базовых единиц товара в каталог.
Участники: Публикатор.
Предусловия: нет предварительных условий (хотя здесь можно написать, что публикатор успешно авторизовался, но мне кажется это излишним)
Постусловия: товар добавлен и зарегистрирован [Комментарий: см. вопрос дальше]
Основной сценарий:
1. Публикатор запускает действие добавления базовой единицы товара.
2. Система предлагает форму для заполнения данных о товаре.
[Комментарий: Здесь на блок-схеме в пунктирном прямоугольнике значится точка расширения - это означало наличие точки расширения в будущих релизах на этом месте. Т.е. мы бы написали здесь: точка расширения: подменить пустую форму.]
3. Публикатор заполняет данные о товаре.
4. Публикатор инициирует Зарегистрировать товар Вопрос: Тут мы уходим в выполнение другого сценарий (сценарий, который может быть выполнен самостоятельно, но полагаю на диаграмме ВИ, необходимо изобразить include). Целью сценария "Добавить товар" было добавления товара в чистовики, сценарий "Зарегистрировать товар" преследует цель перевода товара из черновиков в чистовики. При успешном выполнении вызываемого сценария мы достигаем цель, т.е. выполнены постусловия. Верно?
Альтернативные сценарии:
3а Публикатор прерывает выполнение сценария.
3а1 Система выдает запрос на сохранение изменений.
3а2 Публикатор подтверждает сохранение изменений. [Комментарий: здесь можно было бы использовать комбинацию Если...иначе]
3а2а Публикатор отклоняет сохранение изменений.
3а2b Публикатор отменяет прерывание выполнения сценария. Возвращается к шагу 2.
4а Публикатор сохраняет товар в черновики.
4а1 Система проверяет товар.
4а2 Система сохраняет товар в черновики. Вопрос: Стоит ли использовать "минимальные гарантии успеха" для того, чтобы зафиксировать, что сохранение в черновики - это тоже частичное выполнение сценария?
4а2а Система выдает публикатору сообщение об ошибке.
4b Публикатор инициирует Добавить упаковку. Вопрос: Здесь у меня возникает проблема: публикатор хочет запустить выполнение другого сценария, но системе предварительно необходимо произвести некоторые действия. Как это можно зафиксировать. При этом, опять же достигается выполнение сохранения товара в черновики, но не главная цель.