У чому проблема?, Комерція, Різне, статті

What”s the Problem?
автор: Norm Carr, Tim Meehan and A List Apart
переклад: Олександр Качанов

Одна з головних проблем при створенні будь-якого веб-сайту, про яку найменше говорять і пишуть, це проблема того, як вирішити, визначити і виразити словами те, що саме ми збираємося побудувати і для чого. Яку проблему ми збираємося вирішити? Хто має потребу в цьому рішенні? Для чого взагалі створюється веб-сайт?


Погане розуміння потреб цільової аудиторії сайту, або погане бачення клієнта, неефективне використання обмежених ресурсів, невірний вибір пріоритетів в дизайні, занадто велика тяга до улюблених технологіям – Все це причини, за якими веб-сайти зазнають невдачі, випускаються із затримкою, обходяться занадто дорого або взагалі не відповідають завданню. З досвідом ми починаємо вчитися на своїх помилках, але є один урок, який буде корисно дізнатися навіть початківцям: чим раніше і точніше ви визначитеся з цілями і завданнями і запишіть їх на папері, тим простіше вам буде визначити проблеми та знайти їх вирішення, тим легше вам буде досягти мети, тим краще буде результат до загального задоволення.


Дивно, але веб-розробники з великим небажанням переймають методи і підходи, які прийняті в інших сферах програмування і які дозволяють вирішити виникаючі проблеми. Особливо на критичних стадіях проекту нам можуть допомогти певні методи, прийняті в сфері проектування програмного забезпечення (software engineering).



Знайомтеся – “use cases”


Особливо нам стане в нагоді метод під назвою “use cases” (варіанти використання). Варіанти використання дозволяють просто і швидко визначити і описати мети проекту. Цей метод успішно застосовується багатьма програмістами для визначення на початковій фазі розробки цілей програми. Немає ніяких причин веб-розробникам відмовлятися від цього методу. Навіть проект, який на перший погляд здається дуже простим, може надалі перетворитися в неповороткого монстра, якщо вчасно не визначитися із завданнями та цілями.


Так що ж таке «варіанти використання»?


Для того, щоб визначити варіанти використання, нам необхідно розглянути два поняття і те, як вони співвідносяться один з одним:



Акторами вважаються всі ті, хто (або що) будуть користуватися вашим веб-сайтом, а також всі ті, ким (або чим) ваш веб-сайт буде користуватися. Цілі, це те, що один, декілька або всі діючі особи прагнуть добитися. Якщо вже говорити до кінця, то кожен варіант використання повинен описувати певну мету і діючих осіб, які будуть виконувати певні дії для досягнення цієї мети.


Актори (actors) – це зовнішні об’єкти для нашого сайту. Ми їх не створюємо і не керуємо ними. Вони грають певні ролі (roles) на нашому сайті, виконуючи завдання для досягнення своїх цілей. Самим очевидним дійовою особою на нашому сайті в більшості варіантів буде “відвідувач сайту”. У нього можливо буде декілька цілей, як то купити на сайті наш “супертовар”, або наприклад перевірити стан свого рахунки, призначити зустріч, скачати програму, або просто почитати новини, які ми опублікуємо. Діючими особами зовсім необов’язково повинні бути люди. У випадку, якщо ми розробляємо систему розповсюдження інформації з мережі, дійовими особами на нашому сайті будуть “сервера-споживачі”, викачують від нас дані.


Незалежно від окремих випадків, “варіанти використання” (use cases) описують цілі, які досягаються акторами при виконанні певних завдань.



Переходимо до практики


Будь weblog дозволяє його власникам висловити свої думки з певної теми, а відвідувачам weblog-а – прочитати ці думки і, можливо, залишити свої зауваження. Очевидними акторами такого сайту-weblog-а є “автори” і “відвідувачі”. Автори грають роль творців контенту, а відвідувачі – роль читачів і коментаторів. Цілі такого проекту – “давати інформацію” та “одержувати інформацію”.


Після невеликого мозкового штурму ми визначили, що в числі завдань “акторів” нашого сайту будуть – читання новини, створення, редагування та видалення новини, коментування новини, синдикація новини і деякі адміністративні завдання, наприклад, управління доступом, створення нових користувачів і роздача привілеїв. Деякі з цих завдань будуть виконувати всі актори, а деякі будуть віддані тільки одному актору. Всі вони можуть бути включені в один варіант використання, який ми назвемо “Публікація” (“Publish Weblog”).


Нижче представлена ​​діаграма, що описує відносини між “акторами” і їх цілями:



Ось ми вже й визначили деяких акторів, які будуть працювати з нашим сайтом-weblog-ом. Визначили їх цілі та взаємозв’язку між ними. Ми можемо розглядати отриману діаграму як абстрактне опис архітектури нашого сайту, яке нам стане в нагоді в подальшому при прийнятті різних рішень.



Тільки користь


Найголовніша перевага варіантів використання в тому, що вони допомагають чітко визначитися з вимогами до проекту. З самого початку ви розробляєте продукт, концентруючись на потреби та побажання тих, хто їм буде користуватися.


Як у випадку з будь-яким фундаментальним поняттям, чим краще ми розуміємо варіанти використання, тим легше нам буде виконувати нашу подальшу роботу, тим ретельніше і правильніше вона буде виконана. Варіанти використання є контекст (context), жваво малює нам, де, в якому місці проекту перебуває кожен його певний елемент. Завдяки чому ми можемо впевнено приймати рішення на протязі всього процесу проектування та розроблення.


Призначення «варіантів використання» не в тому, щоб повністю описати те, що на сайті буде і як він буде побудований. Ні, варіанти описують цілі і призначення сайту, тобто те, які проблеми ми з його допомогою вирішуємо. Визначтеся з цілями, у вас швидко вишикуються всі інші елементи фундаменту. Крім того:



Розробка проектів за допомогою варіантів це певний спосіб мислення, ну і метод, звичайно. Визначившись з акторами проекту та їх цілями, легше досягти ясності і розуміння в команді. Чим раніше і чим міцніше буде закладений фундамент розуміння між членами команди, тим швидше ви зможете приймати рішення в подальшому, і тим простіше вам буде вести проект до реальної мети. Про “варіантах використання” можна написати сотні рядків, але краще за все про це написав Alistair Cockburn [1].


[1] Writing Effective Use Cases. Alistair Cockburn. Addison-Wesley, 2001. ISBN 0-201-70225-8


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*