コンピュータサイエンスにおける適応とは、インタラクティブシステム(適応型システム)が、ユーザーとその環境について取得した情報に基づいて、個々のユーザーに合わせて動作を適応させるプロセスです。適応は、スクラムにおける経験主義の3つの柱の1つです。[ 1 ]
ソフトウェアシステムは、潜在的に長いソフトウェアエンジニアリングサイクルを経て、納品前に要件エンジニア、設計者、ソフトウェア開発者がシステムのコンポーネントを具体化します。しかし、すべてのユーザーの要件を予測することは不可能であり、最適な単一のシステム構成を定めることは不可能です。ユーザーの積極的な関与と、ユーザーおよびタスクの要件の明確な理解は、コンピュータベースのインタラクティブシステムの 開発において、以下の2つの理由から課題となります。
国際標準化機構(ISO)は、 「インタラクティブシステムのための人間中心設計プロセス」の規格を策定し、コンピュータベースのインタラクティブシステムのライフサイクル全体にわたるユーザー中心設計活動に関するガイダンスを提供しています。 [ 2 ]ユーザー中心設計の中核となるタスクの一つは、ユーザーと開発者の間のよく知られたギャップを乗り越え、双方の表現形式や要件の違いを認識しながら、コミュニケーションを調整し、促進することです。しかし、人間中心設計プロセスを導入しているにもかかわらず、現代のアプリケーションの中には、状況の変化が激化するため、即時の適応が求められるものもあります。
プロジェクトで実装されたユーザー中心設計プロセスによって、ある程度のユーザー受容が保証され、使用状況へのより深い理解が得られたとしても、完成した製品が変化する状況に適応する能力は、依然として広範な受容にとって中心的な役割を果たします。運用環境は変化し、タスクは多様化し、エンドユーザーは多様化し、彼らの能力と期待は進化します。ここでも、開発者があらゆる要件変更を予測することは不可能です。したがって、変化する状況のダイナミクスにより、システム特性のカスタマイズプロセスは開発段階から利用・運用段階へと移行します。これは、専門的な開発に必要な時間が短すぎる、または新機能のコストが高すぎるためです。
このため、開発者は変化する状況にできるだけ早く対応するために、システムに適応のテクニックを実装します。サンプルのアプリケーション シナリオは、このような適応テクニックに関する重要な違い、つまり手動で実行される適応プロセスと自動的に実行される適応プロセスの違いを明確に示しています。したがって、適応という用語は、適応性と適応性という2 つの用語に分解されます。適応性とは、変化する状況に応じてユーザーに自動的に適応するシステム、つまり適応型システムを指します。適応性とは、ユーザーが自分で調整活動を通じてシステムを大幅にカスタマイズできるシステム、つまり適応型システムを指します。適応型システムと適応型システムは、互いに補完し合っています。[ 3 ]どちらの方法でも、システムの開発が完了したら、ユーザーのニーズとシステムの動作との一致が向上します。したがって、システムは使用中に柔軟なままになります。
変化する状況は適応の実行を引き起こします。このような適応プロセスの触媒として、多くの特性が考慮される可能性があります。それらは、個体間差異、個体内差異、環境差異の3つの主要なカテゴリーに分類できます
個人差は、多様な次元における複数のユーザー間の多様性に対処します。障害などの生理学的特性は、アプリケーション設計者がシステムを大規模なコミュニティに受け入れてもらうために重要な考慮事項です。言語、配色、インタラクションの様式、メニューオプション、セキュリティプロパティといったユーザーの好み、そしてその他無数の個人的な好みを考慮することは、適応の一般的な情報源であり、様々なアプリケーションで再利用できます。その他の情報源としては、ユーザーの興味・無関心、感情、自信、モチベーション、信念といった心理的な性格特性などがありますが、これらは自動的に評価することが困難です。
個人内差異は、単一のユーザーの進化とさらなる発展、そして時間の経過に伴うタスクを考慮します。静的なシステムは、ユーザーの活動や目標が進化するにつれて変化するユーザー要件に対応できません。極端なケースでは、ユーザーは当初システムに過度の負担を感じ、ユーザーの専門知識が高まるにつれて、同じシステムを扱いにくく制限されたものと認識します。同様に、コンピュータシステムのより高い柔軟性の必要性は、そのようなシステムで達成されるタスクの変化によって促進されます
環境の違いは基本的に、コンピューティングデバイス、アプリケーション、そして人々のモビリティに起因し、非常に動的なコンピューティング環境につながります。慎重に構成された、ほぼ静的なリソースセットに依存するデスクトップアプリケーションとは異なり、ユビキタスコンピューティングアプリケーションは、ネットワーク接続や入出力デバイスなどの利用可能なリソースの変化の影響を受けます。さらに、ユーザーに代わってタスクを実行するために、これまで知られていなかったソフトウェアサービスと自発的かつ状況に応じて連携することが頻繁に求められます。したがって、アプリケーションとそのユーザーを取り巻く環境は、適応操作を正当化する主要な情報源となります
{{citation}}: CS1 maint: 数値名: 著者リスト (リンク)