Термин «адаптация » в информатике относится к процесс, где интерактивная система (адаптивная система ) адаптирует свое поведение к отдельным пользователям на основе информации, полученной о ее пользователе (-ях) и его Окружающая среда. Адаптация - один из трех столпов эмпиризма в Scrum.
A программной системы проходит через потенциально длинный разработка программного обеспечения цикл и до поставки, инженеры, проектировщики и разработчики программного обеспечения реализуют компоненты системы. Однако невозможно предвидеть требования всех пользователей, а единственная лучшая или оптимальная конфигурация системы невозможна. Активное участие пользователей и четкое понимание требований пользователя и задачи является проблемой при разработке компьютерных интерактивных систем по двум причинам:
В соответствии со своей нормой для «процессов проектирования интерактивных систем, ориентированных на человека », Международная организация по стандартизации дает руководство по ориентированному на пользователя проектированию на протяжении всего жизненного цикла компьютерных интерактивных систем. Одна из основных задач дизайна, ориентированного на пользователя, - согласовать и облегчить общение через хорошо известный разрыв между пользователем и разработчиком, признавая при этом разные формы выражения и разные требования к каждому сторона. Однако, несмотря на реализацию процесса проектирования, ориентированного на человека, некоторые типы современных приложений требуют мгновенной адаптации из-за их подверженности возрастающей ситуационной динамике.
Даже если ориентированный на пользователя процесс проектирования, реализованный в проекте, гарантирует определенную степень принятия пользователем и дает более глубокое понимание контекста использования способность готового продукта адаптироваться к изменяющимся условиям по-прежнему играет центральную роль в обеспечении широкого признания. Операционная среда изменится, задачи будут отличаться, конечные пользователи будут разнородными, а их компетенции и ожидания будут развиваться. И здесь разработчики не могут предвидеть все возможные модификации требований. Таким образом, динамика изменения условий смещает процесс настройки характеристик системы с фазы разработки на фазу ее использования и эксплуатации, потому что время, необходимое для профессионального развития, слишком мало или новые функции слишком дороги.
По этой причине разработчики внедряют в систему методы адаптации, чтобы максимально быстро реагировать на изменяющиеся условия. Пример сценария приложения ясно показывает важное различие, касающееся таких методов адаптации: различие между выполняемыми вручную и автоматически процессами адаптации. Соответственно, термин адаптация разлагается на два термина адаптивность и. Адаптивность указывает на систему, которая автоматически адаптируется к своим пользователям в соответствии с изменяющимися условиями, то есть адаптивная система. Адаптивность относится к пользователям, которые могут существенно настраивать систему, настраивая действия под себя, то есть адаптируемую систему. Адаптивные и адаптируемые системы дополняют друг друга. Оба метода увеличивают соответствие между потребностями пользователя и поведением системы после завершения разработки системы. Таким образом, система остается гибкой во время использования.
Изменение условий запускает выполнение адаптации. Многие характеристики могут быть приняты во внимание как катализаторы для такого процесса адаптации. Их можно разделить на три основные категории: межиндивидуальные, внутрииндивидуальные и средовые различия.
Межиндивидуальные различия касаются различий среди нескольких пользователей по множеству измерений. Физиологические характеристики, такие как инвалидность, вызывают серьезную озабоченность у разработчиков приложений, если они хотят, чтобы их система была принята большим сообществом. Учет предпочтений пользователя , таких как язык, цветовые схемы, модальность взаимодействия, параметры меню или свойства безопасности и множество других личных предпочтений являются популярными источниками адаптации и могут быть повторно использованы в различных приложениях. Другими источниками являются интересы и незаинтересованность пользователя, психологические характеристики личности, такие как эмоции, уверенность в себе, мотивация или убеждения., которые сложно оценить автоматически.
Внутрииндивидуальные различия учитывают эволюцию и дальнейшее развитие отдельного пользователя, а также задачу с течением времени. Статическая система не отвечает требованиям пользователей по мере развития действий и целей пользователя. В крайнем случае пользователи вначале перенапрягаются системой и воспринимают ту же систему как громоздкую и ограниченную по мере увеличения опыта пользователя. Таким же образом потребность в более высокой гибкости компьютерных систем подталкивается изменением задач, которые должны быть выполнены с помощью такой системы.
Различия в окружающей среде в основном возникают из-за мобильности вычислительных устройств, приложений и людей, что приводит к высокодинамичной вычислительной среде. В отличие от настольных приложений, которые полагаются на тщательно сконфигурированный и в основном статический набор ресурсов, универсальные вычислительные приложения подвержены изменениям в доступных ресурсах, таких как сетевое соединение и устройства ввода / вывода. Более того, от них часто требуется спонтанное и оппортунистическое сотрудничество с ранее неизвестными программными службами для выполнения задач от имени пользователей. Таким образом, среда, окружающая приложение и его пользователя, является основным источником оправдания операций по адаптации.