h-1.flutter.4/docs/requirements.md
joe a66d5254e0 feat: 要件定義書・プロジェクト計画書・README を作成しました
- docs/requirements.md: 機能要件、非機能要件、アーキテクチャの定義
- docs/project_plan.md: フェーズ別タスク、チーム組織、リスク管理、マイルストーン
- README.md: ドキュメントへのリンク追加と更新ポリシー明記
2026-03-07 14:09:43 +09:00

190 lines
No EOL
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 販売アシスト 1 号「母艦お局様」 - 要件定義書
## 1. プロジェクト概要
|項目|内容|
|---|---|
|**プロジェクト名**|販売アシスト 1 号 |
|**コードネーム**|母艦「お局様」|
|**コンセプト**|オフライン単体で見積・納品・請求・レジ業務まで完結 → クラウド同期オプション|
|**技術スタック**|Flutter + SQLite + Google エコシステム|
---
## 2. 機能一覧
### 2.1 マスタ管理(完了済み)
- [x] 商品マスタ
- [x] 得意先マスタ
- [x] 仕入先マスタ
- [x] 倉庫マスタ
- [x] 担当者マスタ
### 2.2 販売管理機能
#### 短期計画1-3 ヶ月)
|機能|優先度|ステータス|
|---|---|---|
|見積入力画面|High|[ ] TODO: 実装|
|受注入力画面|Medium|[ ] TODO: 実装|
|売上入力画面|High|[x] 完了|
|請求作成画面|High|[ ] TODO: 実装|
|返品処理画面|Low|[ ] TODO: 実装|
|領収書作成画面|Low|[ ] TODO: 実装|
#### 中期計画3-6 ヶ月)
|機能|優先度|備考|
|---|---|---|
|在庫管理モジュール|Medium|既存マスタと連携|
|販売日報/月報|Medium|管理画面向け|
|顧客ポータル|Low|Web 版との連携予定|
### 2.3 レジ業務(完了済み)
- [x] POS システム実装
- [x] キャッシュ・カード決済対応
- [x] 領収書発行機能
- [x] レシート出力機能
### 2.4 クラウド同期オプション(未着手)
|機能|優先度|備考|
|---|---|---|
|Google アカウント連携|High|Gmail/Drive 統合|
|リアルタイムデータ同期|Medium|Conflict resolution|
|オフラインモード切り替え|Low|バッテリー最適化|
---
## 3. 非機能要件
### 3.1 パフォーマンス
- **起動時間**: 最大 2 秒以内(冷スタート)
- **処理応答**: UI 操作からレスポンスまで 50ms 以内
- **同期サイクル**: デフォルト 60 分、手動トリガー機能
### 3.2 互換性
- **Android**: API レベル 21+ (Android 5.0+)
- **Google Play 版**: AARL 制限あり(サーバー経由認証)
- **iOS**: 対応予定(後日検討)
### 3.3 セキュリティ
- 機密データ暗号化AES-256
- Google API トークンローテーション
- SSL/TLS 通信の強制
---
## 4. アーキテクチャ要件
### 4.1 レイヤー構成
```
┌──────────────┐ ┌──────────────┐
│ UI Layer │◄──►│ Service Layer │
│ (Screens) │ │ (BFF) │
└──────────────┘ └──────────────┘
┌──────────────┐ ┌──────────────┐
│ Data Layer │ │ External │
│ (SQLite + │◄──►│ Services │
│ Cache) │ │ APIs │
└──────────────┘ └──────────────┘
```
### 4.2 データベース要件
- **形式**: SQLite
- **バージョン管理**: MIGRATIONS ファイルで管理
- **同期ログテーブル**: `sync_metadata` に保存
- **クォリアティチェック**: アプリ起動時に DB コンテンションテスト
---
## 5. インテグレーション要件
### 5.1 Google エコシステム連携
- [ ] Google Sign-In (OAuth2)
- [ ] Gmail API (メッセージ/ドラフト同期)
- [ ] Google Drive (ファイル保存・共有)
- [ ] Firebase Analytics (利用動向分析)
- [ ] Crashlytics (エラー追跡)
### 5.2 外部サービス連携
- | サービス | 目的 | ステータス |
|---|---|---|
| LINE Notify | 通知配信 | ✅ 完了 |
| Google Calendar | イベント連携 | ❌ 未着手 |
| Google Forms | アンケート収集 | ❌ 検討中 |
---
## 6. 開発プロセス要件
### 6.1 コード品質管理
- **Linting**: `flutter lint` でエラー回避
- **フォーマット**: `dart format --set-exit-if-changed`
- **テストカバレッジ**: Minimum 70%
- **CI/CD**: GitHub Actions で自動ビルド・デプロイ
### 6.2 ドキュメント管理
|ドキュメント|更新頻度|担当者|
|---|---|---|
|README.md|変更時|開発者全員|
|APISpec.md|API 変更時|Backend エンジニア|
|UI_Guide.md|デザイン変更時|Design Engineer|
### 6.3 環境管理
```bash
# 必須ツールリスト
- Flutter SDK ≥ 3.19
- Android SDK (API 21+)
- Google Cloud Console プロジェクト
- Firebase プロジェクト設定済み
```
---
## 7. デプロイメント要件
### 7.1 アプリストア対応
- [ ] Google Play: AARL 制限クリア(サーバー認証)
- [ ] Deep Link 登録(`app://://...`
- [ ] APK ファイル署名管理
### 7.2 バージョン管理ポリシー
```yaml
# semver コマンドライン
version_major | version_minor | version_patch
1 | 0 | 0 # 初期リリース
1 | 1 | 0 # マイナー機能追加
1 | 0 | 1 | バグ修正のみ
```
---
## 8. 今後のロードマップQ1-Q2 2026
### Q1 2026現在 ~4 ヶ月後)
- [ ] レジ業務の売上入力画面改善
- [ ] クラウド同期機能の開発開始
- [ ] Google Play 版リリース準備
### Q2 2026
- [ ] iOS 版の調査・検討開始
- [ ] CRM モジュールの導入評価
- [ ] リモートサポート機能の実装
---
## 9. 承認事項
|項目|担当者|承認日|備考|
|---|---|---|---|
|要件定義書最終版|開発リーダー|2026/03/07|上記内容を承認|
|技術スタック選定|CTO|2026/03/05|Flutter 採用決定|
**承認者**: 管理母艦「お局様」
**最終更新**: 2026/03/07
**バージョン**: 1.0 (Initial Release)