Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Интерфейс.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
7.9 Mб
Скачать

Тема 2: типи користувацьких інтерфейсів і їх реалізація

1. Організація взаємодії комп'ютера і користувача

2. Типи інтерфейсів.

3. Реалізація інтерфейсів різних типів

1. Організація взаємодії комп'ютера і користувача

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

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

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

  • вхідні повідомлення, які генеруються людиною за допомогою засобів введення: клавіатури, маніпуляторів ( наприклад миші)тощо;

  • вихідні повідомлення, які генеруються комп'ютером у вигляді текстів, звукових сигналів і/або зображень і виводяться користувачеві на екран монітора або інші пристрої виведення інформації. Схематично організацію взаємодії користувача і машини представлено на рис.2.1.

Рис. 2.1. Організація взаємодії комп'ютера і користувача

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

Основні пристрої, що забезпечують виконання операцій введення-виводу є:

для виведення повідомлень:

  • монохромні і кольорові монітори – виведення оперативної текстової і графічної інформації;

  • принтери – отримання «твердої копії» текстової і графічної інформації;

  • графічні пристрої – отримання «твердої копії» графічної інформації;

  • синтезатори мови – мовний вивід;

  • звукові генератори – виведення музики тощо.

для введення повідомлень:

  • клавіатура – текстове введення;

  • планшети – графічне введення;

  • сканери – графічне введення;

  • маніпулятори, світлове перо, сенсорний екран – позиціонування і вибір інформації на екрані тощо.

2. Типи інтерфейсів

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

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

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

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

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

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

Порівняння вищезазначених типів інтерфейсів подано у таблиці 2.1.

Таблиця 2.1.

Порівняння основних типів інтерфейсів

Процедурно-орієнтовані

призначені для користувача інтерфейси

Об'єктно-орієнтовані

призначені для користувача інтерфейси

Забезпечують користувачів функціями, необхідними для виконання завдань.

Забезпечують користувачам можливість взаємодії з об'єктами.

Акцент робиться на завдання.

Акцент робиться на вхідні дані і результати.

Піктограми представляють додатки, вікна або операції.

Піктограми представляють об'єкти.

Зміст тек і довідників відображається за допомогою таблиць і списків.

Теки і довідники є візуальними контейнерами об'єктів.

Розрізняють процедурно-орієнтовані інтерфейси трьох підтипів: примітивні, з меню, з вільною навігацією.

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

Ріс. 2.2. Типова структура алгоритму програм з примітивним інтерфейсом: а) послідовний; б) – з можливістю повторення

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

Розрізняють однорівневі і ієрархічні меню. Перші використовують для порівняно простого управління обчислювальним процесом, коли варіантів небагато (не більше 5-7), і вони включають операції одного типу|, наприклад, Створити, Відкрити, Закрити тощо. Ієрархічні – при великій кількості варіантів або їх очевидних відмінностях, наприклад, операції з файлами і операції з даними, що зберігаються в цих файлах.

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

Рис. 2.3. Типова структура алгоритму програми з однорівневим меню

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

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

В умовах обмеженої навігації (незалежно від варіанту реалізації) пошук необхідного пункту більш ніж дворівневого меню може виявитися непростим завданням.

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

Інтерфейси з вільною навігацією також називають графічними призначеними для користувача інтерфейсами (GUI – Graphic User Interface) або інтерфейсами WYSIWYG (What You See Is What You Get – що бачиш, то і отримаєш, тобто що користувач бачить на екрані, то він і отримає при друку). Ці назви підкреслюють, що інтерфейси даного типу орієнтовані на використання екрану в графічному режимі з високою роздільною здатністю.

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

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

  • меню різних типів: спадаюче, кнопкове, контекстне;

  • різного роду компоненти введення даних.

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

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

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

Структурна схема інтерфейсів користувача об’єднаних схожістю розробки подана на рис. 2.4.

Рис. 2.4. Типи інтерфейсів