【プロンプト解説】ChatGPTとPlantUMLで要件定義からシーケンス図を作成する方法

ChatGPTを使用すれば、要件定義からすぐに本格的でわかりやすいシーケンス図を作成することができます。

シーケンス図を作成することで、仕様をわかりやすく説明したり、素早くタスク生成を行うことができます。

以下のプロンプトを使用し、結果をPlantUMLのこちらに貼り付けることで、画像が生成されます。

プロンプト

以下のプロンプトの赤字部分を修正して使用してください。

GPT-4にて検証済みです。

# 命令書:
あなたはプロのエンジニアです。
以下の制約条件をもとに[アプリケーション(要件定義概要)]のシーケンス図を出力してください。

# 制約条件:
・わかりやすく書いてください。
・日本人に読みやすくしてください。プログラム中の名称以外は日本語にしてください。
・外部のURLは含めないでください。
・[要件定義詳細]

# 出力形式:
PlantUMLに貼り付けることで、シーケンス図が作られる形式

# 出力文:

結果はこちらに貼り付けて画像を生成してください。

※ChatGPTがAWSのアイコンなどの外部URLを含めた結果を生成することがあり、これを貼り付けるとエラーになったため制約条件に追加しています。

実行例

今回はツイッターのクローンアプリのシーケンス図を出力しました。

プロンプト

# 命令書:
あなたはプロのエンジニアです。
以下の制約条件をもとに「ツイッターのクローンアプリ」のシーケンス図を出力してください。

# 制約条件:
・わかりやすく書いてください。
・日本人に読みやすくしてください。プログラム中の名称以外は日本語にしてください。
・外部のURLは含めないでください。
・ツイッターの主な機能をすべて再現してください。

# 出力形式:
PlantUMLに貼り付けることで、シーケンス図が作られる形式

# 出力文:

出力

@startuml

actor ユーザー as user

box "クローンアプリ" #LightBlue
  participant "ログインコントローラ" as login
  participant "ツイートコントローラ" as tweet
  participant "フォローコントローラ" as follow
  participant "検索コントローラ" as search
end box

database "データベース" as db

user -> login: ログイン情報
login -> db: ユーザー情報を確認
db --> login: ユーザー情報を返す
login --> user: ログイン成功

user -> tweet: ツイートする
tweet -> db: ツイートを保存
db --> tweet: 保存成功
tweet --> user: ツイート成功

user -> follow: フォローする
follow -> db: フォロー情報を更新
db --> follow: 更新成功
follow --> user: フォロー成功

user -> search: 検索キーワード入力
search -> db: 検索結果を取得
db --> search: 検索結果を返す
search --> user: 検索結果を表示

@enduml

このように、素早く本格的なシーケンス図を作成することができました。
あなたもこのプロンプトを使ったりカスタマイズしてシーケンス図を作ってみてください。