Top Banner
1 Человеко-машинное Человеко-машинное взаимодействие взаимодействие Зайдуллин С.С. КГТУ им. А.Н.Туполева
21

чмв лекция №5

Jun 16, 2015

Download

Education

student_kai
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: чмв   лекция №5

1

Человеко-машинное взаимодействиеЧеловеко-машинное взаимодействие

Зайдуллин С.С.КГТУ им. А.Н.Туполева

Page 2: чмв   лекция №5

2

Лекция 5 Лекция 5

Тема: Общие вопросы проектирования ПИ (окончание).

План лекции:Архитектура пользовательского

интерфейса.Справочные системы.

Page 3: чмв   лекция №5

3

Ключевые словаКлючевые слова

Архитектура ПИМодельПредставлениеПоведение (контроллер)ПрезентаторАбстракцияУправление

Page 4: чмв   лекция №5

4

Вопрос 1Вопрос 1

Архитектура пользовательского интерфейса определяет основные функциональные блоки приложения и порядок их взаимодействия друг с другом и с пользователем.

Page 5: чмв   лекция №5

5

Архитектура интерфейса Архитектура интерфейса простого приложения простого приложения командной строкикомандной строки

Приложение

приёмник командпользователя

анализаторкоманд

обработчиккоманды

ядро приложения

Page 6: чмв   лекция №5

6

Архитектура Архитектура MVCMVC

Название: «Модель-Представление-Поведение» (Model-view-controller)

Автор: Трюгве Реенскауг (1979 год) Цель: Обеспечение пользователя

интерфейсом для манипуляции над многими вариантами отображения данных, как сущностей реального мира

Идея: Разделение данных приложения, ПИ и управляющей логики на три отдельных слабосвязанных компонента: модель, представление и поведение (контроллер).

Page 7: чмв   лекция №5

7

Компоненты Компоненты MVCMVC

Модель предоставляет данные предметной области представлению и реагирует на коман-ды контроллера, изменяя свое состояние.

Представление отвечает за отображение данных предметной области пользователю с помощью любых доступных визуальных и не визуальных средств.

Контроллер интерпретирует действия поль-зователя, оповещая модель о необходимости изменений.

Page 8: чмв   лекция №5

8

Типы моделей Типы моделей MVCMVC

Пассивная модель не осведомлена о сущест-вовании представления, контроллера, и даже о своем участии в MVC-триаде. Контроллер отслеживает изменения модели и оповещает представление.

Активная модель «знает» о существовании представлений и о том, что они должны обновляться. Активность модели проявляется в её праве самостоятельно оповестить пред-ставление об изменении своего состояния.

Page 9: чмв   лекция №5

9

Общая модель архитектуры Общая модель архитектуры MVC с активной модельюMVC с активной моделью

Модель

Представление Поведение

оповещение о дейст-виях пользователя

выбор представления(при необходимости)

оповещениеоб изменении

состояния

запрос текущегосостояния

изменениесостояния

Page 10: чмв   лекция №5

10

Архитектура Архитектура MVPMVP

Название: «Модель-Представление-Презентатор» (Model-View-Presenter)

Автор: Майк Потел, Taligent Inc. (1996 год), переработано Dolphin Smalltalk.

Цель: Интеграция концепций MVC в современные средства разработки ПО

Идея: Выделение данных, спецификации дан-ных, манипуляции над данными, координа-ции приложения, взаимодействия с пользова-телем и визуализацию в специализированные компоненты.

Page 11: чмв   лекция №5

11

Компоненты Компоненты MVPMVP

Модель отвечает за данные и бизнес-логику приложения.

Представлением является визуализация модели (включает в себя окна и элементы управления, используемые в приложении). Реализуется как интерфейс, который может быть использован для получения и установки данных модели.

Презентатор реализует логику отображения данных модели пользователю, управляет моделью и представлением.

Page 12: чмв   лекция №5

12

Общий вид архитектуры MVОбщий вид архитектуры MVP P ((версия от версия от Dolphin Smalltalk)Dolphin Smalltalk)

Модель(Domain model)

Представление Презентатор

оповещение о дейст-виях пользователя

описание состояниямодели

изменениесостояния

Page 13: чмв   лекция №5

13

Основные отличия Основные отличия MVPMVP от от MVCMVC Модель не общается с представлением даже опо-

средовано, через механизм оповещений, как это реализовано в MVC с активной моделью.

Передача данных о состоянии модели в представле-ние, а также изменение этого состояния реализуются через презентатор.

Перехват сообщений пользователя выполняет пред-ставление, передавая его затем в презентатор.

Взаимодействие представления и презентатора реализуется через специальный интерфейс, а не напрямую через вызов методов класса-презентатора.

Page 14: чмв   лекция №5

14

Архитектура Архитектура PACPAC

Название: «Представление-Абстракция-Управление» (Presentation-Abstraction-Control)

Цель: Построение иерархии компонентовИдея: Организуется иерархия взаимодейст-

вующих программных модулей (агентов). Каждый агент реализует собственный аспект функциональности приложения и представ-ляет собой триаду из представления, абстрак-ции (модели) и управления.

Page 15: чмв   лекция №5

15

Архитектура Архитектура HMVCHMVC

Название: «Иерархический MVC» (Hierarchical Model-View-Controller)

Цель: Построение иерархии компонентовИдея: В PAC агенты взаимодействуют только

через управление, а HMVC позволяет пред-ставлениям, контроллерам и моделям различ-ных агентов связываться непосредственно друг с другом, выстраивая независимые иерархии.

Page 16: чмв   лекция №5

16

Вопрос 2Вопрос 2

Удобство взаимодействия человека с программной во многом зависит от качества её справочной системы.

Реализация справочной системы для программ и для web-сайтов, как правило, различается.

Page 17: чмв   лекция №5

17

Базовые компоненты Базовые компоненты справочной системысправочной системы Базовая справка – сущность и назначение системы Обзорная справка – реклама пользователю функций

системы Справка предметной области Процедурная справка – отвечает: «Как это сделать?» Контекстная справка – отвечает: «Что это делает?»

и «Зачем это нужно?» Справка состояния – отвечает: «Что происходит в

настоящий момент?» Сообщения об ошибках – отвечает: «В чём заклю-

чается проблема?», «Как исправить эту проблему прямо сейчас?», «Как сделать так, чтобы проблема не повторилась?»

Page 18: чмв   лекция №5

18

Носители справочной Носители справочной информацииинформации Бумажная книга

– Легко позволяет читателю получить большой объём материала за один сеанс, наилучшим образом работает при последовательном чтении.

– Сравнительно плохой поиск нужных сведений.– Объём практически всегда лимитирован.

Справочная карта – краткий бумажный документ об основных способах работы с системой– Компактна, легкодоступна.– Хороша как средство обучения «продвинутым»

способам взаимодействия с системой.

Page 19: чмв   лекция №5

19

Носители справочной Носители справочной информацииинформации Структурированная электронная документация

– Плохо приспособлена для чтения больших объёмов материала.

– Обеспечивает легкий поиск и не имеет лимита объёма.– Занимает большой объём пространства экрана.– Плохо подходит для показа крупных изображений, зато в

неё могут быть легко интегрированы видео и звук. Фрагменты пространства интерфейса, показывающие

справочную информацию– Постоянно занимают некоторое пространство экрана.– Отвлекают внимание и, как правило, неспособны передавать

большой объём информации.

Page 20: чмв   лекция №5

20

Носители справочной Носители справочной информацииинформации Всплывающие подсказки

– Хорошо справляются с ответом на вопросы «Что это такое?» и «Зачем это нужно?» при условии, что объём ответов сравнительно невелик.

– Поскольку вызываются пользователями вручную, в обычном режиме не занимают пространства экрана и не отвлекают внимание.

– Очень легко вызывают отвыкание, после первого же случая неудовлетворения пользователя под-сказкой, пользователь перестаёт вызывать и все остальные подсказки.

Page 21: чмв   лекция №5

21

Контрольные вопросыКонтрольные вопросы Поясните значение термина «архитектура

пользовательского интерфейса». Опишите суть архитектуры MVC. В чём состоит основное различие между

архитектурами MVC и MVP? Опишите основные достоинства

иерархических архитектур ПИ. Какие компоненты справочных систем вам

известны? Проиллюстрируйте свой ответ на примере распространённых программных систем.