← 成果物一覧に戻る

非機能要件定義書

Version 1.0.0  |  プロジェクト: PropCloud - 賃貸管理クラウド

PropCloud - 非機能要件定義書

> **バージョン**: 1.0.0

> **作成日**: 2026-03-19


1. パフォーマンス要件

項目要件
ページ初期表示3秒以内(3G回線除く)
API応答時間95パーセンタイルで500ms以内
一覧表示1,000件のリスト表示を2秒以内
帳票生成単票5秒以内、一括(100件)60秒以内
CSV出力10,000件のデータエクスポートを30秒以内
消込処理1,000件の一括消込を60秒以内
検索応答フリーテキスト検索1秒以内
同時接続テナントあたり100同時接続を想定
バッチ処理月次請求データ生成(5,000件)を5分以内

2. 可用性要件

項目要件
SLA99.9%(月間ダウンタイム43分以内)
計画メンテナンス月1回、深夜2:00-4:00(事前通知)
障害復旧目標(RTO)4時間以内
データ復旧目標(RPO)1時間以内
バックアップ日次フルバックアップ + リアルタイムレプリケーション
バックアップ保持期間30日間
リージョンAWS 東京リージョン(ap-northeast-1)
マルチAZRDS Multi-AZ、ECSマルチAZ配置

3. セキュリティ要件

3.1 認証・認可

項目要件
認証方式メール + パスワード(最低12文字)
二段階認証TOTP(Google Authenticator等)対応必須
パスワードポリシー英大文字・小文字・数字・記号を各1文字以上含む
セッション管理24時間で自動ログアウト、無操作30分でタイムアウト
アカウントロック10回連続失敗で30分ロック
RBACロールベースアクセス制御(最低6ロール)

3.2 データ保護

項目要件
通信暗号化TLS 1.2以上(TLS 1.3推奨)
保存時暗号化AES-256(AWS KMS管理)
PII保護個人情報は暗号化カラムに格納
テナント分離論理分離(Row Level Security)
監査ログ全操作をイミュータブルに記録(最低1年保持)
CSRF対策CSRFトークン必須
XSS対策Content-Security-Policy, 入力サニタイズ
SQLインジェクションパラメータバインディング必須

3.3 コンプライアンス

項目要件
個人情報保護法準拠(個人情報取扱規程策定)
電子帳簿保存法準拠(タイムスタンプ・検索要件)
OWASP Top 10全項目対策済み
脆弱性スキャン月次実施
ペネトレーションテスト年次実施

4. スケーラビリティ要件

項目要件
テナント数初期100テナント → 最大1,000テナント
総管理戸数初期50,000戸 → 最大500,000戸
ストレージテナントあたり初期5GB、最大100GB
水平スケーリングECS/Fargate Auto Scaling対応
DB分離テナント増加に応じたシャーディング検討
CDNCloudFront経由の静的アセット配信

5. 運用・保守要件

5.1 監視

項目要件
インフラ監視CloudWatch(CPU、メモリ、ディスク)
アプリケーション監視APMツール(Datadog/New Relic相当)
エラー監視Sentry等によるリアルタイムエラー通知
ログ管理CloudWatch Logs + S3長期保存
アラート通知Slack/PagerDuty連携
ヘルスチェック1分間隔

5.2 デプロイ

項目要件
デプロイ方式CI/CDパイプライン(GitHub Actions → CodePipeline)
デプロイ頻度週次リリース(ホットフィックスは随時)
ブルーグリーンデプロイダウンタイムゼロデプロイ対応
ロールバック1コマンドで前バージョンに戻せること
ステージング環境本番と同等構成のステージング環境必須

5.3 データ管理

項目要件
マイグレーションゼロダウンタイムDBマイグレーション
テナントデータエクスポート全データのCSV/JSON一括エクスポート
テナントデータ削除解約時のデータ完全削除機能
データ保持期間契約中は無期限、解約後90日で削除

6. 技術スタック

6.1 フロントエンド

項目技術
フレームワークNext.js (App Router)
言語TypeScript
UIライブラリshadcn/ui + Tailwind CSS
状態管理Zustand / TanStack Query
フォームReact Hook Form + Zod
テーブルTanStack Table
チャートRecharts
アニメーションmotion/react
アイコンLucide React

6.2 バックエンド

項目技術
フレームワークNext.js API Routes / tRPC
言語TypeScript
ORMPrisma
DBPostgreSQL (AWS RDS)
キャッシュRedis (ElastiCache)
ジョブキューBullMQ (Redis)
ファイルストレージAWS S3
メール送信Amazon SES / SendGrid
PDF生成Puppeteer / React PDF

6.3 インフラ

項目技術
コンテナDocker + ECS Fargate
CDNCloudFront
DNSRoute 53
SSLACM
IaCAWS CDK / Terraform
CI/CDGitHub Actions + CodePipeline
シークレット管理AWS Secrets Manager / SSM Parameter Store

6.4 テスト

項目技術
ユニットテストVitest
E2EテストPlaywright
APIテストSupertest / Vitest
コードカバレッジ80%以上

7. 国際化・ローカライズ

項目要件
初期対応言語日本語
i18n基盤next-intl導入(将来の多言語対応を考慮)
日付フォーマット和暦/西暦切り替え対応
通貨日本円(¥表記)
タイムゾーンJST(Asia/Tokyo)

8. アクセシビリティ

項目要件
WCAG準拠レベルAA
キーボードナビゲーション全機能をキーボードで操作可能
スクリーンリーダーaria-label等の適切な設定
コントラスト比4.5:1以上(テキスト)
タッチターゲット44px以上
フォントサイズ最小14px、ブラウザ拡大で崩れないこと

*PropCloud - 非機能要件定義書 v1.0.0*