Пример ТЗ. Отчёт о доходе пиццерий

Опять попалось задание из вакансии вида "Системный аналитик". Выкладываю сюда свое решение.

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

Задание: Директор по развитию сети пиццерий хочет знать, какой доход имеет каждая пиццерия в сети и сколько зарабатывает вся сеть в целом. Составьте техническое задание на разработку отчёта

Читать далее Пример ТЗ. Отчёт о доходе пиццерий

Репост. Сбор и анализ требований к программному продукту. Химонин

Прочитал статью, мне понравилась. Изложение системное, краткое. Хочу поделиться.
И делюсь, так как в конце статьи есть фраза: "Все права на статью принадлежат автору. РАЗРЕШЕНА полная или частичная перепечатка, с обязательным указанием автора"
Химонин Юрий. "Сбор и анализ требований к программному продукту"
Файл на Яндекс.Диске

Download the PDF file .

Пример ТЗ. Чат в мобильном банке

Попался еще один пример задания. Выкладываю свой вариант ответа.

Общее описание

Данный документ описывает требования к онлайн-чату с оператором в мобильном приложении Сквербанк Онлайн на платформах iPhone, iPad, Android, WP.

Цели

Онлайн-чат имеет следующие цели:

  • повысить лояльность клиентов. Метриками лояльности являются опросы клиентов и анализ отзывов;
  • увеличить количество обрабатываемых сообщений сотрудником КЦ.

 
Читать далее Пример ТЗ. Чат в мобильном банке

Как писать ТЗ на сайт (копипаста)

Наткнулся на просторах сети на хороший доклад Алексея Бородкина (нач. отдела аналитики и проектирования агентства Notamedia) о том, как надо писать ТЗ на сайт. С блэкджеком и ш.. Вигерсом и ГОСТом 🙂
Ретранслирую запись и у себя в бложике

После просмотра видео рекомендую почитать записи и посмотреть файлы на странице http://nota.media/yandex/ (ее, кстати, докладчик приводит в ходе лекции).

Основные моменты, которые вынес лично я:

  1. Начинать продумывать дизайн надо ДО формирования ТЗ
  2. Нужно найти золотую середину между дизайном и прототипом, чтобы показать интерфейс заказчику (но начать надо с просто расставленных прямоугольников)
  3. Допишу еще пункты по мере пересмотра видео 🙂

Примеры юз-кейсов

Здесь собираюсь приводить примеры описания юз-кейсов. Описания выполнены "моей рукой", но по мотивам книги Коберна про юз-кейсы

Задание 1

Опишите сценарий подключения платной услуги «Анонимный номер телефона» при подаче объявления на сайте объявлений.
Смысл услуги – замена в объявлении реального номера пользователя на временный виртуальный номер. Услуга может быть подключена на 30 дней
Примечание: Зашел на сайт, не увидел там подобной услуги. Поэтому описываю сценарий в том виде, в котором я его вижу.
Предполагаю, что телефонная логика (переадресация звонков, стоимость звонка и т.п.) как-то реализована и внедрена в Системе.
---
Название сценария: Подключение анонимного номера телефона
Основное действующее лицо: Пользователь сайта
Предусловие: Пользователь находится на странице создания объявления, выполняет сценарий "Создание объявления"
Основной сценарий:
1. Пользователь нажимает кнопку "Подключить анонимный номер" и указывает свой настоящий номер, на который нужно переадресовывать звонки и смс с анонимного.
2. Система валидирует номер и выполняет сценарий "Подтверждение номера по СМС" (Примечание: предлагаю этот сценарий вынести отдельно, т.к. он может быть задействован в нескольких сценариях. Описывать не буду, но там что-то вроде генерации одноразового пароля, заявки на отправку у оператора, контроль доставки, повторные отправки, истечение жизни пароля). и удостоверяется, что для данного клиента в настоящий момент нет активной услуги "анонимный номер".
3. Система создает анонимный номер телефона в статусе "Новый" с указанием даты создания по Правилам создания нового номера (Предполагаю, что они описаны где-то отдельно). В качестве параметра номера "Срок жизни" устанавливает дату = текущая дата + N дней (на момент написания сценария N=30, может меняться администратором). Стоимость услуги берется в соответствии с настройками. Система оповещает клиента об успешном результате. Статус номера переводится на "Активный".
Происходит возврат в сценарий "Создание объявления" с телефонным номером, равным созданному анонимному номеру.

Альтернативные сценарии:

1a. Пользователь нажал "Отмена". Происходит возврат в сценарий "Создание объявления" с пустым телефонным номером.

2a. Номер невалиден (не соответствует формату телефонного номера или принадлежит другому оператору). Система выводит пользователю сообщение о невозможности подключить услугу "Анононимный номер" с указанием причины (не соответствует формату или не наш номер). Пользователь остается на начальном экране подключения анонимного номера (далее - начальный экран).

2b. Сценарий "Подтверждение номера по смс" выполнился неудачно. Система выводит пользователю сообщение о невозможности подключить услугу "Анононимный номер" с указанием причины (нужен маппинг кодов ошибок с человеческим текстом). Пользователь остается на начальном экране.

2c. У пользователя уже есть активная услуга "Анонимный номер". Система выводит сообщение о невозможности подключить еще одну услугу "Анонимный номер" по причине активной услуги у этого клиента и предлагает выбрать в качестве номера для объявления уже существующий анонимный номер. Если пользователь соглашается, происходит возврат в сценарий "Создание объявления" с телефонным номером, равным выбранному анонимному номеру. Если пользователь не соглашается, остаемся на начальном экране.

2d. Пользователь нажал на "Отмена" рядом с анонимным номером телефона. Система удаляет анонимный номер из нового объявления. Кнопка "Подключить анонимный номер" становится активной. Кнопка "Отмена" исчезает.

3a. Система не смогла создать новый анонимный номер по техническим причинам. Система выводит сообщение о технической ошибке и незможности создать новый анонимный номер.

3b. Система не смогла получить параметр N. Система берет параметр по умолчанию 30 дней в качестве значения N.

3c. Система не смогла получить стоимость услуги. Система выводит сообщение о технической ошибке и незможности создать новый анонимный номер.

3e. Стоимость услуги =0. Система не выводит стоимость рядом с телефоном и не выводит услугу "Анонимный номер" в пакетах услуг (хотя это может быть все описано в сценариях Расчета стоимости пакетов услуг и создания объявления)

4. Прерывание. Сценарий, не дойдя до успешного выполнения, прервался по внешним причинам (таймаут связи, закрылась вкладка, пользователь вышел из системы). Действий не требуется, номер остается в статусе "Новый". (В Правилах генерации номеров можно разрешить переиспользовать подобные номера с учетом протухания +1 сутки)

5. Программный сбой или выход из строя оборудования серверов. Действий не требуется, запоминать попытки пользователей создать анонимные номера не нужно - после восстановления работы сайта пользователь сможет заново запустить сценарий.

Частота выполнения: 1 раз на 50 новых объявлений
Требования к скорости: 95 персентиль создания анонимного номера = 0.1 сек.

ЗАДАНИЕ 2

2.  Задание: Напишите use case пополнения счета банковской картой в приложении оператора сотовой связи.

Use Case "Пополнения счета банковской картой"
Основное действующее лицо: Пользователь
Предусловие: пользователь выбрал способ пополнения "Банковская карта" в разделе "Пополнить счет"
Основной сценарий:
  1. Приложение направляет сигнал в систему телефона об открытии страницы oplata.operator.ru в браузере по умолчанию
Расширения:
1а. Направление сигнала не удалось. Вывод сообщения о системной ошибке.
Примечание: Смотрел на приложение для Android. Там система перенаправляла на сайт оператора, открываемый в браузере. Браузер - это уже другая система относительно рассматриваемого приложения, поэтому юз-кейс такой короткий 🙂

Activity diagram

<cap_mode = "on">

Иногда для выявления и формализации требований бывает полезным нарисовать диаграмму деятельности (Activity diagram). Ее задача - отразить последовательности действий системы. Там же можно отразить и действия пользователя, только, желательно, их как-то отделить от действий системы.

Диаграмма деятельности - это просто еще один способ взглянуть на систему. Мне очень нравится сравнение различных диаграмм и видов требований с чертежами детали в разных плоскостях. Цель и того и другого - дать возможность взглянуть на одну целиковую системы с разных ракурсов, с разных сторон, под разными углами.

Так вот, когда диаграмма готова, полезно посмотреть на нее и призадуматься о некоторых аспектах:

  • Могут ли указанные действия выполняться параллельно, последовательно или независимо?
  • Какая цель каждого действия?
  • Какие данные и как меняются в ходе выполнения действий - то есть, что подается на вход каждого действия, что получается на выходе
  • Какие ошибки могут возникать в ходе каждого действия
  • Что может являться триггером для начала выполнения действия?

Пример диаграммы деятельности.

Задача: Нарисуйте activity diagram процесса авторизации в приложении Мой Пчелайн

Диаграмма:

Авторизация Мой Билайн

Ссылка на файл в формате visio .vsd

<cap_mode = "off">

Или я, или эмир, или этот ишак

Очень часто вспоминаю эту притчу. Особенно в работе.

Однажды Эмир Бухарский призвал к себе Ходжу Насреддина, показал ему своего любимого ишака и сказал:

- Сможешь ли ты обучить этого ишака богословию, чтобы он знал столько же, сколько я сам?

 

Насреддин проверил способности этого ишака и сказал:

- О пресветлый эмир! Этот замечательный ишак не уступает остротой своего ума ни одному из твоих министров, ни даже тебе самому, я берусь обучить его богословию, и он будет знать столько же, сколько знаешь ты, и даже больше, но для этого потребуется двадцать лет.

Эмир велел выдать Насреддину из казны пять тысяч таньга золотом и сказал:

- Бери этого ишака и учи его, но, клянусь Аллахом, если через двадцать лет он не будет знать богословия и читать наизусть Коран, я отрублю тебе голову!

И когда Насреддин поведал эту историю в чайхане, куда он привёл этого ишака, добрые люди сказали ему:

- Можешь сразу проститься со своей головой, ибо где это видано, чтобы ишак наизусть читал Коран?

- Таких ишаков немало и сейчас в Бухаре, — ответил Ходжа Насреддин. — Скажу ещё, что получить пять тысяч таньга золотом и хорошего ишака в хозяйство — это человеку не каждый день удаётся. А голову мою не оплакивайте, потому что за двадцать лет кто-нибудь из нас уж обязательно умрёт — или я, или эмир, или этот ишак. А тогда поди разбирайся, кто из нас троих лучше знал богословие!

Человек хороший

Сегодня ДР.

Несколько поздравлений подряд содержали в себе фразы типа "ты такой хороший...".
Передергивает.
Сразу же вспоминаю две цитаты Довлатова. Но отвечаю просто "Спасибо". Иначе долго объяснять.

Печаль. Надо что-то менять.

Ах да, цитаты:

  1. Хорошего человека любить неинтересно... В поразительную эпоху мы живем. „Хороший человек“ для нас звучит как оскорбление. „Зато он человек хороший“ — говорят про жениха, который выглядит явным ничтожеством...
  2. У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего поведения. К нему предъявляют высокие требования. Он тащит на себе ежедневный мучительный груз благородства, ума, прилежания, совести, юмора. А затем его бросают ради какого-нибудь отъявленного подонка. И этому подонку рассказывают, смеясь, о нудных добродетелях хорошего человека

Панорамы. Канал имени Москвы

Живу теперь недалеко от данного сооружения. Сидел как-то днем и решил снять панораму. Хотелось запечатлеть зелень травы и деревьев, синеву неба и воды. И чтобы где-то вдалеке были видны шлюзы. Это шлюзы 7 и 8 - последние в канале.
Когда вижу канал, всегда вспоминаю историю его строительства. Сотни тысяч заключенных. Канал построен на костях. Ни о каких правах человека, оптимизации труда и использовании автоматики тогда и не думали. Брали тупо числом. И это очень и очень трагично и грустно, особенно зная, что в 30-е годы стать заключенным было проще простого. Подробнее на википедии.

Панорамы. Коломна и церковь в Дубровицах

Выдалась тут однажды поездка в Коломну. Ехали через Дубровицы (это рядом с Подольском) - бешенным собакам 100 верст не крюк.
Там находится замечательная по своей архитектуре Знаменская церковь. Построена она была в 1703 году, строилась 13 лет. Стиль очень итальянский 🙂 Подробнее можно почитать на википедии

Дальше двинулись на машине к Коломне. Навигатор повел нас по большой окружной.

Церковь в Щурово: