View
378
Download
4
Category
Preview:
Citation preview
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
1
2
3
4
5
6
7
8
9
10
11
12
Шаблонизируй это
Как паттерны требований облегчают жизнь аналитика
Виталий Мальцев
Devexperts
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Devexperts
Виталий Мальцев
Обо мнеБизнес-аналитик
4 года
7 крупных проектов
Проекты
От социальных сетей для трейдеров
до крупнейших торговых платформ
в США и Европе
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
?Как мы работаем
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
С чистого листа...
Подготовка к интервьюЗнакомство с заказчиком
Понимание особенностей его деятельностиОсознание специфики работы
Примерные вопросыФормирование вопросов по запрошенной функциональности
Поиск и анализ аналогичных решений
Черновик требованийОтсутствие частей функциональности
Много размытых требованийОшибочные предположения
... каждый раз1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Изобретая колесо...
Схожая функциональностьОтчеты
Стандарты
Регистрация
Одинаковые ошибкиПропущена часть требований
Не учтены известные ограничения
Забыли про полимеры
Разное описаниеНовые формулировки
Классные диаграммы
Прочий креатив
... постоянно1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Время идет...
3 этапа ревью требованийЗаказчик
Разработчик
Тестировщик
Ревью требований внутрикомандыОбъяснение новичкам правил команды
Лишние итерации из-за отсутствия стандартного подхода
" "Объяснение очевидногоРазработчики не любят новых форматов спецификаций
Вещи, кажущиеся очевидными, обязательно упускаются
... всегда1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Олимпийские показатели
Что ждут от требований?
Качество Скорость Точность
ПонятностьПоследова-тельность
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Как этого ?достичь
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
-Паттерны требований это руководство к написанию
требований определенноготипа
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Структура требованияЭлементы и варианты взаимодействия для описываемой
функциональности
Важные аспектыМоменты, которые необходимо учесть при работе над требованием
ШаблонФормулировки, обычно используемые для описания требования
Дополнительные требованияТребования, обычно описывающие смежную функциональность
1
2
3
4
5
6
7
8
9
10
11
12
Паттерны требований
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Применение паттерновSoftware Requirement Patterns (Stephen Withall)
Основные требования к системе
Данные
Пользовательские функции
Производительность
Гибкость
Контроль доступа
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Разработкапаттернов
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Разработка паттерна
Систематизациятребований
Анализприменимости
в будущем
Поискпохожих
требований
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Паттернаутентификации
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Создание паттерна
Authentication system for XYZ1.System shall provide the access to the following website functionality for non-authenticated users:...
2.System shall provide the option to authenticate on the XYZ website by providing trading platform credentials.
3.System shall provide the option to select the domain which credentials will be provided for login from the below list:...
4.As required data is provided, system shall validate provided credentials against selected domain via XYZ Authentication webservice
Authentication system for ABC1.Non-authenticated users shall be able to
perform following actions: ...
2.System shall provide the option to
authenticate on the website for ABC
customers by providing existing credentials
from ABC platform.
3.As required data is provided, system shall
pass it to the ABC Authentication service and
receive a response.
Анализ структуры похожих требований1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Authentication system for XYZ1.System shall provide the access to the
following website functionality for non-
authenticated users:...
2.System shall provide the option to
authenticate on the XYZ website by providing
trading platform credentials.
3.System shall provide the option to select the
domain which credentials will be provided for
login from the below list:
...
4.As required data is provided, system shall
validate provided credentials against selected
domain via XYZ Authentication webservice
Authentication system for ABC1.Non-authenticated users shall be able to
perform following actions: ...
2.System shall provide the option to
authenticate on the website for ABC
customers by providing existing credentials
from ABC platform.
3.As required data is provided, system shall
pass it to the ABC Authentication service and
receive a response.
Выявление общих частей и отличий
Создание паттерна1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Создание паттерна Структура паттерна аутентификации
Пользователи Механизмаутентификации
Доступ безаутентификации
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Создание паттерна Структура паттерна аутентификации
Дополнительные:требования
Восстановление пароля
Remember Me
Logout
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Users:
Specify the list of users to whom the requirements are applied (All users,
Admin users, Customers, etc.)
Mechanism:
Specify the mechanism used for authentication (Password validation,
Webservice, Fingerprints, etc.)
Edge-cases:
Specify what shall system do in case of successful/unsuccessful
authentication attempt
Template:
System shall provide <users> the option to authenticate on the website
by <mechanism>.
As required data is provided, system shall validate provided credentials
<mechanism>
In case of <edge-case1...>, system shall <specify actions>
Add. requirements:
Specify additional requirements related to authentication.
Паттерн аутентификации1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Паттернразрешения доступак функциям системы
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Создание паттерна
Permissions for XYZ functionality1.System shall introduce "Perform forex transfer" STAFF permission in the configure permissions and roles interface of admin application.
2.If the effective status of "Perform forex transfer" STAFF permission is set to ALLOW system shall provide admin user with the option to add forex transfer ("+ Add Forex Transfer") in the Transaction selector interface.
3.If the effective status of "Perform forex transfer" STAFF permission is DENY (by default) system shall NOT provide admin user with the option to add forex transfer ("+ Add Forex Transfer") in the Transaction selector interface.
Permissions for ABC functionality1.System shall provide Staff permission 'Make BP
Adjustment' within Permissions and Roles
interface.
2.System shall provide the following access type
options for 'Make BP Adjustment' permission: <Not
Defined>, Allow, Deny.
3.By default Effective Access type value of 'Make
BP Adjustment' permission shall be set to <Not
Defined>. System shall process <Not Defined>
Access type as Denied Effective Access.
4.Admin user shall be able to edit BP Adjustment
attribute of chosen user account if Effective
Access type for 'Make BP Adjustment' permission
for that user is set to Allowed.
Анализ структуры похожих требований1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Создание паттерна
Permissions for XYZ functionality1.System shall introduce "Perform forex transfer" STAFF permission in the configure permissions and roles interface of admin application.
2.If the effective status of "Perform forex transfer" STAFF permission is set to ALLOW system shall provide admin user with the option to add forex transfer ("+ Add Forex Transfer") in the Transaction selector interface.
3.If the effective status of "Perform forex transfer" STAFF permission is DENY (by default) system shall NOT provide admin user with the option to add forex transfer ("+ Add Forex Transfer") in the Transaction selector interface.
Permissions for ABC functionality1.System shall provide Staff permission 'Make BP
Adjustment' within Permissions and Roles
interface.
2.System shall provide the following access type
options for 'Make BP Adjustment' permission: <Not
Defined>, Allow, Deny.
3.By default Effective Access type value of 'Make
BP Adjustment' permission shall be set to <Not
Defined>. System shall process <Not Defined>
Access type as Denied Effective Access.
4.Admin user shall be able to edit BP Adjustment
attribute of chosen user account if Effective
Access type for 'Make BP Adjustment' permission
for that user is set to Allowed.
Анализ структуры похожих требований1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Создание паттерна Структура паттерна разрешения доступа
Пользователи Поведениесистемы
Название пермиссии и
состояния
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Создание паттерна Структура паттерна разрешения доступа
Дополнительные:требования
Миграция пермиссий
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Паттерн разрешения доступа1
2
3
4
5
6
7
8
9
10
11
12
Users:
Specify the list of users to whom permission is applicable (admin users
only (STAFF), clients (FEATURE))
Permission name and purpose:
Specify the name of permission, its location in the list, and purpose.
System behavior for each permission state:
Specify possible effective states for permission (ALLOW/DENY, R/W
access) and system behavior for each state.
Template:
System shall provide <users> with <permission name> permission to
<purpose> in <permission availability>.
When effective access type for this permission is set to
<permission_state> for user, system shall <specify_action>
Add. requirements:
Specify additional requirements related to permissions (like Migration
from old permissions to the new ones).
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
1
2
3
4
5
6
7
8
9
10
11
12
ПаттернАудита изменений
в системе
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Создание паттерна Структура паттерна аудита изменений
Атрибуты сущности
Создание аудита
Отображение аудита
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Создание паттерна Структура паттерна аудита изменений
Дополнительные:требования
Фильтрация и поиск аудитов
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Attributes:
Specify the attributes of the entity which system shall audit.
Audit trigger:
Specify upon which condition audit record should be created (manual
change, change by system).
Audit record:
Specify what data should be included in the attribute record (All entity
data, only modified attributes)
Record display:
Specify the options to view the record (Description and Detailed view,
Delta comparison and highlighting)
Add. requirements:
Specify additional requirements related to permissions (like search of the
particular audit, filtering of audits).
Паттерн аудита изменений1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Паттерны дают хорошую точку опоры для начала работы над требованиями
Начинать с шаблона1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
- , Паттерны это сохраненный опыт который можно и нужно использовать
Улучшать, а не пересоздавать1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Don't waste your time Использование паттернов увеличивает качество
требований и сокращает время на их создание1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Плюсы применения паттернов
Качество Скорость Точность
ПонятностьПоследова-тельность
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
Плюсы применения паттернов
Качество Скорость Точность
ПонятностьПоследова-тельность
1
2
3
4
5
6
7
8
9
10
11
12
. Шаблонизируй это Как паттерны требований облегчают жизнь.аналитика
!Спасибо за внимание
vitaly.maltsev@gmail.com
Виталий Мальцев,
Devexperts
On the web
vk.com/vis_vitalis
twitter.com/vis_vitalis
facebook.com/vis.vitalis
skype: vis__vitalis
1
2
3
4
5
6
7
8
9
10
11
12
Recommended