Предисловие
Предисловие
Еще не так давно (лет десять назад) программисты могли использовать весьма ограниченный арсенал средств взаимодействия пользователей с создаваемыми программами. Как правило, такое взаимодействие заключалось в обмене текстовыми сообщениями либо псевдографическими изображениями. При этом «промышленное» программное изделие в основном соответствовало действовавшим в то время государственным стандартам, которые предусматривали наличие соответствующей программной документации. С ее помощью пользователи программного изделия могли уяснить все особенности работы с ним. Более того, сами эти пользователи были если и не программистами, то по крайней мере людьми, достаточно хорошо знакомыми с вычислительной техникой.
В силу указанных причин проблемы, связанные с разработкой и освоением средств общения пользователей с программами, решались весьма просто и, как правило, достаточно стандартным образом.
За последние годы ситуация коренным образом изменилась.
Во-первых, с распространением персональных компьютеров невероятно возросло число пользователей ЭВМ, в том числе не имеющих даже начальных знаний в области вычислительной техники.
Во-вторых, значительно увеличилось и число программирующих пользователей ЭВМ, как имеющих соответствующую базовую подготовку, так и «самоучек»; в их распоряжении имеются мощные средства разработки, которые позволяют создавать программы с практически неограниченными интерактивными возможностями.
В-третьих, имеющиеся государственные стандарты на разработку программных продуктов безнадежно устарели и их влияние на технологию программирования практически равно нулю.
Обратите внимание на лекцию "Лекция 6".
И, наконец, наличие такого уникального (и универсального) средства коммуникации, как Интернет, позволяет всем желающим выставлять на всеобщее обозрение плоды своего творчества, вне зависимости от их качества и предназначения; при этом каждый автор надеется на высокую оценку своего труда со стороны коллег и потенциальных пользователей.
Все это привело к тому, что на свет стало появляться все больше программных продуктов, которые на самом деле таковыми не являются. Назвать их «уродцами» язык не поворачивается, поскольку практически все они снабжены ярким и, на первый взгляд, весьма впечатляющим интерфейсом в виде многочисленных и разнообразных кнопок, пиктограмм, переключателей и т.п. Это, скорее, бабочки-однодневки, которые так резво машут своими пестрыми крылышками, что никак не удается рассмотреть, что же они все-таки умеют делать.
С другой стороны, даже действительно полезные программы, но снабженные неудачным интерфейсом, остаются невостребованными. Более того, известны случаи, когда достаточно крупные проекты были отклонены заказчиком только из-за того, что разработчиком не были своевременно и качественно решены вопросы, связанные с пользовательским интерфейсом.
Важность грамотного проектирования и реализации пользовательского интерфейса осознана ведущими фирмами-производителями программного обеспечения уже давно. Об этом говорит тот факт, что проектирование пользовательского интерфейса рассматривается ими как отдельный процесс в рамках жизненного цикла любого программного продукта. Причем и сам этот процесс, и качество создаваемого интерфейса регламентируются целым рядом соответствующих стандартов. Те программные продукты, которые им не удовлетворяют, практически не имеют шансов на «выживание».
В настоящее время на российском книжном рынке недостаточно литературы, посвященной разработке пользовательского интерфейса. Уже нельзя ориентироваться на устаревающие стандарты, а также устаревшие версии системного и прикладного программного обеспечения. Недостаток литературы по данному вопросу приводит к тому, что даже в среде профессиональных программистов отсутствует единая трактовка терминов и понятий, относящихся к пользовательскому интерфейсу.
Необходимо обобщить зарубежный и отечественный опыт в создании пользовательского интерфейса с учетом последних достижений в области графического интерфейса пользователя (GUI) с учетом особенностей применения наиболее распространенных средств визуального программирования — Visual C++, Visual Basic, Delphi.