Доклад: Програмування інтерфейсу
Простій введення даних.
Легкий у вивченні
Операційні системи; бібліотечні системи
Підходить недосвідченим користувачам.
Легко настроюється
Системи розкладу; системи зберігання даних WWW
Призначені для користувача інтерфейси додатків WorldWideWeb базуються на засобах, що надаються мовою HTML (мова розмітки Web-сторінок) разом з іншими мовами, наприклад Java, який пов'язує програми з компонентами Web-сторінок. В основному інтерфейси Web-сторінок проектуються для випадкових користувачів і є інтерфейсами у вигляді форм. У Web-додатках можна створювати інтерфейси, в яких застосовувався б стиль прямого маніпулювання, проте до моменту написання книги проектування таких інтерфейсів представляло достатньо складне в аспекті програмування завдання.
В принципі необхідно застосовувати різні стилі взаємодії для управління різними системними об'єктами. Даний принцип складає основу моделі Сихейма (Seeheim) призначених для користувача інтерфейсів .У цій моделі розділяються представлення інформації, управління діалоговими засобами і управління додатком. Насправді така модель є швидше ідеальною, чим практичною, проте майже завжди є можливість розділити інтерфейси для різних класів користувачів (наприклад, початкуючих і досвідчених). На мал. 15.2 зображена подібна модель з розділеними інтерфейсом командної мови і графічним інтерфейсом, лежача в основі деяких операційних систем, зокрема Linux.
Мал. 2. Множинний інтерфейс
Розділення уявлення, взаємодії і об'єктів, включених в інтерфейс користувача, є основним принципом підходу "модель-представлення-контролер", який обговорюється в наступному розділі. Ця модель порівнянна з моделлю Сихейма, проте використовується при реалізації окремих об'єктів інтерфейсу, а не всього застосування.
4. Представлення інформації
У будь-якій інтерактивній системі повинні бути засоби для представлення даних користувачам. Дані в системі можуть відображатися по-різному: наприклад, інформація, що вводиться, може відображатися безпосередньо на дисплеї (як, скажімо, текст в текстовому редакторові) або перетворюватися в графічну форму. Хорошим тоном при проектуванні систем вважається відділення представлення даних від самих даних. До деякої міри розробка такого ПЗ суперечить об'єктно-орієнтованому підходу, при якому методи, що виконуються над даними, повинні бути визначені самими даними. Проте в нашім випадку передбачається, що розробник об'єктів завжди знає якнайкращий спосіб представлення даних; хоча це, звичайно, не завжди так. Часто визначити якнайкращий спосіб представлення даних конкретного типу досить важко, у такому разі об'єктні структури не повинні бути "жорсткими".
Після того, як представлення даних в системі відокремлене від самих даних, зміни в уявленні даних на екрані користувача відбуваються без зміни самої системи (мал. 15.3).
Мал. 3. Представлення даних
Підхід "модель-представление-контроллер" (МПК), представлений на мал..4, отримав первинне застосування в мові Smalltalk як ефективний спосіб підтримки різних представлень даних. Користувач може взаємодіяти з кожним типом уявлення. Дані, що відображаються, інкапсульовані в об'єкти моделі. Кожен об'єкт моделі може мати декілька окремих об'єктів уявлень, де кожне уявлення - це різні відображення моделі.
Мал. 4. Модель МПК взаємодії з користувачем
Кожне уявлення має пов'язаний з ним об'єкт контролера, який обробляє введені користувачем дані і забезпечує взаємодію з пристроями. Така модель може представити числові дані, наприклад, у вигляді діаграм або таблиць. Модель можна редагувати, змінюючи значення в таблиці або параметри діаграми.
Щоб знайти якнайкраще представлення інформації, необхідно знати, з якими даними працюють користувачі і яким чином вони застосовуються в системі. Ухвалюючи рішення за уявленням даних, розробник повинен враховувати ряд чинників.
1. Що потрібне користувачеві - точні значення даних або співвідношення між значеннями?
2. Наскільки швидко відбуватимуться зміни значень даних? Чи потрібно негайно показувати користувачеві зміну значень?
3. Чи повинен користувач робити які-небудь дії у відповідь на зміну даних?
4. Чи потрібно користувачеві взаємодіяти з інформацією, що відображається, за допомогою інтерфейсу з прямим маніпулюванням?
5. Інформація повинна відображатися в текстовому (описово) або числовому форматі? Чи важливі відносні значення елементів даних?
Якщо дані не змінюються протягом сеансу роботи з системою, їх можна представити або в графічному, або в текстовому вигляді, залежно від типу додатку. Текстове представлення даних займає на екрані мало місця, але у такому разі дані не можна охопити одним поглядом. За допомогою різних стилів уявлення незмінні дані слід відокремити від даних, що динамічно змінюються. Наприклад, статичні дані можна виділити особливим шрифтом, підкреслити особливим кольором або позначити піктограмами.
Якщо потрібна точна цифрова інформація і дані змінюються відносно поволі, їх можна відображати в текстовому вигляді. Там, де дані змінюються швидко, зазвичай використовується графічне уявлення.
Як приклад розглянемо систему, яка щомісячно записує і підбиває підсумки за даними продажів якійсь компанії. На мал. 15.5 видно, що одні і ті ж дані можна представити у вигляді тексту і в графічному вигляді.