Monday, November 30, 2015

Метод быстрого анализа требований

Цель: Наиболее полно извлечь требования.
Проблема: у вас очень мало времени.

Думаю, вы часто сталкивались с тем, что появляется требование, которое уже завтра надо брать в разработку, но оно должно быть проанализировано. Оставляя за рамками причины, попытаемся решить проблему.
Я искал и пытался применять разные паттерны, но остановился на одном, который немного доработал.
Есть такая аббревиатура - CRUD, я её немного расширил до SCRUDADeV.

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

Теперь сам метод:
Возьмем сферическое требование - система должна нотифицировать администратора о неуспешных попытках логина (именно в такой формулировке).
  1. Определим, какие данные тут используются. Как минимум - логин и нотификация.
  2. Теперь пытаемся выяснить куда какие данные идут: login - GUI, authorization server; notification message - syslog server, gui, db, external system.
Уже на этом этапе вы выяснили, что из авторизационного сервиса должно куда-то складываться сообщение.
  1. Далее берем логин, а затем сообщение нотификации, и проходим по списку.

Search
Искать логин нужно?
Искать нотификационное сообщение нужно?
Как/Зачем?

Create
Какие требования с созданию данных?
Логин зашифрованный/нет, первичная валидация по формату, etc.
Какого формата создаем сообщение, триггеры создания etc.. 

Read
Как считывать логин (Никак, не особо применимо, хотя случаи могут быть разные).
Как читать сообщение (Кто, когда, как?) Нужна ли интерпретация?

Delete
Как и когда удаляем данные логина (Опять же, не особо применимо).
Как, когда удаляем нотификационные сообщения, ограничения и т.д.

Audit
Логирование and all about it.

Default Value
Нужны ли какие-либо дефолтные значения в тех или иных случаях.
Опять же, про логин и нотификационные сообщения придумать не могу, т.к. они не меняются в течение всего жизненного цикла. Но если взять, к примеру, любое требования типа "… должно быть конфигурируемым". Тут появляется необходимость вопроса про значение по умолчанию.

Validate
Нужна ли какая-либо валидация данных в течение жизненного цикла.
Например, проверяем, что сообщение содержит значение логина, в противном случае мы инвалидируем пакет и выкидываем его, чтобы не копить в базе ненужные данные.

Вывод:
Мы получаем алгоритм получения информации, позволяющий в короткие сроки получить информацию.
Однако стоит помнить главный вопрос аналитика - зачем. Может и извлекать ничего не придется.


p.s. Вторым по эффективности идет проработка use cases. Там также охватывается довольно большой объем серых областей.

2 comments:

  1. The Best Slots and Video Poker - Dr. mcd
    Slots.lv is an easy to play online slot machine with tons of 광양 출장안마 free 광양 출장샵 games to enjoy, a 여주 출장샵 variety 전주 출장안마 of features 춘천 출장샵 and many different bonus games to try and

    ReplyDelete
  2. Players can also win free spins within every particular person recreation. Predict the place the ball will land on the wheel and probably win a massive prize. By enjoying in} free of charge you'll be able to|you presumably can} totally 바카라 be taught the desk format.

    ReplyDelete