Разработку программного обеспечения (ПО) можно рассматривать на разных уровнях, но в любом жизнеспособность программного продукта определяется его востребованностью пользователем. На этом уровне продукт представлен только своим интерфейсом, т.е. средствами взаимодействия с пользователем. Состояние области разработки программного обеспечения таково, что утверждение о критическом положении дел здесь стало тривиальным. На упомянутом уровне суть проблемы заключается в том, что программное изделие из инструмента превращается в поработителя, подчиняя пользователя и при этом далеко не лучшим образом решая его задачи. Причина этого кроется в практически полном отсутствии этапа проектирования интерфейса, т.е., по сути, этапа, определяющего классы пользователей, их задачи и соответствующие средства взаимодействия с будущей программой. Характерно, что в современных работах в области разработки ПО в целом также делается акцент на первых этапах разработки – системном анализе задачи и проектировании программного продукта, что позволяет рассматривать разработку интерфейса как неотъемлемую часть первых этапов разработки ПО. Благотворным следствием этого является общность подхода к проектированию и возможность использования общих языковых средств. Так, например, книги Джефа Раскина и Алана Купера посвящены проблемам проектирования интерфейсов, книга Л. Константайн – принципам разработки ПО, книги М. Фаулера и А. Леоненкова – инструментарию разработки ПО; тем не менее везде делается акцент на необходимости анализа задачи и этапе проектирования и ключевые положения описываются сходным образом, и приведенный список работ может быть значительно расширен. Перечисленные источники положены в основу курса. Характерной является и констатация факта непригодности существующего (традиционного) подхода к разработке интерфейсов (как, впрочем, и ПО в целом) и необходимости разработки новых направлений, базирующихся на принципах взаимодействия человека и компьютера исходя из интересов первого. · Большинство существующих сегодня графических пользовательских интерфейсов изначально порочно. Их архитектура отображает архитектуру и функции операционной системы и прикладных программ, тогда как по сути своей должна базироваться на принципах взаимодействия человека и компьютера. При этом уже существующие и оправдавшие себя средства разработки интерфейсов могут служить хорошим инструментом. Принципы и приемы, рассматриваемые далее, применимы к широкому кругу продуктов: w операционные системы; w прикладное программное обеспечение; w веб-сайты; w отдельные устройства для работы с информацией, такие как планшеты, КПК и др. · На сегодня принципы разработки хороших интерфейсов не являются общеизвестными. Однако актуальность вопроса об их изучении затемняется тем, что за два с лишним десятилетия сложились некие традиции, положенные в основу руководств и стандартов, и созданы средства, позволяющие быстро создавать разнообразные интерфейсы. К сожалению, впечатление благополучности ситуации ошибочно, что становится все более очевидным. Разработка интерфейсов изначально была ориентирована неверно – на отображение всех возможных функций программного продукта, т.е. того, что программа может сделать, а не на то, что нужно для решения некоторого класса задач. До определенных пор такое положение дел, когда пользователь шел на поводу у программы, воспринималось как должное. Однако в итоге уровень сложности интерфейсов стал неоправданно высоким с точки зрения как технологической, так и логической необходимости. Отменным примером является и любимый (без кавычек) автором Microsoft Word, в котором так и не удалось освоить создание документов со сложной структурой и который, будучи запущенным в лекционной аудитории и с ходу выдавая ошибку, не оставляет иного выхода, кроме тычков с плохо предсказуемым результатом в различные элементы интерфейса. Выбранное направление разработки интерфейсов оказалось неверным. Требуется более глубокое изучение проблемы взаимодействия «человек – компьютер», осознание места и значения этапа проектирования интерфейсов и применение при их разработке соответствующих положений. ·
Проблема разработки таких интерфейсов пока не решена. В то же время взаимодействие между одним человеком и одной системой лежит в основе взаимодействия любого количества пользователей.
|