【AI相談ログ】TODO管理アプリの要件定義を例に

Prompt

先の設計フェーズを書き換えた。

### 1. **設計**

   1. **要件定義**
      - **作業の根拠となるソース**: 議事録やIssueで話し合った結果、メモ書き、先行事例等
      - **作成方法**: Wikiページを直接生成する。
      - **成果物**: 要求定義書、要件定義書
      - **保存場所**: Wiki
   
   2. **技術設計**
      - **作業の根拠となるソース**: 要求定義書、要件定義書および「型」。型=「言語を決めねばならない。インフラを決めねばならない。等」
      - **作成方法**: Wikiページを直接生成する。
      - **成果物**: 開発ポリシー、基本設計(技術選定(プログラミング言語、フレームワーク、ライブラリ)、アーキテクチャ設計(API設計、データベース設計、システム構成)機能一覧、開発方法(ブランチ設計DevとかstgとかFeatureとか、ブランチ戦略たとえばgitflowとか、標準設計方針(モジュールでフレームワーク使うな、ディレクトリはこうしろ、ライブラリはこれ使えロギングはこれだエラー処理はこうしろ等)
      - **保存場所**: Wiki

   3. **ブレイクダウンしてタスクを作成する**
      - **作業の根拠となるソース**: 要求定義書、要件定義書、機能一覧、開発ポリシー
      - **作成方法**: 昨日を細分化してタスクにし、それをAIで行うわけだが、ghコマンドを実行してIssueを作成
      - **成果物**: タスクを記したIssue、Issueを登録したプロジェクト
      - **保存場所**: Issue、プロジェクト

上記を踏まえ、特に下記のうち成果物の具体例を生成してくれ。例に使うのは「TODO管理アプリケーション」だ。

   1. **要件定義**
      - **作業の根拠となるソース**: 議事録やIssueで話し合った結果、メモ書き、先行事例等
      - **作成方法**: Wikiページを直接生成する。
      - **成果物**: 要求定義書、要件定義書
      - **保存場所**: Wiki

Response

「TODO管理アプリケーション」を例にした要求定義書要件定義書の具体例を生成します。


1. 要求定義書(TODO管理アプリケーション)

プロジェクト名: TODO管理アプリケーション

目的

  • 日常のタスクを簡単に管理するためのアプリケーションを作成する。
  • ユーザーがタスクの作成、編集、削除を行い、進捗状況を追跡できる。
  • シンプルで直感的なUIを備え、どのデバイスでも使用可能なWebアプリケーションとする。

対象ユーザー

  • 個人でのタスク管理を効率化したいビジネスパーソン、学生など
  • 多数のタスクを一括管理したいプロジェクト管理者

機能概要

  1. タスク管理機能

    • ユーザーは新しいタスクを作成できる。
    • タスクにはタイトル、内容、期限を設定できる。
    • タスクの進行状況(未完了/完了)を変更できる。
    • タスクの優先度(高/中/低)を設定できる。
  2. ユーザー管理機能

    • ユーザーごとにアカウントを作成し、ログイン/ログアウト機能を提供。
    • ユーザーのタスクデータを個別に保存する。
  3. 通知機能

    • タスクの期限が近づいたら、ユーザーに通知を送信。
  4. データの永続化

    • タスクデータはクラウド上に保存され、いつでもアクセス可能。

成功基準

  • ユーザーが日常的にタスク管理を行い、タスクの進捗が適切に追跡される。
  • スマートフォンタブレット、PCのいずれからもスムーズに操作できる。
  • ユーザー数が一定数に達した時点で、遅延なく動作するシステムとなる。

2. 要件定義書(TODO管理アプリケーション)

プロジェクト名: TODO管理アプリケーション

機能要件

  1. タスク管理

    • 機能概要: ユーザーはタスクを追加、編集、削除できる。
    • 詳細要件:
      • タイトル(文字列、最大100文字)
      • 内容(文字列、最大500文字)
      • 期限(日時、カレンダー形式で選択)
      • 状態(未完了/完了のステータス)
      • 優先度(高/中/低)
    • データ保存方法: タスクデータはクラウドデータベースに保存し、ユーザーごとに紐付ける。
  2. ユーザー管理

    • 機能概要: ユーザーはアカウントを作成し、ログイン/ログアウトができる。
    • 詳細要件:
      • ユーザー登録には、メールアドレスとパスワードが必要。
      • パスワードは暗号化して保存すること。
      • ユーザー情報の編集、削除が可能。
  3. 通知機能

    • 機能概要: タスクの期限が近づいたら、メールまたはプッシュ通知を送信する。
    • 詳細要件:
      • 通知の送信タイミングはタスクの期限1日前とする。
      • 通知方法はユーザーがメールまたはプッシュ通知のどちらかを選択できる。
  4. レスポンシブデザイン

    • 機能概要: デバイスに依存せずに快適に操作できるUIを提供。
    • 詳細要件:

非機能要件

  1. パフォーマンス

    • 1秒以内にタスクの操作(追加、編集、削除)が完了すること。
    • 同時に100人のユーザーがアクセスしてもシステムが安定して動作すること。
  2. セキュリティ

    • パスワードは暗号化して保存し、第三者がアクセスできないようにする。
    • ユーザーごとのタスクデータが他のユーザーに閲覧されないように適切な認証を行う。
  3. 拡張性

    • 今後の機能追加に備えて、モジュール化された設計とする。
    • 新しいタスク属性や通知方法を柔軟に追加できるアーキテクチャを採用する。

このように要求定義書と要件定義書はプロジェクトの進行において重要な基盤となります。これらのドキュメントをGitHub Wikiに保存し、チームで共有しながら開発を進めることで、作業の一貫性を保つことができます。