ソリューションとしてのMagic(2)

ソリューションとしてのMagic(2)

開発部 柴尾昌克 2011/07/20

特徴1で Magic とはどのようなプラットフォームなのかを述べましたが、ここから得られる結論として、次の特徴が導かれます。

特徴2 開発期間が短い

Magic を使ったシステム開発においては、プログラミングとは Magic 実行エンジンに指示する内容を記述することを意味します。またデバッグ作業も、基本的にはプログラマが作成した指示内容に対して行うことになります。
※もちろん、システムが始まりから終わりまで一通り動くかどうかのテスト(結合テスト)も開発業者は行います。

したがって、システム開発工程における設計段階よりあとの、実装・テストにかかる期間はたいへん短く済みます。

特徴3 設計に時間をかけられる

プログラミングの時間がたいへん短縮されることの効用として、

  • その分設計に多くの時間をかけられる
  • プロトタイプを速く作成することができる

が挙げられます。システム開発の途上では現実的には、後からの仕様変更はどうしても出てきがちになります。そう言った場合に、プログラムが短時間で出来ると、仕様変更に対して即座に対応できますし、あるいはその仕様が本当に正しいのかということも、短時間で(ある程度までなら)判断できるようになります。

特徴4 単体テストが容易

Magic のプラットフォームでは、情報システムは、既存のソフトウェアである Magic 実行エンジンと、システム開発の都度作成される Magic プログラムで構成されます。

そのうち、Magic 実行エンジンは動作は基本的に安定です。というのは、規模の効果を利用したデバッグが行われているからです。すなわち、国内には数千社の企業が Magic を使っています。それら各企業が使っている実行エンジンは(バージョンが同じなら)みな同じソフトウェアを使っていることになります。もしリリースされたばかりの実行エンジンに対して、バグが発見されれば、マジックソフトウェア・ジャパン(株)に最終的に報告が行き、そこでバグ修正がされます。リリース前のテストでは発見されなかったバグでも、多くの会社が同じ実行エンジンを使用することにより、それら未発見のバグを見つけることができ、実行エンジンの動作安定化は比較的速く実現するようになります。

一方、Magic プログラムはシステム開発業者がその都度作成するわけですが、デバッグ作業は主にこのMagic プログラムに対して行われることになります。ところで、Magic プログラムは実行エンジンへの指示の集まりに過ぎませんから、デバッグの範囲はそれほど広くはありません。したがって Magic を使ったシステム開発では、単体テストも比較的容易にでき、残りの時間を結合テストに回すことができます。

特徴5 メンテナンスが容易

プログラミングに要する期間が短くて済むということから、業務内容の変更に伴う、システムの仕様変更に対しても迅速に対応することができます。特に小さい変更に対しては、即応することも可能になります。
※大きい変更の場合は、設計段階からの見直しが入るので、その分の工数はかかるようになります。

ところで、Magic プログラムは Magic 実行エンジンへの指示の集まりだと述べました。これを具体的に言うと、「指示」は主に

  • 実行エンジンにあらかじめ用意されているパラメータの設定
  • 処理手順をフロー順に登録
  • 計算式の登録

等で構成されます。

このことから、ある動作を実現するような Magic プログラムを記述しようとすると、その記述の仕方は、誰がやってもほぼ同じ形になります。つまり、誰がプログラミングをやっても、(ロジックが同じであるという条件の下では)似たようなプログラムができるということになります。

従来の、ソースコードを書いてコンパイルするというプログラミング手法では、ソースの書き方にかなりの自由度があり、プログラマの数だけソースの書き方がありました。したがって、ある人が作ったソースを他の人が見ると、たいへん見にくいと感じることが多々ありました。そこで企業では、他人が見ても見やすいソースを作成するために、ソースコードの書き方に一定のルールを設けています。そのようなルール化のことを標準化と言います。
これと比較すると、Magic の場合、プログラムの書き方にさほど自由度がないので、誰がプログラミングしてもだいたい同じ形になり、実はこのことによって、プログラムの標準化が自然に行われることになります。

標準化ができていると、ある人が作ったプログラムが他の人にも容易に読めるということになります。すると、例えばシステム開発担当者が代わったとしても、すぐに次の人にプログラムを引き継ぐことができ、引継ぎの時間のほとんどを業務理解にあてることができるようになります。

弊社では事業内容の一つとして、Magic で作成された他社製システムのメンテナンスを行う、ということもやっております。すなわち、昔ある開発業者に依頼して Magic でシステムを開発してもらったが、今はその業者によるメンテナンスを受けることができなくて困っている、という企業様を対象に、システムメンテナンス代行のご相談も承っております。