Внешная Система как инициатор ВИ(Прочитано 19153 раз)
Очередное обсуждение ВИ пошло отсюда:
http://www.uml2.ru/forum/index.php?topic=1078.msg11331#msg11331

А вообще главная аргументация в том, что ВИ - это ЦЕЛЬ Пользователя по отношению к Системе. ВИ отражают ПОЛЬЗОВАТЕЛЬСКИЕ требования, а при взаимодействии м\у ИС - какие ПТ?
Но в нынешней эконом. ситуации лучше не спорить с "компетентные товарищи (на работе)" :)
Саша, исходя из определения ВИ - это цель актора, а актор может быть пользователем, девайсом или внешней системой.
Дело здесь скорее всего в том, что обычно ПОЛЬЗОВАТЕЛЬ является инициатором ВИ (caller), а внешняя система вспомогательным актором (callee). В таком случае никаких противоречий нет и все вроде бы укладывается в "цели пользователя". А как быть со случаем, когда внешняя система является инициатором (caller)? У этой системы есть "своя цель" и про нее мы тоже не должны забывать. Или данный случай уже не относится к ВИ и является требованиями к интеграции?
« Последнее редактирование: 16 Декабря 2008, 23:31:16 от bas »
Если вы не знаете куда идете, то вы вряд ли туда дойдете [Форест Гамп]
www.grigorash.ru



Re: Вариант использования или ... ? Ответ #1 : 16 Декабря 2008, 16:02:02
А вообще главная аргументация в том, что ВИ - это ЦЕЛЬ Пользователя по отношению к Системе. ВИ отражают ПОЛЬЗОВАТЕЛЬСКИЕ требования, а при взаимодействии м\у ИС - какие ПТ?

А как же Коберн, ВИ "Гайки и болты" (варианты 13-17)? Я выпал из контекста?

В нашем случае, например, ВИ оказываются очень удобными для описания взаимодействия терминала с различными хостами и внешними устройствами (сценарий обмена данными с чиповой картой, например). Почему нельзя называть эти сценарии вариантами использования?
greesha.ru

Реальность - это убийство прекрасной теории бандой мерзких фактов. (Роберт Гласс)



Re: Вариант использования или ... ? Ответ #2 : 16 Декабря 2008, 16:27:28
По классике:
1. ВИ - это ПТ. Так? Требования по интеграции это ПТ?
2. ВИ - это цель Эктора. У ИС не может быть целей, максимум что у них есть - это задачи и они могут выступать только как вспомогательные Экторы (callee)
3. ВИ наилучшим способом описывают ПТ при работе бизнес (интерактивного) приложения.

Это опять же по классике и если ограничиваться уровнем целей Пользователя (по Коберну) и не лезть в глубь до подфункций....
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



Re: Вариант использования или ... ? Ответ #3 : 16 Декабря 2008, 17:06:58
2. ВИ - это цель Эктора. У ИС не может быть целей, максимум что у них есть - это задачи и они могут выступать только как вспомогательные Экторы (callee)
Саша, рассмотрим ситуацию: Пользователь внешней системы инициирует какую-то операцию и внешняя система обращается к нашей системе. Мы не знаем, как во внешней системе и что происходит, но мы знаем, что она посылает нам инициирующее сообщение. Мы его обрабатываем и "выплевываем" ответ. По-твоему внешняя система в данном случае не может быть актором? Ведь в данном случае она не является callee.
Вспомни твой пример по продавца конфет и покупателя. У каждого своя цель!!! Цель актора. Цель пользователя, я считаю, это частный случай цели актора. Возможно я не прав, объясните пожалуйста в чем моя не правота.
Если вы не знаете куда идете, то вы вряд ли туда дойдете [Форест Гамп]
www.grigorash.ru



Re: Вариант использования или ... ? Ответ #4 : 16 Декабря 2008, 17:19:45
Хотел написать про нестандартные ситуации (Главный Эктор - таймер, внешняя система и т.д.), но лень было ...
Если ИС большая, то наверное имеет смысл сделать отдельный ВИ под интеграцию ("Внешняя Система" ---> "Передать данные"), которорый в виде сценария будет описывать передачу верхоуровневых сообщений\данных, а далее их (сообщения) детализировать уже в ФТ.
Но если у нас на Д будет один Эктор ("Внешняя Система") и один ВИ ("Передать данные"), как в описываемом случае, то никакой пользы от это Д не будет.
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



Re: Вариант использования или ... ? Ответ #5 : 16 Декабря 2008, 18:20:18
...то наверное имеет смысл сделать отдельный ВИ под интеграцию ("Внешняя Система" ---> "Передать данные"), которорый в виде сценария будет описывать передачу верхоуровневых сообщений\данных, а далее их (сообщения) детализировать уже в ФТ.
Пример с проекта. Внешняя система посылает сообщение в нашу систему о начале налоговой проверки. Наша система, получив это сообщение, используя данные нашей системы, формирует специальный отчет, который в дальнейшем могут просматривать пользователи. Те получается, что в данном случае инициирует создание отчета внешняя система, а смотрят отчет пользователи. Я сделал 2 ВИ - Внеш. система --> Сформировать отчет, Пользователь --> Просмотреть отчет
Я прав?
Если вы не знаете куда идете, то вы вряд ли туда дойдете [Форест Гамп]
www.grigorash.ru



Re: Вариант использования или ... ? Ответ #6 : 16 Декабря 2008, 18:31:06
Виталий,

ИМХО ты не прав. Нужен один ВИ - "Сформировать (или просмотреть) отчет по НУ", с двумя экторами - Внеш. система и Пользователь.
Ну нет же цели просто сформировать отчет, а цель именно его посмотреть. Так?

З.Ы. Начав читать, думал, ща ИС начнет тереть данные и все такое :)
« Последнее редактирование: 16 Декабря 2008, 23:32:22 от bas »
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



Re: Вариант использования или ... ? Ответ #7 : 16 Декабря 2008, 19:15:27
....Нужен один ВИ - "Сформировать (или просмотреть) отчет по НУ", с двумя пользователями - Внеш. система, Просмотреть отчет.
Ну нет же цели просто сформировать отчет, а цель именно его посмотреть. Так?
Наверное ты хотел сказать..."с двумя пользователями - Внеш. система, Пользователь"?
С ВИ могут быть соединены 2 Актора только в том случае, если один из них caller, а другой callee. Два инициирующих актора к одному ВИ - это ошибка. В данном случае и Пользователь и система являются caller, тк начинают ВИ. Как объединить их в один не представляю. Если бы был один актор? то можно сделать CRUD.

PS Давай куда нибудь перенесем дискуссию и еще по обсуждаем? :)
Если вы не знаете куда идете, то вы вряд ли туда дойдете [Форест Гамп]
www.grigorash.ru



Re: Внешная Система как инициатор ВИ Ответ #8 : 16 Декабря 2008, 23:44:13
Ну почему два? Инциатором как раз будет "Внеш. система". Пример сценария примерно такой:
1. Внешняя Система передает сообщение о начале налоговой проверке. Формат сообщения описан ...
2. Система получает данное сообщение и начинает действия по подготовке внутреннего отчета для нал проверке. Детально описание процедуры формирования см. ...
3. После формирования отчета Система сохраняет отчет и он становится доступен для Пользователя в любое время до его удаления или след. налоговой проверки.
4. В любой момент Пользователь заходит в Систему и вызывает операцию "Показать отчет по нал. проверке".
5. Система отображает последний сохраненный отчет по нал проверке.
6. пп.4-5 повторяются по инициации Пользователя до удаления очтета или наступления следующей налоговой проверки (формирования нового отчета).

Описав таким образом мы получаем:
1. Достяжение действительно нужной цели Пользователя (Посмотреть отчет), а не его подзадачи (Сформировать отчет)
2. Получаем полную картину по формированию и отображению Отчета.
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



Re: Внешная Система как инициатор ВИ Ответ #9 : 17 Декабря 2008, 10:27:59
Да не плохо вроде. Вот только мне не очень нравится "в любой момент Пользователь может...". Обычно системный вариант использования описывает один сеанс работы с системой (если несколько подходов, то это уже больше похоже на кусок бизнес-процесса или некоторое описание последовательности вызова вариантов использования (такое тоже встречается :))). Именно поэтому я их и разделил...

ЗЫ Ранее я не встречал примеров вариантов использования с двумя активными акторами.
« Последнее редактирование: 17 Декабря 2008, 10:31:35 от Виталий Григораш »
Если вы не знаете куда идете, то вы вряд ли туда дойдете [Форест Гамп]
www.grigorash.ru



Re: Внешная Система как инициатор ВИ Ответ #10 : 17 Декабря 2008, 11:53:26
Наверное ты хотел сказать..."с двумя пользователями - Внеш. система, Пользователь"?
С ВИ могут быть соединены 2 Актора только в том случае, если один из них caller, а другой callee. Два инициирующих актора к одному ВИ - это ошибка.

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

Как будет выглядеть ВИ с одним актором?
greesha.ru

Реальность - это убийство прекрасной теории бандой мерзких фактов. (Роберт Гласс)



Re: Внешная Система как инициатор ВИ Ответ #11 : 17 Декабря 2008, 13:10:11
Виталий,

Вроде ничего плохого не вижу с т.з. здравого смысла, все лаконично и понятно. К ВИ надо в первую очередь подходить с т.з. здравого смысла, получая от него наибольшую выгоду при описании, естественно учитывая все ограничения :)

Гриша,
Полностью с тобой согласен в последнем посту :)
« Последнее редактирование: 17 Декабря 2008, 13:53:09 от bas »
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



Re: Внешная Система как инициатор ВИ Ответ #12 : 17 Декабря 2008, 18:14:04
Рассмотрим такой вариант. Чтобы открыть дверь, два человека в разных местах должны поднести свои карты к ридерам. При этом один из них дополнительно аутентифицируется по сетчатке глаза, а другой вводит код с клавиатуры.

Как будет выглядеть ВИ с одним актором?
Как один ВИ с простым ветвлением
или как один ВИ с альтернативой
Или как два ВИ причем один из ВИ есть расширение первого
Один ВИ открыть дверь, другой аутифицироваться

Реально никто не хочет войти в дверь - народ хочет
а - попасть в здание (комнату) - в этом случае нужна аутентификация (к примеру)
б - покинуть здание (комнату) - аутентификация не нужна (к примеру)

т.е. после размышления имеем три варианта использования системы:
Войти в здание
Выйти из здания
Аутентификация как отдельный под ВИ, который может иметь и самостоятельно значение
« Последнее редактирование: 17 Декабря 2008, 18:19:13 от Galogen »



Re: Внешная Система как инициатор ВИ Ответ #13 : 17 Декабря 2008, 18:40:09
Как один ВИ с простым ветвлением
или как один ВИ с альтернативой
Или как два ВИ причем один из ВИ есть расширение первого
Один ВИ открыть дверь, другой аутифицироваться

Реально никто не хочет войти в дверь - народ хочет
а - попасть в здание (комнату) - в этом случае нужна аутентификация (к примеру)
б - покинуть здание (комнату) - аутентификация не нужна (к примеру)

т.е. после размышления имеем три варианта использования системы:
Войти в здание
Выйти из здания
Аутентификация как отдельный под ВИ, который может иметь и самостоятельно значение

А зачем мне все эти сложности - два ВИ вместо одного или один ВИ с ветвлением, если в процедуре изначально участвуют два человека, и система должна взаимодействовать с обоими? Кому это облегчит жизнь?
greesha.ru

Реальность - это убийство прекрасной теории бандой мерзких фактов. (Роберт Гласс)



Re: Внешная Система как инициатор ВИ Ответ #14 : 17 Декабря 2008, 19:40:55
А зачем мне все эти сложности - два ВИ вместо одного или один ВИ с ветвлением, если в процедуре изначально участвуют два человека, и система должна взаимодействовать с обоими? Кому это облегчит жизнь?
Т.е. два человеа подходят к двери и одновременно пытаются зайти в эту дверь?

Я не говорю, что надо усложнять. И потом почему усложнять, это не усложнение, а анализ, который позволяет усмотреть все нюансы в случае чего.
Весь сразу возникает вопрос, почему нужно иметь некую карту для прохода, зачем еще идентифицировать сетчатку, а набор кода заменяте считывание сетчатки или определяется формой допуска. А в каком случае нужно сетчатку считывать и почему другой набирает просто код на клавиатуре?

Ведь по сути мы описываем не факт открытия двери, а факт допуск.

ВИ полезны тогда когда - есть разные пользователи и роли, есть много интерфейсов,

Иначе если система описывается через ограничения (нефункциональные требования) то не используем ВИ - они вредны.

Тут я вижу некое взаимодействие и достаточно сложное с устройством




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19