SlideShare a Scribd company logo
1 of 21
Человеко-машинное взаимодействие
Зайдуллин С.С.
КГТУ им. А.Н.Туполева

1
Лекция 5
Тема: Общие вопросы

проектирования ПИ (окончание).

План лекции:
 Архитектура пользовательского
интерфейса.
 Справочные системы.
2
Ключевые слова
 Архитектура

ПИ

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

(контроллер)
 Презентатор
 Абстракция
 Управление
3
Вопрос 1
Архитектура пользовательского
интерфейса определяет основные
функциональные блоки приложения и
порядок их взаимодействия друг с другом
и с пользователем.

4
Архитектура интерфейса
простого приложения
командной строки
Приложение
приёмник команд
пользователя

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

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

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

5
Архитектура MVC
 Название:

«Модель-ПредставлениеПоведение» (Model-view-controller)
 Автор: Трюгве Реенскауг (1979 год)
 Цель: Обеспечение пользователя
интерфейсом для манипуляции над многими
вариантами отображения данных, как
сущностей реального мира
 Идея: Разделение данных приложения, ПИ и
управляющей логики на три отдельных
слабосвязанных компонента: модель,
представление и поведение (контроллер).
6
Компоненты MVC
 Модель

предоставляет данные предметной
области представлению и реагирует на команды контроллера, изменяя свое состояние.
 Представление отвечает за отображение
данных предметной области пользователю с
помощью любых доступных визуальных и не
визуальных средств.
 Контроллер интерпретирует действия пользователя, оповещая модель о необходимости
изменений.
7
Типы моделей MVC
 Пассивная

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

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

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

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

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

Поведение

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

9
Архитектура MVP
 Название:

«Модель-ПредставлениеПрезентатор» (Model-View-Presenter)
 Автор: Майк Потел, Taligent Inc. (1996 год),
переработано Dolphin Smalltalk.
 Цель: Интеграция концепций MVC в
современные средства разработки ПО
 Идея: Выделение данных, спецификации данных, манипуляции над данными, координации приложения, взаимодействия с пользователем и визуализацию в специализированные
компоненты.
10
Компоненты MVP
 Модель

отвечает за данные и бизнес-логику
приложения.
 Представлением является визуализация
модели (включает в себя окна и элементы
управления, используемые в приложении).
Реализуется как интерфейс, который может
быть использован для получения и установки
данных модели.
 Презентатор реализует логику отображения
данных модели пользователю, управляет
моделью и представлением.
11
Общий вид архитектуры MVP
(версия от Dolphin Smalltalk)
Модель
(Domain model)

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

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

Презентатор

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

12
Основные отличия MVP от
MVC







Модель не общается с представлением даже опосредовано, через механизм оповещений, как это
реализовано в MVC с активной моделью.
Передача данных о состоянии модели в представление, а также изменение этого состояния реализуются
через презентатор.
Перехват сообщений пользователя выполняет представление, передавая его затем в презентатор.
Взаимодействие представления и презентатора
реализуется через специальный интерфейс, а не
напрямую через вызов методов класса-презентатора.

13
Архитектура PAC
 Название:

«Представление-АбстракцияУправление» (Presentation-AbstractionControl)
 Цель: Построение иерархии компонентов
 Идея: Организуется иерархия взаимодействующих программных модулей (агентов).
Каждый агент реализует собственный аспект
функциональности приложения и представляет собой триаду из представления, абстракции (модели) и управления.
14
Архитектура HMVC
 Название:

«Иерархический MVC»
(Hierarchical Model-View-Controller)
 Цель: Построение иерархии компонентов
 Идея: В PAC агенты взаимодействуют только
через управление, а HMVC позволяет представлениям, контроллерам и моделям различных агентов связываться непосредственно
друг с другом, выстраивая независимые
иерархии.
15
Вопрос 2
Удобство взаимодействия человека с
программной во многом зависит
от качества её справочной системы.
Реализация справочной системы для
программ и для web-сайтов, как правило,
различается.

16
Базовые компоненты
справочной системы








Базовая справка – сущность и назначение системы
Обзорная справка – реклама пользователю функций
системы
Справка предметной области
Процедурная справка – отвечает: «Как это сделать?»
Контекстная справка – отвечает: «Что это делает?»
и «Зачем это нужно?»
Справка состояния – отвечает: «Что происходит в
настоящий момент?»
Сообщения об ошибках – отвечает: «В чём заключается проблема?», «Как исправить эту проблему
прямо сейчас?», «Как сделать так, чтобы проблема не
повторилась?»
17
Носители справочной
информации
 Бумажная

книга

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

 Справочная

карта – краткий бумажный
документ об основных способах работы с
системой

– Компактна, легкодоступна.
– Хороша как средство обучения «продвинутым»
способам взаимодействия с системой.
18
Носители справочной
информации


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



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

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

подсказки

– Хорошо справляются с ответом на вопросы «Что
это такое?» и «Зачем это нужно?» при условии,
что объём ответов сравнительно невелик.
– Поскольку вызываются пользователями вручную,
в обычном режиме не занимают пространства
экрана и не отвлекают внимание.
– Очень легко вызывают отвыкание, после первого
же случая неудовлетворения пользователя подсказкой, пользователь перестаёт вызывать и все
остальные подсказки.
20
Контрольные вопросы






Поясните значение термина «архитектура
пользовательского интерфейса».
Опишите суть архитектуры MVC.
В чём состоит основное различие между
архитектурами MVC и MVP?
Опишите основные достоинства
иерархических архитектур ПИ.
Какие компоненты справочных систем вам
известны? Проиллюстрируйте свой ответ на
примере распространённых программных
систем.
21

More Related Content

What's hot

чмв лабораторная №1
чмв   лабораторная №1чмв   лабораторная №1
чмв лабораторная №1student_kai
 
чмв лабораторная №2
чмв   лабораторная №2чмв   лабораторная №2
чмв лабораторная №2student_kai
 
Designing UI - past and future
Designing UI - past and futureDesigning UI - past and future
Designing UI - past and futureallileja
 
designing UI, workshop, first day
designing UI, workshop, first daydesigning UI, workshop, first day
designing UI, workshop, first dayallileja
 
designing UI, workshop, second day
designing UI, workshop, second daydesigning UI, workshop, second day
designing UI, workshop, second dayallileja
 
designing UI workshop 2 day
designing UI workshop 2 daydesigning UI workshop 2 day
designing UI workshop 2 dayallileja
 
designing UI past and future
designing UI past and futuredesigning UI past and future
designing UI past and futureallileja
 
Requirement modelling in software creation process
Requirement modelling in software creation processRequirement modelling in software creation process
Requirement modelling in software creation processDima Dzuba
 
designing UI workshop 1 day
designing UI workshop 1 daydesigning UI workshop 1 day
designing UI workshop 1 dayallileja
 
Денис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требованийДенис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требованийDenis Beskov
 
Модифицируемость программных систем
Модифицируемость программных системМодифицируемость программных систем
Модифицируемость программных системDima Dzuba
 
принципы проектирования интерфейса (37)
принципы проектирования интерфейса (37)принципы проектирования интерфейса (37)
принципы проектирования интерфейса (37)romachka_pole
 
Денис Бесков. Как задавать требования к качеству ПО в цифрах?
Денис Бесков. Как задавать требования к качеству ПО в цифрах?Денис Бесков. Как задавать требования к качеству ПО в цифрах?
Денис Бесков. Как задавать требования к качеству ПО в цифрах?Denis Beskov
 
Экспертиза usability. Изучаем требования к продукту
Экспертиза usability. Изучаем требования к продуктуЭкспертиза usability. Изучаем требования к продукту
Экспертиза usability. Изучаем требования к продуктуYury Solonitsyn
 
Ot usability-k-analizu-digital-consumer-experience
Ot usability-k-analizu-digital-consumer-experienceOt usability-k-analizu-digital-consumer-experience
Ot usability-k-analizu-digital-consumer-experienceYanina Trofimenko
 

What's hot (20)

чмв лабораторная №1
чмв   лабораторная №1чмв   лабораторная №1
чмв лабораторная №1
 
чмв лабораторная №2
чмв   лабораторная №2чмв   лабораторная №2
чмв лабораторная №2
 
Designing UI - past and future
Designing UI - past and futureDesigning UI - past and future
Designing UI - past and future
 
designing UI, workshop, first day
designing UI, workshop, first daydesigning UI, workshop, first day
designing UI, workshop, first day
 
designing UI, workshop, second day
designing UI, workshop, second daydesigning UI, workshop, second day
designing UI, workshop, second day
 
designing UI workshop 2 day
designing UI workshop 2 daydesigning UI workshop 2 day
designing UI workshop 2 day
 
designing UI past and future
designing UI past and futuredesigning UI past and future
designing UI past and future
 
Requirement modelling in software creation process
Requirement modelling in software creation processRequirement modelling in software creation process
Requirement modelling in software creation process
 
designing UI workshop 1 day
designing UI workshop 1 daydesigning UI workshop 1 day
designing UI workshop 1 day
 
МиСПИСиТ (введение)
МиСПИСиТ (введение)МиСПИСиТ (введение)
МиСПИСиТ (введение)
 
Денис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требованийДенис Бесков. Как обеспечивать полноту требований
Денис Бесков. Как обеспечивать полноту требований
 
Модифицируемость программных систем
Модифицируемость программных системМодифицируемость программных систем
Модифицируемость программных систем
 
принципы проектирования интерфейса (37)
принципы проектирования интерфейса (37)принципы проектирования интерфейса (37)
принципы проектирования интерфейса (37)
 
МиСПИСиТ (структура)
МиСПИСиТ (структура)МиСПИСиТ (структура)
МиСПИСиТ (структура)
 
МиСПИСиТ (источники ошибок)
МиСПИСиТ (источники ошибок)МиСПИСиТ (источники ошибок)
МиСПИСиТ (источники ошибок)
 
МиСПИСиТ (архитектура)
МиСПИСиТ (архитектура)МиСПИСиТ (архитектура)
МиСПИСиТ (архитектура)
 
Денис Бесков. Как задавать требования к качеству ПО в цифрах?
Денис Бесков. Как задавать требования к качеству ПО в цифрах?Денис Бесков. Как задавать требования к качеству ПО в цифрах?
Денис Бесков. Как задавать требования к качеству ПО в цифрах?
 
Экспертиза usability. Изучаем требования к продукту
Экспертиза usability. Изучаем требования к продуктуЭкспертиза usability. Изучаем требования к продукту
Экспертиза usability. Изучаем требования к продукту
 
Ot usability-k-analizu-digital-consumer-experience
Ot usability-k-analizu-digital-consumer-experienceOt usability-k-analizu-digital-consumer-experience
Ot usability-k-analizu-digital-consumer-experience
 
Use Cases
Use CasesUse Cases
Use Cases
 

Viewers also liked

чмв лекция №3
чмв   лекция №3чмв   лекция №3
чмв лекция №3student_kai
 
чмв лекция №2
чмв   лекция №2чмв   лекция №2
чмв лекция №2student_kai
 
презентация
презентацияпрезентация
презентацияstudent_kai
 
User Centered Design: обзор процесса
User Centered Design: обзор процессаUser Centered Design: обзор процесса
User Centered Design: обзор процессаAndrew Sikorskiy
 
презентация 3
презентация 3презентация 3
презентация 3student_kai
 
лекция 8 управление конфигурациями-ч2
лекция 8 управление конфигурациями-ч2лекция 8 управление конфигурациями-ч2
лекция 8 управление конфигурациями-ч2student_kai
 
лабораторная работа 5
лабораторная работа 5лабораторная работа 5
лабораторная работа 5student_kai
 
лекция№13
лекция№13лекция№13
лекция№13student_kai
 
занятие2. несвободная точка.
занятие2. несвободная точка.занятие2. несвободная точка.
занятие2. несвободная точка.student_kai
 
лекция№18
лекция№18лекция№18
лекция№18student_kai
 
лекция 23 средства автоматизации
лекция 23 средства автоматизациилекция 23 средства автоматизации
лекция 23 средства автоматизацииstudent_kai
 
лабораторная работа 4
лабораторная работа 4лабораторная работа 4
лабораторная работа 4student_kai
 
лекция 4 управление инцидентами-ч2
лекция 4 управление инцидентами-ч2лекция 4 управление инцидентами-ч2
лекция 4 управление инцидентами-ч2student_kai
 

Viewers also liked (20)

чмв лекция №3
чмв   лекция №3чмв   лекция №3
чмв лекция №3
 
чмв лекция №2
чмв   лекция №2чмв   лекция №2
чмв лекция №2
 
презентация
презентацияпрезентация
презентация
 
User Centered Design: обзор процесса
User Centered Design: обзор процессаUser Centered Design: обзор процесса
User Centered Design: обзор процесса
 
лек15
лек15лек15
лек15
 
л 15 sld
л 15  sldл 15  sld
л 15 sld
 
лекция 14
лекция 14лекция 14
лекция 14
 
презентация 3
презентация 3презентация 3
презентация 3
 
лекция 8 управление конфигурациями-ч2
лекция 8 управление конфигурациями-ч2лекция 8 управление конфигурациями-ч2
лекция 8 управление конфигурациями-ч2
 
лекция28
лекция28лекция28
лекция28
 
лабораторная работа 5
лабораторная работа 5лабораторная работа 5
лабораторная работа 5
 
лекция№13
лекция№13лекция№13
лекция№13
 
L8 sld
L8 sldL8 sld
L8 sld
 
занятие2. несвободная точка.
занятие2. несвободная точка.занятие2. несвободная точка.
занятие2. несвободная точка.
 
лекция№18
лекция№18лекция№18
лекция№18
 
лекция 23 средства автоматизации
лекция 23 средства автоматизациилекция 23 средства автоматизации
лекция 23 средства автоматизации
 
лабораторная работа 4
лабораторная работа 4лабораторная работа 4
лабораторная работа 4
 
л9
л9л9
л9
 
лекция 4
лекция 4лекция 4
лекция 4
 
лекция 4 управление инцидентами-ч2
лекция 4 управление инцидентами-ч2лекция 4 управление инцидентами-ч2
лекция 4 управление инцидентами-ч2
 

Similar to чмв лекция №5

Паттерны проектирования
Паттерны проектированияПаттерны проектирования
Паттерны проектированияITCP Community
 
Droidcon Moscow 2015. Clean Architecture и MVP. Алексей Макаров - Zvooq
Droidcon Moscow 2015. Clean Architecture и MVP. Алексей Макаров - ZvooqDroidcon Moscow 2015. Clean Architecture и MVP. Алексей Макаров - Zvooq
Droidcon Moscow 2015. Clean Architecture и MVP. Алексей Макаров - ZvooqMail.ru Group
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftAnton Loginov
 
Основы концептуального проектирования
Основы концептуального проектированияОсновы концептуального проектирования
Основы концептуального проектированияAnton Tyukov
 
Mvc, mvp and mvvm: A comparison of architectural patterns
Mvc, mvp and mvvm: A comparison of architectural patternsMvc, mvp and mvvm: A comparison of architectural patterns
Mvc, mvp and mvvm: A comparison of architectural patternsIvan Dyachenko
 
Быстрое масштабирование систем
Быстрое масштабирование системБыстрое масштабирование систем
Быстрое масштабирование системMedia Gorod
 
Бизнес и системный анализ весна 2013 лекция 7
Бизнес и системный анализ весна 2013 лекция 7Бизнес и системный анализ весна 2013 лекция 7
Бизнес и системный анализ весна 2013 лекция 7Technopark
 
4я лекция - Прототипирование.
4я лекция - Прототипирование.4я лекция - Прототипирование.
4я лекция - Прототипирование.allileja
 
Концепция применения онтологических структур в ERP-системах
Концепция применения онтологических структур в ERP-системахКонцепция применения онтологических структур в ERP-системах
Концепция применения онтологических структур в ERP-системахAnatoly Simkin
 
Шаблоны проектирования в Magento
Шаблоны проектирования в MagentoШаблоны проектирования в Magento
Шаблоны проектирования в MagentoPavel Usachev
 
JavaScript Design Patterns overview by Ksenia Redunova
JavaScript Design Patterns overview by Ksenia RedunovaJavaScript Design Patterns overview by Ksenia Redunova
JavaScript Design Patterns overview by Ksenia RedunovaLohika_Odessa_TechTalks
 
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияКварта Технологии
 
Егор Стремоусов. Модульная сетка: Что? Где? Когда?
Егор Стремоусов. Модульная сетка: Что? Где? Когда?Егор Стремоусов. Модульная сетка: Что? Где? Когда?
Егор Стремоусов. Модульная сетка: Что? Где? Когда?Egor Stremousov
 
Лекции и задания по рнр
Лекции и задания по рнрЛекции и задания по рнр
Лекции и задания по рнрRauan Ibraikhan
 
методология Rad (46)
методология Rad (46)методология Rad (46)
методология Rad (46)romachka_pole
 
рит2007 требования и состав работ бесков доронин
рит2007   требования и состав работ   бесков доронинрит2007   требования и состав работ   бесков доронин
рит2007 требования и состав работ бесков доронинMedia Gorod
 
Шаблоны проектирования баз данных — Введение
Шаблоны проектирования баз данных — ВведениеШаблоны проектирования баз данных — Введение
Шаблоны проектирования баз данных — ВведениеDenis Beskov
 

Similar to чмв лекция №5 (20)

Паттерны проектирования
Паттерны проектированияПаттерны проектирования
Паттерны проектирования
 
Droidcon Moscow 2015. Clean Architecture и MVP. Алексей Макаров - Zvooq
Droidcon Moscow 2015. Clean Architecture и MVP. Алексей Макаров - ZvooqDroidcon Moscow 2015. Clean Architecture и MVP. Алексей Макаров - Zvooq
Droidcon Moscow 2015. Clean Architecture и MVP. Алексей Макаров - Zvooq
 
Как пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на SwiftКак пройти собеседование и получить первую работу на Swift
Как пройти собеседование и получить первую работу на Swift
 
Backbone lesson 1
Backbone lesson 1Backbone lesson 1
Backbone lesson 1
 
Основы концептуального проектирования
Основы концептуального проектированияОсновы концептуального проектирования
Основы концептуального проектирования
 
Mvc, mvp and mvvm: A comparison of architectural patterns
Mvc, mvp and mvvm: A comparison of architectural patternsMvc, mvp and mvvm: A comparison of architectural patterns
Mvc, mvp and mvvm: A comparison of architectural patterns
 
Быстрое масштабирование систем
Быстрое масштабирование системБыстрое масштабирование систем
Быстрое масштабирование систем
 
лекция № 11
лекция № 11лекция № 11
лекция № 11
 
Бизнес и системный анализ весна 2013 лекция 7
Бизнес и системный анализ весна 2013 лекция 7Бизнес и системный анализ весна 2013 лекция 7
Бизнес и системный анализ весна 2013 лекция 7
 
4я лекция - Прототипирование.
4я лекция - Прототипирование.4я лекция - Прототипирование.
4я лекция - Прототипирование.
 
Концепция применения онтологических структур в ERP-системах
Концепция применения онтологических структур в ERP-системахКонцепция применения онтологических структур в ERP-системах
Концепция применения онтологических структур в ERP-системах
 
Шаблоны проектирования в Magento
Шаблоны проектирования в MagentoШаблоны проектирования в Magento
Шаблоны проектирования в Magento
 
JavaScript Design Patterns overview by Ksenia Redunova
JavaScript Design Patterns overview by Ksenia RedunovaJavaScript Design Patterns overview by Ksenia Redunova
JavaScript Design Patterns overview by Ksenia Redunova
 
AiCare - self-organizing device management service
AiCare - self-organizing device management serviceAiCare - self-organizing device management service
AiCare - self-organizing device management service
 
AiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управленияAiCare - самоорганизующийся сервис управления
AiCare - самоорганизующийся сервис управления
 
Егор Стремоусов. Модульная сетка: Что? Где? Когда?
Егор Стремоусов. Модульная сетка: Что? Где? Когда?Егор Стремоусов. Модульная сетка: Что? Где? Когда?
Егор Стремоусов. Модульная сетка: Что? Где? Когда?
 
Лекции и задания по рнр
Лекции и задания по рнрЛекции и задания по рнр
Лекции и задания по рнр
 
методология Rad (46)
методология Rad (46)методология Rad (46)
методология Rad (46)
 
рит2007 требования и состав работ бесков доронин
рит2007   требования и состав работ   бесков доронинрит2007   требования и состав работ   бесков доронин
рит2007 требования и состав работ бесков доронин
 
Шаблоны проектирования баз данных — Введение
Шаблоны проектирования баз данных — ВведениеШаблоны проектирования баз данных — Введение
Шаблоны проектирования баз данных — Введение
 

More from student_kai

презентации продолжение банкета
презентации продолжение банкетапрезентации продолжение банкета
презентации продолжение банкетаstudent_kai
 
основы программирования на языке C
основы программирования на языке Cосновы программирования на языке C
основы программирования на языке Cstudent_kai
 
презентация курсовой работы
презентация курсовой работыпрезентация курсовой работы
презентация курсовой работыstudent_kai
 
лекция№34
лекция№34лекция№34
лекция№34student_kai
 
лекция№32
лекция№32лекция№32
лекция№32student_kai
 
лекция№33
лекция№33лекция№33
лекция№33student_kai
 
лекция№31
лекция№31лекция№31
лекция№31student_kai
 
лекция№30
лекция№30лекция№30
лекция№30student_kai
 
лекция№29
лекция№29лекция№29
лекция№29student_kai
 
лекция№28
лекция№28лекция№28
лекция№28student_kai
 
лекция№27
лекция№27лекция№27
лекция№27student_kai
 
лекция№26
лекция№26лекция№26
лекция№26student_kai
 
лекция№25
лекция№25лекция№25
лекция№25student_kai
 
лекция№25
лекция№25лекция№25
лекция№25student_kai
 
лекция№24
лекция№24лекция№24
лекция№24student_kai
 
лекция№23
лекция№23лекция№23
лекция№23student_kai
 
лекция№22
лекция№22лекция№22
лекция№22student_kai
 
лекция№21
лекция№21лекция№21
лекция№21student_kai
 
лекция№20
лекция№20лекция№20
лекция№20student_kai
 
лекция№19
лекция№19лекция№19
лекция№19student_kai
 

More from student_kai (20)

презентации продолжение банкета
презентации продолжение банкетапрезентации продолжение банкета
презентации продолжение банкета
 
основы программирования на языке C
основы программирования на языке Cосновы программирования на языке C
основы программирования на языке C
 
презентация курсовой работы
презентация курсовой работыпрезентация курсовой работы
презентация курсовой работы
 
лекция№34
лекция№34лекция№34
лекция№34
 
лекция№32
лекция№32лекция№32
лекция№32
 
лекция№33
лекция№33лекция№33
лекция№33
 
лекция№31
лекция№31лекция№31
лекция№31
 
лекция№30
лекция№30лекция№30
лекция№30
 
лекция№29
лекция№29лекция№29
лекция№29
 
лекция№28
лекция№28лекция№28
лекция№28
 
лекция№27
лекция№27лекция№27
лекция№27
 
лекция№26
лекция№26лекция№26
лекция№26
 
лекция№25
лекция№25лекция№25
лекция№25
 
лекция№25
лекция№25лекция№25
лекция№25
 
лекция№24
лекция№24лекция№24
лекция№24
 
лекция№23
лекция№23лекция№23
лекция№23
 
лекция№22
лекция№22лекция№22
лекция№22
 
лекция№21
лекция№21лекция№21
лекция№21
 
лекция№20
лекция№20лекция№20
лекция№20
 
лекция№19
лекция№19лекция№19
лекция№19
 

чмв лекция №5

  • 2. Лекция 5 Тема: Общие вопросы проектирования ПИ (окончание). План лекции:  Архитектура пользовательского интерфейса.  Справочные системы. 2
  • 3. Ключевые слова  Архитектура ПИ  Модель  Представление  Поведение (контроллер)  Презентатор  Абстракция  Управление 3
  • 4. Вопрос 1 Архитектура пользовательского интерфейса определяет основные функциональные блоки приложения и порядок их взаимодействия друг с другом и с пользователем. 4
  • 5. Архитектура интерфейса простого приложения командной строки Приложение приёмник команд пользователя анализатор команд обработчик команды ядро приложения 5
  • 6. Архитектура MVC  Название: «Модель-ПредставлениеПоведение» (Model-view-controller)  Автор: Трюгве Реенскауг (1979 год)  Цель: Обеспечение пользователя интерфейсом для манипуляции над многими вариантами отображения данных, как сущностей реального мира  Идея: Разделение данных приложения, ПИ и управляющей логики на три отдельных слабосвязанных компонента: модель, представление и поведение (контроллер). 6
  • 7. Компоненты MVC  Модель предоставляет данные предметной области представлению и реагирует на команды контроллера, изменяя свое состояние.  Представление отвечает за отображение данных предметной области пользователю с помощью любых доступных визуальных и не визуальных средств.  Контроллер интерпретирует действия пользователя, оповещая модель о необходимости изменений. 7
  • 8. Типы моделей MVC  Пассивная модель не осведомлена о существовании представления, контроллера, и даже о своем участии в MVC-триаде. Контроллер отслеживает изменения модели и оповещает представление.  Активная модель «знает» о существовании представлений и о том, что они должны обновляться. Активность модели проявляется в её праве самостоятельно оповестить представление об изменении своего состояния. 8
  • 9. Общая модель архитектуры MVC с активной моделью Модель запрос текущего состояния оповещение об изменении состояния выбор представления (при необходимости) Представление изменение состояния Поведение оповещение о действиях пользователя 9
  • 10. Архитектура MVP  Название: «Модель-ПредставлениеПрезентатор» (Model-View-Presenter)  Автор: Майк Потел, Taligent Inc. (1996 год), переработано Dolphin Smalltalk.  Цель: Интеграция концепций MVC в современные средства разработки ПО  Идея: Выделение данных, спецификации данных, манипуляции над данными, координации приложения, взаимодействия с пользователем и визуализацию в специализированные компоненты. 10
  • 11. Компоненты MVP  Модель отвечает за данные и бизнес-логику приложения.  Представлением является визуализация модели (включает в себя окна и элементы управления, используемые в приложении). Реализуется как интерфейс, который может быть использован для получения и установки данных модели.  Презентатор реализует логику отображения данных модели пользователю, управляет моделью и представлением. 11
  • 12. Общий вид архитектуры MVP (версия от Dolphin Smalltalk) Модель (Domain model) изменение состояния описание состояния модели Представление Презентатор оповещение о действиях пользователя 12
  • 13. Основные отличия MVP от MVC     Модель не общается с представлением даже опосредовано, через механизм оповещений, как это реализовано в MVC с активной моделью. Передача данных о состоянии модели в представление, а также изменение этого состояния реализуются через презентатор. Перехват сообщений пользователя выполняет представление, передавая его затем в презентатор. Взаимодействие представления и презентатора реализуется через специальный интерфейс, а не напрямую через вызов методов класса-презентатора. 13
  • 14. Архитектура PAC  Название: «Представление-АбстракцияУправление» (Presentation-AbstractionControl)  Цель: Построение иерархии компонентов  Идея: Организуется иерархия взаимодействующих программных модулей (агентов). Каждый агент реализует собственный аспект функциональности приложения и представляет собой триаду из представления, абстракции (модели) и управления. 14
  • 15. Архитектура HMVC  Название: «Иерархический MVC» (Hierarchical Model-View-Controller)  Цель: Построение иерархии компонентов  Идея: В PAC агенты взаимодействуют только через управление, а HMVC позволяет представлениям, контроллерам и моделям различных агентов связываться непосредственно друг с другом, выстраивая независимые иерархии. 15
  • 16. Вопрос 2 Удобство взаимодействия человека с программной во многом зависит от качества её справочной системы. Реализация справочной системы для программ и для web-сайтов, как правило, различается. 16
  • 17. Базовые компоненты справочной системы        Базовая справка – сущность и назначение системы Обзорная справка – реклама пользователю функций системы Справка предметной области Процедурная справка – отвечает: «Как это сделать?» Контекстная справка – отвечает: «Что это делает?» и «Зачем это нужно?» Справка состояния – отвечает: «Что происходит в настоящий момент?» Сообщения об ошибках – отвечает: «В чём заключается проблема?», «Как исправить эту проблему прямо сейчас?», «Как сделать так, чтобы проблема не повторилась?» 17
  • 18. Носители справочной информации  Бумажная книга – Легко позволяет читателю получить большой объём материала за один сеанс, наилучшим образом работает при последовательном чтении. – Сравнительно плохой поиск нужных сведений. – Объём практически всегда лимитирован.  Справочная карта – краткий бумажный документ об основных способах работы с системой – Компактна, легкодоступна. – Хороша как средство обучения «продвинутым» способам взаимодействия с системой. 18
  • 19. Носители справочной информации  Структурированная электронная документация – Плохо приспособлена для чтения больших объёмов материала. – Обеспечивает легкий поиск и не имеет лимита объёма. – Занимает большой объём пространства экрана. – Плохо подходит для показа крупных изображений, зато в неё могут быть легко интегрированы видео и звук.  Фрагменты пространства интерфейса, показывающие справочную информацию – Постоянно занимают некоторое пространство экрана. – Отвлекают внимание и, как правило, неспособны передавать большой объём информации. 19
  • 20. Носители справочной информации  Всплывающие подсказки – Хорошо справляются с ответом на вопросы «Что это такое?» и «Зачем это нужно?» при условии, что объём ответов сравнительно невелик. – Поскольку вызываются пользователями вручную, в обычном режиме не занимают пространства экрана и не отвлекают внимание. – Очень легко вызывают отвыкание, после первого же случая неудовлетворения пользователя подсказкой, пользователь перестаёт вызывать и все остальные подсказки. 20
  • 21. Контрольные вопросы      Поясните значение термина «архитектура пользовательского интерфейса». Опишите суть архитектуры MVC. В чём состоит основное различие между архитектурами MVC и MVP? Опишите основные достоинства иерархических архитектур ПИ. Какие компоненты справочных систем вам известны? Проиллюстрируйте свой ответ на примере распространённых программных систем. 21