
インタラクティブ要件定義アシスタント
対話を通じてシステム要件を段階的に明らかにするAIエージェントです。JSON形式で構造化されたプロンプトに基づき、ユーザーの意図を正確に捉え、包括的な要件仕様書を作成します。アスキーアートやPlantUMLによる視覚化、動的な質問、柔軟なフィードバックメカニズムが特徴です。
投稿日時:
- プロンプト実行例
- プロンプトを見る
こんにちは!私はあなたのシステム開発をサポートするAI、System Analyst AIです。今日のゴールは、あなたのシステムの明確な要件定義書を作成することです。まずは、あなたのシステムに対するビジョンを少しお聞かせいただけますか?
WEB日記をつくりたい
それは素晴らしいプロジェクトですね!WEB日記を作成するために、どのような機能や目的を考えていますか?まず、システムのコンテキストと目標についてお聞かせくださいますか?
- あなたのWEB日記の中心的な目的は何ですか?どのような問題を解決し、またはどのような機会をつかみますか?
- タスクの自動化
- 効率の向上
- ユーザーエクスペリエンスの向上
- ビジネス機会の開拓
- その他
どのような目的でこのWEB日記を作りたいと考えていますか?
まずあなたが適当に決めて進めて
わかりました。それでは、WEB日記の一般的な目的から始めましょう。それが、ユーザーが日々の出来事や考えを記録し、整理するための日記プラットフォームの開発であると仮定して進めますね。
システムコンテキストと目標
- 目的: ユーザーが日記を簡単に入力し、過去のエントリーを閲覧し、整理できることを目的とします。また、プライベートな日記とシェア可能なエントリーを区別できるシステムを目指します。
- 主なユーザー: 一般ユーザー、ジャーナル愛好家、特定のイベントやプロジェクトの記録を保つ必要性がある個人。
次に、システムの機能要件を考えていきましょう。WEB日記が提供すべき中心的な機能についてお聞かせください。または一般的な機能から始めることもできますが、どうでしょうか?
- 中心的な機能: ユーザーが実行できる主なタスクは以下の通りです。
- 情報検索
- データ作成と編集(新しい日記エントリーを書く)
- トランザクション処理(例:エントリーの保存と削除)
- その他
この中から一緒に機能を決定するか、特定の機能について提案いただけますか?
適当に進めて
承知しました。それでは、一般的なWEB日記システムの機能要件を仮定して続けます。
機能要件
-
日記エントリーの作成と編集:
- ユーザーは新しい日記エントリーを作成し、テキストエディタを使用して内容を編集できるようにします。
- 日記にはタグやカテゴリを付け加えて整理することができる。
-
エントリーの管理:
- ユーザーは過去の日記エントリーを閲覧、検索、編集、削除できる。
- 特定の日付やタグでエントリーをフィルタリングできる機能を提供する。
-
プライバシーと共有:
- 日記エントリーはプライベートまたはパブリックに設定できる。
- パブリックエントリーは、一部のユーザーや全ユーザーと共有するためのリンクが生成できる。
次に、WEB日記の非機能要件を検討しましょう。どのようなパフォーマンス基準や制約が重要だと考えますか?ここで一般的な非機能要件も挙げてみます。
非機能要件
-
優れたユーザビリティ:
- 直感的なユーザーインターフェースを設計して、ユーザーが簡単にナビゲートできるようにします。
-
プライバシーとセキュリティ:
- ユーザーのエントリーは安全に保管され、アクセス制御を実装して、許可されたユーザーのみが閲覧できるようにします。
-
スケーラビリティ:
- システムは、ユーザー数の増加に対応できるようなスケーラブルな設計を取り入れる。
これらの要件に基づいて、システムの設計を進めていきましょう。システムアーキテクチャと設計について、どのように構築することを考えていますか?
任せる
それでは、WEB日記システムの例として一般的なシステムアーキテクチャの構造を仮定して進めます。
システムアーキテクチャ
-
ウェブベースアプリケーション:
- クライアントサイド: フロントエンドはReactまたはVue.jsなどのモダンなJavaScriptフレームワークを使用し、直感的でレスポンシブなユーザーインターフェースを提供します。
- サーバーサイド: バックエンドはNode.jsやDjangoを使用し、RESTful APIを提供してフロントエンドと通信します。
-
データベース:
- エントリーやユーザー情報の管理には、PostgreSQLやMySQLを使用する。
- エントリーには全文検索の機能を提供するためにElasticsearchの統合を検討します。
-
セキュリティ:
- ユーザーアカウント管理と認証には、OAuth 2.0やJWT(JSON Web Token)を使用。
以下のような簡単なシステムアーキテクチャ図で表現できますが、こちらは文章での説明となります。詳細な図やコード構造は別途設計可能です。
データモデル
次に、システム内で扱う主要なデータエンティティを考えていきましょう。
-
ユーザー:
- 属性: ID、名前、メールアドレス、パスワード、プロフィール画像。
- メソッド: authenticate()、updateProfile()。
-
日記エントリー:
- 属性: ID、タイトル、日付、コンテンツ、タグ、公開状態。
- メソッド: createEntry()、updateEntry()、deleteEntry()。
これらの要素をもとに、次のステップでユースケースとシステムインタラクションを考えます。主要なユースケースとユーザーインタラクションをどのように設計するか、どのようなシナリオが考えられますか?また、具体的なユースケースを追加したい場合はお知らせください。
任せる
了解しました。それでは、WEB日記システムの主要なユースケースを仮定して進めます。
ユースケース
-
日記エントリーの作成
- ユーザーは新しい日記を作成し、内容を入力して保存できます。
- エントリーにはプライベートまたはパブリックの設定が可能。
-
日記エントリーの編集および削除
- ユーザーは過去のエントリーを編集または削除できます。
-
日記の検索と閲覧
- ユーザーは過去の日記エントリーを日付やタグでフィルタリングして検索できます。
-
ユーザーの登録とログイン
- 新しいユーザーはアカウントを作成し、既存のユーザーはログインして日記にアクセスできます。
-
エントリーの共有
- パブリックエントリーはリンクを生成して他のユーザーと共有可能。
インタラクションフローの視覚化
以下は、日記エントリーの作成と編集におけるインタラクションの簡単なシーケンス図の例です(文章のみでの説明):
-
ユーザーはログインする
- システムはユーザー資格情報を検証し、ダッシュボードを表示する。
-
ユーザーは新しいエントリーを作成する
- ユーザーはタイトルとコンテンツを入力し、保存ボタンをクリックする。
- システムはデータベースにエントリーを保存し、ユーザーに確認メッセージを表示。
-
エントリーを編集または削除する
- ユーザーは特定のエントリーを選択し、編集または削除アクションを実行。
- システムは変更をデータベースに反映し、更新された情報を表示。
次に、システムのファイルとフォルダの構造について考えましょう。どのように設計することが望ましいか提案いたします。
任せる
了解しました。それでは、WEB日記の一般的なファイルとフォルダ構造を提案いたします。この構造はReactフロントエンドとNode.jsバックエンドを使用する想定で設計しています。
ファイルとフォルダの構造
1my-web-journal/ 2│ 3├── client/ # フロントエンド関連 4│ ├── public/ 5│ │ ├── index.html # メインHTMLファイル 6│ │ └── favicon.ico 7│ │ 8│ ├── src/ 9│ ├── components/ # Reactコンポーネント 10│ │ ├── Header.js # ヘッダーコンポーネント 11│ │ ├── EntryList.js # 日記エントリーリストコンポーネント 12│ │ └── EntryEditor.js # 日記エントリー編集コンポーネント 13│ │ 14│ ├── pages/ # ページコンポーネント 15│ │ ├── HomePage.js # ホームページ 16│ │ ├── LoginPage.js # ログインページ 17│ │ └── ProfilePage.js # プロフィールページ 18│ │ 19│ ├── App.js # アプリケーションのメインコンポーネント 20│ ├── index.js # エントリーポイント 21│ └── styles/ # スタイルシート 22│ ├── App.css 23│ └── Entry.css 24│ 25├── server/ # バックエンド関連 26│ ├── models/ # データベースモデル 27│ │ ├── userModel.js 28│ │ └── entryModel.js 29│ │ 30│ ├── routes/ # エンドポイントルーティング 31│ │ ├── authRoutes.js 32│ │ └── entryRoutes.js 33│ │ 34│ ├── controllers/ # コントローラーロジック 35│ │ ├── authController.js 36│ │ └── entryController.js 37│ │ 38│ ├── config/ # 設定ファイル 39│ │ └── db.js # データベース設定 40│ │ 41│ ├── middleware/ # ミドルウェア 42│ │ └── authMiddleware.js # 認証ミドルウェア 43│ │ 44│ ├── server.js # エントリーポイント 45│ └── package.json # Node.js依存関係管理 46│ 47└── README.md # ドキュメント用ファイル
この構造は、プロジェクトを整理しやすくし、各部分が特定の責務を持って分かれているため、拡張性と可読性を向上させます。
この構造があなたのニーズに合っているか、または何か追加や変更が必要かどうかを教えてください。どの部分についてさらに詳しく説明するか、他のサポートや情報が必要かどうかお知らせください。
変更不要
素晴らしいです!それでは、これまでに設計した内容に基づいて、WEB日記システムの要件仕様書をまとめて提供いたします。
WEB日記システム要件仕様書
1. システム目標
ユーザーが日々の出来事や考えを記録し、整理することを簡単に行えるウェブプラットフォームを提供する。
2. システムの目的
ユーザーが日記を作成・編集し、過去のエントリーを閲覧・管理できる。また、プライバシーと共有のオプションを提供する。
3. 機能要件
3.1. 日記エントリーの作成と管理
- ユーザーは新しい日記エントリーを作成し、タグやカテゴリを付けることができる。
- エントリーはプライベートまたはパブリックに設定可能。
3.2. 検索と閲覧
- 日記エントリーを日付やタグでフィルタリングして検索できる。
- 過去のエントリーを編集または削除する機能。
4. 非機能要件
4.1. ユーザビリティ
- 直感的でレスポンシブなインターフェースを提供。
4.2. セキュリティ
- エントリーは安全に保管され、適切なアクセス制御が実装される。
4.3. スケーラビリティ
- 増加するユーザー数に応じて拡張可能なアーキテクチャを持つ。
5. システムアーキテクチャ
5.1. ウェブベースアプリケーション
- クライアントサイドにReact、サーバーサイドにNode.jsを使用。
- データベースとしてPostgreSQLを採用。
6. データモデル
ユーザー
属性: ID、名前、メールアドレス、パスワード、プロフィール画像。
日記エントリー
属性: ID、タイトル、日付、コンテンツ、タグ、公開状態。
7. ユースケース
7.1. 日記エントリーの作成
- ユーザーがタイトルと内容を入力して保存するプロセス。
8. ファイルとフォルダの構造
1my-web-journal/ 2├── client/ 3│ ├── public/ 4│ ├── src/ 5│ ├── components/ 6│ ├── pages/ 7│ ├── App.js 8│ ├── index.js 9│ └── styles/ 10├── server/ 11│ ├── models/ 12│ ├── routes/ 13│ ├── controllers/ 14│ ├── config/ 15│ ├── middleware/ 16│ ├── server.js 17│ └── package.json 18└── README.md
9. 追加の注意事項
特記事項なし。
ご確認ください。もし修正や追加が必要な箇所があれば、いつでもお知らせください。それ以外に何かサポートが必要であれば、お気軽にお知らせください!
コメント 0
他のプロンプトもチェック
GPTs
物語・脚本・プロット
GPTsを使って魔法ファンタジーの世界観で恋愛冒険ロールプレイングゲーム「王立魔法大学へようこそ!」の女性版です。新入生として素敵な男子学生達と恋と冒険物語を楽しみましょう! ゲームの紹介note https://note.com/utahito_ut/n/n897be062f554?magazine_key=mc16301e180a8 ゲームの遊び方 ・オープニングを始める、でオープニングからスタートします。 ・心の声を聴くことで、学生の心の動きを知ることができます。 ・AIは忘れたり、誤解も起こすため、指摘して訂正してもらいましょう。 ・特にゲーム中の画像出力は設定していません。画像はお好みのタイミングで要求してください。各学生のイメージも参考として載せましたが、プレイヤーの好みに合わせたスタイルで出力した方が楽しめると思います。 ・非常に自由度は高いです。作りたいシーンを積極的に提示してみてください。サンプルシーンを参考にしてみてください。 ・ChatGPTの性質上、女性が望むような能動的な行動を感じにくいかもしれません。でも、自分からグイグイ行くのってはしたないですよね?「どなたからかお誘いがありますか?」と尋ねると関係の取れている相手から誘いがあると思います。してもらいたい事にうまく誘導してあげましょう。 ・関係が深まって、付き合うことになった場合にエンディングの指示をしていますが、機能しないこともあります。「エンディングにはならないのですか?」と聞いてみると、状況を説明してくれます。 ・長いゲームになると設定を忘れたりすることもありますし、キャラクターの口調も崩れてきたりします。その場合、「キャラクターの設定を再確認してください」と要求してください。再確認し、同一性を維持します。 ・あなた好みの学生を追加することも出来ます。「私好みの新しい学生を創って」といった指示で好みの性格や容姿、種族などの設定を加えて求めれば、生成されます。 ・恋愛対象相手との関係はどこまででも深められます。(当然GPTのコンプライアンスポリシー内ですが)204106GPTs
計画立案
「目標は立てたのに、具体的な行動が見えない…💦」そんな悩みを解決します✨ ✨たった3つの質問に答えるだけで、【○年後の理想像】を実現するための具体的なタスクをAIが自動作成✨😊 最短で理想の自分を実現しましょう🎯 使い方はカンタン! 0.「スタート」を押す 1.○年後の理想の状態を入力(例:2年後、カフェのオーナーになり月の売上が100万円を超えている) 2.その理想に向けて、今の自分の強みを入力 3.その理想に向けて、今の自分の課題を入力 ↓ ✅AIが【長期・中期・短期(今月・今週)の行動計画】を生成✨✨ ✅AIが【毎月の行動計画】を生成✨ ✅AIが【今月の行動計画】【今週のタスク】を生成✨ 短いタスクだから、すぐに取り掛かれます! 【ポイント】 ・各設問は、できるだけ具体的に入力してみましょう。よりあなたの目標に沿ったタスクを提案します。 ⇒【問1.理想の状態】は、具体的な数字(年数・収入)や職業を入れましょう! ⇒【問2.あなたの強み】【問3.あなたの課題】は、思いつくままに羅列してください。何個入れてもOK!あなたにピッタリ寄り添うサポーターになります。 ・ 「はじめ」と入力したら、最初から計画を練り直せます🔄 一度使って終わりじゃない!!使い続けることで、目標達成まであなたも私をもサポートし続けてくれてます💓 今、自分自身が一番助けられています😊作ってよかった!! 【○年後の理想像】に最速で進み、達成しましょう✨あなたもご一緒に♪ 🎯 #目標達成 #行動計画 #不安解消 #ナビゲーター #ゴールへの第一歩136147469