サービスの流れ

大まかな流れ ABCoCI pipeline

では、この節では 我孫子CI の大きな流れを解説します。CIとは、Continuous Integrationの略で、一般的に継続的インテグレーションと呼ばれています。通常の CI と大きく異なる点は自動生成や合成の開発自動化ツールが入っていることです。

生成したい会社のモデルを作成する(省略可)

こちらのリンクか、「無料書類作成」のボタンより、会社モデルを作成する画面に移動します。会社全体のソリューション的なシステムを構築するのでなく、単機能のみの開発でしたらこちらのモデル作成は省略可能です。

システムで利用したい項目を埋めていきますとモデルが構築されます。「SQLに保存」を押しますとサーバのセッションにデータが保存されます。セッションデータは永続化されませんので、数日経つと消えます。

アカウントを作成する(省略可)

左の「ユーザ登録」メニューをクリックし、メールアドレスを登録いたしますと登録したメールアドレスにパスワードが送信されますので、そのパスワードを使ってログインしましょう。

モデルデータの中身をみる(省略可)

ログインいたしますと、ツールバーが表示されます。こちらをクリックしますと色々なアプリケーションを起動できます。

緑色のバックのボタンを押しますとセッションに保存されたSQLデータの中身を見ることができます。ローカルのPCにバックアップが欲しい場合はこちらのツールを使います。

モデルデータの中身をカスタマイズする(省略可)

モデルはSQLと互換性がありますので、SQLコンソールを用いて編集することも可能です。なお、こちらのSQLコンソールにはガイド機能がついていますので、SQLに関する社内研修にも有用なツールとなっております。なお、このSQLデータは開発が開始された際には開発担当者と一緒に編集することができますので、口頭で仕様のやりとりをするよりもより具体的に仕様の詳細をつめることができます。

パッケージの選択をする(省略可)

欲しいシステムのイメージが固まってきましたら今度はこちらからパッケージの選択をしましょう。通常、3つくらいのパッケージを組みわせてシステムを開発します。

システムの購入をする

欲しいシステムが決まりましたら購買画面から購入しましょう。ホームのプロジェクト新規作成ボタンか、こちらから購入できます。

解説を読んで、ライセンスや開発体制に納得ができましたら

下の方に進んで詳細を確認し、

銀行振込かクレジッドカード決済で決済いたします。システム上、先払い方式なのをご了承くださいませ。

お客様の検収などの手続きの都合上、完成品に近い中身を確認されたい場合はシミュレータ上で動作確認ができるように対応することもございますが、購入される気もないのに見積もり段階で詳細設計を求めるお客様もおり、その場合でも詳細設計時には実際に買われる通常のお客様と同様の手間がかかりますので、購入される可能性が高いお客様のみ限定で購入前のシミュレータでの確認に対応致します。

システム開発

システム開発は、合成ツール、チャット(必要であればビデオチャットも)シミュレータ、SQLエディタ、開発状況視覚化ツールを使いながら進めます。

合成ツールと開発詳細の確認

お客様の作成したSQLデータや、あるいは現時点でお客様の組織で動いているシステムの中から渡しても問題ない範囲で渡されたSQLデータあるいはCSVやJSONなどのデータと、お客様が購入されたパッケージなどをまとめて合成ツールにかけます。合成ツールではモデルレベルでのユニットテストも同時に実行されます。

合成ツールにかけられて自動生成されたドキュメントや設定情報やソースコードはお客様がリアルタイムで確認することができます。また、そのモデルテストのレポートもリアルタイムでみることができます。ツールバーの をクリックしましょう。

レポートは詳細までみることができます。

シミュレータでの開発状況の確認

まず、弊社の管理者がシミュレータをコンソールから起動し、プロジェクト内容を反映させます。

お客様は起動されたモデルシミュレータから実際のシステムのUIを確認することができます。なお、モデルシミュレーターは .blade.php をJavaScript に変換して動作させていますが、.blade.php をWPF に自動変換したツールであっても同様に検証可能です。

写像の合成

同型写像SQLでは写像と合成を用いて、プログラムやモデルの間を行き来します。 例えば、JavaScript でモデルを記述することを考えましょう。今回は、ツールは を使い、ここでは単数形のPascal形式で User モデルを記述します。
要素は、SQLの集合空間では複数形のテーブルとなりますので、トランスパイラーにかけて、.js →.sql の変換をかけると、以下のように複数形のusersテーブルの定義となります。
集合から要素のような単純な写像だけでなく、BNFなどで表現されるようなフォーマット的な写像、結合関係や制約条件が伴う写像など様々な写像がありますが、コンパイラは様々な視点から論理的な矛盾なく解決していきます。 このような写像を合成する手法を用いて、様々なプログラミング言語で書かれたコードを合成していきます。

詳細をつめて、納品

チャットや共有ツールで、お客様とSQLを編集するなどしてより詳細に仕様を詰めることもできます。このようにして完成したモデルを元にシステムを生成し納品します。納品物はダウンロードツールでダウンロードするか、デプロイ先のログイン情報を通知してもらってこちらがデプロイするか、の2通りから選ぶことができます。オンプレミスなどで出張が必要な場合は別途見積もりが必要となります。