Headline About TechLog Download Java VBA Link

February 4, 2008.

データ分割ツール開発


寒くなったとたん、去年同様胸の辺りになんか水が溜まったみたいな変な感触。アレルギーの季節なのかな?花粉症なんかの薬は早めから飲み始めた方が症状が軽いらしいので、早めに病院で薬を貰っておかないと。

アプリの開発は着々と進んでいます。活用形がはみ出していたので改行対応は完成。リンク対応も完成。地味に色なんかも修正してます。メニュー画像のデザインが決まらず。そのせいで、設定画面も未完成。後は最後の大物、発音記号を片付けないと。

 

昨日の日記に書いたとおり、辞書データ変換ツールが、今回の開発における一番の懸念点です。Cは不得意だし、VBはフリーのコンパイラが無さげだし(探してない)、Javaは一般人が使いづらいし、perlはもっと使いづらいだろうし...というのが理由。Mac使いにもUnix使いにも使って欲しいですしね。

で、いろいろ考えていましたが、JavaScriptで作ってみようかなと。文法がJavaに似ているため、移植がしやすいのです。Unix・MacユーザとPCに詳しい人→Java版、一般Winユーザ→Javascript on IEという構成で何とかできそう。試しにJavascriptで実装してみたら、ちゃんとファイルの読み書きができました。うっとおしいセキュリティダイアログが2回出ますけど。htmlファイルを配布するだけで済むので、パソコン・ビギナにも安心です。

ただ、1点問題があって、全力でCPUを使い切ったプログラムを書くと、「スクリプトのせいでPCが遅くなってるよ、中断する?」というダイアログが何度も出るのです。ブラクラ対策なのですけど。したがって、タイマを使って、ちょっとsleepする仕様で作ってあげないといけない。現在の英辞郎のデータは150万語程度。データは少なくとも200〜300万行ぐらいはあるでしょう。1行処理するごとに1ミリ秒スリープしたら、30〜40分以上処理が遅くなるのです。うーん...。10行に一回1ミリ秒休憩とかにすればよいのかな...。そもそも1ミリ秒のスリープでIEは許してくれるのかなぁ...。

 

 

【ウォータ・フォールとスパイラル】

旧来ソフトウェアの開発はウォータ・フォールで行われた。ウォータ・フォールとは滝のことで、その名のとおり、後戻りしない開発手法のことだ。じっくりお客さんから要求をヒアリングし、概要設計を作成。確認が取れたら詳細設計に入り、一斉にコーディング。単体試験とバグ取りが終わったら、結合試験を行い、ドキュメントとマニュアルを作成して納品する。

一方、最近ではスパイラルモデルを用いた開発が増えつつある。スパイラル方の開発は、プロトタイプ作成→試験→要望への対応や問題点の修正、というサイクルを何度か繰り返すことによって行なう。一般のお客さんは実物を見ずにシステムを想像するのは得意ではないし、使うと新たな要求を思いつく。開発者としても作ってみて気づく設計の致命的欠陥は少なくない。したがって、その柔軟性を重視してこのモデルを選択することとなるわけだ。

どちらが優れているのかと言うと、さまざまなレイヤでの評価があり、一概には言えない。例えばスパイラルでは「工数の推定が難しく、予算が立てられない」などの欠点があげられるし、ウォータ・フォールでは「設計の致命的欠陥に気づいた際、プロジェクトが白紙に戻る」などの欠点が挙げられる。規模や契約方法などによってどれを選ぶかは変わるだろう。

 

ちなみに、自分が個人でプログラムを作る際は断然スパイラルである。ウォータフォールに挑戦したこともあるが、実現していない。やはり少人数プロジェクトにはスパイラルの方が....という結論ではなく、個人的な資質の問題。完成形が想像できるとやる気がなくなってしまうのである。作って動かして壊すを繰り返さないと途中で飽きてしまうのだ。無論、できのいいプロトタイプが完成すると、一気に面倒になる点は変わらない。途中で投げ出すことが多いので、必死でこういう日記に予定を書いているわけである。


名前: 意見: パス:

※パスにはこの日記のタイトルをコピペして下さい。


February, 2008
SUN MON TUS WED TUR FRI SAT
12
3456789
10111213141516
17181920212223
242526272829