|
|
|
Взаимодействия (Контакты)
Для более полного понимания сути взаимодействий, иногда вместо термина «Взаимодействие» будем использовать термин «Контакт». Определим некоторые термины и свойства контактов:
- результат контакта – при возникновении любого контакта рождается некоторое новое качество, или новое свойство, определяемое целью;
- качество контакта – в повседневной жизни часто возникают ситуации, когда на контакт могут оказываться посторонние воздействия – помехи, в той или иной степени, влияющие на результат контакта;
- уровень контактов – как уже было сказано, понятие «Взаимодействие» в общем случае не является транзитивным, однако обобщением простого понятия транзитивности может служить понятие «Уровень транзитивности», или «Уровень контактов». Суть его заключается в том, что контактом первого уровня является контакт между двумя объектами А и В. В случае, если третий объект С вступает в контакт с В, то мы говорим, что А и С находятся в контакте второго уровня. Аналогично определяется третий и последующие уровни контактов. Понятно, что каждый последующий уровень контактов содержит в себе все предыдущие уровни.
Считаю, что следует, как уже было сказано в части 1, подробно проанализировать общие вопросы «теории контактов», остановившись не только на общефилософском смысле определенных ранее понятий, определить новые категории и понятия, отдельно остановится на их взаимодействиях.
Особый интерес, лично для меня, представляют вопросы разработки алгоритмов и их реализации в виде программного обеспечения. Это касается не только фон-неймановской архитектуры компьютеров.
Адаптивные программные системы
1. Программные среды.
В настоящее время в России наиболее распространена операционная система Windows, для которой разработано большое количество программного обеспечения, и которая имеет большие возможности для разработчиков и пользователей. Эта операционная система стала в России универсальным средством взаимодействия человека с компьютером и наиболее популярным средством общения в компьютерных сетях. При этом мы забываем о том, что любая универсальная система, в силу своей универсальности, становится избыточной и менее надежной, а также, в связи с этой избыточностью, требует все большие технические ресурсы, что неизбежно увеличивает стоимость оборудования. Зачастую происходят поистине смешные случаи, когда мощная операционная система, имеющая колоссальные мультимедийные возможности используется на предприятии в лучшем случае как пишущая машинка, при этом компьютер является дорогостоящей игрушкой, отвлекающей работников от основной работы. Существует и другая крайность, когда достаточно простые по выполняемым функциям программы, имеют непропорционально сложный интерфейс и требуют специального обучения, что влечет за собой непроизводительное использование человеческого интеллекта и дополнительных затрат на обучение. Часто происходят случаи непонятных “зависаний” операционной системы, вывод системных сообщений, требующих вмешательства системного администратора и создающих массу неудобств и сбоев в работе. А сколько проблем вызывают “вирусы”!
Совершенно понятно, что такое непроизводительное использование компьютеров является их профанацией и дискредитирует идею использования компьютера как помощника человека.
Следовательно, можно сделать вывод, что сложная операционная система создает массу проблем и дополнительной головной боли пользователю компьютера, которые не всегда окупаются ее универсальностью. В настоящее время существует тенденция упрощения операционной среды, сознательный отказ от редко используемых функций и основных возможностей (таких как мультизадачность, некоторые сетевые возможности и т.д.).
Все вышесказанное относится не только к операционным системам, но и самое обидное, ко всем крупным программным разработкам, и происходит совершенно неестественный процесс адаптации человека к той или иной программе, а не наоборот – программы к человеку.
2. Адаптивное программное обеспечение.
Одним из возможных решений проблемы создания «удобных» программ, является использование идеологии «Адаптивного программного обеспечения» (АПО).
Основной проблемой, которую решает создание АПО, является максимальная адаптация программного обеспечения к потребностям и привычкам пользователя. Для этого необходимо иметь средство реализации следующих задач:
1. Создание максимально удобного для пользователя интерфейса с программой.
2. Исключение любых ненужных пользователю возможностей программы, определяемых действиями, производимыми программой (функциями программы) над областью ее определения.
3. Добавление новых функций ПО.
4. Разработка специального языка адаптации ПО, одновременно являющимся формализованным языком описания функций программы.
5. Проверка работоспособности текущей версии адаптированного ПО с помощью системы специальных тестов.
6. Создание системы автоматического документирования текущей версии ПО.
Разработка ПО реализованного на перечисленных принципах позволит настраивать персональный компьютер под требования пользователя, не допуская излишней избыточности, максимально использовать ресурсы компьютера, разумно ограничивая потребности, соизмеряя их с техническими возможностями, получать приемлемое быстродействие без улучшения технических характеристик компьютера, поднять уровень взаимодействия человека и компьютера.
Однако, потребуется огромная работа программистов и постановщиков для реализации этого проекта в полном объеме. Следовательно, целесообразно определить этапы адаптации программного обеспечения в соответствии с классами и частотой использования программ.
Понятно, что наиболее часто используемыми программами является системное ПО. Существующий метод инсталляции операционной системы является попыткой создания далеко не в полной мере адаптивного ПО. Тем не менее, использование инсталляционной программы (ИП) является наиболее естественным и простым методом адаптации. Попытаемся определить структуру ИП.
Для решения этой задачи введем некоторые определения. Назовем «уровнем инсталляции» совокупность функций программы независимых друг от друга и определяющих полный набор действий выполняемых программой. Каждый следующий уровень инсталляции возникает при рассмотрении функции как целой программы. Функции программы выполняют свои действия над областью ее определения и формируют результаты в области значений функции. Таким образом, область определения формирует нижестоящий уровень инсталляции, а область значений - вышестоящий. Полноту набора функций определяет разработчик вместе с пользователями эмпирическим путем. В настоящее время создается строгий математический аппарат определения полного набора функций программы.
Все реально существующие в настоящее время системы инсталляции ПО, могут модифицировать функции, выделенные только разработчиком ПО и никак не допускают свободу выбора пользователя. Сам язык адаптации не является унифицированным для всех выделенных функций, поэтому требует специальных навыков инсталляции. Например, система инсталляции Windows 3.1 отличается от инсталляции Windows XP.
На первом этапе предлагается использовать иерархический способ описания и модификаций функций ПО. На каждом уровне определяется функция выполняемая программой, дается ее краткое описание и указание на существование более низких иерархий. При этом каждая функция может быть либо включена в инсталлируемую систему, либо удалена из нее. Обязательно включается возможность для каждой функции - перехода на более низкий, или более высокий уровень иерархии.
При проведении инсталляции по определенному сценарию необходимо автоматически получать достаточно полный и наглядный документ с описанием возможностей итогового программного продукта не нуждающегося в дополнительном документировании. Этот документ по желанию пользователя может быть распечатан и использован в дальнейшем для обучения начинающих пользователей.
Сам процесс инсталляции системы может быть достаточно длительным, и поэтому необходимо предоставлять возможность пользователю получать достоверную информацию о ходе инсталляции, а также активно влиять на нее путем участия в диалоге с инсталляционной программой, требующей подтверждения тех или иных действий. Необходимо также предусмотреть возможность прервать процесс инсталляции в любой момент, при этом не должна нарушаться работоспособность ранее созданной версии ПО, а также можно будет продолжить инсталляцию с прерванного места, причем пользователь будет проинформирован с какого именно места возобновлена инсталляция. Хотелось бы иметь возможность, остановив процесс инсталляции в какой-то момент, вернуться на несколько шагов назад, скорректировать некоторые параметры, и продолжить с этого места инсталляцию системы (частичная реинсталляция системы).
3. Эксплуатация адаптивных систем.
Для удобства эксплуатации АПО не следует допускать идеологических ошибок имеющихся в уже созданном ПО. К таким ошибкам следует отнести не самую удачную структуру диалоговых программ, а именно – попытку разместить на одном экране служебную информацию в полном объеме и результат работы программы, например, текстовый редактор Word. Во-первых это загромождает экран, во-вторых, ввиду невыразительности мелких условных изображений и сокращений, приводит к излишним затратам времени на освоение программы и в третьих, не позволяет в полном объеме использовать все возможности программы и оптимизировать диалог.
Предлагается разделить на различных экранах служебные и целевые функции диалоговых программ. Переключение между экранами производится путем ввода некоторого служебного символа. Структура экрана целевых функций программы определяется основными функциями программы. Перечень всех функций программы определяется во время инсталляции программы и располагается на одном из служебных экранах. При невозможности разместить на служебном экране все служебные функции и их детализацию, допустимо использовать другие экраны, переход к которым осуществляется путем ввода специального знака детализации в окне нужного понятия. Однако, для удобства работы с целевым экраном, на нем возможно появление некоторой служебной информации, структура которой может быть определена в специальной области служебного экрана.
Подобный способ работы с диалоговой программой позволит унифицировать диалог, сократит время освоения программы – не будет требоваться специальное обучение работы с программами. Позволит на базе существующего описания функций программы, строить любой сценарий диалога, который потребуется пользователю. Автоматически решится проблема дублирования разработок программного обеспечения, так как вид целевого и служебного экранов у идентичных программ - будет одинаков, в случае достаточно строгой регламентации их структур.
|