Ларри Константин - Человеческий фактор в программировании
- Название:Человеческий фактор в программировании
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Ларри Константин - Человеческий фактор в программировании краткое содержание
Хорошее программное обеспечение создается людьми. Так же как и плохое. Именно поэтому основная тема этой книги — не аппаратное и не программное обеспечение, а человеческий фактор в программировании (peopleware). Первое издание «Constantine on Peopleware» признано классическим трудом в области информационных технологий. Новая книга Ларри Константина включает все 52 легендарные статьи из предыдущей книги и 25 новых эссе.
Peopleware охватывает все аспекты, связанные с ролью людей в разработке программного обеспечения. Это качество и продуктивность, модели и методы, динамика поведения коллектива, руководство проектами, разработка интерфейсов и взаимодействие между человеком и компьютером, психология и процессы мышления. В данное издание включены два новых раздела, посвященных организационной культуре и юзабилити программных продуктов.
Название оригинала на английском языке: The Peopleware Papers by Larry L. Constantine
Человеческий фактор в программировании - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Возьмем объектную технологию. Если когда-то всему надлежало быть «структурированным», чтобы заслуживать внимания, то теперь все обязано быть «объектно-ориентированным». Если что-то не «объектно-ориентировано», оно не считается современным. Если программное обеспечение не построено из «объектов» и «классов», то в нем не может быть ничего хорошего. В примитивном представлении объекты считаются естественными и интуитивными. Более того, они политически корректны, потому как могут использоваться повторно!
Сегодня пользовательские интерфейсы стали объектно-ориентированными. По крайней мере, так написано на коробке.
Представьте: вы подумываете об отдыхе, зная, что объекты надежно спрятаны в соответствующих библиотеках классов с огромными возможностями повторного использования — глубоко внутри кодового ядра устойчивого программного обеспечения. И как раз в ту минуту, когда вы подумали, что получили полное представление о полиморфизме, универсальности и перманентных объектах, а объектная технология обрела смысл, объекты неожиданно начинают появляться на экране вашего монитора. Если объекты полезны внутри программного обеспечения, то они должны быть полезны и вне его. Если объекты полезны для разработчиков, то они должны быть полезны и для пользователей. Во всяком случае так утверждается в рекламе.
На что же похожа эта объектная революция, когда она переходит из языка программирования в пользовательский интерфейс? Представьте такую картину. На экране показана модель карманной записной книжки-ежедневника. Вы можете щелкать мышью по вкладкам для перехода к любому разделу. Вы можете щелкнуть мышью в углу «страницы» и «пе-релистнуть» ее. Ну надо же, как удобно! Конечно, большую часть времени пол-экрана не задействовано, а для чтения надписей на вкладках нужно поворачивать голову — сначала по часовой стрелке, потом против, поскольку при перелистывании страниц текст переворачивается с одной стороны на другую. Ах, но зато это выглядит таким знакомым, а ведь каждый знает, что знакомые метафоры облегчают применение программного обеспечения, не так ли? Особенно не следует придавать значение тому, что на экране super-VGA помещается меньше информации, чем на старом DOS-дисплее с 80 колонками, хотя информация отображается более мелким шрифтом. Зато все в цвете. Это очень приятно, если только вы не являетесь одним из двенадцати мужчин, которые не различают цвета. Этот «персональный информационный менеджер», должно быть, очень полезная штука, раз в нем так много замечательных картинок. Но постойте, это не просто картинки, это объекты! Их можно перемещать, с ними можно работать, с ними можно взаимодействовать, и это делает вашу жизнь такой приятной.
В другом персональном информационном менеджере на экране показана картинка вращающегося файла предметного указателя (наподобие Rolodex™). Щелкаете по крышке, она открывается, и вы видите небольшие карточки, на которых написаны имена, адреса и телефонные номера. Щелкните и потяните за «ручки», расположенные по обе стороны, и карточки начнут переворачиваться.
Некоторые называют это объектно-ориентированной технологией, но из уст пользователей, на практике применяющих все это, можно услышать менее вежливые названия и описания. Мы вовсе не против лишних движений мышью, которые повышают риск вызвать сбой из-за многократных нажатий. Мы вовсе не против того, чтобы эти восхитительные картинки отвлекали нас от работы. В конце концов, ведь это объектно-ориентированный пользовательский интерфейс!
Что же такое объектно-ориентированный интерфейс? Пиктограммы, панели кнопок и выпадающие меню — ваш персональный вариант ГПИ? Или же это методы «указать-выбрать» (point-and-click) и «перетаскивание» (drag-and-drop), являющиеся догмами непосредственного манипулирования? (Кстати, если приводить точные аббревиатуры, то мы сейчас говорим об OOI GUI WIMP.) Может быть, это любой пользовательский интерфейс, созданный с помощью языка объектно-ориентированного программирования, или же пользовательский интерфейс любой системы, разработанной с помощью объектно-ориентированных методов, независимо от языка? Возможно, это означает, что интерфейс усыпан картинками «реальных» объектов. Или то, что пользователи могут взаимодействовать с системой, передавая объектам сообщения («Документ, распечатай себя»).
В действительности «объектно-ориентированный интерфейс» означает всего лишь то, что объектно-ориентированная революция завершилась. Новая парадигма в мышлении получила такое распространение, что даже начальники отделов маркетинга и копирайтеры открыли для себя объекты. Объекты продаются!
Конечно, мы все знаем, что объекты лучше своих предшественников. Они лучше потому, что объекты интуитивны и картинки интуитивны, а картинки — это объекты. Таковы рассуждения. Но даже поверхностный взгляд на непомеченные пиктограммы в каком-нибудь новом популярном пакете электронной почты или текстовом редакторе, или презентационной программе выявляет, насколько интуитивными являются эти интерфейсы. Сколько из этих пиктограмм можно правильно понять с первого взгляда? Сколько из них можно легко запомнить? Сколько пиктограмм можно запомнить меньше чем за год ежедневного использования? Что бы ни писали на коробке, в которой эта программа продавалась, если на понимание пиктограммы уходит больше одной секунды, она не интуитивна! Если вы забываете, на какую кнопку нажимать для добавления столбцов, она не интуитивна. Если вы постоянно открываете не то меню для создания заголовка страницы, оно не интуитивно.
Играет ли это какую-нибудь роль? Какое значение имеет форма пиктограммы или детали копирования с помощью «выбрать-перетащить» (click-and-drag)? Большое. Небольшие ошибки и небольшое раздражение постепенно накапливаются, замедляя работу, а не ускоряя ее. Работа — это то, что некоторые из нас пытаются выполнить, часами просиживая за рабочим столом. Программное обеспечение, которое противоречит человеческим способам мышления и решения задач, неизбежно приводит к росту количества ошибок. Если программа заставляет пользователя выполнять лишние шаги, или думать дважды, или переосмысливать что-либо, то независимо от того, насколько он свыкнется с программой, количество его ошибок будет больше неизбежного минимума. На самом деле эти дополнительные ошибки вовсе не являются человеческими. Они вызваны ошибками в интерфейсе, в программном обеспечении.
Для потребителя пользовательский интерфейс и есть система. Это то, что конечные пользователи видят и с чем взаимодействуют при выполнении своей работы. Пользователи не видят, насколько удачным было применение множественного наследования, или насколько верно построен какой-то метод, или насколько тщательным было повторное использование классов из библиотек. Они не видят большую часть из того, над чем разработчики программного обеспечения так сильно пыхтят. Они видят пользовательский интерфейс. Точка. Пользовательский интерфейс — это не только то, что можно увидеть и ощутить. Это также и то, как система работает, как она проявляет себя. Для пользователей самым важным в интерфейсе любой части программного обеспечения является возможность системы помогать в их работе и способы этого добиться.
Читать дальшеИнтервал:
Закладка: