非機能要件
非機能・横断仕様
各画面の機能仕様書に記載されない、システム全体に共通する仕様・要件をまとめる。
1. 動作環境
対応ブラウザ
| ブラウザ | 対応状況 | 備考 |
|---|---|---|
| Google Chrome | ◎ 推奨 | |
| Microsoft Edge | ○ 対応 | |
| Firefox | ○ 対応 | |
| Safari | ○ 対応 | 印刷処理など一部で個別の実装あり |
| Internet Explorer | × 非対応 |
明示的なブラウザバージョン要件の定義はないが、gRPC-Web による動態リアルタイム受信など最新のWeb標準技術を使用しているため、各ブラウザの最新版または近いバージョンを推奨する。
デバイス種別の判定
システムは起動時にユーザーエージェントを確認し、デバイス種別を自動的に判定する。
| 種別 | 判定条件 |
|---|---|
| スマートフォン | ブラウザ情報が iPhoneまたはAndroid(モバイル)を示し、タッチ操作対応の場合 |
| タブレット | ブラウザ情報が iPad、Mac(タッチ対応)、またはAndroid(モバイル以外)を示し、タッチ操作対応の場合 |
| PC | 上記以外 |
サイドバーナビゲーションは PC 専用で、スマートフォン・タブレットでは表示されない。デバイス種別によって利用できる機能は以下の通り。
| 機能 | PC | スマートフォン・タブレット | 備考 |
|---|---|---|---|
| ホーム(地図) | ○ | ○ | |
| 動態履歴 | ○ | × | 機能制限「動態履歴」が有効な場合のみ |
| 運転日報 | ○ | × | オプション「運転日報」有効かつ機能制限「レポート」が有効な場合のみ |
| 設定(各種) | ○ | × | 管理者ユーザーのみ |
| ダッシュボード | ○ | ○ | オプション契約による |
| 紹介ページ | ○ | ○ | |
| 通話履歴 | ○ | ○ | VoIP契約あり かつ 機能制限「通話履歴」が有効な場合のみ |
| 操作履歴 | ○ | × | オプション「操作ログ」有効かつ管理者ユーザーのみ |
| 印刷 | ○ | ○ | |
| ヘルプ | ○ | ○ | |
| 簡易マニュアル(?アイコン) | ○ | × | |
| 雨雲レーダー | ○ | × | Zenrin地図かつオプション「雨雲レーダー」有効時のみ |
フォントサイズ
画面右上のメニューから「小」「標準」の2段階で切り替え可能。設定はブラウザに保存され、次回アクセス時も維持される。
2. 権限モデル
ユーザー種別
| 種別 | 説明 |
|---|---|
| システム管理者(sysadmin) | モバイルクリエイト社の保守用アカウント。すべての機能にアクセス可能。操作履歴のほか、一部の分析計測の対象外となる |
| 管理者ユーザー | 顧客側の管理者。設定画面へのアクセス権を持つ。個別の機能は「オプション機能」の契約状況に依存する |
| 一般ユーザー | 顧客側の一般ユーザー。利用可能な機能は管理者が制限できる |
機能制限(一般ユーザー向け)
管理者はユーザーごとに以下の機能を利用不可に設定できる。管理者ユーザーにはこの制限は適用されない。
| フラグ値 | 機能 | 制限した場合の影響 |
|---|---|---|
| 0x01 | 目印参照 | 地図上の目印表示・検索・ショートカットが利用不可 |
| 0x02 | 目印登録 | 目印の新規登録・編集が利用不可 |
| 0x04 | ルート検索 | ルート検索タブが非表示 |
| 0x08 | 動態履歴 | 動態履歴メニューが非表示 |
| 0x10 | メッセージ送信 | メッセージ送信タブが非表示 |
| 0x20 | 行き先指示 | 行き先指示タブが非表示(エスコート配車オプション有効時のみ) |
| 0x40 | レポート | 運転日報メニューが非表示 |
| 0x80 | 通話履歴 | 通話履歴メニューが非表示 |
オプション機能一覧
顧客ごとの契約内容に応じてオプション機能が有効化される。各機能が有効な場合のみ、対応する画面・機能がサイドバーやUI上に表示される。
| コード | オプション機能 | デフォルト有効 | 関連する画面・機能 | 備考 |
|---|---|---|---|---|
| 1 | デスクトップ版 | デスクトップアプリ連携 | ||
| 2 | WEB版 | ○ | 本システム(Webブラウザ版)の利用 | |
| 3 | 携帯版 | ○ | モバイルアプリ連携 | |
| 4 | 4つボタン | 動態履歴の出力イベント・出力項目(4ボタン) | ||
| 5 | 運転日報 | サイドバー「運転日報」、ユーザー設定の「レポート」機能制限 | ||
| 6 | エスコート配車 | ユーザー設定の「行き先指示」機能制限 | ||
| 7 | 配送 | 配送関連機能 | モバロケ+(デスクトップアプリ)専用 | |
| 8 | メッセージ | ○ | メッセージ送信タブ、ユーザー設定の「メッセージ送信」機能制限 | |
| 9 | 緊急スイッチ | 動態履歴の出力イベント・出力項目(緊急スイッチ) | ||
| 10 | ドアセンサー | 動態履歴の出力イベント・出力項目(ドア開閉) | ||
| 11 | ポーリング | — | 未使用 | |
| 12 | 業務ボタン | ○ | 動態履歴の出力イベント・出力項目(業務ボタン) | |
| 13 | タクシーメーター | 動態履歴の出力イベント・出力項目(タクシーメーター) | ||
| 14 | 伝票配車 | — | 未使用 | |
| 15 | 緊急通知クライアント | 緊急通知機能 | ||
| 16 | 一括ダウンロード | 動態履歴「一括ダウンロード」タブ | ||
| 17 | 座標検索 | — | 未使用(デモ環境のみ) | |
| 18 | Google Maps | 地図プロバイダとしてGoogle Maps を使用 | ||
| 19 | ドアセンサー(銀行系) | 銀行系ドアセンサー連携 | ||
| 20 | 目印名設定(メーター) | メーター状態変更時に最寄り目印名を動態住所に設定 | ||
| 21 | 目印名設定(ドア) | センサー状態変更時に最寄り目印名を動態住所に設定 | ||
| 22 | 目印名設定(ACC) | ACC変更時に最寄り目印名を動態住所に設定 | ||
| 23 | ライブカメラ | ライブカメラ表示機能 | 未使用(PoC段階) | |
| 24 | ジオフェンス | 動態履歴「ジオフェンス履歴」タブ、目印のジオフェンス設定 | ||
| 25 | ストリーミングデータ | gRPC-Webによる動態リアルタイム受信 | ||
| 26 | LINE連携 | サイドバー「設定」→「iMESH for LINE」(LINE設定・表示設定) | ||
| 27 | LINE連携(バスロケ) | LINE設定「運行計画」タブ | ||
| 28 | イベント通知 | サイドバー「設定」→「イベント通知」 | ||
| 29 | 雨雲レーダー | 地図上の雨雲レーダー表示(Zenrin地図のみ) | 未使用(PoC段階) | |
| 30 | LINE連携(受付コード) | LINE設定「受付コード設定」タブ | ||
| 31 | 多要素認証(認証アプリ) | 2要素認証(認証アプリ方式)、ユーザー設定の2要素認証設定 | ||
| 32 | 多要素認証(SMS・メール) | 2要素認証(SMS・メール方式) | ||
| 33 | 操作ログ | サイドバー「操作履歴」 |
3. データ保持期間
顧客ごとにデータ保持期間(月数)が設定されており、以下の画面で検索できる日付の下限として使用される。
| 画面 | データ保持期間の適用 |
|---|---|
| 動態履歴 | 開始日の最小値 = 現在日 − 保持期間(月) |
| 動態履歴(一括ダウンロード) | 同上 |
| 動態履歴(ジオフェンス履歴) | 同上 |
| 運転日報 | 運行日付の最小値 = 現在日 − 保持期間(月) |
| 操作履歴 | 過去3か月固定(データ保持期間とは独立) |
4. セッション・セキュリティ
トークン管理
| トークン種別 | 有効期限 | 用途 |
|---|---|---|
| BFF トークン | セッション中(自動更新) | 各種APIリクエストの認証 |
| リフレッシュトークン | 20時間 | BFFトークンの自動更新 |
| チャットトークン | セッション中 | チャット用WebSocket接続の認証 |
セッション自動維持
ログイン中は約5分ごとにバックグラウンドでセッション維持処理が自動実行される。ユーザーが操作していない場合でも接続が維持される。
維持処理が失敗した場合は、1分・2分・4分の間隔で最大3回まで再試行する。それでも失敗した場合はログアウト扱いとなる。
自動ログアウト
以下の場合にログイン画面へ自動遷移する:
| 条件 | 動作 |
|---|---|
| 認証エラー(トークン不正・期限切れ) | ログイン画面へ遷移 |
| 予期しないシステムエラー | ログアウト画面へ遷移 |
| 自身のユーザー設定を変更・保存した場合 | 確認ダイアログ後にログアウト |
2要素認証
オプション機能の契約状況に応じて、以下の方式が利用可能。
| 方式 | 説明 |
|---|---|
| 認証アプリ | Google Authenticator などの TOTP アプリを使用 |
| メール認証 | ログイン時にメールでワンタイムパスワードを受信 |
| SMS認証 | ログイン時にSMSでワンタイムパスワードを受信 |
2要素認証はユーザーアカウント設定で管理者が有効化する。有効化されたユーザーは次回ログイン時に認証方法の設定が求められる。
5. 地図仕様
地図プロバイダ
本システムはGoogle Maps と Zenrin Maps の2種類の地図プロバイダに対応する。どちらを使用するかは導入環境ごとに異なり、ビルド時に切り替えられる。
| 機能・動作 | Google Maps | Zenrin Maps |
|---|---|---|
| 雨雲レーダー表示 | 非対応 | 対応 |
| マウス位置への自動ズーム | 非対応 | 対応 |
| 地図の自動ズーム拡大 | 非対応 | 対応 |
| 簡易マニュアルのヘルプ画像 | Google Maps 用の画像 | Zenrin Maps 用の画像 |
| ズームレベル範囲 | 3〜21 | 5〜17 |
地図の初期位置
ログアウト前に表示していた地図の中心座標とズームレベルがブラウザに保存される。次回ログイン時に同じ位置・縮尺で地図が表示される。
速度表記
地図設定により、速度の単位を km/h または mph に切り替えられる。この設定は動態履歴の速度列など、速度を表示するすべての箇所に適用される。
6. 共通UIパターン
トースト通知
操作の成功・失敗はトースト(画面右上に表示される通知)で知らせる。約10秒後に自動的に消える。
| 種別 | 用途の例 |
|---|---|
| 成功(緑) | 保存完了、削除完了 |
| エラー(赤) | 保存失敗、取得失敗 |
| 警告(黄) | 操作に注意が必要な場合 |
| 情報(青) | お知らせ、案内 |
右ドロワー(設定パネル)
設定画面や編集フォームは、画面右側からスライドして開くドロワー形式で表示される。共通の構造として、上部にタイトルと閉じるボタン、下部にキャンセル・保存ボタンを持つ。
確認ダイアログ
削除など取り消しのできない操作の前には確認ダイアログが表示される。「キャンセル」または「確認(削除など)」のいずれかを選択して操作を確定する。
ローディング表示
データ取得中や処理実行中はボタンやフォームが操作できない状態になり、スピナーや進行中を示すアニメーションが表示される。二重送信を防止するための制御が各所に実装されている。
エラーハンドリング
API通信のエラーは以下のように処理される:
| エラー種別 | 動作 |
|---|---|
| 認証エラー(トークン不正) | 自動的にログイン画面へ遷移 |
| その他のAPIエラー | トーストまたは画面内アラートでエラーメッセージを表示 |
| 予期しないシステムエラー | ログアウト画面へ遷移 |
7. リアルタイム通信
本システムは目的に応じて異なる通信方式を使用している。
| 通信方式 | 用途 | 動作 |
|---|---|---|
| gRPC-Web(サーバーストリーミング) | 動態リアルタイム更新 | 移動局の位置・速度・状態をリアルタイムで受信する(後述) |
| WebSocket(Socket.IO) | チャット | チャットメッセージの送受信をリアルタイムで行う。切断時は自動再接続する |
| WebSocket | VoIP(通話) | 通話の接続・切断・状態管理を行う |
| HTTPポーリング | セッション維持 | 約5分ごとにサーバーへリクエストを送り、セッションを継続させる |
| HTTPポーリング | 動態データ補完 | 10秒ごとにサーバーへ全移動局の最新状態を取得し、WebSocketで取りこぼしたデータを補完する |
| HTTPポーリング | 運転日報生成 | レポート生成の完了をサーバーへ5秒ごとに確認する |
動態リアルタイム更新の仕組み
地図上の移動局の位置・速度・状態は、gRPC-Web のサーバーサイドストリーミングによってサーバーから随時プッシュ配信される。接続を確立するとサーバー側から継続的にデータが送られてくる方式で、クライアントからの繰り返しリクエストは不要。
受信データ
移動局ごとに以下のデータがリアルタイムで届く。
| データ | 内容 |
|---|---|
| 緯度・経度 | 現在位置の座標 |
| 速度 | 現在の速度 |
| 進行方向 | 0〜360度の方位 |
| GPS取得日時 | 位置情報を取得した時刻 |
| ACC状態 | エンジンON / OFF |
| 住所 | 現在地の住所(座標から逆引きで取得) |
更新フロー
- サーバーから移動局のデータを受信
- 受信データを約2秒間ためて一括処理(短時間に複数届いた場合は最新のみ反映)
- GPS取得日時が現在より新しい場合のみ地図上のマーカーを更新
- 住所は座標から非同期で取得し、後からマーカー情報に追加
切断時の再接続
| 切断の原因 | 再接続のタイミング |
|---|---|
| ネットワークエラー・サーバー側切断 | 1分後に自動で再接続 |
| 認証トークン更新 | トークン更新後すぐに再接続 |
| ブラウザを閉じる・画面を離れる | 再接続しない(正常終了) |
自動閉局
動態アイコン設定で「自動閉局」が有効な場合、ACC OFFになってから設定した時間が経過すると、受信データに関わらず自動的にACC OFF状態として扱われる。