Forguncy開発者ガイド作成計画
DB2・PostgreSQL接続方式を考慮した再構成版

この文書は、Forguncy v10で企業内向け業務アプリケーションを開発する際の開発者ガイド作成計画です。特に、IBM DB2とPostgreSQLの接続方式の違いを前提に、開発標準・設計方針・実装ルールへ落とし込むことを目的とします。

A. 最終成果物の定義

1. 最終成果物の名称

Forguncy v10 開発者ガイド
― DB2参照・PostgreSQL更新を前提とした業務アプリ開発標準 ―

2. このガイドの目的

このガイドは、Forguncy v10で企業内向け業務アプリケーションを開発する際に、開発者ごとの実装方式のばらつきを防ぎ、誰が作っても同じ構造・同じ判断基準で開発できるようにするための標準である。

特に本ガイドでは、次のデータベース構成を前提条件として明示する。

データベース位置づけForguncyからの接続方針
IBM DB2既存基幹・参照系DB原則、Forguncyから直接接続しない。C# Web API経由で参照する
PostgreSQLForguncyアプリ用DB・更新系DBForguncyの外部DB/リンクテーブルとしてネイティブ接続する

3. 最重要方針

この開発者ガイドでは、データアクセス方式を以下のように統一する。

DB2        :参照専用。C# Web API経由でアクセスする。
PostgreSQL:Forguncyアプリの業務データ保存先として利用する。
Forguncy  :画面、入力、検索、ワークフロー、PostgreSQL更新、API呼び出しを担当する。

4. データアクセスの基本思想

Forguncy開発では、画面から直接すべてのDBを操作するのではなく、DBの役割に応じてアクセス方式を分ける。

データ種別標準方式
DB2の基幹データ参照C# Web API経由で取得
DB2との突合・大量検索C# Web APIまたはサーバー側バッチで処理
Forguncyアプリ内の登録・更新データPostgreSQLに保存
画面検索・一覧表示PostgreSQLを主対象とし、DB2参照が必要な場合はAPIで取得
一時取込データPostgreSQLのワークテーブルに保存
処理履歴・監査ログPostgreSQLまたは専用ログ基盤に保存
帳票出力履歴PostgreSQLに保存

5. このガイドで決めること

B. 開発者ガイドの目次案

1. はじめに

1.1 このガイドの目的

Forguncy開発を属人化させず、誰が作っても同じ方式で開発できるようにする。

1.2 対象システム

1.3 前提アーキテクチャ

利用者
  ↓
Forguncy画面
  ↓
PostgreSQL
  ↓
必要に応じて C# Web API
  ↓
DB2

1.4 データベース利用方針

DB用途更新可否接続方式
DB2既存基幹データ参照原則更新不可C# Web API経由
PostgreSQLForguncyアプリ用データ更新可Forguncy外部DB接続
Forguncy内部DB小規模・設定系のみ制限付き原則多用しない

2. 開発思想・基本方針

2.1 Forguncy開発の基本思想

Forguncyは、画面・セル・テーブル・リストビュー・コマンドを組み合わせて業務アプリを作る。ただし、本システムではDB2とPostgreSQLの役割が異なるため、データアクセス方式を必ず分ける。

2.2 基本方針

2.3 VBA的発想からの変換

VBAでの考え方Forguncy標準方式
VBAからDB2へ直接SQL実行C# Web API経由でDB2参照
VBAでDB2抽出後にExcel上で加工APIまたはPostgreSQLワークテーブルで加工
Excelシートに一時データを保持PostgreSQLワークテーブルに保持
VBAでCSVを読み込み配列処理PostgreSQL取込テーブルへロードして処理
VBAで突合処理PostgreSQLまたはAPI側で突合
VBAで帳票作成Forguncy帳票、Excelテンプレート、またはサーバー側出力
VBAでエラーをMsgBox表示標準エラーメッセージ+エラーログ登録
VBAでユーザー判定Forguncy認証・権限+API側認可チェック

3. データベース接続方式の標準

3.1 DB2接続の標準方式

標準方式:DB2へのアクセスは、原則としてC# Web API経由とする。

Forguncy
  ↓ HTTPリクエスト
C# Web API
  ↓ ODBCまたはDB2ドライバ
DB2

理由

例外方式

以下の場合のみ、DB2へのODBC直接接続を検討してよい。

非推奨方式

禁止方式

3.2 PostgreSQL接続の標準方式

標準方式:PostgreSQLは、Forguncyの外部データベースとしてネイティブ接続し、アプリケーション用の業務データ保存先として使用する。

Forguncy
  ↓ 外部DB接続
PostgreSQL

用途

理由

C. 生成AIで作るための4ステップ

Step 1:VBA処理一覧をForguncy開発観点に分類する

目的:参考サイトにあるVBA処理一覧を、Forguncy開発者ガイドの材料として分類する。

入力情報:

出力:

VBA処理Forguncyでの実装候補DB2/API/PostgreSQL区分標準化が必要な理由注意点
各処理候補方式分類理由注意点

Step 2:Forguncy v10での実装方式を標準・例外・非推奨に分類する

目的:Step 1で整理した処理ごとに、Forguncy v10での実装方式を決める。

出力:

処理分類標準方式例外方式非推奨方式禁止方式理由
各処理分類原則方式条件付き方式避ける方式禁止方式採用理由

Step 3:開発ルール・命名規則・設計ルールへ変換する

目的:Step 2で決めた標準方式を、開発者が守るルールとして再構成する。

1. ルール名
2. 標準方式
3. 例外方式
4. 禁止事項
5. 理由
6. NG例
7. レビュー観点
8. サンプル

Step 4:最終的な開発者ガイドへ編集する

目的:Step 1〜Step 3の成果物を統合し、開発者ガイドとして完成させる。

出力:

D. 各ステップで使うプロンプト

Step 1 プロンプト

あなたは、Forguncy v10、Excel VBA業務アプリ移行、DB2、PostgreSQL、C# Web API設計に詳しいシステム設計者です。

## 目的

参考サイトにある「VBAでの処理」と「Forguncyでの対応」を、Forguncy開発者ガイドの材料として分類してください。

単なる要約ではなく、Forguncy v10での開発標準に変換する前段階として整理してください。

## 前提

- 対象は企業内向け業務アプリケーションです。
- 現行はExcel VBAで作られた業務効率化アプリです。
- 移行先はForguncy v10です。
- 使用するDBはIBM DB2とPostgreSQLです。
- DB2はForguncyからネイティブ接続できないため、原則としてC# Web API経由で参照します。
- PostgreSQLはForguncyからネイティブ接続できるため、アプリ用DBとして利用します。
- DB2は原則参照専用です。
- PostgreSQLは登録・更新・履歴・ワーク・ログの保存先です。

## 入力情報

以下の参考サイトの内容をもとにしてください。

参考URL:
https://iloveopencar.sakura.ne.jp/plist/vbalist.html

## 調査・整理してほしい内容

参考サイトのVBA処理を、以下の観点で分類してください。

1. 画面操作系
2. 入力チェック系
3. 条件分岐・繰り返し
4. DBアクセス系
5. DB2参照系
6. PostgreSQL更新系
7. CSV・固定長ファイル入出力
8. Excel帳票・帳票出力
9. 一時データ・ワークデータ管理
10. 権限・認証
11. エラー処理・ログ
12. 大量データ処理
13. 外部API・外部連携
14. 保守性に関わる処理

## 出力形式

以下の表で出力してください。

| No | VBAでの処理 | VBA的な考え方 | Forguncyでの実装候補 | DB2/API/PostgreSQL区分 | 標準化が必要な理由 | 注意点 |
|---|---|---|---|---|---|---|

その後、以下も出力してください。

## Forguncy開発標準化で重要になる論点

- 標準方式を決めるべき処理
- DB2/API/PostgreSQLの切り分けが必要な処理
- 大量データに注意すべき処理
- 権限・監査が必要な処理
- VBA的な作り方を禁止すべき処理

## 注意点

- 参考サイトの内容を単に要約しないでください。
- Forguncy v10の開発標準に変換するための材料として整理してください。
- DB2は直接接続ではなく、C# Web API経由を原則としてください。
- PostgreSQLはForguncyアプリの更新系DBとして扱ってください。
- 開発者が迷わないガイドを作るための観点で整理してください。

## 次のステップで使うために残すべき情報

最後に、Step 2で標準方式・例外方式・非推奨方式を決めるために必要な論点を箇条書きで整理してください。

Step 2 プロンプト

あなたは、Forguncy v10に精通した開発標準化コンサルタントです。

## 目的

Step 1で整理したVBA処理分類をもとに、Forguncy v10での実装方式を「標準方式」「例外方式」「非推奨方式」「禁止方式」に分類してください。

## 前提

- DB2はForguncyからネイティブ接続できないため、原則としてC# Web API経由で参照します。
- PostgreSQLはForguncyからネイティブ接続できるため、外部DB/リンクテーブルとして標準利用します。
- DB2は原則参照専用です。
- PostgreSQLは登録・更新・履歴・ワーク・ログの保存先です。
- 大量データ処理はForguncy画面上で同期実行しません。
- 権限・監査・ログを重視します。

## 入力情報

以下にStep 1の結果を貼り付けます。

【ここにStep 1の出力を貼り付ける】

## 調査・整理してほしい内容

各処理について、次の区分で分類してください。

1. 標準方式
2. 例外方式
3. 非推奨方式
4. 禁止方式

特に以下を明確にしてください。

- Forguncy標準機能で実装する処理
- PostgreSQLで実装する処理
- C# Web APIで実装する処理
- DB2を参照する処理
- 画面上で実装してよい処理
- 画面上で実装してはいけない処理
- 非同期処理にすべき処理
- サーバー側処理にすべき処理

## 出力形式

以下の表で出力してください。

| No | 処理分類 | 標準方式 | 例外方式 | 非推奨方式 | 禁止方式 | 標準方式にする理由 | 判断基準 |
|---|---|---|---|---|---|---|---|

その後、以下も出力してください。

## DB2アクセス標準

## PostgreSQLアクセス標準

## API化すべき処理一覧

## Forguncy画面で実装してよい処理一覧

## Forguncy画面で実装してはいけない処理一覧

## 注意点

- 「場合によります」で終わらせないでください。
- 原則として採用する方式を決めてください。
- DB2への直接更新は禁止としてください。
- DB2への直接ODBC接続は原則非推奨としてください。
- PostgreSQLは更新系DBとして標準採用してください。
- 初心者でも判断できるようにしてください。

## 次のステップで使うために残すべき情報

最後に、Step 3で開発ルール・命名規則・レビュー観点に変換すべき項目を整理してください。

Step 3 プロンプト

あなたは、Forguncy v10の開発者ガイドを作成する開発標準化コンサルタントです。

## 目的

Step 2で決めた標準方式・例外方式・非推奨方式・禁止方式を、開発者が守る具体的なルールに変換してください。

## 前提

- DB2はC# Web API経由で参照します。
- PostgreSQLはForguncyからネイティブ接続し、アプリ用DBとして利用します。
- DB2直接更新は禁止です。
- DB2直接ODBC接続は原則非推奨です。
- PostgreSQLには業務データ、履歴、ワーク、ログを保存します。
- Forguncy画面には複雑なDBロジックを埋め込みません。

## 入力情報

以下にStep 2の結果を貼り付けます。

【ここにStep 2の出力を貼り付ける】

## 調査・整理してほしい内容

以下の章に分けて、開発ルールを作成してください。

1. 画面設計ルール
2. セル設計ルール
3. リストビュー設計ルール
4. コマンド設計ルール
5. DB2参照API呼び出しルール
6. PostgreSQL更新ルール
7. CSV・Excel・帳票出力ルール
8. 入力チェックルール
9. 条件分岐・繰り返しルール
10. 権限・認証ルール
11. エラー処理・ログルール
12. 命名規則
13. 禁止事項
14. レビュー観点
15. サンプル実装パターン

## 出力形式

各章を次の形式で出力してください。

# 章名

## この章で決めること

## 標準方式

## 例外方式

## 非推奨方式

## 禁止事項

## 理由

## NG例

## 命名規則または設定ルール

## レビュー観点

## サンプル実装パターン

## 注意点

- ルールは開発者がそのまま使える表現にしてください。
- 「なるべく」「できれば」ではなく、「原則」「禁止」「例外」として書いてください。
- DB2とPostgreSQLの扱いを必ず分けてください。
- DB2アクセスはAPI経由を標準としてください。
- PostgreSQL更新はForguncy外部DB接続を標準としてください。
- レビュー時に確認できる粒度で書いてください。

## 次のステップで使うために残すべき情報

最後に、Step 4で最終ガイド本文に統合すべき重要ルールを一覧化してください。

Step 4 プロンプト

あなたは、Forguncy v10、DB2、PostgreSQL、C# Web API、企業内向け業務アプリ開発に精通したシステム設計者です。

## 目的

Step 1〜Step 3の結果を統合し、開発者が実務で使える「Forguncy v10 開発者ガイド」を作成してください。

## 前提

- 対象は企業内向け業務アプリケーションです。
- 現行Excel VBAアプリをForguncy v10へ移行します。
- DB2は既存基幹DBであり、原則参照専用です。
- DB2はForguncyから直接接続せず、C# Web API経由で参照します。
- PostgreSQLはForguncyアプリ用DBとして利用します。
- PostgreSQLには登録・更新・履歴・ワーク・ログを保存します。
- 大量データ処理は画面上で同期実行しません。
- 権限・監査・ログ・保守性を重視します。

## 入力情報

以下にStep 1〜Step 3の結果を貼り付けます。

【ここにStep 1の結果を貼り付ける】

【ここにStep 2の結果を貼り付ける】

【ここにStep 3の結果を貼り付ける】

## 作成してほしい成果物

以下の章立てで、最終的な開発者ガイドを作成してください。

1. はじめに
2. 前提アーキテクチャ
3. 開発思想・基本方針
4. DB2/PostgreSQLデータアクセス標準
5. 画面設計ルール
6. セル・テーブル・リストビュー設計ルール
7. コマンド設計ルール
8. DB2参照API呼び出しルール
9. PostgreSQL更新ルール
10. 入力チェック・条件分岐・繰り返しルール
11. CSV・Excel・帳票出力ルール
12. 権限・認証ルール
13. エラー処理・ログ設計ルール
14. 命名規則
15. VBAからForguncyへの変換方針
16. 禁止事項・アンチパターン
17. レビュー観点
18. サンプル実装パターン
19. チェックリスト
20. 付録:標準方式・例外方式・非推奨方式一覧

## 出力形式

Markdown形式で出力してください。

各章は、原則として以下を含めてください。

- この章で決めること
- 標準方式
- 例外方式
- 禁止事項
- 理由
- NG例
- レビュー観点
- サンプル

## 注意点

- 完成版ガイドとして読める文章にしてください。
- 単なる表だけにしないでください。
- 開発者が迷わないように、原則方式を明確にしてください。
- 「場合による」で終わらせないでください。
- DB2とPostgreSQLのアクセス方式を混同しないでください。
- DB2直接更新は禁止としてください。
- DB2直接ODBC接続は原則非推奨としてください。
- PostgreSQLはForguncyアプリの更新系DBとして扱ってください。
- 初心者にも分かるように説明してください。
- チームレビューに使える内容にしてください。

E. 実装方式を決める判断基準

1. 最上位の判断基準

優先度判断基準採用方針
1セキュリティ上安全かDB2直接接続・直接更新は避ける
2保守しやすいかSQLや処理を画面に分散させない
3属人化しにくいかAPI、PostgreSQL、コマンドに役割分担する
4レビューしやすいか処理名、API名、テーブル名を明確にする
5画面変更に強いか画面固有ロジックを減らす
6データ構造変更に強いかDB2仕様変更はAPIで吸収する
7性能問題が起きにくいか大量データはAPI・DB・非同期で処理する
8権限管理しやすいかForguncy側とAPI側で二重に確認する
9初心者でも理解しやすいか標準パターン化する
10バージョンアップに強いかForguncy標準機能とAPI境界を使う

2. DB2アクセス方式の判断基準

判断項目標準判断
DB2を参照するだけかAPI経由
DB2を更新する必要があるか原則禁止。別システム側で対応
少量マスタ参照か原則API。例外的にODBC検討可
大量検索かAPI側で件数制御
突合処理かPostgreSQLワーク+API
SQLが複雑かAPI側に集約
権限判定が必要かAPI側で必須
監査ログが必要かAPI側で必須
処理時間が長いか非同期処理

3. PostgreSQLアクセス方式の判断基準

判断項目標準判断
Forguncyで登録・更新するデータかPostgreSQL
履歴を残す必要があるかPostgreSQL
ワークデータかPostgreSQL
CSV取込データかPostgreSQL
帳票出力履歴かPostgreSQL
API呼び出しログかPostgreSQL
一時キャッシュかPostgreSQL。ただし有効期限を持たせる
他アプリと共有するかPostgreSQL設計時に共通テーブル化を検討

4. Forguncy画面で処理してよいかの判断基準

処理判断
入力チェックForguncyで実装
画面表示制御Forguncyで実装
簡単な条件分岐Forguncyで実装
PostgreSQLへの登録更新Forguncyで実装
DB2検索API呼び出し
DB2複雑SQLAPI側
大量突合PostgreSQLまたはAPI
大量帳票出力非同期・サーバー側
権限判定Forguncy+API
ログ登録PostgreSQL

5. 標準方式・例外方式・非推奨方式・禁止方式の決め方

区分判断基準
標準方式ほとんどの案件で採用する方式。初心者でも扱いやすく、保守しやすい
例外方式条件を満たした場合だけ認める方式。承認が必要
非推奨方式技術的には可能だが、保守性・安全性・レビュー性に問題がある方式
禁止方式セキュリティ、監査、データ破壊、性能問題のリスクが高い方式

F. 次に実行すべきStep 1のプロンプト

次に生成AIへ入力するべきプロンプトは、Step 1のプロンプトである。参考URLの内容を単に要約せず、VBA処理をForguncy v10、DB2 API連携、PostgreSQL更新系DBという前提で分類する。

本プロジェクトでは、DB2はForguncyから直接操作する対象ではなく、C# Web APIを介して参照する既存データソースとする。PostgreSQLは、Forguncyアプリが登録・更新・履歴・ワーク・ログを管理するための標準データベースとする。

この方針を最初に固定しておけば、Forguncy開発者が「DB2に直接つなぐのか」「PostgreSQLに持つのか」「APIにするのか」で迷わなくなる。