Интерфейс: новые направления в проектировании компьютерных систем - [6]
Большая часть машин, созданных нашей цивилизацией, были механическими и взаимодействовали с нами главным образом физически. Соответственно, наши физические ограничения сравнительно легко учесть. Постепенно человеческие изобретения стали иметь все большее отношение к области интеллектуальных задач, нежели физических. Мы должны овладеть эргономикой сознания, если мы хотим создавать интерфейсы, которые могли бы хорошо работать. Удивительно, но мы часто не замечаем собственные ментальные ограничения, поэтому для определения границ возможностей нашего сознания мы должны прибегнуть к тщательному наблюдению и экспериментированию.
Изучение прикладной сферы наших ментальных способностей называется когнитивным проектированием, или когнетикой. Некоторые когнитивные ограничения очевидны: например, нельзя ожидать от обычного пользователя способности перемножать в уме 30-значные числа за 5 секунд, поэтому нет смысла разрабатывать интерфейс, который требовал бы от пользователя такой способности. Однако мы часто не учитываем другие ментальные ограничения, которые оказывают неблагоприятное влияние на нашу продуктивность при работе с интерфейсами «человек-машина», хотя эти ограничения присущи каждому человеку. Интересно отметить, что все известные компьютерные интерфейсы, а также многие некомпьютерные интерфейсы «человек-машина» разработаны с расчетом на некие когнитивные способности, которыми, как показывают эксперименты, мы на самом деле не обладаем. Большая часть трудностей, связанных с использованием компьютеров и подобных устройств, возникает скорее из-за низкого качества интерфейса, чем из-за сложности самой задачи или же недостатка старания или умственных способностей у пользователя.
Когнетика, так же как и эргономика, учитывает статистическую природу различий между людьми. Тем не менее, следует прежде всего рассмотреть сами ограничения, присущие нашим когнитивным способностям, поскольку знания об этих ограничениях пока мало находили практическое применение.
К счастью, нам не придется рассматривать физическую структуру мозга хотя бы потому, что наши сегодняшние знания об этом органе весьма неопределенны. Успешный интерфейс вполне может быть разработан на основе прагматического и эмпирического взгляда на то, что может и чего не может человеческий ум, сколько времени требуется человеческому сознанию и телу на выполнение тех или иных задач и какие условия повышают вероятность совершения ошибки.
2.2. Когнитивное сознательное и когнитивное бессознательное
О, доктор Фрейд, доктор Фрейд, если бы только вы занимались чем-нибудь другим!
Давид Лазар «Доктор Фрейд», 1951
Использование таких терминов, как сознательное и бессознательное, которые имеют вполне определенное значение в психологии, философии и истории и применяются для описания аспектов функционирования нашего мышления, может вызывать некоторые затруднения. В контексте технического проектирования имеет смысл пользоваться более ограниченными понятиями когнитивного сознательного и когнитивного бессознательного. Еще более точными были бы термины эмпирическое сознательное и эмпирическое бессознательное, однако более благозвучные варианты, предложенные Килстромом (Kihlstrom), уже стали общепринятыми (Cohen and Schooler, 1997, с. 137). Понимание того, что мы обладаем этими двумя отдельными наборами ограниченных ментальных способностей, а также того, как они работают во взаимодействии с интерфейсами «человек-машина», важно для разработки интерфейсов в той же степени, в какой знание о размере и силе человеческой руки важно для разработки клавиатуры.
Дадим краткое определение: бессознательными называются те ментальные процессы, которые вы не осознаете в тот момент, когда они происходят. Когнитивное бессознательное – это не грандиозное мифическое порождение фрейдистской психологии, а явление, которое можно продемонстрировать с помощью простого эксперимента, о котором мы скажем далее. Несмотря на обилие книг, посвященных вопросам и парадоксам сознания, изложенный в этой главе подход, взятый из книги Бернарда Баарса «Когнитивная теория сознания» (Bernard J. Baars. A Cognitive Theory of Consciousness, 1988), позволяет избежать дилемм, свойственных данному вопросу, и обращает нас только к тому, что мы можем непосредственно наблюдать и о чем можем делать конкретные выводы. Как сказано в предисловии к этой книге, «в науке применяется одна испытанная временем стратегия: оставить на время философские вопросы и сосредоточиться на тех, которые являются эмпирически разрешимыми». Когнетика – это практическая дисциплина. Хотя теоретические исследования могут разъяснять неясное и, в конце концов, приводить к надежным практическим результатам, мы все же стремимся избегать их до тех пор, пока не почувствуем эти результаты. (Аналогичным образом изучение роста человеческих костей, которое может дать полезные сведения с точки зрения эргономики, все же скорее относится к области физиологии, чем собственно к эргономике.)
Хотя трактовка когнитивных свойств сознания, предложенная Баарсом, является полезной, его теория разума, в которой моделями служат современные цифровые компьютерные структуры, имеет уже меньшую ценность. Такой подход, на мой взгляд, сомнителен, особенно по той причине, что мыслители издавна использовали последние достижения в области технологии в качестве моделей понимания человеческого существа, а со следующим шагом в технологическом развитии отказывались от них или же ограничивали их применение.
В этой книге автор, сам прошедший путь от разработчика до менеджера в сфере IT, рассказывает неочевидные моменты, которые являются критически важными для правильного управления. Почему разработчики увольняются после повышения зарплаты? Как делать FixedPrice проекты? Почему Scrum не упрощает менеджмент? Книга содержит ответ на эти и многие другие вопросы. В книге есть много баек, которые показывают тяжёлую, но интересную жизнь менеджера в разработке. Иллюстратор обложки: Ксения Ерощенко. Иллюстрации в тексте книги авторские.
Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)
В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.
Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.
Вниманию читателей предлагается справочник по JavaScript.Справочник предназначается для людей, уже освоивших азы программирования в JavaScript.Справочник создан на основе информации, предоставленной на сайте «Справочник Web-языков» www.spravkaweb.ru.Дата выхода данной версии справочника: 12:33, 21 марта 2007.
Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы.