Форум Сообщества Аналитиков

×


Пример написания ВИ(Прочитано 15691 раз)
Пример написания ВИ : 15 Февраля 2009, 20:32:40
Всем привет
Начал читать Коберна и выполнять упражнения
Можете проверить мое ВИ (упражнение 4.1)

Определите вариант использования для ToproBoro автомата,
владелец является основным действующим лицом.

Вот что у меня получилось

«Забрать выручку за день»
Основное действующее лицо: владелец торгового автомата
Область действия:  торговый автомат
Уровень: цель пользователя
Основной сценарий:
1.   Владелец  открывает автомат.
2.   Извлекает наличность
3.   Сверяет баланс
4.   Закрывает  автомат
Расширения:
1.1   Банкомат не открывается
        a) Вызывает службу тех- поддержки
2.2 Наличности нет
        a)  Визуальный осмотр автомата
        b) Просмотр видео-наблюдения
3.2 Баланс не сошелся
        a) Вызывает службу тех-поддержки




Re: Пример написания ВИ Ответ #1 : 15 Февраля 2009, 21:36:41
Здравствуйте.
Не буду ничего говорить о семантике. Поговорим о синтаксисе.

Сразу могу высказать замечание: читать нужно внимательно. Коберн писал достаточно внятно. Кроме того у него есть и Памятка для занятых...

«Забрать выручку за день»
Основное действующее лицо: владелец торгового автомата
Область действия:  торговый автомат
Уровень: цель пользователя

Цитировать
Основной сценарий:
1.   Владелец  открывает автомат.
2.   Извлекает наличность
3.   Сверяет баланс
4.   Закрывает  автомат
Во-первых, нет диалога между одним действующим лицом - владельцем, и вторым действующим лицом - торговым автоматом.
Вариант использования - это вариант использования одним действующим лицом другого.
Причем одно действующее лицо - субъект, обладающий целью, потребностью.
Другое действующее лицо - объект, реагирующий на воздействия извен, помогающий добиться целей первого действующего лица субъекта. Объект - реактивная система, обладающая интерфейсом и регирующая на воздействия.

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

Цитировать
Расширения:
1.1   Банкомат не открывается
        a) Вызывает службу тех- поддержки
кто вызывает службу поддержки, автомат или владелец? если владелец, то не ясны действия торгового автомата. А если не прописываются действия автомата, то зачем вообще что-то описывать?

Цитировать
2.2 Наличности нет
        a)  Визуальный осмотр автомата
        b) Просмотр видео-наблюдения
Совершенно не понятно для чего вообще это делается...

Цитировать
3.2 Баланс не сошелся
        a) Вызывает службу тех-поддержки
И опять а причем тут область действия торговый автомат

Резюме: пока очень плохо. Давайте попробуем еще раз.



Re: Пример написания ВИ Ответ #2 : 15 Февраля 2009, 23:39:36
Да, памятку еще не читал

Вот что получилось теперь, первый вариант использования был выбран неудачно

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

ВАРИАНТ  ИСПОЛЬЗОВАНИЯ для торгового автомата «Проверить баланс  автомата»

Основное действующее лицо: владелец торгового автомата
Область действия:  торговый автомат
Уровень: цель пользователя
Основной сценарий:
1.   Владелец  авторизуется при помощи пароля
2.   Автомат проверяет введенный пароль, полномочия инициатора
3.   Владелец выбирает «Показать баланс за день»
4.   Автомат выводит информацию на экран
5.   Владелец заканчивает сеанс
6.   Автомат возвращается в исходное состояние
Расширения:
1.1   Владелец вводит неверный пароль
      a)   Автомат выводит информацию о некорректности введенных данных
      b)   отказ



Но тогда не совсем понятно как же быть с ВИ "Забрать выручку за день"
Я правда сейчас только на 4 главе, возможно в дальнейшем станет понятно.
Однако в этом ВИ автомат все равно является "черным ящиком", но какие могут быть реакции у автомата на механические воздействия владельца?
Вот что получилось

повествовательный стиль
Владелец подходит к автомату. Вставляет свой ключ. Владелец открывает автомат и вытаскивает "Коробку" с наличностью. Владелец достает наличность. Вставляет коробку обратно. Закрывает автомат и уходит.

И получаем ошибку "Отсутствует система", но как она может реагировать?
Может я ошибся с определением области действия и действующими лицами?
« Последнее редактирование: 15 Февраля 2009, 23:41:55 от mifody »



Re: Пример написания ВИ Ответ #3 : 16 Февраля 2009, 13:24:34
Уже значительно лучше.
Однако важно понять цель моделирования. Т.е. зачем мы пишем ВИ? Чтобы понять бизнес-процесс, или сформулировать системные требования к реализации. Т.е. ответить на вопрос А ЧТО СОБСТВЕННО НУЖНО ВЛАДЕЛЬЦУ ОТ ТОРГОВОГО АВТОМАТА.

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

ВАРИАНТ  ИСПОЛЬЗОВАНИЯ для торгового автомата «Проверить баланс  автомата»
Вы выделили ситуацию одной из возможной цели использования. Проверить баланс автомата.
Однако задумаемся. Можно в режиме Да или Нет ответить, что баланс проверен.
Т.е. цель либо достигается, либо не достигается
У цели есть четкий критерий ее проверки, что цель достигнута или нет.
Что такое баланс за день? Это сумма денег в лотке? А зачем Владельцу узнавать баланс за день?

Цитировать
Основное действующее лицо: владелец торгового автомата
Область действия:  торговый автомат
Уровень: цель пользователя
Основной сценарий:
1.   Владелец  авторизуется при помощи пароля
2.   Автомат проверяет введенный пароль, полномочия инициатора
Смотрите Автомат проверяет полномочия, а дальше?
Лучше автомат подтверждает полномочия инициатора и отображает список Опций или Действий

Цитировать
3.   Владелец выбирает «Показать баланс за день»
4.   Автомат выводит информацию на экран
5.   Владелец заканчивает сеанс
6.   Автомат возвращается в исходное состояние
Расширения:
1.1   Владелец вводит неверный пароль
      a)   Автомат выводит информацию о некорректности введенных данных
      b)   отказ
Отказ в чем? что за действие?



Цитировать
Но тогда не совсем понятно как же быть с ВИ "Забрать выручку за день"
Я правда сейчас только на 4 главе, возможно в дальнейшем станет понятно.
Однако в этом ВИ автомат все равно является "черным ящиком", но какие могут быть реакции у автомата на механические воздействия владельца? 

Вот что получилось

повествовательный стиль
Владелец подходит к автомату. Вставляет свой ключ. Владелец открывает автомат и вытаскивает "Коробку" с наличностью. Владелец достает наличность. Вставляет коробку обратно. Закрывает автомат и уходит.

И получаем ошибку "Отсутствует система", но как она может реагировать?
Может я ошибся с определением области действия и действующими лицами?

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



Re: Пример написания ВИ Ответ #4 : 16 Февраля 2009, 17:00:53
Цитировать
Т.е. ответить на вопрос А ЧТО СОБСТВЕННО НУЖНО ВЛАДЕЛЬЦУ ОТ ТОРГОВОГО АВТОМАТА.

Вот в том то и оно, ЧТО НУЖНО ВЛАДЕЛЬЦУ ОТ ТОРГОВОГО АВТОМАТА это помоему самое главное и тяжелое, разобраться что ему нужно

попробую написать ситуацию от начала до конца и определить ЧТО МОЖЕТ ПОТРЕБОВАТЬСЯ ВЛАДЕЛЬЦУ

Установка автомата.
Я покупаю торговый автомат. Привожу его в офис компании. Устанавливаю и включаю.
В автомате есть секции в которых находится товар. Необходимо установить для каждой секции стоимость (претендент на ВИ),
после установки стоимостей загружаем товар. После загрузки товара необходимо протестировать автомат (претендент на ВИ). После тестов запускаем автомат для обслуживания клиентов.

Обслуживание автомата (будем считать что я только начинаю этот бизнес и обслуживанием занимаюсь сам)
Я прихожу каждое утро к автомату для того что бы забрать наличность, обновить товар, добавить наличности для сдачи.
Достаю ключ и открываю автомат. Мне необходимо собрать статистику товаров которые были проданы и суммы поступивших денег. Для этого у меня есть специальное устройство которое подключается к автомату и делает всю эту работу (как оно работает - этого я не знаю). Я подключаю устройство и запускаю программу, мне выдается результат я его записываю (ВИ). Добавляю в автомат продукты и монеты для сдачи, после этого запускаю другую программу которая собирает данные о товарах и запоминает состояние (ВИ). Я отключаю устройство. Закрываю автомат и ухожу

Я насчитал 4 ВИ
1) установить для каждой секции стоимость
2) тестирование автомата
3) собрать статистику на текущи момент
4) обновить статистику


В правильном пути я двигаюсь?



Re: Пример написания ВИ Ответ #5 : 16 Февраля 2009, 19:21:11
Я насчитал 4 ВИ
1) установить для каждой секции стоимость
2) тестирование автомата
3) собрать статистику на текущи момент
4) обновить статистику
1 - это нормально,
2-4 ненормально это слишком длительно или непонятно, что такое статистика?

Помоему мне как владельцу нужна выручка - наличность.
Чтобы получить выручку я должен загрузить в автомат товар и что-то там с ним сделать



Re: Пример написания ВИ Ответ #6 : 16 Февраля 2009, 23:51:29
Пробую еще раз )

ВИ «Установить стоимость для каждой секции автомата»

Основное действующее лицо: владелец торгового автомата

Область действия:  торговый автомат

Уровень: цель пользователя

Основной сценарий:

Владелец  авторизуется при помощи пароля
1.   Владелец авторизуется  при помощи пароля
2.   Автомат подтверждает полномочия инициатора и отображает список  опций
3.   Владелец выбирает  опцию «Стоимость секций»
4.   Автомат отображает список секций. Шаги 5-8 могут повторяться сколько угодно раз.
5.   Владелец выбирает необходимую секцию.
6.   Автомат отображает секцию и установленную стоимость
7.    Владелец  устанавливает стоимость
8.   Автомат запоминает стоимость.
9.    Владелец завершает обновление стоимостей и заканчивает сеанс
10.   Автомат возвращается в исходное состояние

Расширения:

1.2   Инициатор ввел неверный пароль
      a)   Автомат сообщает об этом и снова запрашивает пароль
      b)   Инициатор повторно вводит пароль
                1.2b1 Превышен предел ввода пароля
                    a) Автомат уведомляет инициатора и прекращает сеанс

5.1 Владелец  вводит неверные данные для стоимости  секции
   5.1a  Автомат уведомляет об этом и переходит в шагу 6



P.S.
Имеется подозрение что шаги

5.   Владелец выбирает необходимую секцию.
6.   Автомат отображает секцию и установленную стоимость
7.    Владелец  устанавливает стоимость

необходимо объединить в один

5.   Владелец выбирает секцию и устанавливает ее стоимость

« Последнее редактирование: 17 Февраля 2009, 01:02:34 от mifody »



Re: Пример написания ВИ Ответ #7 : 17 Февраля 2009, 14:05:11
Очень хорошо

необходимо объединить в один
5.   Владелец выбирает секцию и устанавливает ее стоимость
Вполне разумно. Главное для кого пишется ВИ. В этом случае объединение уменьшает объем и никакая информация не теряется



Re: Пример написания ВИ Ответ #8 : 17 Февраля 2009, 15:36:05
Galogen

Спасибо за помощь.

Пойду изучать дальше



Re: Пример написания ВИ Ответ #9 : 01 Марта 2009, 20:22:02
дошел до 10 главы, не все конечно  понятно но что то становится на свои места
Хотел бы попросить проверить мой ВИ, потому как думаю что если в начале буду идти не верным путем то потом сложнее исправить ошибки которые закладываются в самом начале пути

задание следующее
"Найдите условие в варианте использования уровня цели пользователя
для системы PAF (описанной в упражнении 4.4), которое требует
выделения подчиненно1'О варианта использования. Напишите этот
подчиненный вариант использования и установите с ним связь из
варианта использования уровня цели пользователя, уделяя внимание
как e1'o успеху, так инеудаче."

первый ВИ
ВИ Приобретение финансовых бумаг
.....
Основной сценарий:
..........
7   клиент  сообщает системе что выбор окончен
8   клиент оплачивает выбранный пакет (uc 10.1 Оплата пакета акций)


10.1   Оплата пакета акций
Основное действующие лицо: пользователь
Область действия: система
Уровень: подфункция
Предусловие:  пользователь находится в разделе оплаты услуг
Тригер: пользователь  выбрал акции и перешел в разде оплаты
Основной сценарий:
1.   Клиент подтверждает оплату выбранных ценных бумаг
1.   Система предлагает выбрать "способ" оплаты
2.   Клиент выбирает "способ" и инициирует оплату
3.   Система проводит транзакцию оплаты
4.   Система сообщает что оплата совершена
Список изменений в технологии и данных:
2.а Оплата кредитной картой, одним из видов интернет платежей, выписка счета
Расширения:
   3.а У клиента недостаточно средств
      Система сообщает об этом клиенту и  возвращается к шагу 2
   4.а Система не смогла завершить транзакцию
      Система сообщает об этом клиенту и возвращается на шаг 2   


PS прочитал сейчас еще раз ВИ и вроде все нормально
Но у меня постоянное внутреннее чувство что я что то не усвоил в начале и в чем то ошибаюсь (согласен что чувство дурацкое)



Re: Пример написания ВИ Ответ #10 : 02 Марта 2009, 13:58:01
Хочу заметить, что точных критериев правильности или неправильности нет. Главный критерий , пожалуй, понятность

8   клиент оплачивает выбранный пакет (uc 10.1 Оплата пакета акций)
Я бы сделал так:
8 Система выполняет uc 10.1 Оплата пакета акций
Т.е. стимул клиента - завершение выбора, отклик системы - запуск другого ВИ (видимо расширяющего исходный или включаемого в исходный)

Цитировать
10.1   Оплата пакета акций
Основное действующие лицо: пользователь
Я бы все-таки использовал Клиент

Цитировать
Предусловие:  пользователь находится в разделе оплаты услуг
Тригер: пользователь  выбрал акции и перешел в разде оплаты
Мне кажется предусловием данного ВИ является факт того, что акции уже выбраны
А триггер тут по сути равен первому шагу ВИ

Цитировать
Основной сценарий:
1.   Клиент подтверждает оплату выбранных ценных бумаг
1.   Система предлагает выбрать "способ" оплаты
2.   Клиент выбирает "способ" и инициирует оплату
3.   Система проводит транзакцию оплаты
4.   Система сообщает что оплата совершена
Список изменений в технологии и данных:
2.а Оплата кредитной картой, одним из видов интернет платежей, выписка счета
Расширения:
   3.а У клиента недостаточно средств
      Система сообщает об этом клиенту и  возвращается к шагу 2
   4.а Система не смогла завершить транзакцию
      Система сообщает об этом клиенту и возвращается на шаг 2   

Поскольку вы сами определяете, что возможны РАЗНЫЕ способы платежей, то очевидно возможны и разные сценарии.
Коберн предостерегает от использования условных и циклических конструкций, но мне кажется в данном случае как раз можно это ограничение обойти:
2.   Клиент выбирает "способ" и инициирует оплату
3.         Если способ оплаты = кредитная карта
              а. система выполняет ВИ Оплата кредитной картой
            Если способ оплаты = интернет-платеж 
              б. система выполняет ВИ Оплата через интернет-платеж
            Если способ оплаты = банковский перевод 
              б. система выполняет ВИ Оплата банковским переводом
4. Система сообщает что оплата совершена и (помещает акции  в портфель клиента)

Почему так? Ну хотя бы потому, что при оплате кредитной картой нужно осуществить ряд действий отличных от интернет-платежа и банковского перевода (особенно от банковского перевода, поскольку данный способ предлагает завершение сеанса до получения оплаты системой)

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



Re: Пример написания ВИ Ответ #11 : 04 Марта 2009, 00:11:04
Спасибо за ответ

С банковским переводом получается беда (
переписал основной сценарий т.к. по моему мнению, все платежам должно предшествовать выставление счета

Основной сценарий:
1.   Клиент подтверждает оплату выбранного пакета и отправляет заявку
2.   Система выставляет счет
3.   Клиент выполняет (ВИ оплатить счет)
4.   Система подтверждает оплату счета и помещает акции в портфель клиента


Но в случае банковского перевода временные рамки выполнения шага 3 неизвестны,
+ к тому же банковский перевод - это довольно емкая процедура,
однако ограничений по времени выполнения ВИ я еще пока не встречал (по крайней мере не помню)

Хотя если говорить именно об этом задании, то в контексте (который я к сожалению не указал сразу) вызывающего ВИ говорится что оплата происходит через интернет в режиме реального времени, так что в данном конкретном примере можно не рассматривать "банковский перевод", хотя вопрос интересный



Re: Пример написания ВИ Ответ #12 : 04 Марта 2009, 07:46:42
Основной сценарий:
1.   Клиент подтверждает оплату выбранного пакета и отправляет заявку
2.   Система выставляет счет
3.   Клиент выполняет (ВИ оплатить счет)
Клиент не может выполнять ВИ, он его может инициировать. Выполняет ВИ система - это ее обязанность

Цитировать
Но в случае банковского перевода временные рамки выполнения шага 3 неизвестны,
+ к тому же банковский перевод - это довольно емкая процедура,
однако ограничений по времени выполнения ВИ я еще пока не встречал (по крайней мере не помню)
Банковский перевод в данном случае поэтому не является ВИ как таковым. Более того сведения о поступлении банковского перевода видимо поступают в систему иным образом, и инициируется другим лицом или системой.

Цитировать
Хотя если говорить именно об этом задании, то в контексте (который я к сожалению не указал сразу) вызывающего ВИ говорится что оплата происходит через интернет в режиме реального времени, так что в данном конкретном примере можно не рассматривать "банковский перевод", хотя вопрос интересный
Вы имеете полное право исключить банковский перевод. Однако как в реальной практике происходит:
вы выбираете банковский перевод
система извещает Вас что информация поступила, вам на мыло или прямо в браузер выводится банковский платежный документ. Система извещает вас, что после поступления денег произойдут такие-то события. ВИ завершается. Все - Вы ведь можете и не оплатить денег, следовательно процесс не будет завершен. Ваш заказ будет отменен через определенной время. Это и есть минимальные гарантии успеха - нет платежа нет акций




 

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