はじめに
シーケンス図とは何か
シーケンス図は、オブジェクト間の相互作用を時間軸に沿って示すUMLの1つです。オブジェクト同士のやりとりを簡単に理解でき、開発においてコミュニケーションを効果的に行うために非常に重要です。
サンプル図
シーケンス図の作成の重要性
シーケンス図の作成は、システムの開発においてコミュニケーションの効率化や不具合の早期発見・修正に繋がります。システムの設計や開発に携わる人々が理解しやすい形で相互作用を表現できるため、開発効率や品質の向上に貢献します。
AIを利用したシーケンス図の作成方法
1. シーケンス図作成に必要なツールの選び方
シーケンス図を作成する際には、以下のようなツールを使用することができます。
- 専用のUMLツール
- ドローツール
- プログラミングエディタ
- AIとプログラミングエディタを併用する(chat GPT ・mermaidなど)
それぞれのツールには、メリット・デメリットがあります。専用のUMLツールを使えば、自動でシーケンス図を生成してくれる機能があったり、複数人で同時に編集できる場合があります。ドローツールは手軽に使えるため、初心者でも簡単に作成することができます。プログラミングエディタを使う場合には、コードと一緒にシーケンス図も作成することができるため、プログラマには向いています。
ツールの選び方には、自分が作成するシーケンス図の目的や作業環境、予算などを考慮する必要があります。また、無料版と有料版があるものもあるので、自分に合ったものを選ぶようにしましょう。
本記事で紹介する、AI (chat GPT) を利用する場合のメリットとしては、手動でシーケンス図を作成する手間が省けることが挙げられます。自然言語処理AIを使用すれば、要件を文章で入力するだけでシーケンス図を自動生成することができます。これにより、シーケンス図作成にかかる時間や手間を大幅に削減することができます。また、自動生成されたシーケンス図は精度が高く、プログラムの設計や開発において有用な情報を提供することができます。
本記事ではchat GPT + mermaidを用いた方法を紹介します。シーケンス図を描く他のプログラミングツールとしてはplantUMLが有名です(本方式を応用可能です)
2. AIを利用したシーケンス図の描き方の流れ
以下図に示すようなフローになります。一番ポイントとなる点は最初の「シーケンス図の要件を」文章で記述する。になります。AIへの伝え方がはっきりしていると、思ったような結果をすぐに得ることができます。
3. 1つの事例で実践
オンラインショッピングサイトを事例に作り方を説明していきます。
事例の要件もAIに考えてもらいます。
洋服のオンラインショッピングサイトのシーケンス図の要件で事例を1つ挙げてください
出力された要件は
1.ユーザーが商品の詳細ページにアクセスする
2.商品の詳細を確認する
3.カラーバリエーションやサイズの一覧を表示する
4.ユーザーが選択したいカラー・サイズを選択する
5.在庫数を確認する
6.カートに商品を追加する
となりました。ではこちらをMermaidのライブエディタサイトを使って可視化します。生成されたコードを「Code」に貼り付けましょう。瞬時にシーケンス図が生成されました。
シーケンス図があると非常にフローがわかりやすいですね。
ここで、より複雑な要件も加えてみます。服を販売している法人の管理画面を追加してみます。
上記のシーケンスに法人の管理画面操作も加えたいです。要件を作成してください
と指示すると
1.法人管理者がログインする
2.商品管理画面にアクセスする
3.商品一覧を表示する
4.商品を新規登録する
5.商品を編集する
6.商品を削除する
の要件が得られました。これを追加してシーケンス図を作ってもらいます。
上記を加えて再度シーケンス図をmermaidで記述してください
上記コマンドすると、再度シーケンス図を構築してくれました。
※ chat GPTには短期的な記憶領域があり、これまでの会話の流れを考慮して出力してくれます。たまに文脈を理解してくれないケースもありますが、その場合は指示を工夫する必要があります。
おわりに
まとめ
本記事では、AIを活用したシーケンス図の自動生成方法について解説しました。従来の手作業によるシーケンス図の作成には、時間や労力が必要でしたが、AIによる自動生成により、効率的な開発作業が実現できます。
今後の展望
今後の展望としては、AI技術の進化に伴い、より高度なシーケンス図の自動生成が期待されます。現在のChat GPTによるシーケンス図の生成には、一定の限界がありますが、GPT-4の登場により、より高度で正確なシーケンス図の生成が期待されます。図まで直接生成してくれるようになるかもしれないです。
AIによるシーケンス図の自動生成には、まだまだ課題が残されています。例えば、複雑なプログラムの場合、シーケンス図の自動生成がうまくいかないことがあります。今後の技術の進化によって、このような課題を解決し、より高度なシーケンス図の自動生成が実現されることを期待しています。
コメント