Appearance
要件定義書
ステータス: ドラフト(2026-04-15 起案) スコープ: M1(設計フェーズ)時点の要件整理。優先度は MoSCoW で付与。実装を約束するものではなく、以後のADR・画面設計・データモデル設計の前提とする。
1. プロジェクトスコープ
ベトナム人実習生向け日本語学習進捗管理アプリを、以下のステークホルダーが関わるB2Bプロダクトとして設計する。
1.0 ステークホルダー整理
| 区分 | 主体 | 画面利用 | 契約/課金 |
|---|---|---|---|
| 契約主体(暫定) | 送出し機関 or 日本語学校 | 管理者ロールとして利用 | 想定課金対象 |
| エンドユーザー | 実習生(学習者) | 学習者ロール | 非課金 |
| 外部閲覧者 | 受入企業の採用担当 | 企業ロール(制限付き) | 別契約/無償閲覧どちらも想定、M1では未確定 |
本ドラフトでは 契約主体=送出し機関 を暫定採用するが、ビジネス側の確定が必要(Open Question Q1)。企業ロールは送出し機関配下で発行されるアカウントか独自契約かで設計が変わる。
1.1 In-scope(M1時点)
- 3ロールの主要画面設計とモック
- 学習行動ログ(学習時間/クイズ/動画視聴/テスト)のデータモデル
- 学習行動の一貫性指標(申告 vs 実測)の定義試案
- 企業ロールに開示する情報範囲の草案(下記 3.4)
1.2 Out-of-scope(M1時点)
- 実DB/認証/本番バックエンド
- 実データを用いたAI/MLによる予測
- モバイルネイティブアプリ
- 音声学習(発音評価)
- 決済・契約管理
2. 機能要件
2.1 学習者向け(F-L)
| ID | 機能 | 優先度 | 概要 |
|---|---|---|---|
| F-L-01 | 認証・ログイン | Must | メール+パスワード。多言語(日本語/ベトナム語) |
| F-L-02 | 今日のタスク | Must | 日次で割り当てられた単語/動画/クイズを一覧表示 |
| F-L-03 | 単語学習 | Must | 単語リスト閲覧、例文、発音(音声は任意)、既習フラグ |
| F-L-04 | 単語クイズ | Must | 4択/記述。回答ログを記録 |
| F-L-05 | 動画視聴 | Must | 視聴区間・視聴時間・スキップ有無を記録 |
| F-L-06 | マイページ | Should | JLPT別進捗、単語習得数、学習時間グラフ、テスト履歴 |
| F-L-07 | 学習通知 | Could | メール/ブラウザ通知で日次リマインド |
2.2 管理者向け(F-A)
| ID | 機能 | 優先度 | 概要 |
|---|---|---|---|
| F-A-01 | 学習者一覧・検索 | Must | 名前/JLPT/進捗率等でソート・フィルタ |
| F-A-02 | 学習者詳細 | Must | プロファイル・3ヶ月推移グラフ・タスク履歴 |
| F-A-03 | 単語習得率ダッシュボード | Must | 集団・個別の単語習得率、カリキュラム単元別 |
| F-A-04 | 学習行動の一貫性ビュー | Must | 申告時間 vs 実測時間、スキップ率、異常パターン |
| F-A-05 | 試験成績管理(結果記録) | Must | 紙試験またはオンライン試験の結果の記録・閲覧(採点入力) |
| F-A-05b | オンライン試験機能 | Should | 試験作成/監督/不正対策が必要。実施形態は Q4 で決定 |
| F-A-06 | カリキュラム管理 | Should | 教材登録、単元編成、学習者/グループへの割当 |
| F-A-07 | メッセージ送信 | Could | 個別・一括で学習者へメッセージ送信 |
| F-A-08 | CSVエクスポート | Should | 学習履歴・成績のCSV出力 |
2.3 企業採用向け(F-E)
| ID | 機能 | 優先度 | 概要 |
|---|---|---|---|
| F-E-01 | 候補者レポート | Must | 候補者のJLPT/単語/テスト/学習時間サマリー |
| F-E-02 | 候補者比較 | Should | 複数候補者を並べて比較 |
| F-E-03 | レポートPDF出力 | Should | 候補者レポートをPDFとして出力 |
| F-E-04 | 候補者お気に入り | Could | 注目候補者のブックマーク |
2.4 共通(F-C)
| ID | 機能 | 優先度 | 概要 |
|---|---|---|---|
| F-C-01 | 多言語UI | Must | 日本語/ベトナム語を最低限サポート |
| F-C-02 | 監査ログ | Should | 管理者操作の記録 |
| F-C-03 | 組織マルチテナント | Should | 送出し機関/企業ごとのデータ分離 |
3. 非機能要件
3.1 パフォーマンス
- 一覧画面のTTFBは 1 秒以内(通常負荷時)を目標
- 学習者ダッシュボードは 2 秒以内で描画
- 同時アクティブユーザー:初期は 100 名規模を想定
3.2 可用性
- 運用目標稼働率 99.5%(営業時間帯)
- バックアップ:日次スナップショット、7世代保持
3.3 セキュリティ
- 通信は全て HTTPS
- パスワードは bcrypt 等でハッシュ化
- RBAC による権限制御(
docs/auth-rbac.md) - 個人情報(氏名・学習ログ)は必要ロールのみ閲覧可
3.4 プライバシー・情報開示・コンプライアンス
3.4.1 収集・保存
- 学習行動ログの収集目的・範囲・保存期間を利用規約・プライバシーポリシーで明示
- 学習者本人から明示的同意を取得(初回ログイン時の同意フロー)
- 同意撤回・削除請求の窓口を明示(対応期限は法令準拠)
- 日本:個人情報保護法/ベトナム:個人データ保護令(PDPD 13/2023/ND-CP)の双方確認 — 法務レビュー前提
3.4.2 企業ロールへの開示範囲(ドラフト)
| 項目 | 企業ロール開示 | 備考 |
|---|---|---|
| 氏名・所属送出し機関 | 要同意の上で開示 | 学習者が「企業向け公開」フラグをONにした候補者のみ |
| JLPTレベル・単語習得数・テスト結果 | 開示 | サマリー/推移グラフ |
| 学習時間(合計・推移) | 開示 | 生ログではなく集計 |
| 動画スキップ・申告/実測乖離率 | 要約のみ開示 | 生ログは非開示。要約単位はADRで決定 |
| 学習行動の一貫性スコア | 要約のみ開示 | 算出ロジックと利用上限は 3.4.3 |
| 回答ログ(クイズ単位) | 非開示 | 管理者ロール限定 |
| 動画視聴の生ログ | 非開示 | 管理者ロール限定 |
開示はいずれも学習者の明示的同意が前提。企業ロールのユーザーはダウンロード/スクショ禁止の注記を表示(技術的抑止は別途検討)。
3.4.3 学習行動の一貫性スコアの利用制限
- 位置づけ:採用判断の補助情報であり、唯一の判断根拠としない旨を画面上に明示
- 説明可能性:スコアの内訳(指標と重み)を画面で開示する
- 誤検知対応:低スコア時には学習者・管理者が異議申し立てできるフローを提供
- 表示禁止項目:人種・宗教・病歴等のセンシティブ属性との突合は行わない
- 人手確認必須:企業ロールへのアラート表示は行わず、管理者による確認後に閲覧可能とする
- 学習者閲覧権:学習者本人が自身のスコア内訳を確認できる
3.4.4 監査・保持
- 企業ロールの閲覧履歴を監査ログに残す
- データ保持期間:学習者卒業後は原則◯年で削除(値は Q5 で決定)
- 越境データ移転(日⇔越)は別途評価(Q7)
3.5 可搬性・運用
- ホスティング:Cloudflare Pages(静的/SSR)
- CI:GitLab CI
- ログ・メトリクス:要検討(ADR で決定)
3.6 多言語・国際化
- 日本語・ベトナム語のUI文言管理を i18n で切り分け
- 将来的な英語対応を阻害しない
3.7 アクセシビリティ
- 主要画面で WCAG 2.1 AA を目標
- キーボード操作、色覚多様性への配慮
4. 制約条件
- ネットワーク環境:ベトナム側研修施設のインターネット帯域が限定的な可能性。動画はCDN配信、画質選択を検討
- 学習者はスマホ利用が主となる可能性が高い → レスポンシブ必須
- 法令:日本の個人情報保護法、ベトナムの関連法令を確認(営業部門と連携)
5. 優先度マトリクス(MoSCoW)
| 優先度 | 定義 |
|---|---|
| Must | M1(モック)で画面設計必須 |
| Should | M1で画面骨子あり、詳細は M2 へ |
| Could | 設計時メモ程度。M2以降で具体化 |
| Won't | 今回は扱わない |
6. 前提・疑義リスト(Open Questions)
| ID | 項目 | メモ |
|---|---|---|
| Q1 | 契約主体とテナント境界 | 送出し機関が契約主体の前提でドラフト化。企業ロールは配下発行 or 独立契約を決定要 |
| Q2 | 営業メッセージの一本化 | 「学習支援」と「採用評価」の二股。主訴求を送出し機関向けに寄せるか企業向けに寄せるかで要件粒度が変わる |
| Q3 | 動画プラットフォーム | 自前 vs YouTube vs Cloudflare Stream |
| Q4 | 試験の実施形態 | 紙試験転記/オンライン試験/併用 |
| Q5 | データ保持・削除 | 卒業後保持期間、削除請求対応フロー |
| Q6 | 一貫性スコアの算出方式 | ルールベース/重み付き合算/将来ML。初期はルールベース想定 |
| Q7 | 越境データ移転 | 日本⇄ベトナム間の移転根拠(同意 or 契約条項) |
| Q8 | 企業ロールのエクスポート禁止 | 技術的抑止(透かし/ログ)の要否 |
| Q9 | 法務レビュー | 個人情報保護法・PDPD・労基関連の一次レビュー実施時期 |
以上の Open Question は ADR または専用 issue で順次クローズする。
7. リリースゲート(必須条件)
以下は外部提供・本番公開前に満たすべき必須ゲートであり、未充足の場合は企業ロール画面・営業資料としての利用を行わない。
| ゲート | 内容 | 対象 |
|---|---|---|
| G1. 法務レビュー | 日本 個人情報保護法 / ベトナム PDPD 双方の一次レビュー実施(企業開示全体・越境移転・同意フロー含む) | 全機能 |
| G2. 開示範囲の確定 | §3.4.2 の企業ロール開示範囲を法務レビュー結果で更新・確定 | F-E-01, F-E-02, F-E-03 |
| G3. 同意フロー実装レビュー | 学習者の明示的同意取得、撤回フローを法務・UX観点で確認 | 全機能 |
| G4. 一貫性スコア ゲート | ロジック/重み/表示文言/異議申立フローを法務・倫理観点でレビュー | F-A-04 |
| G5. データ保持・削除 | 保持期間・削除請求対応SLAを規程化 | 全機能 |
8. 既知のドラフト制約
- 本ドラフトは M1(設計フェーズ)用の仮固定であり、Q1〜Q9 および G1〜G5 の確定後に更新する
- 営業資料として利用する場合は、In-scope/Out-of-scope と Open Questions、未充足ゲートを必ず併載する