Сразу спасибо за то, что присоединились к обсуждению =)
Поэтому я бы тут метод ВИ вообще не применял, а описывал бы требования другими методами.
Увы, как я уже ранее говорил, здесь я ограничен шаблоном. Конечно, там еще есть диаграмма контекста, но я таки до конца и не понял, могут ли там отображаться элементы окружения, не являющиеся акторами?
У датчика дыма нет цели, он свой сигнал выдал - а там хоть трава не расти. Поэтому датчик дыма не стоит рассматривать в качестве актора.
Кроме того, датчик дыма обычно является частью системы.
Да, но
1) В данном случае я рассматриваю как актора внешнюю среду, которая определенным образом информирует датчик
2) Поток данных направлен от среды к кейсу, а от кейса - пользователю, который в этот момент совершает действия вроде "слушаю" или "смотрю", т.е. пользователь в данном случае использования системы не инициирует действие, НО преследует цель - получить уведомление /наблюдать за обстановкой. Поскольку от него не исходит инициация или действие, то я логически пришел к выводу, что инициатором как раз у нас является внешняяя среда. И в целом пофиг - человек там или среда. Мы же можем взять подобный пример - прослушка человека, скажем. Один человек говорит, система передает, а второй слушает. Так ли важно, приследует ли цель "говорить" первый человек? Может цель он и не приследует, но действие инициации по отношению к системе совершает.
С другой стороны... Все это можно представить как транслятор потока информации, принимаегого системой. При этом поведение транслятора (а следовательно, и сам поток) существуют самостоятельно и к системе отношения не имеют с точки зрения термина "использовать" - цель использования отсутствует.
В итоге моя логика пришла к поиску одного единственного ответа на вопрос - выявить признаки, идентифицирующие актора
- наличие определенных целей по отношению к системе (вот как раз этот пункт определяет, является ли внешняя среда актором)
- существование потока данных хотя бы в одну сторону
- всегда вне системы (если не идет речь о подсистемах)
- "обладает поведением" (как писал ранее SOLar)
Последний пункт (сначала показалось что) на мой взгляд не является признаком актора, ибо возможен вариант: Актор: рабочий, цель: выполнить инструкцию, сценарий: нажать на кнопку (и ... все! сообщение "нажми на кнопку" может приходить из другой системы, а она вне контекста)
Однако проблемы начинаются таки когда мы начинаем говорить о сети как сетевом окружении, включающем в себя в т.ч. и активное сетевое оборудование и т.п. - задача - получить пакет, смаршрутизировать, передать. Цели вроде как есть (обеспечение работоспособности системы). и потоки данных есть, и поведение - "этот пакет направо, а этот -налево". Но где грань, отличающая активку от 1 единственной витой?... =(
Вот тут пришла идея переформулировать признак 1: наличие определенных целей
по отношению к системе, достигаемых с помощью системыВ то же время, если добавить этот признак, то в некоторой мере становится лишним и признак 4, и становится сложно объяснить каких целей с помощью системы достигают какие-нибудь интерфейсы...
Ну эт мои
дебри мысли, а я с ВИ столкнулся впервые, поэтому критика приветствуется. Я еще подумаю, над дебильными примерами =)
P.S.: про сеть и др. частные случаи мне тут пояснили уже, согласен =)