Upload
anna-abramova
View
250
Download
4
Embed Size (px)
DESCRIPTION
Презентация к встрече аналитиков Петербурга 8 мая 2014 года. Формирование структуры требований. Это не обучающий материал, и не претендует на эту роль. Это памятка для учавствовавших во встрече о чем шла речь.
Citation preview
Это не обучающий материал и не претендует на эту роль. Это материал для обсуждения на личной
встрече с коллегами
Структурирование требований
Анна АбрамоваE-mail: [email protected]
Skype: abramova_anna
О себе
• Абрамова Анна• Образование: СПбГУ, ПМ-ПУ• С 2002 года в ИТ• С 2008 года в роли аналитика• Работа в заказных и внутренних проектах, продуктовой
разработке
• 5 лет в роли разработчика учебных курсов и преподавателя СПбГУ и ИТМО
• Разработала свой курс по системному анализу в ИТ для начинающих аналитиков
Предусловия
• Функциональные системные требования• На примере 2-х проектов• В иерархической форме (TFS)
По объектам: схема
• C – Create• R – Read• U – Update• D – Delete• L - List
По объектам: функциональные блоки
• Заказ– Принять заказ– Просмотреть заказ– Изменить состав заказа– Изменить адрес доставки– Отменить заказ– Просмотреть список заказов
• Клиент– Зарегистрировать клиента– Просмотреть данные клиента– Изменить личные данные– Изменить контактные данные– Удалить клиента– Просмотреть список клиентов
По объектам: расширенная схема
По ролям: Схема ВИ
Клиент
Менеджер
Сделать заказ
Найти продукт
Отправить заказ
Зарегистрировать заказ
Найти клиента
Оформить доставку
Зарегистрировать клиента
<<включить>>
<<включить>>
<<расширить>>
<<расширить>><<включить>>
<<включить>>
Иерархия уровней• Цели пользователей (в виде ВИ)
– Цели Клиента• Сделать заказ (ВИ)
– Цели Менеджера• Принять заказ (ВИ)
• Требования пользователей– Требования клиента
• Найти дешевые продукты• Найти новинки• Отправить заказ• Зарегистрироваться
– Требования менеджера• Найти клиента по номеру телефона• Найти клиента по номеру дисконтной карты• Найти клиента по фамилии• Зарегистрировать клиента• Принять заказ• Оформить доставку
• Функциональные требования по объектам– Функциональные блоки
Структура требований пользователей
По ролям• Требования Клиента
– Найти дешевые продукты
– Найти новинки
– Отправить заказ
– Зарегистрироваться
• Требования Менеджера
– Найти клиента по номеру телефона
– Найти клиента по номеру дисконтной карты
– Найти клиента по фамилии
– Зарегистрировать клиента
– Принять заказ
– Оформить доставку
По объектам• Заказ
– Принять заказ– Отправить заказ
• Продукт– Найти дешевые продукты– Найти новинки
• Доставка– Оформить доставку
• Клиент– Найти клиента по номеру телефона– Найти клиента по номеру
дисконтной карты– Найти клиента по фамилии– Зарегистрировать клиента
Функциональные блоки+
• Заказ– Принять заказ– Отправить заказ– Просмотреть заказ– Изменить состав заказа– Изменить адрес доставки– Отменить заказ– Просмотреть список заказов
• Клиент– Зарегистрировать клиента– Просмотреть данные клиента– Изменить личные данные– Изменить контактные данные– Удалить клиента– Просмотреть список клиентов– Найти клиента
• Найти клиента по номеру телефона• Найти клиента по номеру дисконтной
карты• Найти клиента по фамилии
• Продукт– Найти продукт
• Найти продукт по цене
• Найти продукт по дате создания
– CRUDL по продукту
• Доставка– Оформить доставку– CRUDL по доставке
Связь требований (трассировка)
• Родитель-Потомок• Предшественник-Последователь• Ассоциация
Связь между уровнями требований
Цель пользователя
Требование пользователя
1Предшественник
1..nПоследователь
Требование пользователя
Функциональное системное требование
*Предшественник
1..nПоследователь
Разделение основныхи служебных функций
• Требования основных (бизнес-) и служебных пользователей (администраторы системы)
• Повторяющиеся во многих блоках служебные функции (поиск, печать)
• Стандартизованные функции– Заданные отраслевыми стандартами– Заданные внутренними стандартами
Функциональные области
Бизнес-процессы Архитектура• Предварительная архитектура
системы• Текущая архитектура• Стандартная архитектура для
данного вида систем
Функциональные области: иерархия
• Функциональная область N– Цели пользователей
• Роль 1– Цель пользователя 1– …– Цель пользователя N
• Роль N– Цель пользователя 1– …– Цель пользователя N
– Требования пользователей• …
– Функциональные системные требования• Функциональный блок 1• …• Функциональный блок N
Функциональные области: пример иерархии
• Управление заказами– Цели пользователей
• Цели клиента– Сделать заказ
• Цели менеджера– Принять заказ
– Требования пользователей• Требования клиента
– Найти дешевые продукты– Найти новинки– Отправить заказ
• Требования менеджера– Найти клиента по номеру телефона– Найти клиента по номеру дисконтной карты– Найти клиента по фамилии– Принять заказ– Оформить доставку
– Функциональные системные требования• Заказ
– …
– Продукт• Найти продукт
– Найти продукт по цене– Найти продукт по дате создания
• CRUDL по продукту
– Доставка• Оформить доставку• CRUDL по доставке
• Управление клиентами– Цели пользователей
• Цели менеджера– Зарегистрировать клиента
– Требования пользователей• Требования менеджера
– Зарегистрировать клиента
– Функциональные системные требования
• Клиент– Зарегистрировать клиента– Просмотреть данные клиента– Изменить личные данные– Изменить контактные данные– Удалить клиента– Просмотреть список клиентов– Найти клиента
» Найти клиента по номеру телефона
» Найти клиента по номеру дисконтной карты
» Найти клиента по фамилии
Функциональные области: дополнительные области
• Поиск пациентов– Цели пользователей
• …– Требования пользователей
• Требования менеджера– Найти клиента по номеру телефона– Найти клиента по номеру дисконтной карты– Найти клиента по фамилии
– Функциональные системные требования• Найти клиента
– Найти клиента по номеру телефона– Найти клиента по номеру дисконтной карты– Найти клиента по фамилии
Бизнес- и нефункциональные требования
• Бизнес-требования– Бизнес-цели– Бизнес-задачи– Бизнес-правила
• Функциональные требования– …
• Системные нефункциональные требования– Требования к удобству использования (эргономика)– Требования к архитектуре– Внешние интерфейсы– Производительность– Масштабируемость– Надежность/Устойчивость– …
Документ описания структуры
• Введение• Структура требований• Связи требований (трессировка)• Реализация требований в СУТ• Замечания и предложения
Согласование структуры требований
• Ведущий разработчик– Где что искать то, что мне нужно?
• Ведущий тестировщик– В каком порядке тестировать?– Какие требования тестировать, какие нет
• Руководитель проекта• Другие аналитики
– Как связаны требования?– Что изменилось в требованиях?
• Специалист по автоматизации– Наша СУТ так работать не может!
Продолжение истории: управление требованиями
• Какие требования реализованы, какие нет.• Что делать при изменении требований?• Как передавать на разработку и в тестирование?• Как происходит согласование требований?• Достаточный уровень детализации требований
Мнение экспертов