*1
ABAPは,SAP社のERPパッケージ「R/3」環境で動作するCOBOLライクなプログラミング言語です。

*2
UML(Unified Modeling Language)は,オブジェクト指向分析/設計における標準モデリング言語です。

*3
CSVはComma Separated Valuesの略で,複数のデータ(値)をテキスト・ファイルに格納したファイル形式です。改行までの1行分を1レコードと見なし,半角カンマをフィールド(列)の区切り文字として使用します。

*4
今回利用するCSVデータは,実装を簡単にするために,最初から文字列型のデータを「’」(アポストロフィ)でくくっています。本来は,メタデータ・ファイルに記述してある型情報から判断して,プログラムでアポストロフィを付加するのが理想的です。

*5
今回のサンプル・プログラムの型名は,オープンソース・データベースのMySQLが持つデータ型に合わせています。

*6
require関数で自分が開発したライブラリを使う場合,ロードパスと呼ばれる検索パスをあらかじめ設定する必要があります。今回はRubyに付属の標準ライブラリだけを使用しますのでロードパスを気にする必要はありません。

*7
Rubyでは「属性やメソッドの戻り値と引数に型の宣言が必要がない」ことも覚えてください。クラス図にはStringやArrayListのような属性の型が定義されていますが,Rubyには必要ありません。実装する際は名前だけを合わせています。

*8
図1のクラス図では,Javaを想定して,tableNameなどのように変数名を大文字で区切る形式で記述していますが,Rubyの場合は,table_nameのように変数名は「_」(アンダースコア)で区切るのが標準的な書き方です。

*9
Rubyには,attr_readerのほかに,setter(属性に対する書き込みメソッド)だけを生成するattr_writer,getterとsetterの両方を生成するattr_accessorがあります。

*10
REXMLは,Sean Russell氏によって開発された汎用のXML操作用ライブラリです。Ruby1.8以降で標準ライブラリとして添付されるようになりました。

*11
このおまじないは,REXML::XPath…のように,REXML(モジュール名)をいちいち書かなくて済むすむようにするための記述です。このような定義をMixinと言います。Mixinは非常に強力な,多重継承の代替手法です。

*12
Rubyではreturn文で明示しなくても,メソッドで最後に評価された式が戻り値になるという性質を持っています。

*13
通常オブジェクト指向では,インスタンス・メソッド(インスタンスに対して呼び出すメソッド)を書くときは,「#」を使って「クラス名#メソッド名」と記述します。一方,クラス・メソッドの場合は,「クラス名.メソッド名」と「.」を使用します。

*14
リスト5の(5)(6)(7)にある「|attr|」という記述は,ブロックと呼ばれるRubyの文法上の表記です。Collectメソッドの場合,ブロックには配列の個々の要素が順に入ります。

*15
Arrayオブジェクトを生成するには,「変数名=Array.new」または「変数名=[ ]」を使用します。

*A
テスト・データの作成機能は,RDBによっては付属ツールなどで用意している場合もありますが,RDBに依存しないツールを作っておけば,RDBの種類が変わっても楽に対応できます。


Copyright (C) 2000-2006 Nikkei Business Publications, Inc. All rights reserved.