はじめに
皆さんこんにちは。
QiitaのイベントでCodeAGIというものを使用しています。
前回の投稿までで設計書と定義書について記事を投稿しました。
今回は実際にこれらの書類を作成してみます。
今回作成したのは「テーブル定義書指定」と「機能設計書指定」に読み込むエクセルファイルのみとなります
今回作成(自動生成させる)するアプリケーションについて
今回CodeAGI触ってみるにあたって、簡単なタスク管理アプリを作成してみたいと思います。
ユーザーがログインをしてプロジェクトを選択し、その中にあるタスクを閲覧・編集するアプリケーションです。
今回のために片手間で作成したものなので、(ChatGPTに生成させた)アプリとしての詳細はがばがばですがご了承ください。
テーブル設計書
テーブル定義書は自動生成するアプリケーションに定義するデータテーブルを表現したものです。
複雑なSQL 複数のテーブルの結合ができることが強みのようです。
テーブル定義書の中身は論理名や物理名、データの型、PK,FK,NOT NULL制約(必須かどうか)などを記入することができ、しっかりと設計されたデータテーブルを記入することでAIが誤解なくデータテーブルを出力することがでます。
作成したテーブル定義書
テーブル設計書の中には以下のような定義書を作成しました。
![]() |
![]() |
今回使用したテーブル定義書は、公式サイトからダウンロードできるテンプレートにテーブルを記述していきました。
このようにデータ定義を決められたフォーマットに則って作成することで何を記入すれば良いか迷わなくてありがたいです。
もちろんこれらのフォーマット以外でテーブル定義書を作成してもよいですが、テーブル定義に関しては基本的に書くべき内容は同じなので大きな違いは出ないと思います。
論理名やPK,FKなどを明確に表現できていれば問題ないと思います。
画面設計書
今回は機能種別を「画面」で作成したので、画面設計書はマニュアルにある通り「画面の項目定義書」、「データ編集定義書」、「アクション定義書」を作成します。
ここで、各定義書(マニュアル内では設計書と書いてある)に書くような内容は以下の通りです。
設計書 | 設計書の説明 |
---|---|
画面の項目定義書 | 画面の項目(object)を定義しその項目のI/Oやデータ期限、バリデーションチェックを定義する設計書 |
データ編集定義書 | データベースのテーブルに対してプログラム中から書き込む要領を定義した設計書 |
アクション定義書 | アクション単位(ボタンやアンカー等)のプログラムの処理⼿順を記述した設計書 |
※定義書なの?設計書なの?マニュアル内で用語を統一してほしい、、、
、、、とありますが、画面の項目定義書は何を書けば良いかいまいちピンと来なかったです。
なので、公式からダウンロードできるサンプルをもとに画面定義書として画面のイメージを張り付けこととしました。
以下に作成した一例を添付します。
ログイン画面の定義書
画面定義書 | 項目定義書 | アクション定義書 |
---|---|---|
![]() |
![]() |
![]() |
プロジェクト一覧画面の定義書
画面定義書 | 項目定義書 | アクション定義書 |
---|---|---|
![]() |
![]() |
![]() |
このようにログイン画面
、新規登録画面
、プロジェクト一覧画面
、タスク一覧
、タスク画面
を作成しました。
ここで書かれる内容はアプリケーションの実態、すなわち「分析~設計」フェーズで行われる内容をもとに出力される内容となっています。
よって、システム設計書などで各社ごとにフォーマットが異なり最も自由度が高い内容となると思います。
今回はサクっと触ってみるつもりで書いたので適当な内容ですが、実務で使用する場合はしっかりと設計されたシステムのフローやユーザーとのインタラクションが記述されることになると思います。
※UMLで書かれたアクティビティ図やシーケンス図なんかもアクション定義書として使用できたらよさそう
(今回は試していません。)
最後に
CodeAGIで使用する設計書・定義書を作成しました。
次回はこれを実際にCodeAGIに読み込み、コード生成までを実施したいと思います。