Смекни!
smekni.com

Програмування інтерфейсу (стр. 2 из 5)

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

1. Підтвердження деструктивних дій - Якщо користувач вибрав потенційно деструктивну операцію, то він повинен ще раз підтвердити свій намір.

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

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

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

Принцип визнання різноманіття категорій користувачів може суперечити іншим принципам проектування інтерфейсів, наприклад узгодженості інтерфейсу. Аналогічно, необхідний рівень довідкової інформації для різних типів користувачів може радикально відрізнятися. Неможливо створити таку довідкову систему, яка підійшла б всім користувачам. Розробник інтерфейсу повинен завжди бути готовим до компромісних рішень залежно від реальних користувачів системи.

3. Взаємодія з користувачем

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

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

1. Безпосереднє маніпулювання. Користувач взаємодіє з об'єктами на екрані. Наприклад, для видалення файлу користувач просто перетягує його в корзину.

2. Вибір з меню. Користувач вибирає команду із списку пунктів меню. Дуже часто вибрана команда впливає тільки на той об'єкт, який виділений (вибраний) на екрані. При такому підході для видалення файлу користувач спочатку вибирає файл, а потім команду на видалення.

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

4. Командна мова. Користувач вводить конкретну команду з параметрами, щоб вказати системі, що вона повинна далі робити. Щоб видалити файл, користувач вводить команду видалення з ім'ям файлу як параметр цієї команди.

5. Природна мова. Користувач вводить команду на природній мові. Щоб видалити файл, користувач може ввести команду "Видалити файл з ім'ям XXX".

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

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

Таблиця 3.

Переваги і недоліки стилів взаємодії користувача з системою

Стиль взаємодії Основні переваги Основні недоліки Приклади додатків
Пряме маніпулювання Швидке і інтуїтивно зрозуміле взаємодія. Легкий у вивченні Складна реалізація. Підходить тільки там, де є зоровий образ завдань і об'єктів Відеоігри; системи автоматичного проектування
Вибір з меню Скорочення кількості помилок користувача.Введення з клавіатури мінімальне Повільний варіант для досвідчених користувачів. Може бути складним, якщо меню складається з великої кількості вкладених пунктів Головним чином системи загального призначення
Заповнення форм Простій введення даних. Легкий у вивченні Займає простір на екрані Системи управління запасами; обробка фінансової інформації
Командна мова Могутній і гнучкий Важкий у вивченні. Складно запобігти помилкам введення Операційні системи; бібліотечні системи
Природна мова Підходить недосвідченим користувачам.Легко настроюється Вимагає великого ручного набору Системи розкладу; системи зберігання даних WWW

Призначені для користувача інтерфейси додатків WorldWideWeb базуються на засобах, що надаються мовою HTML (мова розмітки Web-сторінок) разом з іншими мовами, наприклад Java, який пов'язує програми з компонентами Web-сторінок. В основному інтерфейси Web-сторінок проектуються для випадкових користувачів і є інтерфейсами у вигляді форм. У Web-додатках можна створювати інтерфейси, в яких застосовувався б стиль прямого маніпулювання, проте до моменту написання книги проектування таких інтерфейсів представляло достатньо складне в аспекті програмування завдання.

В принципі необхідно застосовувати різні стилі взаємодії для управління різними системними об'єктами. Даний принцип складає основу моделі Сихейма (Seeheim) призначених для користувача інтерфейсів .У цій моделі розділяються представлення інформації, управління діалоговими засобами і управління додатком. Насправді така модель є швидше ідеальною, чим практичною, проте майже завжди є можливість розділити інтерфейси для різних класів користувачів (наприклад, початкуючих і досвідчених). На мал. 15.2 зображена подібна модель з розділеними інтерфейсом командної мови і графічним інтерфейсом, лежача в основі деяких операційних систем, зокрема Linux.

Мал. 2. Множинний інтерфейс

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


4. Представлення інформації

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

Після того, як представлення даних в системі відокремлене від самих даних, зміни в уявленні даних на екрані користувача відбуваються без зміни самої системи (мал. 15.3).

Мал. 3. Представлення даних

Підхід "модель-представление-контроллер" (МПК), представлений на мал..4, отримав первинне застосування в мові Smalltalk як ефективний спосіб підтримки різних представлень даних. Користувач може взаємодіяти з кожним типом уявлення. Дані, що відображаються, інкапсульовані в об'єкти моделі. Кожен об'єкт моделі може мати декілька окремих об'єктів уявлень, де кожне уявлення - це різні відображення моделі.