Develop and Download Open Source Software

sidebar_logo.gif


nttdata_logo_small.gif

co_name_data.gif

co_name_sentangijutsu.gif

co_canme_intramart.gif

co_name_businessbrains.gif

最近の更新ページ

2012-05-21
2012-05-01
2010-04-16
2010-04-15
2010-03-17

Copyright© 2008 NTTDATA CORPORATION

Excelブック形式の設計書からソースコードを自動生成する

illust_oss_project.gif

blanco Framework

概要

 blanco Frameworkは、Excelブック形式の設計書からソースコードを自動生成するためのツール群です。ツールによっては書き出し可能なプログラミング言語が選択可能で、最大でJava、C#.NET、JavaScript、VB.NET、PHP、Ruby、Pythonの7言語に対応しています。様式に沿って作成した設計書をblanco Frameworkのツール(主にEclipseプラグイン)に読み込ませるだけでソースコードが得られるため、「工数削減による生産性の向上」、「設計と実装の乖離の予防」、「設計変更に対する確実な追従」、「均質なソースコードによる保守性の向上」といった効果が得られます。

主な特徴

細分化したソフトウェア領域ごとにツールを提供

 blanco Frameworkでは、ソフトウェア領域を小分けにして、個々の領域ごとにソースコード自動生成ツールを提供しています。たとえば、blancoCsvというツールは「ファイル定義書(CSV)」という書式で書かれたExcelブックから、CSVファイル入出力のためのソースコードを生成します。このソフトウェア領域を細分化するというアプローチは、設計書の書式とツールの構造をシンプルに保ち、ツールの操作を簡便にします。そしてツールをその専門領域に最適化することで、高い品質のソースコードを生成することが可能になります。

Excelブック形式を採用

 ソースコード自動生成のための設計情報として、設計書で用いられることの多いExcelブック形式を採用しました(※)。設計書をそのままblanco Frameworkの入力ファイルとして利用できるため、設計書の作成とソースコードの作成がほぼ同時に行える(工数を削減できる)だけでなく、設計と実装の食い違いを防ぐことが可能になります。さらに、特別な設計情報編集用のソフトウェアを導入/習得する必要がなく、テンプレートを基に使い慣れたExcelやOpenOffice.org Calcといったツールを使って設計書が書けるので、設計工程の生産性も向上します。

Java classファイルからバイトコード・テキストを生成するblancoBcelなど、Excelブック以外を入力ファイルとするツールもあります。

ランタイム不要で導入が容易

 blanco Frameworkが生成するソースコードは、実行時に特別なランタイムライブラリを必要としません。そのため、他のフレームワークを利用している場合でも導入しやすくなっています。

反復的なソースコード自動生成とジェネレーションギャップパターンの採用

 自動生成したソースコードに修正を加えた場合、設計変更が発生して再度ソースコードを自動生成すると手を加えていた箇所に齟齬が生じ、修正が失われるおそれがあります。blanco Frameworkでは、反復的なソースコード自動生成と「ジェネレーション・ギャップ パターン(※)」を採用することにより、この問題を防いでいます。

デザインパターンの1つ。自動生成されたソースコードをスーパークラスとして扱い、そのサブクラスを作成して修正を加えるようにするという手法。

配布内容

SourceForge.JP内のプロジェクトにて、以下のファイルを公開しています。

ソースコード自動生成タイプ

ソースコードを自動生成するタイプのツール

Excelブック形式の入力ファイルを扱うもの

プロダクト概要ライセンス
blancoAntTask「AntTask定義書」というExcelブックから、Apache Antで動作するAntタスクのためのソースコードを自動生成します。GNU LGPL
blancoBatchProcess「バッチ処理定義書」というExcelブックから、バッチ処理のためのソースコードを自動生成します。GNU LGPL
blancoCharacterGroup「文字グループ定義書」というExcelブックから、文字グループを扱うソースコードを自動生成します。GNU LGPL
blancoConstants「定数定義書」というExcelブックから、定数クラスのソースコードを自動生成します。GNU LGPL
blancoCsv「ファイル定義書(CSV)」というExcelブックから、CSVファイル入出力のためのソースコードを自動生成します。GNU LGPL
blancoDb「SQL定義書」というExcelブックから、データベース入出力のためのソースコードを自動生成します。
・blancoDb Enterprise Edition (Java用): JDBCベースのソースコードを生成。
・blancoDbDotNet (C#.NET用): ADO.NETベースのソースコードを生成。
・blancoDbPhp (PHP用): PDOベースのソースコードを生成。
GNU LGPL
blancoFixedLength「ファイル定義書(固定長)」というExcelブックから、固定長ファイル入出力のためのソースコードを自動生成します。GNU LGPL
blancoMessage「メッセージ定義書」というExcelブックから、メッセージを扱うソースコードを自動生成します。blanco Frameworkのツールのほとんどは、このツールが自動生成したソースコードを利用しています。GNU LGPL
blancoResourceBundle「リソースバンドル定義書」というExcelブックから、プロパティファイルおよびリソースバンドルアクセスをおこなうソースコードを自動生成します。GNU LGPL
blancoService「サービス定義書」というExcelブックから、Webアプリケーションサーバで動作する常駐プログラムのソースコードを自動生成します。GNU LGPL
blancoSOAP「電文処理定義書」および「電文定義書」というExcelブックから、Webサービスを利用するためのソースコード等を自動生成します。GNU LGPL
blancoStringConverter「文字列変換定義書」というExcelブックから、文字列変換のためのソースコードを自動生成します。GNU LGPL
blancoStringGroup「文字列グループ定義書」というExcelブックから、文字列グループを扱うソースコードを自動生成します。GNU LGPL
blancoStruts「画面定義書」というExcelブックから、Struts用のソースコードを自動生成します。GNU LGPL
blancoValueObject「バリューオブジェクト定義書」というExcelブックから、バリューオブジェクトを扱うソースコードを自動生成します。
・blancoValueObject (Java用)
・blancoValueObjectDotNet (C#.NET用)
・blancoValueObjectPhp (PHP用)
GNU LGPL

Excelブック形式以外の入力ファイルを扱うもの

プロダクト概要ライセンス
blancoBcel「Java classファイル」から、バイトコード・テキストを自動生成します。classファイルの解析を手軽に実施したい場合などに便利です。GNU LGPL
blancoJUnit「JUnitテストクラス」から、「単体テスト仕様書」という Excelブックを自動生成します。GNU LGPL
blancoJni「Java classファイル」から、それを呼び出すために必要な JNIソースコード (C++) を自動生成します。現状では、自動生成されたソースコードをスケルトン的に利用します。GNU LGPL

ライブラリタイプ

Java言語用のライブラリタイプのツール

プロダクト概要ライセンス
blancoLogログにまつわるクラスを集めたクラスライブラリです。java.util.logging をApache Commons Loggingの代わりに利用できるようにするためのクラスなどいくつかの便利なクラスが含まれます。GNU LGPL
blancoMailCoreメール送受信を安全で確実に実現するためのコアライブラリです。GNU LGPL
blancoReportOpenOffice.org経由でExcel形式またはPDF形式の帳票を作成するAPIセットおよびコマンドを提供します。OpenOffice.orgを利用してドキュメント形式変換処理を行いたい場合に有益です。GNU LGPL

SQL関連ツール

SQL整形のためのEclipseプラグインおよびSQL整形ライブラリ

プロダクト概要ライセンス
BlancoSqlEditorPluginSQL文を整形するEcilpseプラグインです。Eclipse上でsql拡張子と関連づけられたSQLエディタとして動作します。GNU LGPL
blancoSqlFormatterSQL文を整形するためのライブラリです。単純な構造なので、簡単にアプリケーションに組み込むことができます。GNU LGPL

セットアッププログラム

Eclipse SDKのセットアッププログラム

プロダクト概要ライセンス
BlancoEclipseDistributionEclipse SDK、Eclipse言語パック、blanco Framework(Eclipseプラグイン)をセットにしたWindowsインストーラー形式のEclipseディストリビューションです。GNU LGPL

関連サイト

関連記事

Q&A

Q:blanco Frameworkの動作環境は?

A:blanco Frameworkのツールの多くは、Eclipseプラグインとして作成されています。そのため、JDKとEclipseが必要になります。Eclipseがインストールされていない場合、Windows環境であれば、BlancoEclipseDistributionを利用すると便利です。また、blanco FrameworkのいくつかのツールはAntタスクとして実行されます。このタイプのツールを利用する場合は、実行環境としてApache Antが必要になります。

  • JDK 1.4.2以降
  • Eclipse 3.0以降
  • Apache Ant x.x以降

Q:設計書の作成に利用できるExcelのバージョンは?

A:blanco Frameworkでは設計書(Excelブック)の解析にJExcelApiを使用しています。そのため、JExcelApiが対応しているExcel 95、97、2000、XP、2003の各バージョンがそのまま利用できます。Excel 2007をご利用の場合は、旧形式(.xls)で設計書を保存してください。

問い合わせ先

blanco Frameworkについて

blanco Framework全般


SourceForge.JP is a Japanese version of SourceForge.net. For developments that are not related to Japan, we recommend you to use SourceForge.net.