SlideShare a Scribd company logo
1 of 11
Download to read offline
ソフトウェアUI妥当性確認の
形式化に向けて
木下修司
神奈川大学大学院理学研究科
概要
1. なんだか使いにくいソフトウェア(サービス)が多い
2. 原因のひとつは、UIの妥当性確認(≒インタラクション
デザイン)が欠けていること
3. GUI記述言語として、Agdaのような表現力の高い依存型
付き関数型言語を利用することで、GUI定義と「その妥
当性確認」をあわせて記述できるのではないか?
4. 一緒にやる人を大募集中!
使いにくいソフトウェアが多い
• 原因は、「使いやすさ」の検討不足。
• 期限のある開発プロジェクトでは、「とにかくシス
テムが動作すること」に重点が置かれる結果、サー
バ側処理やDB設計が優先
• ユーザビリティの考慮は後回しにされ、使いにくい
まま本番リリース
• 本番リリース後は
「そんな変更してデ
グレしたらどうす
る?!」と、操作性
改善は却下される
最初の検討が重要。
UIの検証と妥当性確認
• 検証 Do the things right.
• 仕様どおり実装されているか
• UIの例:定義されたとおり画面遷移が行われるかど
うか
• 妥当性確認 Do the right things.
• そもそも仕様が正しいか
• UIの例:そもそも、その画面遷移はユーザの目的達
成に適切かどうか
UIの妥当性確認≒ユーザ操作の流れの検討・作
成(インタラクションデザイン)
• UCD(ユーザ中心設計)やUI/UX分野の研究
• ISO9241-210:2010(人間中心設計)
• ペルソナ・シナリオ法
• 師匠と弟子モデル(Contextual Inquiry)
:
• SE/PGに比べてUI/UXデザイナは不足。
• BtoCのサービスはまだしも、BtoBのサービス開発
では、専門の人員を用意することは困難。
• デザイナがいれば問題がすべて解決する、とい
うわけでもない。
• 成果物の形式→ソフトウェア固有の問題がある
使いやすさの研究は多数あるが、
気軽に使えるわけではない
プログラム、ソフトウェアから
システム、サービスへ
• 単純なInput / Outputのみのプログラムから、プ
ログラム実行中に画面出力 / 人間の入力が行わ
れるインタラクティブなプログラムへと変化
• 人間の動きまで含めたデザインが求められるが、
従来の「プログラミング言語」には、それを記
述する部分はない。
従来のプログラミング言語に記述される部分
ここも書きたい
インタラクションの例
打合せの資料をアップロードしたい。
1. 「この画面にファイルを添付したいな」
2. 「どこを押せばいいだろう、あ、このボタンか」
3. ★【「ファイルを追加」ボタン押下】
4. ファイル選択ダイアログが表示される
5. 「資料はどこにあったかな・・・」
6. ★【ドキュメントの一覧を数回クリック】
7. 「あ、これだな」
8. ★【ファイル選択】
9. ★【開く】ボタン押下
10. ★【画面上にアップロード中の表示】
11. ★【画面が自動更新されてアップロード完了】
12. 「ああ、添付できた!」
★のついている部分は
コードとして記述されて
いるが、それ以外はプロ
グラム上には存在しない。
しかし、画面設計の妥当
性を考える上では、この
流れは重要。
従来のUI設計の問題点まとめ
1. UI/UXデザイナーの不在
• 専門の人員が用意できる開発PJは少ない。(予算
の問題etc)
2. デザインの成果物とソフトウェアの不整合
• 仮に専門の人員がいたとしても、デザイナの成果物
は主にドキュメント
• 頻繁に修正されるソフトウェアの場合、ドキュメン
トだけが更新されずに残る危険性
3. デザインから実装への移行がスムーズでない
• 「モックアップ」と呼ばれる画面サンプルを一度捨
てて、改めて実装しなおすことが多い。
従来のUI設計の問題点の解決
1. UI/UXデザイナーの不在
• 専門の人員でなくても(プログラマであっても)、
気軽にインタラクションの検討ができる開発環境が
あればよい
2. デザインの成果物とソフトウェアの不整合
• 最終的な画面のプログラムと、デザインの検討結果
が常に対応づけられる開発環境があればよい
3. デザインから実装への移行がスムーズでない
• モックアップのコードがそのまま実装で利用できる
ような開発環境があればよい。
解決方法(Webサービスの例)
• HTML/Javascriptを直接記述するのではなく、
Agdaから自動生成する。
• Agdaで記述した画面定義の検証・妥当性確認
をAgda内に記述する。
HTML &
Javascript
Webブラウザ
サーバ側の
ロジック
APサーバ
Database
更新処理
DBサーバ
HTML &
Javascript
Webブラウザ
サーバ側の
ロジック
APサーバ
Database
更新処理
DBサーバ
画面定義
Agda
生成
UI設計書
As Is
To Be 簡単なサービスなら自動生成可能?
検証・妥当性確認
Agda code
利点
• 画面定義の記述と、その画面の検証・妥当性確
認の記述をAgdaコードとして共存させること
ができる。→シームレスな開発環境
• 画面のコンポーネントが変更されたときに、妥
当性確認の記述を修正する必要があることを、
型検査によって通知できる
Agdaコードとグラフィカルな
表現の変換
Agda
コード
GUI表現

More Related Content

What's hot

building HTML hybrid app
 with ionic
building HTML hybrid app
 with ionicbuilding HTML hybrid app
 with ionic
building HTML hybrid app
 with ionicNakano Kyohei
 
モバイルアプリ開発の現状
モバイルアプリ開発の現状モバイルアプリ開発の現状
モバイルアプリ開発の現状Koji Suzuki
 
Akarenga.lt
Akarenga.ltAkarenga.lt
Akarenga.ltru pic
 
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発Satoru Yamaguchi
 
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4 Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4 Ayako Omori
 
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的Tech Summit 2016
 
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的Tech Summit 2016
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスアシアル株式会社
 
アプリ製作ツール HiCIEL 紹介
アプリ製作ツール HiCIEL 紹介アプリ製作ツール HiCIEL 紹介
アプリ製作ツール HiCIEL 紹介baeksunil
 
事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント 事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント Monaca
 
LINE Commumity Microsoft_ConversationalAI_20200409
LINE Commumity Microsoft_ConversationalAI_20200409LINE Commumity Microsoft_ConversationalAI_20200409
LINE Commumity Microsoft_ConversationalAI_20200409Ayako Omori
 
Visual Studio を使用した Cordova 開発
Visual Studio を使用した Cordova 開発Visual Studio を使用した Cordova 開発
Visual Studio を使用した Cordova 開発Osamu Monoe
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 Monaca
 
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったことAndroidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったことShuichi Takaya
 
エンタープライズ要件に対応する高品質なCordovaアプリ開発のポイント
エンタープライズ要件に対応する高品質なCordovaアプリ開発のポイントエンタープライズ要件に対応する高品質なCordovaアプリ開発のポイント
エンタープライズ要件に対応する高品質なCordovaアプリ開発のポイントアシアル株式会社
 
Osc html5-monaca
Osc html5-monacaOsc html5-monaca
Osc html5-monacaHikaru Ito
 
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜Monaca
 
ABC2016 Spring: Mobile App UX & Design Sprint
ABC2016 Spring: Mobile App UX & Design SprintABC2016 Spring: Mobile App UX & Design Sprint
ABC2016 Spring: Mobile App UX & Design SprintNobuya Sato
 

What's hot (20)

building HTML hybrid app
 with ionic
building HTML hybrid app
 with ionicbuilding HTML hybrid app
 with ionic
building HTML hybrid app
 with ionic
 
Vtecxlt20151201
Vtecxlt20151201Vtecxlt20151201
Vtecxlt20151201
 
モバイルアプリ開発の現状
モバイルアプリ開発の現状モバイルアプリ開発の現状
モバイルアプリ開発の現状
 
Akarenga.lt
Akarenga.ltAkarenga.lt
Akarenga.lt
 
Onsen UI 2.0とUIライブラリの未来
Onsen UI 2.0とUIライブラリの未来Onsen UI 2.0とUIライブラリの未来
Onsen UI 2.0とUIライブラリの未来
 
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
モバイル対応Ui部品を利用したレスポンシブwebアプリ開発
 
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4 Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
Tech Summit 2018: ユーザーインターフェースとしてのチャットボット開発手法 と Bot Framework V4
 
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
 
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
 
アプリ製作ツール HiCIEL 紹介
アプリ製作ツール HiCIEL 紹介アプリ製作ツール HiCIEL 紹介
アプリ製作ツール HiCIEL 紹介
 
事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント 事例で解説するハイブリッドアプリ開発のポイント
事例で解説するハイブリッドアプリ開発のポイント
 
LINE Commumity Microsoft_ConversationalAI_20200409
LINE Commumity Microsoft_ConversationalAI_20200409LINE Commumity Microsoft_ConversationalAI_20200409
LINE Commumity Microsoft_ConversationalAI_20200409
 
Visual Studio を使用した Cordova 開発
Visual Studio を使用した Cordova 開発Visual Studio を使用した Cordova 開発
Visual Studio を使用した Cordova 開発
 
はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情 はやわかりHTML5ハイブリッドアプリ開発事情
はやわかりHTML5ハイブリッドアプリ開発事情
 
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったことAndroidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
Androidハイブリッドアプリを約2年間メンテンナンスしてきて分ったこと
 
エンタープライズ要件に対応する高品質なCordovaアプリ開発のポイント
エンタープライズ要件に対応する高品質なCordovaアプリ開発のポイントエンタープライズ要件に対応する高品質なCordovaアプリ開発のポイント
エンタープライズ要件に対応する高品質なCordovaアプリ開発のポイント
 
Osc html5-monaca
Osc html5-monacaOsc html5-monaca
Osc html5-monaca
 
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
HTML5ハイブリッド アプリ開発の実践〜開発現場ですぐに活かせるコツを伝授〜
 
ABC2016 Spring: Mobile App UX & Design Sprint
ABC2016 Spring: Mobile App UX & Design SprintABC2016 Spring: Mobile App UX & Design Sprint
ABC2016 Spring: Mobile App UX & Design Sprint
 

Similar to ソフトウェアUI妥当性確認の形式化に向けて

もっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Appsもっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Apps典子 松本
 
SQLアンチパターン「ディプロマティック・イミュニティ」
SQLアンチパターン「ディプロマティック・イミュニティ」SQLアンチパターン「ディプロマティック・イミュニティ」
SQLアンチパターン「ディプロマティック・イミュニティ」Hiroyuki Ohnaka
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望についてKen Azuma
 
Ignite ui 2012 最新情報 jQuery UI 編
Ignite ui 2012 最新情報 jQuery UI 編Ignite ui 2012 最新情報 jQuery UI 編
Ignite ui 2012 最新情報 jQuery UI 編Daizen Ikehara
 
スマホサービスにおける、UIデザインのノウハウと実例
スマホサービスにおける、UIデザインのノウハウと実例スマホサービスにおける、UIデザインのノウハウと実例
スマホサービスにおける、UIデザインのノウハウと実例yosuke sato
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解Monaca
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック智治 長沢
 
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力オラクルエンジニア通信
 
その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・KLab Inc. / Tech
 
変化の時代における開発者のスキル資産形成について
変化の時代における開発者のスキル資産形成について変化の時代における開発者のスキル資産形成について
変化の時代における開発者のスキル資産形成についてKen Azuma
 
アプリのUXについて ~ 勉強会レポート
アプリのUXについて ~ 勉強会レポートアプリのUXについて ~ 勉強会レポート
アプリのUXについて ~ 勉強会レポートAtsushi Takahashi
 
Efsta cod2012 master_for_slideshare
Efsta cod2012 master_for_slideshareEfsta cod2012 master_for_slideshare
Efsta cod2012 master_for_slideshareTakahito Sugishita
 
Metroアプリケーションのwin8/wp7の効率的ソース運用を考える
Metroアプリケーションのwin8/wp7の効率的ソース運用を考えるMetroアプリケーションのwin8/wp7の効率的ソース運用を考える
Metroアプリケーションのwin8/wp7の効率的ソース運用を考えるTakahito Sugishita
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!CData Software Japan
 

Similar to ソフトウェアUI妥当性確認の形式化に向けて (20)

Indigo Studio で作るプロトタイプ
Indigo Studio で作るプロトタイプIndigo Studio で作るプロトタイプ
Indigo Studio で作るプロトタイプ
 
もっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Appsもっとサーバーレスを手軽に便利に!Azure Logic Apps
もっとサーバーレスを手軽に便利に!Azure Logic Apps
 
SQLアンチパターン「ディプロマティック・イミュニティ」
SQLアンチパターン「ディプロマティック・イミュニティ」SQLアンチパターン「ディプロマティック・イミュニティ」
SQLアンチパターン「ディプロマティック・イミュニティ」
 
User Centered Agile
User Centered AgileUser Centered Agile
User Centered Agile
 
DevOps を前提としたユーザー インターフェイスの構造解析
DevOps を前提としたユーザー インターフェイスの構造解析DevOps を前提としたユーザー インターフェイスの構造解析
DevOps を前提としたユーザー インターフェイスの構造解析
 
市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について市場動向並びに弊社製品の今後の展望について
市場動向並びに弊社製品の今後の展望について
 
Ignite ui 2012 最新情報 jQuery UI 編
Ignite ui 2012 最新情報 jQuery UI 編Ignite ui 2012 最新情報 jQuery UI 編
Ignite ui 2012 最新情報 jQuery UI 編
 
スマホサービスにおける、UIデザインのノウハウと実例
スマホサービスにおける、UIデザインのノウハウと実例スマホサービスにおける、UIデザインのノウハウと実例
スマホサービスにおける、UIデザインのノウハウと実例
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
 
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
[Modern Cloud Day Tokyo 2019] 目指せコーディングレス!「繋げる」が実現するクラウド活用による高速アプリケーション開発の魅力
 
その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・その素敵なUI基盤を目指して・・・
その素敵なUI基盤を目指して・・・
 
20130528 pasonatech
20130528 pasonatech20130528 pasonatech
20130528 pasonatech
 
変化の時代における開発者のスキル資産形成について
変化の時代における開発者のスキル資産形成について変化の時代における開発者のスキル資産形成について
変化の時代における開発者のスキル資産形成について
 
アプリのUXについて ~ 勉強会レポート
アプリのUXについて ~ 勉強会レポートアプリのUXについて ~ 勉強会レポート
アプリのUXについて ~ 勉強会レポート
 
Efsta cod2012 master_for_slideshare
Efsta cod2012 master_for_slideshareEfsta cod2012 master_for_slideshare
Efsta cod2012 master_for_slideshare
 
Metroアプリケーションのwin8/wp7の効率的ソース運用を考える
Metroアプリケーションのwin8/wp7の効率的ソース運用を考えるMetroアプリケーションのwin8/wp7の効率的ソース運用を考える
Metroアプリケーションのwin8/wp7の効率的ソース運用を考える
 
デスクトップ向けUIコンポーネントの対応状況と今後の予定
デスクトップ向けUIコンポーネントの対応状況と今後の予定デスクトップ向けUIコンポーネントの対応状況と今後の予定
デスクトップ向けUIコンポーネントの対応状況と今後の予定
 
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
Angular でもっとAPIファースト・もっとモダンデザインなWebアプリケーションを作ろう!
 
Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編Ignite UI 2012 最新情報 jQuery Mobile 編
Ignite UI 2012 最新情報 jQuery Mobile 編
 

ソフトウェアUI妥当性確認の形式化に向けて