お客様の“あったらいいのに”の声でGeneXus設計書自動生成ツールをつくってみました!
―なぜこのツールを開発したのか
GeneXus(ローコード開発ツール)では、プログラム設計書を作成することはありません。
なぜなら、プロトタイプを確認しながら設計と開発を繰り返すアジャイル開発方式で進めるからです。
具体的には、インクリメンタル(徐々に増加)+イテレーション(反復、繰り返し)です!
しかし、日本のユーザーからは設計書が欲しいという要望が多く、それであれば「GeneXusに登録された情報(ナレッジベース)から設計書を自動で作ってしまおう!」という発想でウイングが本ツールを開発しました。
―ツールを使った設計書の作成
設計書自動生成ツールでは、GeneXusに定義した様々な情報が保存されているナレッジベース・データベースから情報を取得し、Excelドキュメントへ出力します。
ツールを使った設計書作成の手順をご紹介します。
①情報の取得元となるナレッジベース・データベースへの接続情報を設定します。
②GeneXusのインストールフォルダなど、ナレッジベース情報を取得するために必要な情報を本ツールの設定ファイル(テキスト形式)へ記述します。
③設計書生成時のオプション設定を設定ファイルへ記述します。
オプションは、設計書のExcelファイル名や設計書の種類です。
④設計書自動生成ツールを実行します。
GeneXus設計書生成ツールでは、次の種類の設計書が出力できます。
・フォルダ階層一覧
GeneXusナレッジベース内に定義されているフォルダ階層の一覧
・オブジェクト一覧
GeneXusナレッジベース内に定義されているGeneXusオブジェクトの一覧
・ドメイン一覧
GeneXusナレッジベース内に定義されているドメインの一覧
・トランザクション一覧
GeneXusナレッジベース内に定義されているトランザクションオブジェクトの一覧
・トランザクション定義書
トランザクションオブジェクトの定義詳細を、シート毎に出力
・詳細設計書
詳細設計書として、各種オブジェクトの定義詳細を出力します。
オブジェクトの基本情報(CRUDやパラメータ定義)や画面定義、参照定義などをExcelのシート別に出力します。
―設計書自動生成ツールをつくる楽しさ、苦労した点
楽しかった点は、解析、推測し取得した情報から、意図した情報が想定通りに設計書として生成できたときです。
解析が困難な情報でしたが、ツールが完成したときは大きな達成感を感じることができました。
また、完成した設計書生成ツールをGeneXus開発に携わるメンバーにレビューした時に、高い評価と今後期待する機能について意見交換ができたことです。
苦労した点の1つ目は、ナレッジベースのデータ構造やデータ間の関連性、使用される各種コード値を解析、推測して、設計書に必要な項目を出力する必要があったことです。
2つ目は、記述の方式が取り決められていないオブジェクト定義の情報から、処理開始から処理終了までを様々なパターンを想定しながら、出力情報を取得する方法を考える必要があった点です。
―今後の展望
現在、出力対象外となっているオブジェクト情報の出力や、設計書への出力情報の追加など、より機能を充実させ利便性の向上を図っていく予定です。
より多くのGeneXusエンジニアに設計書生成ツールをご利用いただきたいですね。
ウイングで一緒に「お客様の“あったらいいのに“」を創造してみませんか?