적응(컴퓨터 과학)
Adaptation (computer science)컴퓨터 과학에서 "적응"이라는 용어는 상호작용 시스템(적응 시스템)이 사용자 및 환경에 대해 획득한 정보를 바탕으로 개별 사용자에게 자신의 행동을 적응시키는 과정을 말한다.적응은 스크럼에서 경험주의의 세 기둥 중 하나이다.[1]
적응의 필요성
소프트웨어 시스템은 잠재적으로 긴 소프트웨어 엔지니어링 주기를 통과하며, 전송 전에 요구사항 엔지니어, 설계자 및 소프트웨어 개발자는 시스템의 구성요소를 실현한다.그러나 모든 사용자의 요구사항을 예상하는 것은 불가능하며, 단일의 최적 또는 최적의 시스템 구성은 불가능하다.사용자의 적극적인 참여와 사용자 및 작업 요구 사항에 대한 명확한 이해는 다음 두 가지 이유로 컴퓨터 기반 인터랙티브 시스템 개발에 있어 난제다.
- 잠재적인 사용자 그룹은 프로젝트 시작 시 알 수 없으며 소프트웨어 시스템의 사용 방법에 대한 향후 시나리오에 따라 식별해야 한다.이 그룹들은 영향을 받을 가능성이 있는 사용자들의 다양한 그룹이 있을 수 있기 때문에 시스템 설계가 발전함에 따라 수정될 필요가 있다.
- 프로젝트의 설계는 사용자의 현재 시스템 경험에 비해 상당한 변화를 포함할 수 있으므로, 사용자는 이 미래 시스템에 대한 자신의 요구에 대해 자신감과 정확성을 갖지 못할 수 있다.
국제표준화기구(International Organization for Interactive Systems)는 "대화형 시스템을 위한 인간 중심 설계 프로세스"에 대한 표준으로 컴퓨터 기반 대화형 시스템의 라이프사이클 전체에 걸쳐 사용자 중심 설계 활동에 대한 지침을 제공한다.[2]사용자 중심 설계의 핵심 과제 중 하나는 잘 알려진 사용자 개발자 틈새에 걸쳐 서로 다른 형태의 표현과 각 측면의 다른 요구사항을 인정하면서 협상을 하고 통신을 촉진하는 것이다.그러나, 인간 중심 설계 프로세스의 구현에도 불구하고, 현대 응용 프로그램의 일부 유형은 증가하는 상황적 역학에 노출되기 때문에 즉각적인 적응을 요구한다.
적응성 및 적응성
프로젝트에서 구현되는 사용자 중심 설계 프로세스가 어느 정도 사용자 수용을 보장하고 사용 상황에 대한 보다 풍부한 이해를 산출한다 하더라도, 변화하는 조건에 적응하는 완성된 제품의 능력은 여전히 넓은 수용을 위한 중심적 역할을 한다.운영 환경은 바뀔 것이고, 과제는 구별될 것이며, 최종 사용자는 이질적일 것이며, 이들의 역량과 기대치는 진화할 것이다.여기서도 개발자들이 가능한 모든 요구사항 변경을 예상하는 것은 불가능하다.따라서, 조건의 변화 역학관계는 전문적 개발에 필요한 시간이 너무 짧거나 새로운 특징이 너무 비용이 많이 들기 때문에 시스템 특성의 사용자화 과정을 개발 단계에서 사용 및 운용 단계로 이동시킨다.
이러한 이유로 개발자들은 변화하는 조건에 최대한 빨리 반응하기 위해 시스템에 적응하는 기술을 구현한다.사례 적용 시나리오는 그러한 적응 기술에 관한 중요한 구별을 분명하게 보여준다: 수동적 적응 프로세스와 자동적으로 수행된 적응 프로세스의 차이.따라서 적응이라는 용어는 적응성과 적응성의 두 가지 용어로 분해된다.적응성은 변화하는 조건, 즉 적응형 시스템에 따라 사용자에게 자동으로 적응하는 시스템을 가리킨다.적응성(adaptability)은 적응성 시스템, 즉 스스로 맞춤화 활동을 통해 시스템을 실질적으로 사용자 정의할 수 있는 사용자를 말한다.적응형 시스템과 적응형 시스템은 서로 보완적이다.[3]두 방법 모두 시스템 개발이 완료되면 사용자 요구와 시스템 행동 사이의 일치를 증가시킨다.따라서 시스템은 사용 중에 유연성이 유지된다.
적응 촉매
조건을 변경하면 적응 실행이 트리거된다.그러한 적응 과정의 촉매로서 많은 특성을 고려할 수 있다.그들은 세 가지 주요 범주로 분류될 수 있다: 개인간, 개인간, 환경적 차이.
개인간 차이
개인간 차이는 다지관 치수를 따라 여러 사용자 사이의 다양성을 다룬다.장애와 같은 생리학적 특성은 대규모 커뮤니티에 의해 그들의 시스템을 수용하고 싶다면 애플리케이션 설계자들에게 큰 관심사다.언어, 색상표, 상호작용의 형식성, 메뉴 옵션 또는 보안 속성, 무수한 기타 개인 선호도와 같은 사용자 선호에 대한 고려는 널리 사용되는 적응의 원천이며 다른 애플리케이션에서 재사용될 수 있다.다른 출처로는 사용자의 흥미와 무관심, 감정, 자신감, 동기부여 또는 신념과 같은 심리적 성격 특성 등이 있는데, 자동적으로 평가하기 어렵다.
개인간 차이
개인 내 차이는 시간에 따른 과제뿐만 아니라 단일 사용자의 진화와 향후 개발을 고려한다.정적 시스템은 사용자의 활동과 목표가 진화함에 따라 사용자 요구사항의 변화에 미치지 못한다.극단적인 경우 사용자는 초기에 시스템에 의해 과도하게 구속되고 사용자의 전문성이 증가함에 따라 동일한 시스템을 번거롭고 제한적이라고 인식한다.같은 방법으로, 컴퓨터 시스템의 더 높은 유연성의 필요성은 그러한 시스템으로 완수해야 할 업무의 변경에 의해 추진된다.
환경차이
환경적 차이는 기본적으로 컴퓨팅 기기, 애플리케이션 및 인력의 이동성에서 기인하며, 이는 고도로 동적인 컴퓨팅 환경으로 이어진다.신중하게 구성되고 주로 정적인 리소스 집합에 의존하는 데스크톱 애플리케이션과 달리 유비쿼터스 컴퓨팅 애플리케이션은 네트워크 연결 및 입출력 장치와 같은 가용 자원의 변화에 따라 달라진다.더욱이 그들은 사용자들을 대신하여 업무를 수행하기 위해, 이전에 알려지지 않았던 소프트웨어 서비스와 자발적이고 기회주의적으로 협력해야 하는 경우가 많다.그러므로 애플리케이션과 그 사용자를 둘러싼 환경은 적응 운용을 정당화하는 주요 원천이다.
참고 항목
- 적응 알고리즘
- 개인화
- 적응형 하이퍼미디어
- 컨텐츠 적응 – 혼합 환경으로의 배포를 위한 설계 접근 방식
참조
- ^ "The Three Pillars of Empiricism (Scrum)". 2019-06-13.
- ^ ISO13407 (1999), Human-Centred Design Processes for Interactive Systems, International Organization for Standardization
- ^ Oppermann, Reinhard (2005). "User-Adaptive to Context-Adaptive Information Systems" (PDF). I-com Zeitschrift für interaktive und kooperative Medien. 4 (3): 4–14. Archived from the original (PDF) on 2018-02-15.