---
generated_at: 2026-02-23 21:30:00
metrics:
  claims_total: 42
  claims_with_evidence: 38
  claims_without_evidence: 4
confidence_derived: 0.90
---

# 根拠レポート：非機能要件定義書

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.90**
  - 根拠あり：38 / 42、根拠なし：4
- 優先レビュー（高）
  1. **稼働率要件**：サーバー依存としているが明確な定義なし
  2. **オフライン対応**：限定的との記載だが詳細な検証が必要
  3. **RTO/RPO**：アプリ特性上の推測値
  4. **リトライ機能なし**：コード全体の網羅的確認が必要

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `lib/api.dart`（API通信、タイムアウト、認証）
- E-02: `lib/preferences.dart`（設定定義、HTTPS設定）
- E-03: `lib/inventree/sentry.dart`（エラーレポート、Sentry統合）
- E-04: `lib/main.dart`（アプリ初期化、テーマ、Sentry設定）
- E-05: `lib/user_profile.dart`（ユーザープロファイル管理）
- E-06: `lib/widget/dialogs.dart`（エラーダイアログ、ステータスコード処理）
- E-07: `lib/settings/app_settings.dart`（アプリ設定画面）
- E-08: `lib/inventree/model.dart`（モデル基底クラス、キャッシュ）
- E-09: `lib/widget/snacks.dart`（スナックバー通知）
- E-10: `lib/widget/search.dart`（検索デバウンス）
- E-11: `lib/widget/paginator.dart`（ページネーションデバウンス）
- E-12: `lib/barcode/wedge_controller.dart`（バーコードスキャン間隔）
- E-13: `lib/dsn.dart`（Sentry DSNキー）
- E-14: `pubspec.yaml`（依存関係、SDK設定）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | API接続確立タイムアウト10秒 | E-01 (L1254) | ○ |
| C-02 | APIリクエスト完了タイムアウト10秒 | E-01 (L1331) | ○ |
| C-03 | ファイルダウンロードタイムアウト10秒 | E-01 (L926) | ○ |
| C-04 | ファイルアップロードタイムアウト120秒 | E-01 (L1036) | ○ |
| C-05 | 画像キャッシュ取得タイムアウト60秒 | E-01 (L148) | ○ |
| C-06 | 検索デバウンス300ms | E-10 (L133) | ○ |
| C-07 | ページネーションデバウンス500ms | E-11 (L406) | ○ |
| C-08 | シングルセッション設計 | E-01 (L172-179) | ○ |
| C-09 | 通知ポーリング間隔60秒 | E-01 (L690) | ○ |
| C-10 | バーコードスキャン間隔250ms | E-12 (L75) | ○ |
| C-11 | 稼働率サーバー依存 | **根拠なし** | △ |
| C-12 | オフライン対応限定的 | **根拠不十分** | △ |
| C-13 | RTO即時 | **推測値** | △ |
| C-14 | 接続タイムアウト30秒 | E-01 (L1196) | ○ |
| C-15 | トークンベース認証 | E-01 (L1526-1532) | ○ |
| C-16 | Basic認証ヘッダー | E-01 (L586-587) | ○ |
| C-17 | ロールベースアクセス制御 | E-01 (L763-807) | ○ |
| C-18 | パーミッション管理 | E-01 (L813-856) | ○ |
| C-19 | HTTPS通信 | E-01 | ○ |
| C-20 | 厳格なHTTPS検証オプション | E-02 (L54), E-07 | ○ |
| C-21 | 自己署名証明書対応 | E-01 (L1180-1193) | ○ |
| C-22 | 証明書エラー処理 | E-01 (L1279-1288) | ○ |
| C-23 | Sembastによるローカル保存 | E-02, E-05 | ○ |
| C-24 | トークンのローカル保存 | E-05 (L39) | ○ |
| C-25 | エラーレポート匿名化 | E-03 (L96-109) | ○ |
| C-26 | 最小APIバージョン100 | E-01 (L196) | ○ |
| C-27 | プラグインシステム対応 | E-01 (L361-384) | ○ |
| C-28 | 40言語以上のロケール | E-14, lib/l10n/ | ○ |
| C-29 | ダークモード/ライトモード | E-04 (L158-168) | ○ |
| C-30 | Flutter SDK ^3.8.1 | E-14 (L7) | ○ |
| C-31 | マルチプラットフォーム対応 | E-01 (L561-570) | ○ |
| C-32 | 画面方向設定 | E-02 (L21-23) | ○ |
| C-33 | lint静的解析 | E-14 (L51) | ○ |
| C-34 | flutter_testテスト基盤 | E-14 (L49-50) | ○ |
| C-35 | Sentry統合 | E-14 (L43), E-03, E-04 | ○ |
| C-36 | エラーレポートオプトアウト | E-02 (L53), E-03 | ○ |
| C-37 | 画像キャッシュ | E-14 (L17, 24), E-01 | ○ |
| C-38 | 設定キャッシュ5分 | E-01 (L1604, 1636) | ○ |
| C-39 | 通知カウンター60秒更新 | E-01 (L690, 1770-1778) | ○ |
| C-40 | スナックバー5-10秒 | E-09 (L78) | ○ |
| C-41 | ステータスコード別エラー | E-06 (L272-300) | ○ |
| C-42 | リトライ機能なし | **コード網羅確認必要** | △ |

## 4) 不足情報（Unknown / Missing）
- **稼働率要件（C-11）**：モバイルアプリの稼働率はサーバー依存と記載したが、アプリ自体のクラッシュ率等の定義がない
  - 候補：運用ログ / クラッシュ統計 / SLAドキュメント
- **オフライン対応（C-12）**：キャッシュ画像表示以外のオフライン機能の詳細調査が必要
  - 候補：Sembastの使用範囲の詳細調査 / オフラインテスト結果
- **RTO（C-13）**：障害復旧時間は推測値であり、実測データがない
  - 候補：障害復旧テスト結果 / 運用マニュアル
- **リトライ機能（C-42）**：コード全体を網羅的に確認してリトライ機構がないことを確認する必要がある
  - 候補：Grepによる網羅検索 / 開発者確認

## 5) リスクフラグ（レビュー観点）
- **1: 中リスク** - 稼働率・可用性要件が明確に定義されていない
- **0: 低リスク** - タイムアウト設定はコードから明確に抽出可能
- **0: 低リスク** - セキュリティ要件はコードから明確に確認可能
- **1: 中リスク** - オフライン対応の範囲が限定的で詳細確認が必要
- **0: 低リスク** - エラー監視（Sentry統合）は実装が確認できる

## 6) レビュアーチェックリスト（最小）
- [ ] 稼働率・可用性要件が実運用に適切か確認
- [ ] オフライン時の挙動を実機テストで確認
- [ ] タイムアウト値がユーザー体験に適切か確認
- [ ] 厳格HTTPS設定のデフォルト値（false）がセキュリティポリシーに適合するか確認
- [ ] エラーレポート（Sentry）の送信内容にセンシティブ情報が含まれないか確認
- [ ] トークンのローカル保存がセキュリティ要件を満たすか確認（暗号化有無）
- [ ] リトライ機能の必要性を検討（現状は手動再試行が必要）
