Реферати

Реферат: Проектування інтерфейса як частина розробки ТЗ

Планування розвитку кар'єри. Кар'єру вимагає активного керування, інакше великі шанси, що ви не особливо в ній процвітаєте. У сучасній Росії співробітник по великому рахунку вірний тільки самому собі, своїм навичкам і, почасти, професії, але ніяк не своєму тимчасовому роботодавцю.

Тенденції розвитку світового сільського господарства. Сільськогосподарські підприємства розвитих країн. Товарні ферми як основна форма сільського господарства. Об'єднання фермерів у кооперативи. Види натурального господарства. Осіле і подсечно-огневое землеробство, кочове скотарство в країнах, що розвиваються.

Любов Обломова. Ольга Ільінськая і гафія Пшенична. А чи було у Обломова хоч раз прояснення в житті? Та і не одноразово. До життя його відродила любов. Любов двох жінок - одній: витонченою, ніжною, витонченою, і інший: господарською, простодушною, щиріше. Хто може зрозуміти Іллю Обломова?

Шляху підвищення ефективності реалізації муніципальної політики в сфері фізичної культури і спорту. Сутність муніципальної політики в області фізичної культури і спорту. Стан фізичної культури і спорту в РТ як результат регіонального керування. Механізм керування сферою фізичної культури і спорту в Нижнекамском муніципальному районі.

Будинок кунсткамери Санкт-Петербурга. Розгляд історії кунсткамери, що стала згодом етнографічним музеєм, єдиним у країні музеєм для двох тісно зв'язаних наук етнографії й антропології. Будівництво будинку кунсткамери, що є пам'ятником російського зодчества XVIII століття.

Владислав Головач, Олександр Белишкин

Впровадження систем автоматизації бізнесу, як знає будь-який залучений в цю область фахівець, аж ніяк не є легкою справою. Якщо саме створення системи, взагалі говорячи, технічно не дуже складне (наприклад, не можна сказати, що середньостатистичний система наповнена найскладнішими алгоритмами), то впровадження вимагає від автоматизатора незвичайної кваліфікації, рідкої завзятості і виверткості. При цьому коріння багатьох проблем знаходиться в технічному завданні. Як говориться, «що задумали, то і зробили», але потім іноді виявляється, що задумали-то і неправильно. Для розв'язання проблем, виникаючих при створенні ТЗ, а що виявляються при впровадженні, вигадана безліч технологій і методів однак сама їх кількість свідчить про те, що жоден метод до повного успіху не приводить. Крім того, багато які методи мають принциповий недолік - вони збільшують об'єм частини роботи, нехай і ради економії на іншому етапі, і вимагають серйозних інвестицій в навчання співробітників (характерний приклад - RUP). Існує, однак, підхід, який не вимагає особливої кваліфікації співробітників, значно полегшує впровадження, не збільшуючи об'єм робіт з розробки ТЗ.

Суть підходу може бути описана однією фразою - проектування інтерфейса не є частина процесу розробки, а частина процесу створення специфікацій на систему.

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

Підхід, що Пропонується дозволяє вирішити наступні проблеми:

Усунути відмінності у поглядах на постановку задачі замовника і виконавця. Специфікації на скільки-небудь складні системи дуже абстрактні. Їх насилу втримують в голові навіть автори, а до кінця не розуміє ніхто, особливо ключове обличчя - замовник. Для нього ця специфікація нічим не відрізняється від сакральних письмен (багато які навіть передбачають, що незрозумілі ТЗ призначені для того, щоб справити на них враження і здерти побільше грошей). Немає різниці, що підсунуть йому розробники, реальному ТЗ або інструкцію до газонокосарки на фарси - все однаково незрозуміле. Наївно передбачати, що замовник, що легко підписав таке ТЗ, також легко прийме розроблену систему. Прототипи інтерфейса є тим єдиним документом, який замовник може зрозуміти і оцінити. А зрозумівши і оцінивши - свідомо підписати.

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

Скоротити число доробок системи, викликаних невідповідністю її функціональності очікуванням клієнта. Тільки побачивши саму систему, замовник може реально зрозуміти її можливості, одинаково як і оцінити власні потреби. Для замовника програмний продукт і його інтерфейс абсолютно тотожні. Отже, показавши замовнику інтерфейс на стадії підготовки ТЗ, можна знизити кількість і об'єм переробок, потреба в яких виникає через розходження очікувань замовника із запланованою в ТЗ функціональністю системи. (Треба, проте, відмітити, що такі переробки частіше за все не проблематичні для розробників, які звичайно наполягають на додатковій оплаті цих послуг.)

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

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

Спочатку про організаційну сторону. На перший погляд замовника важко переконати відмовитися від думки, що робити щось «реальне» треба відразу після підписання договору. Однак практика показує, що проміжні наочні результати роботи над системою, а саме прототипи інтерфейса, продемонстровані вже на другий день роботи, а не через декілька тижнів, приводять клієнта в благодушество. На відміну від звичайного ТЗ, робота над яким замовнику реально не видно («ну що там, пара пунктів додалася») прототипи інтерфейса легко зрозумілі і прогрес в роботі явно заметений. Друга організаційна проблема пов'язана з необхідністю підписувати два договори: на створення ТЗ (читай - інтерфейса) і на розробку функціональності системи. Причому підписання другого договору відкладається на певний термін, необхідний для розробки інтерфейса, що розтягує проект у часі. У принципі, ця проблема нерозв'язна, але, з іншого боку, тут багато що залежить від її сприйняття: так, договору два, але зате другий договір виходить значно більш точним (вже маючи інтерфейс, легше оцінити трудовитрати).

Технічна проблема пов'язана з труднощами прототипирования. У звичайному режимі роботи інтерфейс створюється вже в засобі розробки, створювати ж прототип таким чином нерентабельно. Інтерфейс створюється через безліч ітерацій, а переробляти вже зроблене вже дорого. Порівняно недавно з'явилися спеціальні кошти для прототипирования інтерфейса (наприклад, Norpath Studio), але поки вони досить сирі. Вихід - використання неспеціалізованих графічних редакторів. Ще декілька років назад основним таким редактором був MS PowerPoint, зараз же найбільш зручним потрібно визнати MS Visio. Складні екранні форми, проте, досі зручніше просто малювати на папері.

І, нарешті, головна проблема. Подовження процесу розробки ТЗ часто сприймається самими розробниками як безумовне зло - звичка спочатку робити, а уже потім думати, традиційно сильна в російському IT-бізнесі. Леле, змінити цей звичай може тільки «досвід, син помилок важких». Поки, принаймні ...

Звісно, проектування интерфеса на етапі розробки специфікацій системи не є панацеєю. Такий підхід не дозволяє поліпшити якість розробки в принципі, наприклад, він зовсім не зменшує кількість помилок програмування. Більш того він не завжди застосуємо. Інтерфейс складної системи неможливо з самого почала спроектувати повністю: доведеться спочатку робити працюючу бету-версію і остаточно правити інтерфейс вже на її основі. Крім того, в багатьох проектах через причини, що не залежать ні від кого не виходить розтягувати процес створення ТЗ (замовник хоче побачити які-небудь результати вже завтра). Однак, враховуючи низькі «вхідні» вимоги до застосування запропонованого методу (незрівнянні, наприклад, з тяганиною і бюрократією, зумовленою використанням UML), проектування інтерфейсів на стадії підготовки специфікацій майже завжди є надто успішним методом розв'язання проблем впровадження.