Библиотека Интернет Индустрии I2R.ru |
|||
|
В чем проблема?автор: Norm Carr, Tim Meehan and A List Apart Одна из главных проблем при создании любого веб-сайта, о которой меньше всего говорят и пишут, это проблема того, как решить, определить и выразить словами то, что именно мы собираемся построить и для чего. Какую проблему мы собираемся решить? Кто нуждается в этом решении? Для чего вообще создается веб-сайт? Плохое понимание нужд целевой аудитории сайта, или плохое видение клиента, неэффективное использование ограниченных ресурсов, неверный выбор приоритетов в дизайне, слишком большая тяга к излюбленным технологиям - все это причины, по которым веб-сайты терпят неудачу, выпускаются с задержкой, обходятся слишком дорого или вообще не соответствуют задаче. С опытом мы начинаем учиться на своих ошибках, но есть один урок, который будет полезно узнать даже начинающим: чем раньше и точнее вы определитесь с целями и задачами и запишите их на бумаге, тем проще вам будет определить проблемы и найти их решение, тем легче вам будет достичь цели, тем лучше будет результат к всеобщему удовлетворению. Удивительно, но веб-разработчики с большой неохотой перенимают методы и подходы, которые приняты в других сферах программирования и которые позволяют решить возникающие проблемы. В особенности на критических стадиях проекта нам могут помочь определенные методы, принятые в сфере проектировании программного обеспечения (software engineering). Знакомьтесь - "use cases"В особенности нам пригодится метод под названием "use cases" (варианты использования). Варианты использования позволяют просто и быстро определить и описать цели проекта. Этот метод успешно применяется многими программистами для определения на начальной фазе разработки целей приложения. Нет никаких причин веб-разработчикам отказываться от этого метода. Даже проект, который на первый взгляд кажется очень простым, может в дальнейшем превратиться в неповоротливого монстра, если вовремя не определиться с задачами и целями. Так что же такое "варианты использования"? Для того, чтобы определить варианты использования, нам необходимо рассмотреть два понятия и то, как они соотносятся друг с другом:
Актерами считаются все те, кто (или что) будут пользоваться вашим веб-сайтом, а также все те, кем (или чем) ваш веб-сайт будет пользоваться. Цели, это то, что один, несколько или все действующие лица стремятся добиться. Если уж говорить до конца, то каждый вариант использования должен описывать определенную цель и действующих лиц, которые будут выполнять определенные действия для достижения этой цели. Актёры (actors) - это внешние объекты для нашего сайта. Мы их не создаем и не управляем ими. Они играют определенные роли (roles) на нашем сайте, выполняя задачи для достижения своих целей. Самым очевидным действующим лицом на нашем сайте в большинстве вариантов будет "посетитель сайта". У него возможно будет несколько целей, как то купить на сайте наш "супертовар", или например проверить состояние своего счета, назначить встречу, скачать программу, или просто почитать новости, которые мы опубликуем. Действующими лицами вовсе необязательно должны быть люди. В случае, если мы разрабатываем систему распространения информации по сети, действующими лицами на нашем сайте будут "сервера-потребители", выкачивающие от нас данные. Вне зависимости от частных случаев, "варианты использования" (use cases) описывают цели, которые достигаются актерами при выполнении определенных задач. Переходим к практикеЛюбой weblog позволяет его владельцам высказать свои мысли по определенной теме, а посетителям weblog-а - прочитать эти мысли и, возможно, оставить свои замечания. Очевидными актерами такого сайта-weblog-а являются "авторы" и "посетители". Авторы играют роль создателей контента, а посетители - роль читателей и комментаторов. Цели такого проекта - "давать информацию" и "получать информацию". После небольшого мозгового штурма мы определили, что в числе задач "актеров" нашего сайта будут - чтение новости, создание, редактирование и удаление новости, комментирование новости, синдикация новости и кое-какие административные задачи, например, управление доступом, создание новых пользователей и раздача привилегий. Некоторые из этих задач будут выполнять все актеры, а некоторые будут отданы только одному актеру. Все они могут быть включены в один вариант использования, который мы назовем "Публикация" ("Publish Weblog"). Ниже представлена диаграмма, которая описывает отношения между "актерами" и их целями: Диаграммы "вариантов использования" помогают думать о проекте в разрезе отношений или взаимозависимостей (dependencies) между "актерами" и тем, что они делают. Например, вполне возможно, что "посетители" (visitors) и "авторы" (authors) хотят иметь возможность отыскать в weblog-e уже опубликованную новость: В нашей диаграмме оба актера - посетитель и автор - могут вести поиск по сайту. Однако, физически невозможно искать то, что еще не опубликовано, поэтому вариант "Поиск" (Search Content) зависит от варианта "Публикация" (Publish Weblog). В нашем проекте мы решили для поиска воспользоваться возможностями Google. Google в таком случае становится актером в варианте "Поиск" (Search Content), а сам вариант зависит от актера Google. Задачей актера Google будет вывод результатов поиска. Вот мы уже и определили некоторых актеров, которые будут работать с нашим сайтом-weblog-ом. Определили их цели и взаимосвязи между ними. Мы можем рассматривать полученную диаграмму как абстрактное описание архитектуры нашего сайта, которое нам пригодится в дальнейшем при принятии различных решений. Только пользаСамое главное преимущество вариантов использования в том, что они помогают четко определиться с требованиями к проекту. С самого начала вы разрабатываете продукт, концентрируясь на нуждах и пожеланиях тех, кто им будет пользоваться. Как в случае с любым фундаментальным понятием, чем лучше мы понимаем варианты использования, тем легче нам будет выполнять нашу дальнейшую работу, тем тщательнее и правильнее она будет выполнена. Варианты использования представляют собой контекст (context), живо рисующий нам, где, в каком месте проекта находится каждый его определенный элемент. Благодаря чему мы можем уверенно принимать решения на протяжении всего процесса проектирования и разработки. Назначение "вариантов использования" не в том, чтобы полностью описать то, что на сайте будет и как он будет построен. Нет, варианты описывают цели и назначения сайта, т.е. то, какие проблемы мы с его помощью решаем. Определитесь с целями, у вас быстро выстроятся все остальные элементы фундамента. Кроме того:
Разработка проектов с помощью вариантов это определенный образ мышления, ну и метод, конечно. Определившись с актерами проекта и их целями, легче достигнуть ясности и понимания в команде. Чем раньше и чем прочнее будет заложен фундамент понимания между членами команды, тем быстрее вы сможете принимать решения в дальнейшем, и тем проще вам будет вести проект к реальной цели. О "вариантах использования" можно написать сотни строк, но лучше всего об этом написал Alistair Cockburn [1]. Чтобы узнать побольше о практическом применении вариантов использования, посетите сайт guibot.com, который показывает вариант использования для многих страниц в Вебе. [1] Writing Effective Use Cases. Alistair Cockburn. Addison-Wesley, 2001. ISBN 0-201-70225-8 Авторы: Norm Carr и Tim Meehan |
|
2000-2008 г. Все авторские права соблюдены. |
|