О компьютеризации, пользователях и Windows
О компьютеризации, пользователях и Windows
Программисту, работающему в организации, не связанной напрямую с разработкой программного обеспечения, приходится постоянно консультировать пользователей по работе компьютера вообще и программного обеспечения в частности. Так было с момента внедрения персональных компьютеров в сферу бухгалтерских, экономических и управленческих расчетов. И так будет продолжаться до тех пор, пока доля молодых кадров, привыкших к вычислительной технике со школьной скамьи, не достигнет некоторой критической отметки, определение которой выходит за рамки этой статьи и, возможно, представляет отдельный интерес для исследования.
Как правило, автоматизация некоторой области деятельности предприятия носит революционный характер и заключается в решении руководства, что "это должна считать машина". Ответственный работник, на чьем столе должен появиться электронный помощник, проводит несколько бессонных ночей либо в предчувствии новых проблем (сотрудник "старой закалки"), либо в предвкушении погонь со стрельбой в темных лабиринтах (молодой специалист).
И если во втором случае задача программиста сводится к поиску необходимого программного обеспечения на рынке коммерческих продуктов или разработке собственной программы (в зависимости от финансовой состоятельности организации, способностей программиста и настроения начальства) и краткой демонстрации ее (программы) возможностей, то в первом случае ему предстоит испытать все прелести преподавательской деятельности. Именно об этой, самой тяжелой ситуации и пойдет речь в данной статье.
Как показывает практика, даже после прохождения специализированных краткосрочных курсов по общению с вычислительной техникой неподготовленный (или после этих курсов он уже подготовленный?) пользователь с опаской взирает на системный блок и предпочитает посоветоваться с более опытным коллегой, какой же все-таки кнопкой его включают. Когда же на экране возникает пресловутый рабочий стол с кнопкой "Пуск" и наступает время конкретных действий, его рука сама тянется к служебному телефону, чтобы вызвать "скорую помощь" — программиста, который бы запустил программу, показал ту строку меню, начиная с которой бедолага уже более-менее самостоятельно будет пробираться к заветной функции, поминутно бросая взгляд на руководство пользователя, заботливо оставленное службой поддержки фирмы-разработчика.
Что же предпринимает программист при возникновении необходимости внедрения автоматизированного рабочего места? Как правило, устанавливает программу, создает ярлычок на рабочем столе и, не утруждая себя дальнейшими пояснениями за исключением "щелкаете сюда, и программа запускается", убегает по своим делам.
Часто такая тактика себя оправдывает. Особенно в тех случаях, когда пользователь не желает ничего знать о работе компьютера, кроме того, в каких полях какие цифры вводить и какую кнопку нажимать, чтобы "оно это посчитало", и начальство осталось довольно.
Однако бывают ситуации, когда сотрудник искренне хочет понять основные принципы функционирования компьютера и приемы, с помощью которых можно достичь таких простых, но важных в его деятельности результатов, как перенести файл на дискету, скопировать таблицу из Word в Excel и тому подобные мелочи. Чем может помочь ему в этом программист? Как правило, он показывает какой-нибудь пример и предлагает в следующий раз действовать так же.
Обучение по принципу "делай как я" достигает своей цели, однако при этом в своей работе пользователь не использует массы возможностей, которые заложили в операционную систему инженеры фирмы Microsoft.
Какая же существует альтернатива? На первом этапе привыкания к новой системе — никакой!
Однако после приобретения первого опыта работы с клавиатурой и обращения с манипулятором "мышь", а также при наличии реального желания понять механизмы работы Windows, которые будут полезны в повседневной работе, можно перейти от конкретики к абстрактным понятиям. Что же нужно объяснить новичку, чтобы он мог осознанно и самостоятельно продолжать осваивать операционную систему?
Во-первых, Windows — это многозадачная операционная система, управляемая событиями.
Пользователю совсем не обязательно вникать в тонкости различия процессов и нитей, а также механизмов их взаимодействия. Достаточно понимания того, что одновременно могут исполняться несколько приложений, причем каждое из них использует часть аппаратных ресурсов компьютера.
Основным результатом такого понимания должно стать осознание необходимости следить за панелью задач, предупреждая открытие новых копий приложений при наличии уже выполняющихся.
Желательно объяснить, что источником событий, воздействующих на ход выполнения программ, может быть как пользователь (опосредованно через устройства ввода информации), так и аппаратура (классический пример — системный таймер) и сами приложения.
Во-вторых, основой построения всех видимых элементов (рабочий стол, значки на нем, области экрана, за отображение информации в которых отвечают приложения) является понятие окна. Именно через окно сведения о действиях пользователя становятся известными приложению, и именно в окно выводится ответная информация. Пользователь должен понимать функции базовых элементов окна: заголовка, кнопок управления, меню, рабочей области и границы — и уметь ими оперировать. Основной акцент следует сделать на наличие этих элементов практически во всех главных окнах пользовательских приложений. Ведь унификация пользовательского интерфейса — одно из сильнейших качеств Windows.
В-третьих, следует обратить внимание на понятия объекта и контейнера. Несмотря на их специфичность, это стоит сделать, так как, оперируя ими, пользователь сможет ощутить общность процессов копирования элементов текста из одного документа в другой и файлов из одной папки в другую.
Кроме того, если объектно-ориентированное проектирование считается наиболее близким к естественному способом описания реальности, то почему бы не использовать его понятия в процессе обучения работе с операционной системой, разработка которой базировалась на этих принципах.
Контейнер — это оболочка, способная хранить некоторый набор объектов. В контексте Windows контейнерами являются, например, окна, документы и папки, потому что они могут содержать множество значков, слов и файлов соответственно. При этом значки, слова и файлы выступают в роли объектов. Нужно отметить, что контейнеры могут вкладываться друг в друга.
Используя понятия связки "контейнер-объект", можно единообразно объяснить процессы копирования, перемещения, удаления и другие операции над различными реальными воплощениями этих понятий (папки-файлы, окна-значки, документы-слова и т.п.). Абстрагируясь от этих реальных воплощений, можно уделить внимание множественности способов выполнения операций: используя метод drag-and-drop, с помощью контекстного меню, панели инструментов окна или с помощью комбинаций горячих клавиш (CTRL+X, CTRL+C, CTRL+V и т.п.).
Результатом понимания общности принципов работы с различными объектами должна стать способность пользователя использовать наиболее простой прием выполнения операции в каждой конкретной ситуации.
В-четвертых, после усвоения понятий контейнера и объекта логичным образом можно осуществить переход к объяснению механизма OLE (Object Linking and Embedding). Для этого к предыдущим выкладкам нужно добавить только, что некоторые контейнеры могут содержать неоднородные объекты, причем Windows сохраняет информацию об особенностях каждого объекта. Самыми актуальными примерами могут служить математические формулы, рисунки и таблицы в документах Word.
Уже после изучения этих базовых принципов, лежащих в основе работы операционной системы Windows у пользователя должно сложиться интуитивное понимание механизмов, приводимых в действие его командами, что поможет ему в дальнейшем самостоятельном освоении как самой системы, так и пользовательских приложений. А затраты усилий программиста на более серьезный подход к обучению пользователя вернутся к нему уменьшением времени на поддержку и появлением нового опытного сотрудника, который сможет передавать знания и оказывать помощь менее опытным коллегам.
Игорь Орещенков, 2002 г.
Программисту, работающему в организации, не связанной напрямую с разработкой программного обеспечения, приходится постоянно консультировать пользователей по работе компьютера вообще и программного обеспечения в частности. Так было с момента внедрения персональных компьютеров в сферу бухгалтерских, экономических и управленческих расчетов. И так будет продолжаться до тех пор, пока доля молодых кадров, привыкших к вычислительной технике со школьной скамьи, не достигнет некоторой критической отметки, определение которой выходит за рамки этой статьи и, возможно, представляет отдельный интерес для исследования.
Как правило, автоматизация некоторой области деятельности предприятия носит революционный характер и заключается в решении руководства, что "это должна считать машина". Ответственный работник, на чьем столе должен появиться электронный помощник, проводит несколько бессонных ночей либо в предчувствии новых проблем (сотрудник "старой закалки"), либо в предвкушении погонь со стрельбой в темных лабиринтах (молодой специалист).
И если во втором случае задача программиста сводится к поиску необходимого программного обеспечения на рынке коммерческих продуктов или разработке собственной программы (в зависимости от финансовой состоятельности организации, способностей программиста и настроения начальства) и краткой демонстрации ее (программы) возможностей, то в первом случае ему предстоит испытать все прелести преподавательской деятельности. Именно об этой, самой тяжелой ситуации и пойдет речь в данной статье.
Как показывает практика, даже после прохождения специализированных краткосрочных курсов по общению с вычислительной техникой неподготовленный (или после этих курсов он уже подготовленный?) пользователь с опаской взирает на системный блок и предпочитает посоветоваться с более опытным коллегой, какой же все-таки кнопкой его включают. Когда же на экране возникает пресловутый рабочий стол с кнопкой "Пуск" и наступает время конкретных действий, его рука сама тянется к служебному телефону, чтобы вызвать "скорую помощь" — программиста, который бы запустил программу, показал ту строку меню, начиная с которой бедолага уже более-менее самостоятельно будет пробираться к заветной функции, поминутно бросая взгляд на руководство пользователя, заботливо оставленное службой поддержки фирмы-разработчика.
Что же предпринимает программист при возникновении необходимости внедрения автоматизированного рабочего места? Как правило, устанавливает программу, создает ярлычок на рабочем столе и, не утруждая себя дальнейшими пояснениями за исключением "щелкаете сюда, и программа запускается", убегает по своим делам.
Часто такая тактика себя оправдывает. Особенно в тех случаях, когда пользователь не желает ничего знать о работе компьютера, кроме того, в каких полях какие цифры вводить и какую кнопку нажимать, чтобы "оно это посчитало", и начальство осталось довольно.
Однако бывают ситуации, когда сотрудник искренне хочет понять основные принципы функционирования компьютера и приемы, с помощью которых можно достичь таких простых, но важных в его деятельности результатов, как перенести файл на дискету, скопировать таблицу из Word в Excel и тому подобные мелочи. Чем может помочь ему в этом программист? Как правило, он показывает какой-нибудь пример и предлагает в следующий раз действовать так же.
Обучение по принципу "делай как я" достигает своей цели, однако при этом в своей работе пользователь не использует массы возможностей, которые заложили в операционную систему инженеры фирмы Microsoft.
Какая же существует альтернатива? На первом этапе привыкания к новой системе — никакой!
Однако после приобретения первого опыта работы с клавиатурой и обращения с манипулятором "мышь", а также при наличии реального желания понять механизмы работы Windows, которые будут полезны в повседневной работе, можно перейти от конкретики к абстрактным понятиям. Что же нужно объяснить новичку, чтобы он мог осознанно и самостоятельно продолжать осваивать операционную систему?
Во-первых, Windows — это многозадачная операционная система, управляемая событиями.
Пользователю совсем не обязательно вникать в тонкости различия процессов и нитей, а также механизмов их взаимодействия. Достаточно понимания того, что одновременно могут исполняться несколько приложений, причем каждое из них использует часть аппаратных ресурсов компьютера.
Основным результатом такого понимания должно стать осознание необходимости следить за панелью задач, предупреждая открытие новых копий приложений при наличии уже выполняющихся.
Желательно объяснить, что источником событий, воздействующих на ход выполнения программ, может быть как пользователь (опосредованно через устройства ввода информации), так и аппаратура (классический пример — системный таймер) и сами приложения.
Во-вторых, основой построения всех видимых элементов (рабочий стол, значки на нем, области экрана, за отображение информации в которых отвечают приложения) является понятие окна. Именно через окно сведения о действиях пользователя становятся известными приложению, и именно в окно выводится ответная информация. Пользователь должен понимать функции базовых элементов окна: заголовка, кнопок управления, меню, рабочей области и границы — и уметь ими оперировать. Основной акцент следует сделать на наличие этих элементов практически во всех главных окнах пользовательских приложений. Ведь унификация пользовательского интерфейса — одно из сильнейших качеств Windows.
В-третьих, следует обратить внимание на понятия объекта и контейнера. Несмотря на их специфичность, это стоит сделать, так как, оперируя ими, пользователь сможет ощутить общность процессов копирования элементов текста из одного документа в другой и файлов из одной папки в другую.
Кроме того, если объектно-ориентированное проектирование считается наиболее близким к естественному способом описания реальности, то почему бы не использовать его понятия в процессе обучения работе с операционной системой, разработка которой базировалась на этих принципах.
Контейнер — это оболочка, способная хранить некоторый набор объектов. В контексте Windows контейнерами являются, например, окна, документы и папки, потому что они могут содержать множество значков, слов и файлов соответственно. При этом значки, слова и файлы выступают в роли объектов. Нужно отметить, что контейнеры могут вкладываться друг в друга.
Используя понятия связки "контейнер-объект", можно единообразно объяснить процессы копирования, перемещения, удаления и другие операции над различными реальными воплощениями этих понятий (папки-файлы, окна-значки, документы-слова и т.п.). Абстрагируясь от этих реальных воплощений, можно уделить внимание множественности способов выполнения операций: используя метод drag-and-drop, с помощью контекстного меню, панели инструментов окна или с помощью комбинаций горячих клавиш (CTRL+X, CTRL+C, CTRL+V и т.п.).
Результатом понимания общности принципов работы с различными объектами должна стать способность пользователя использовать наиболее простой прием выполнения операции в каждой конкретной ситуации.
В-четвертых, после усвоения понятий контейнера и объекта логичным образом можно осуществить переход к объяснению механизма OLE (Object Linking and Embedding). Для этого к предыдущим выкладкам нужно добавить только, что некоторые контейнеры могут содержать неоднородные объекты, причем Windows сохраняет информацию об особенностях каждого объекта. Самыми актуальными примерами могут служить математические формулы, рисунки и таблицы в документах Word.
Уже после изучения этих базовых принципов, лежащих в основе работы операционной системы Windows у пользователя должно сложиться интуитивное понимание механизмов, приводимых в действие его командами, что поможет ему в дальнейшем самостоятельном освоении как самой системы, так и пользовательских приложений. А затраты усилий программиста на более серьезный подход к обучению пользователя вернутся к нему уменьшением времени на поддержку и появлением нового опытного сотрудника, который сможет передавать знания и оказывать помощь менее опытным коллегам.
Игорь Орещенков, 2002 г.
Компьютерная газета. Статья была опубликована в номере 45 за 2002 год в рубрике soft :: ос