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.

Use cases на практике

48,007 views

Published on

Published in: Technology, Business

Use cases на практике

  1. 1. Use cases на практике <ul><li>Предеин Александр, </li></ul><ul><li>Системный аналитик </li></ul><ul><li>[email_address] </li></ul>
  2. 2. Вариант использования. Что это? <ul><li>Вариант использования (Use case ) - описание поведения системы при ее взаимодействии с окружающим миром. Use case описывает то, как действующее лицо пытается достичь некой цели, используя систему  </li></ul>
  3. 3. Описание функции <ul><li>Зарегистрироваться на сайте </li></ul><ul><li>Сайт должен предоставлять пользователю возможность зарегистрироваться. Для регистрации пользователь должен заполнить форму. После регистрации сайт должен отправить на e-mail пользователя подтверждение о регистрации </li></ul>
  4. 4. Та же функция только в формате Use Case <ul><li>UC . Зарегистрироваться на сайте </li></ul><ul><li>Действующее лицо: пользователь сайта </li></ul><ul><li>Предусловия: пользователь находится на главной странице сайта </li></ul><ul><li>Основной сценарий: </li></ul><ul><ul><li>Пользователь нажимает кнопку «Зарегистрироваться&quot; </li></ul></ul><ul><ul><li>Сайт отображает форму регистрации </li></ul></ul><ul><ul><li>Пользователь заполняет поля формы и подтверждает регистрацию </li></ul></ul><ul><ul><li>Сайт подтверждает правильность заполнения формы </li></ul></ul><ul><ul><li>Сайт регистрирует пользователя и отправляет на его e-mail письмо с подтверждением регистрации </li></ul></ul><ul><li>Альтернативные сценарии: </li></ul><ul><ul><li>… </li></ul></ul>
  5. 5. Структура <ul><li>Цель </li></ul><ul><li>Действующие лица </li></ul><ul><li>Предусловия </li></ul><ul><li>Максимальные и минимальные гарантии </li></ul><ul><li>Основной сценарий </li></ul><ul><li>Расширения (альтернативные сценарии) </li></ul>
  6. 6. Нехороший пример <ul><li>Пользователь нажимает кнопку «Зарегистрироваться». Сайт отображает форму регистрации. Пользователь заполняет поля формы и подтверждает регистрацию. Сайт проверяет правильность заполнения формы. Если поля заполнены неверно, то сайт сообщает пользователю об ошибках заполнения формы. Если поля заполнены верно, то сайт регистрирует пользователя и отправляет на его e-mail письмо с подтверждением регистрации. </li></ul>
  7. 7. Нехороший пример (продолжение) <ul><li>Пользователь нажимает кнопку «Зарегистрироваться». Сайт отображает форму регистрации. Пользователь заполняет поля формы и подтверждает регистрацию. Сайт проверяет правильность заполнения формы. Если поля заполнены неверно, то сайт сообщает пользователю об ошибках заполнения формы. Если в базе уже есть пользователь с таким же e-mail , то сайт сообщает пользователю о том, что пользователь с таким e-mail уже зарегистрирован. Если поля заполнены верно, то сайт регистрирует пользователя и отправляет на его e-mail письмо с подтверждением регистрации. </li></ul>
  8. 8. Исправленный вариант использования <ul><li>Основной сценарий: </li></ul><ul><ul><li>Пользователь нажимает кнопку «Зарегистрироваться&quot; </li></ul></ul><ul><ul><li>Сайт отображает форму регистрации </li></ul></ul><ul><ul><li>Пользователь заполняет поля формы и подтверждает регистрацию </li></ul></ul><ul><ul><li>Сайт подтверждает правильность заполнения формы </li></ul></ul><ul><ul><li>Сайт регистрирует пользователя и отправляет на его e-mail письмо с подтверждением регистрации </li></ul></ul>
  9. 9. Исправленный вариант использования <ul><li>Основной сценарий: </li></ul><ul><li>Пользователь нажимает кнопку «Зарегистрироваться&quot; </li></ul><ul><li>Сайт отображает форму регистрации </li></ul><ul><li>Пользователь заполняет поля формы и подтверждает регистрацию </li></ul><ul><li>Сайт подтверждает правильность заполнения формы </li></ul><ul><li>Сайт регистрирует пользователя и отправляет на его e-mail письмо с подтверждением регистрации </li></ul><ul><li>Альтернативные сценарии: </li></ul><ul><li>4а. Есть ошибки заполнения формы: </li></ul><ul><li>4а1. Сайт сообщает об ошибках заполнения формы. </li></ul><ul><li>4а2. Переход на шаг 3. </li></ul><ul><li>4б. Пользователь с таким e-mail уже зарегистрирован: </li></ul><ul><li>4б1. Сайт сообщает о том, что пользователь с таким e-mail уже зарегистрирован. </li></ul><ul><li>4б2. Переход на шаг 3. </li></ul>
  10. 10. Расширения <ul><li>Альтернативные сценарии: </li></ul><ul><li>2-4а. Условие… : </li></ul><ul><li>2-4а1. Действие… </li></ul><ul><li>2-4а2. Действие… </li></ul><ul><li>*а. Условие… : </li></ul><ul><li>*а1. Действие… </li></ul><ul><li>*а2. Действие… </li></ul>
  11. 11. Еще пример
  12. 12. В чем преимущество описания Use Case ? <ul><li>Дают представление о поведении системы </li></ul><ul><li>Сравните с функцией: </li></ul><ul><li>Сайт должен предоставить пользователю возможность зарегистрироваться </li></ul><ul><li>Понятны заказчикам и разработчикам </li></ul><ul><li>Позволяют описать множество альтернатив (исключений) </li></ul><ul><li>Список вариантов использования – перечень функциональности системы </li></ul><ul><li>Позволяют описывать функционал итеративно (перечень Use Cases - > Краткие описания - > Основные потоки -> Расширения) </li></ul>
  13. 13. Use Case и User Story
  14. 14. Use Case и User Story <ul><li>User Story это один из сценариев, тогда как Use Case это набор сценариев </li></ul><ul><li>Use Case объединяет несколько сценариев и показывает отношения между ними </li></ul>
  15. 15. Когда не стоит использовать Use Case <ul><li>Не стоит использовать: </li></ul><ul><li>Когда требуется описать сложный алгоритм </li></ul><ul><li>Для описания пользовательского интерфейса </li></ul>
  16. 16. Несколько рекомендаций <ul><li>Основной сценарий не больше 3 - 9 шагов </li></ul><ul><li>Исключите элементы дизайна (если в них есть необходимость опишите в другом месте) </li></ul><ul><li>Используйте один уровень детализации на всех шагах </li></ul><ul><li>Избегайте формализма ( используйте тот шаблон, который необходим в данный момент ) </li></ul><ul><li>Не пытайтесь описать все расширения сразу </li></ul><ul><li>Не используйте «если» </li></ul><ul><li>Следите за тем на чьей стороне мяч </li></ul>
  17. 17. О чем можно поговорить еще <ul><li>Как выявлять варианты использования </li></ul><ul><li>Место вариантов использования среди требований </li></ul>
  18. 18. Что почитать <ul><li>Алистер Коберн «Современные методы описания функциональных требований к системам» https://prj.slweb.ru/attachments/download/6940 </li></ul><ul><li>Алистер Коберн «Варианты использования , десять лет спустя» , статья http://www.maxkir.com/sd/useCasesTenYearsLater_RUS.html </li></ul><ul><li>Блог Алистера Коберна о UC : http://alistair.cockburn.us/Use+cases </li></ul><ul><ul><li>Why I still use use cases: http://alistair.cockburn.us/Why+I+still+use+use+cases </li></ul></ul>
  19. 19. Вопросы <ul><li>? </li></ul>Предеин Александр, [email_address]

×