Одна из главных задач при создании любого веб-сайта, - это задача того, как решить, определить и выразить словами то, что именно мы собираемся построить и для чего.
Какую задачу мы собираемся решить? Кто нуждается в этом решении? Для чего вообще создается веб-сайт?
Плохое понимание нужд целевой аудитории сайта, или плохое видение клиента, неэффективное использование ограниченных ресурсов, неверный выбор приоритетов в дизайне, слишком большая тяга к излюбленным технологиям - все это причины, по которым веб-сайты терпят неудачу, выпускаются с задержкой, обходятся слишком дорого или вообще не соответствуют задаче.
С опытом мы начинаем учиться на своих ошибках, но есть один урок, который будет полезно узнать даже начинающим: чем раньше и точнее вы определитесь с целями и задачами и запишите их на бумаге, тем проще вам будет определить проблемы и найти их решение, тем легче вам будет достичь цели, тем лучше будет результат к всеобщему удовлетворению.
Удивительно, но веб-разработчики с большой неохотой перенимают методы и подходы, которые приняты в других сферах программирования и которые позволяют решить возникающие проблемы. В особенности на критических стадиях проекта нам могут помочь определенные методы, принятые в сфере проектировании программного обеспечения (software engineering).
Знакомьтесь - "use cases"
В особенности нам пригодится метод под названием "use cases" (варианты использования). Варианты использования позволяют просто и быстро определить и описать цели проекта. Этот метод успешно применяется многими программистами для определения на начальной фазе разработки целей приложения. Нет никаких причин веб-разработчикам отказываться от этого метода. Даже проект, который на первый взгляд кажется очень простым, может в дальнейшем превратиться в неповоротливого монстра, если вовремя не определиться с задачами и целями.
Так что же такое «варианты использования»?
Для того, чтобы определить варианты использования, нам необходимо рассмотреть два понятия и то, как они соотносятся друг с другом:
- пользователи, актеры, действующие лица (actors)
- цели (goals)
Актерами считаются все те, кто (или что) будут пользоваться вашим веб-сайтом, а также все те, кем (или чем) ваш веб-сайт будет пользоваться. Цели, это то, что один, несколько или все действующие лица стремятся добиться. Если уж говорить до конца, то каждый вариант использования должен описывать определенную цель и действующих лиц, которые будут выполнять определенные действия для достижения этой цели.
Актёры (actors) - это внешние объекты для нашего сайта. Мы их не создаем и не управляем ими. Они играют определенные роли (roles) на нашем сайте, выполняя задачи для достижения своих целей. Самым очевидным действующим лицом на нашем сайте в большинстве вариантов будет "посетитель сайта". У него возможно будет несколько целей, как то купить на сайте наш "супертовар", или например проверить состояние своего счета, назначить встречу, скачать программу, или просто почитать новости, которые мы опубликуем. Действующими лицами вовсе необязательно должны быть люди. В случае, если мы разрабатываем систему распространения информации по сети, действующими лицами на нашем сайте будут "сервера-потребители", выкачивающие от нас данные. Вне зависимости от частных случаев, "варианты использования" (use cases) описывают цели, которые достигаются актерами при выполнении определенных задач.