(前NTTデータ フェロー システム科学研究所長)山本 修一郎
ヒューマンインタフェースの知識がないと、操作性要求の抽出が不十分になりやすい。また、操作性の評価は、システム試験工程で実施することになるので、操作性の問題が発見された場合、操作性要求の変更に伴い、設計工程以降の手戻りが発生する。たとえばソフトウェアを、表示層、制御層、データ層からなる3層アーキテクチャで実現する場合、操作性要求の変更が表示層だけでなく、制御層やデータ層にも影響を与える可能性があると、アーキテクチャ変更が発生する。
Juristoらは、アーキテクチャに影響する操作性要求を機能的操作特性(Functional Usability Fearture)として定義するとともに、機能的操作特性のパターンを提案している。機能的操作特性パターンとガイドラインを用いることにより、ヒューマンインタフェースの知識がない開発者でも十分な機能的操作特性を抽出できることをJuristoらは実験的に確認している。
本稿では、Juristoらによる機能的操作特性について紹介する。
機能的操作特性とは
操作性要求を定義する場合、本連載120回「操作性要求」で紹介したように、指定されたユーザが指定された状況で、システムを操作することにより、どの程度、効果的かつ効率的に目的とするゴールを達成できるかを記述する。
たとえば、次のようにして操作性要求を定義できる。
「未経験者が10時間以内でシステムの利用方法を学習できる」
「システムの利用者に対する満足度調査の結果が5段階評価で平均3以上である」
しかし、このような操作性要求の記述では、個別的な操作シナリオに対する評価基準を提示しているけれども、操作過程で具体的にどのような操作上の支援機能がユーザに対して提供されるかについては明確ではないという問題がある。
たとえば、誤操作を取り消す機能が提供されれば、システムの操作性は向上する。しかし、前述した操作性要求の記述方法では、操作の取り消し機能を抽出することは難しい。操作に対する取り消し機能は、機能に対する制約であると考えることもできるが、取り消し機能であると考えれば機能要求として定義すべきであると考えることもできる。
Juristoらは、アーキテクチャに影響を与えるような操作性要求を機能的操作特性と呼んでいる。さらに、操作性について有用であると考えられる機能を予めパターン化することにより、このパターンを操作性要求の抽出段階で再利用する方法を提案している。
操作性要求は非機能要求の一種であり、機能要求ではないとされることが一般的である。しかし前述したように、機能的操作特性は、あらかじめ考慮しておかないと後工程で手戻りが発生するので、機能要求としての側面を持つ。また、選択的メニュなど操作性を向上するための機能がある。
これらをまとめると、図1のようになる。
図1 機能的操作特性の位置づけ
機能的操作特性の構成
Juristoらは機能的操作特性を、ヒューマンインタフェースの研究事例を調査することにより、7種のパターンとして整理した。すなわち、①フィードバック、②アンドゥ、③誤入力防止、④段階的実行、⑤ユーザプロファイル、⑥ヘルプ、⑦複合コマンドである。
フィードバック機能には、システム状態、対話、警告、長時間動作に対するフィードバックがある。システム状態フィードバックでは、システムの状態をユーザに提示する。対話フィードバックでは、システムがユーザとの対話を記録したことを提示する。警告フィードバックでは、重大な結果をもたらす動作であることをユーザに提示する。長時間動作フィードバックでは、システムが時間のかかる処理を実行していることをユーザに提示する。
アンドゥ機能には、システム動作の取り消し、対象動作の取り消し、中断、状態復帰がある。システム動作の取り消しにより、適切な水準でシステム動作を取り消すことができる。対象動作の取り消しにより、特定の対象に対する種々の動作を取り消すことができる。中断により、動作やアプリケーションの実行を中断できる。状態復帰により、コマンドの実行系列における特定の状態に復帰できる。
誤入力防止機能により、ユーザによるデータ入力の誤りを防ぐことができる。
段階的実行機能(Wizard)により、段階的に誘導することができ、複雑な操作をユーザが容易に実行できる。
ユーザプロファイル機能により、個人の選択、個人空間、嗜好をシステムが記録できる。個人選択では、システム機能をユーザが選択したオプションをユーザごとに記録する。個人空間では、ユーザが利用するシステムインタフェースのオプションをユーザごとに記録する。嗜好では、ユーザの興味分野を記録する。
ヘルプ機能では、ユーザの水準に応じて適切なヘルプを提示することができる。
複合コマンド機能により、複数のコマンドをまとめて実行できる。
これらの機能的操作特性とユーザの関係をシステミグラムで分析すると、図2のようになる。
図2 機能的操作特性パターンのシステミグラム(クリックで拡大)
ヒューマンインタフェース設計について十分な経験のあるシステム分析者であれば、図2に示した7種類の機能的操作特性を予め理解して、要求抽出段階でステークホルダから必要な特性を識別できる。しかし、この知識がないシステム分析者では、これらの機能的操作特性を要求抽出段階で、適切に抽出できないだろう。
また、機能的操作特性をパターン化することで、アーキテクチャに影響する操作性知識を共通化できるので、操作要求の抽出段階や、操作要求の設計ならびに実装段階で、語彙や表記法などに起因する誤解を防ぐことができる。
続きは本誌でご覧頂けます。→本誌を購入する
ご購入のお申込みは電話(03-3507-0560)でも承っております。
- 60:要求とアーキテクチャ
- 61:要求と保守・運用
- 62:オープンソースソフトウェアと要求
- 63:要求工学のオープンな演習の試み
- 64:Web2.0と要求管理
- 65:ソフト製品開発の要求コミュニケーション
- 66:フィードバック型V字モデル
- 67:日本の要求定義の現状と要求工学への期待
- 68:活動理論と要求
- 69:ビジネスゴールと要求
- 緊急:今、なぜ第三者検証が必要か
- 71:BABOK2.0の知識構成
- 72:比較要求モデル論
- 73:第18回要求工学国際会議
- 74:クラウド時代の要求
- 75:運用要求定義
- 76:非機能要求とアーキテクチャ
- 77:バランス・スコアカードの本質
- 78:ゴール指向で考える競争戦略ストーリー
- 79:要求変化
- 80:物語指向要求記述
- 81:要求テンプレート
- 82:移行要求
- 83:要求抽出コミュニケーション
- 84:要求の構造化
- 85:アーキテクチャ設計のための要求定義
- 86:BABOKとREBOK
- 87:要求文の曖昧さの摘出法
- 88:システムとソフトウェアの保証ケースの動向
- 89:保証ケースのためのリスク分析手法
- 90:サービス保証ケース手法
- 91:保証ケースのレビュ手法
- 92:要求工学手法の再利用
- 93:SysML要求図をGSNと比較する
- 94:保証ケース作成上の落とし穴
- 95:ISO 26262に基づく安全性ケースの適用事例
- 96:大規模複雑なITシステムの要求
- 97:要求の創造
- 98:アーキテクチャと要求
- 99:保証ケース議論分解パターン
- 100:保証ケースの議論分解パターン[応用編]
- 101:要求発展型開発プロセスの事例
- 102:参照モデルに対する保証ケース
- 103:参SEMATの概要
- 104:参SEMATの活用
- 105:SEMATと保証ケース
- 106:Assure 2013の概要
- 107:要求の完全性
- 108:要求に基づくテストの十分性
- 109:システムの安全検証知識体系
- 110:機能要求の分類
- 111:IREB
- 112:IREB要求の抽出・確認・管理
- 113:IREB要求の文書化
- 114:安全要求の分析
- 115:Archimate 2.0のゴール指向要求
- 116:ゴール指向要求モデルの保証手法
- 117:要求テンプレートに基づく要求の作成手法
- 118:ビジネスゴールのテンプレート
- 119:持続可能性要求
- 120:操作性要求
- 121:安全性証跡の追跡性
- 122:要求仕様の保証性
- 123:システミグラムとドメインクラス図
- 124:機能的操作特性
- 125:セキュリティ要求管理
- 126:ソフトウェアプロダクトライン要求
- 127:システミグラムと安全分析
- 128:ITモダナイゼーションとITイノベーションにおける要求合意
- 129:ビジネスモデルに基づく要求
- 130:ビジネスゴール構造化記法
- 131:保証ケース導入上の課題
- 132:要求のまとめ方
- 133:要求整理学
- 134:要求分析手法の適切性
- 135:CROS法の適用例
- 136:保証ケース作成支援ツールの概要