組み込みエンジニアの現場力養成ドリル(14)
「赤か? それとも青か?」――機能共有の悲劇がもたらした混乱するトイレのUI(3/3 ページ)
機能共有の悲劇
昔は、解決策4のように、冷水と温水を別の蛇口で出していましたが、今ではそんなレトロな蛇口は(ほとんど)見掛けません。オシャレで便利になった半面、2つの機能を1本のレバーで共有するため、機構が複雑になり(必然的に高価となり)、また、変更や修理が難しくなったことを忘れてはなりません。現実の「保守」としては、解決策1が実践的ですが、ソフトウェアの設計では、そのような機能共有をさせてはなりません。“機能の独立性”を高めた解決策4が圧倒的に優れています。
機能共有による構造の複雑化や、相互の機能干渉は人間の身体でも発生しており、例えば、「喉」は、呼吸と食物摂取の2つの機能を持っています。「呼吸」と「食物摂取」は、本来は互いに独立した別機能ですが、「喉」によって2つの機能が干渉しあっています。干渉の例として、「餅が喉に詰まると、呼吸困難になる障害」が発生します。食物摂取の障害が、全く別の機能である呼吸に重大な障害を起こすのです。
ソフトウェアのバグや障害でも、「機能共有」「機能の相互干渉」が原因のものは、再現条件の特定や修正が簡単ではありません。このような構造は可能な限り避けましょう。まずは、“機能共有させないこと”が一番です。冷たい水を出すハンドルと、温水を出すハンドルの2つに分けましょう。ソフトウェアの機能設計において、「一石二鳥」は「百害あって一利なし」だと筆者は思っています。
機能設計上、水温調整と水量調節の2つの機能を1本のレバーで制御するような機能共有は、本来は「禁じ手」です。こんなユーザーインタフェースを設計して、「オシャレでしょ?」「スタイリッシュでしょ?」と威張ってはなりません。逆に、「機能共有しているので、操作時に混乱する人がいるに違いない」「修理や取り換えが大変だ」と、謙虚で分かりやすい機能構造や表示方法を心掛けるべきです。
話は大きく変わりますが、今から50年前、まだ一般の人々に「情報処理」と「諜報活動」の区別がつかなかったころ(当時、書店では、この2つのジャンルの書籍が同じ棚に混ざって並んでいました)、筆者の通っていた高校の野球部には部員が6人しかいませんでした。夏の高校野球の大阪府予選大会が始まると、投手は剣道部、遊撃手は卓球部、右翼手は器械体操部の“元中学球児”を借りて、ギリギリ9人で試合に出ていました。これは「体育部における機能共有」です。高校野球の予選の日と、剣道の大阪府大会予選の日程が重なると、ピッチャーがいなくなり、試合に出られません。ソフトウェアの機能の「一石二鳥」は、常にこんな問題をはらんでいます。ソースコードのコーディングを数百ステップ節約できるからといって、機能共有をしてはなりません。少々、コーディングのステップ数が増えても、理解容易性と、機能の独立性を高めましょう。王道の設計を進んでください。
ユーザーインタフェースの問題を発見するために
デバッグ工程では、実装した機能が仕様通りに動作するか、何度も検証しますが、設計したユーザーインタフェースが意図した通りにユーザーへ伝わるかをキチンとテストすることはほとんどないでしょう。実はソースコードで実装した「機能」よりも、ユーザーの目に直接触れる「ユーザーインタフェース」の方が、特に組み込み系では、使う側にとっての“インパクトが大きい”といえます。製品の評価を大きく左右しますし、顧客からのクレームは、ユーザーインタフェースの不備に起因する場合が多くあります。
ユーザーインタフェースを設計する際は、ぜひ以下のポイントを考慮してみてください。
- 次にどのような操作をすればよいのか、明確に分かる
- エラーが発生した場合、エラーの原因と、エラーの解除方法が分かる
- ぶ厚い操作マニュアルを見なくても、表示された記号や略号の意味が分かる
上記の3箇条には、いずれも「~が分かる」で終わっています。「分かる」は、「操作に慣れた人が分かる」のではなく、「全くの素人や、初めて使う人でも分かる」ことを意味します。地元の人には、地元の地図は不要です。海外から来て、初めてその土地を歩く人にこそ地図は必要です。初めて操作する人に伝わってこそのユーザーインタフェース。ぜひ、初心者に実際に使ってもらい、ユーザーインタフェースが役に立っているかをチェックしてみてください。初心者に使ってもらうと、筆者が悩んだ「蛇口の赤色か青色か?」のような、予想外の問題をたたき出せます。組み込み系のユーザーインタフェースが少しでも分かりやすくなれば幸いです。 (次回に続く)
◎「組み込みソフトウェア品質」関連記事 ~事例、ツール、ソリューション、課題~ など
» ソフトウェア品質は規則やテストではなく「ヒト」が作る
» ソフトウェア品質向上のキモは「行動」にあり
» 間違いだらけの組み込み系品質管理、面倒な品質管理を楽しむコツ
» PMBOK準拠の組み込みソフト品質管理プラットフォーム
» 上流工程の品質活動でソフトウェアの品質は向上するのか
Copyright © ITmedia, Inc. All Rights Reserved.
組み込みエンジニアの現場力養成ドリル
このコラムでは、組み込みエンジニアが日々の開発で実際に遭遇する「小さなトラブルを」取り上げ、演習形式で解説します。
この記事の著者
新着ホワイトペーパー PR
-
製品資料
[株式会社 Green AI] AIで脱炭素計画を最適化、初年度からエネルギーコストとCO2を削減する方法 -
市場調査・トレンド
[スマートジャパン編集部] 「ペロブスカイト太陽電池」の普及戦略が公表 政府が目指すコスト・導入量のロードマップを解説 -
市場調査・トレンド
[スマートジャパン編集部] 導入が加速する再エネ・系統向け蓄電システム コスト・収益性の現状分析 -
技術文書・技術解説
[スマートジャパン編集部] いまさら聞けない「ペロブスカイト太陽電池」の基礎知識と政策動向 -
技術文書・技術解説
[スマートジャパン編集部] 「ペロブスカイト太陽電池」の開発動向、日本の投資戦略やコスト目標の見通しは?
関連記事
こんなメディアも見られています
TechFactoryに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
特集
- マテリアルズ・インフォマティクスの動向調査
- 研究・開発職のデジタル活用調査
- 設計・解析業務におけるAI活用
- 3Dプリンタ利用動向調査
- CAD利用動向調査
- つながる工場の現状と課題
- 製造業におけるAI開発および活用の実態
- 設計・製造現場における品質管理
ホワイトペーパーランキング PR
-
1
EE Times Japan×EDN Japan 統合電子版:フィジカルAIが生み出す新たな「設計思想」――電子版2026年8月号
-
2
半導体装置メーカー 業績まとめ【2027年3月期第1四半期】
-
3
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part4)
-
4
一時は時価総額トヨタ超え キオクシア2026年度の動向
-
5
微細配線間の絶縁劣化をどう捉える? 先端パッケージ評価の最前線
-
6
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part1)
-
7
EE Times Japan×EDN Japan 統合電子版:2026年上半期の半導体業界を振り返る――電子版2026年7月号
-
8
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part3)
-
9
CADツールの見直しは本当に必要? 切り替えの理由と効果を7つの質問で検証
-
10
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part2)
TechFactory SNS
インフォメーション
注目情報をチェック
TechFactoryをフォロー