Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Шаблонизируй это. Как паттерны требований облегчают жизнь аналитика

1,410 views

Published on

Доклад Виталия Мальцева на конференции Analyst Days-4,
17-18 апреля 2015 г., Минск
www.analystdays.com

Published in: Education
  • Be the first to comment

Шаблонизируй это. Как паттерны требований облегчают жизнь аналитика

  1. 1. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика 1 2 3 4 5 6 7 8 9 10 11 12 Шаблонизируй это Как паттерны требований облегчают жизнь аналитика Виталий Мальцев Devexperts
  2. 2. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Devexperts Виталий Мальцев Обо мне Бизнес-аналитик 4 года 7 крупных проектов Проекты От социальных сетей для трейдеров до крупнейших торговых платформ в США и Европе 1 2 3 4 5 6 7 8 9 10 11 12
  3. 3. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика ?Как мы работаем 1 2 3 4 5 6 7 8 9 10 11 12
  4. 4. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика С чистого листа... Подготовка к интервью Знакомство с заказчиком Понимание особенностей его деятельности Осознание специфики работы Примерные вопросы Формирование вопросов по запрошенной функциональности Поиск и анализ аналогичных решений Черновик требований Отсутствие частей функциональности Много размытых требований Ошибочные предположения ... каждый раз 1 2 3 4 5 6 7 8 9 10 11 12
  5. 5. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Изобретая колесо... Схожая функциональность Отчеты Стандарты Регистрация Одинаковые ошибки Пропущена часть требований Не учтены известные ограничения Забыли про полимеры Разное описание Новые формулировки Классные диаграммы Прочий креатив ... постоянно 1 2 3 4 5 6 7 8 9 10 11 12
  6. 6. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Время идет... 3 этапа ревью требований Заказчик Разработчик Тестировщик Ревью требований внутри команды Объяснение новичкам правил команды Лишние итерации из-за отсутствия стандартного подхода " "Объяснение очевидного Разработчики не любят новых форматов спецификаций Вещи, кажущиеся очевидными, обязательно упускаются ... всегда 1 2 3 4 5 6 7 8 9 10 11 12
  7. 7. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Олимпийские показатели Что ждут от требований? Качество Скорость Точность Понятность Последова- тельность 1 2 3 4 5 6 7 8 9 10 11 12
  8. 8. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Как этого ?достичь 1 2 3 4 5 6 7 8 9 10 11 12
  9. 9. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика -Паттерны требований это руководство к написанию требований определенного типа 1 2 3 4 5 6 7 8 9 10 11 12
  10. 10. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Структура требования Элементы и варианты взаимодействия для описываемой функциональности Важные аспекты Моменты, которые необходимо учесть при работе над требованием Шаблон Формулировки, обычно используемые для описания требования Дополнительные требования Требования, обычно описывающие смежную функциональность 1 2 3 4 5 6 7 8 9 10 11 12 Паттерны требований
  11. 11. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Применение паттернов Software Requirement Patterns (Stephen Withall) Основные требования к системе Данные Пользовательские функции Производительность Гибкость Контроль доступа 1 2 3 4 5 6 7 8 9 10 11 12
  12. 12. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Разработка паттернов 1 2 3 4 5 6 7 8 9 10 11 12
  13. 13. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Разработка паттерна Систематизация требований Анализ применимости в будущем Поиск похожих требований 1 2 3 4 5 6 7 8 9 10 11 12
  14. 14. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Паттерн аутентификации 1 2 3 4 5 6 7 8 9 10 11 12
  15. 15. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Создание паттерна Authentication system for XYZ 1.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 ABC 1.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
  16. 16. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Authentication system for XYZ 1.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 ABC 1.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
  17. 17. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Создание паттерна Структура паттерна аутентификации Пользователи Механизм аутентификации Доступ без аутентификации 1 2 3 4 5 6 7 8 9 10 11 12
  18. 18. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Создание паттерна Структура паттерна аутентификации Дополнительные :требования Восстановление пароля Remember Me Logout 1 2 3 4 5 6 7 8 9 10 11 12
  19. 19. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика 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
  20. 20. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Паттерн разрешения доступа к функциям системы 1 2 3 4 5 6 7 8 9 10 11 12
  21. 21. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Создание паттерна Permissions for XYZ functionality 1.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 functionality 1.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
  22. 22. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Создание паттерна Permissions for XYZ functionality 1.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 functionality 1.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
  23. 23. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Создание паттерна Структура паттерна разрешения доступа Пользователи Поведение системы Название пермиссии и состояния 1 2 3 4 5 6 7 8 9 10 11 12
  24. 24. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Создание паттерна Структура паттерна разрешения доступа Дополнительные :требования Миграция пермиссий 1 2 3 4 5 6 7 8 9 10 11 12
  25. 25. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Паттерн разрешения доступа 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).
  26. 26. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика 1 2 3 4 5 6 7 8 9 10 11 12 Паттерн Аудита изменений в системе
  27. 27. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Создание паттерна Структура паттерна аудита изменений Атрибуты сущности Создание аудита Отображение аудита 1 2 3 4 5 6 7 8 9 10 11 12
  28. 28. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Создание паттерна Структура паттерна аудита изменений Дополнительные :требования Фильтрация и поиск аудитов 1 2 3 4 5 6 7 8 9 10 11 12
  29. 29. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика 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
  30. 30. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Паттерны дают хорошую точку опоры для начала работы над требованиями Начинать с шаблона 1 2 3 4 5 6 7 8 9 10 11 12
  31. 31. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика - ,Паттерны это сохраненный опыт который можно и нужно использовать Улучшать, а не пересоздавать 1 2 3 4 5 6 7 8 9 10 11 12
  32. 32. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Don't waste your time Использование паттернов увеличивает качество требований и сокращает время на их создание 1 2 3 4 5 6 7 8 9 10 11 12
  33. 33. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Плюсы применения паттернов Качество Скорость Точность Понятность Последова- тельность 1 2 3 4 5 6 7 8 9 10 11 12
  34. 34. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика Плюсы применения паттернов Качество Скорость Точность Понятность Последова- тельность 1 2 3 4 5 6 7 8 9 10 11 12
  35. 35. .Шаблонизируй это Как паттерны требований облегчают жизнь .аналитика !Спасибо за внимание E-mail 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

×