3D動画のグランブルー3Dのブログ
■3DCG動画のグランブルー3D


【 小規模システムのプログラミングのテスト、デバックの味噌 】

先回は、携帯サイト・ユーザーインターフェース設計の難しい点を述べました。
今回は、プログラミングのテスト、デバックをするとき
大規模システム開発の手順(教科書)どおりではやっていけないので、ではどうするか?
と言うことについてお話します。

Webアプリは、静的なHPサイトと違って、
プログラミングしただけでは、ダメで必ずテストが必要である。
本来、プログラム仕様の設計書に沿ってロジックをプログラミングしているのであるから、
その大元である仕様書に沿ってテストケースを漏れなく洗い出してテストデータを作成する。
そのデータをプログラムの単体テスト、そして連結テスト、総合テストと一連の流れの中で、逐一、慎重に石橋を叩いてチェックし、デバックをしていく。
その労力と手数は、プログラミングをするに匹敵すると同じ期間と費用が掛かる。

そこで、問題であるが、
どこまでやるか? である。

本来であれば、すべてやるのが正論である。
また、その苦労の結果は安心と保証ということで報われるであろう。

しかし、
小規模システムで、業務システムの重要性の程度にもよるが、何が何でも、規則どおり万全を期すまでやっていたら、日が暮れてしまう。
そこで、このように考える。

8割は2割の法則
もともと、
ロジックの8割は、イレギュラーな普段は起こりえないことに対して設けているロジックであり、ほとんど頻繁に使っているロジックパスは2割である。
この法則は、完ぺきではないが、大方のところ、実態と合致しているようである。
まあ、この世界のほぼ常識的な知見ですね。

よって、
その頻繁に、日常使うロジック(2割)は厳重にテストしておくことでシステムの信頼度を確保できる。
残りの8割の到底、通常の業務運用で行っている手順で起きえないロジックパスであれば、重要性を加味して、ほどほどにしておく。
そのような妥協点もある程度は許容範囲としてみておくこともよいと思う。
もっとも、その見極めは経験の積み重ねによるところが大きいので、不安の場合は経験豊かな諸先輩方にご相談させることです。

但し、
心配が一瞬でも頭によぎる個所があれば、必ず、潜在バグが潜んでいるとみて潰しに掛かることである。
当のプログラマーが心配なのを放っておくのは、事故(トラブル)が起きた時、無責任と言われる。
そして、
そういういわく付きの個所は、必ずと言っていいほど、ほぼ問題を起こす。
プロとして情けないことになる。
心配がある個所は放置しては絶対にいけない。そういう箇所は、必ず、後々禍根を残すことになる。
少なくとも自分で「クリアー」したと晴れ晴れした気持ちで納得できるものに仕上げなくてはならない。

それでも、突然のトラブルは起きるときには、起きるものである。
システムにはどんなに厳重に、しっかりとテストしたつもりでも潜在バグは残るものであるから。
大規模な複雑なシステムであればあるほど、そのリスクは大きい。
その意味で、コンピューターシステムは、
大変な利便性(光)を我々人類に与えたが、それに相応するリスキー(危険)な影の部分も大きくしていることを常に自覚すべきである。
「光が強ければ強いほど影も濃くなる」の喩えがある。
システムエンジニアはリスクに敏感である必要があり、その察知能力に長けていないと、いつかは、その報いを受けることになりかねない。
肝に銘じておくべきことです。


次回のお話をお楽しみに!


■3DCG動画のグランブルー3D


--------------------------------------------------------------------
「ジェームズ・キャメロン監督の『アバター』3D版」映画
なぜ、こんなにも大ヒットしたのだろう。


3D動画のグランブルー3Dのブログ
■3DCG動画のグランブルー3D



恐らく『化身』だからだと思う。

化身とは変身のことでもある。

『アバター』とは『分身』のことらしいが、単なる分身の術で体が半分に分裂するのではない。

現実の世界の生身の人間が、仮想の世界で仮りの贋人形に魂を注入し、あたかも自分の意思のように遠隔操作できること。

すなわち、泥臭い困難ばかりの現実から、奇麗な詩的で幻想的なバーチャル世界に没入(のめり込む)したいという変身願望の現われである。


まさに、この厳しい今の世相を十分に反映して、皆の共感を得ているのであろう。冒険とラブロマンスの物語が享けているとは思えない。

バタバタ活劇のB級映画ではない。もっと、哲学的な心底考えさせられる脈流を持っている。


衛星パンドラの先住民の生き方がネイチャー(自然共生)であり、それに相反し資源略奪の地球人は、自然を食い荒らす科学信奉のサイエンティストである。

そんなギャップも、心にグッ~、と来るものがある。

『エコロジー』の時代でのネイチャーリング(自然回帰)への願望という悲痛な叫びも聞こえそうである。

最近のブログの投稿では『アバター』がキーワードになっている。


映画を観た人が3Dメガネの効果とか、疲労感とか、十人十色に意見を載せているが、どこも、共通しているニュアンスは3DCGで描いた『衛星パンドラの素晴らしい詩的な景観』への称賛である。

その奇怪でもあり幻想的なSF世界が暗闇の映画館で2時間半、現実から逃避させてくれるのがたまらないのである。

映画館から出て現実に戻る時、その落差にガッカリ(ショックで憂鬱に)させられる人も多いようである。

ただ、あくまで、夢想に浸っていられるのは、その2時間半だけであり、すぐに現実に引き戻されるのである。


キアヌ・リーブス主演『マトリックス』を始めて観た時も、コンピューターに支配される憐れな人類の末裔と仮想現実の混乱が、なんとも新鮮な驚きであったことを覚えている。

映画を観る人は、今の自分の置かれている世界と違う映画のスクリーンの中の世界に一時的ながらも感情移入し、現実逃避できるからかもしれない。


とにかく、面白い『アバター』も、そろそろ上演を終えるようである。早く『アバターⅡ』が観たいですね~!


■3DCG動画のグランブルー3D



3D動画のグランブルー3Dのブログ
■3DCG動画のグランブルー3D


【 携帯サイト・ユーザーインターフェース設計の難しい点 】

先回は、構造化プログラミングを題材にWebアプリのプログラミングの心得を述べました。
今回は、
携帯とPCとの違い、とくに画面設計と裏の仕掛けの違い
についてお話します。

静止的なHPタイプのサイトなら、見やすいレイアウトデザインが重視されます。
Webアプリでケータイを使う場合も、基本的には同じですが、
画面レイアウトをダイナミックに動的に変えてしまう事ができることがWebアプリたる所以です。
ですから、レイアウトデザインだけでなく、裏側の仕掛け(プログラムの仕組み)も理解していないと制作はできません。

たとえば、
HPでフォーム入力するとき、
入力されたデータのチェックをブラウザーレベルで行うためにjava Script で形式チェック、突合チェック、関連チェックを行う。
その方が、クイックリーにまた、タイムリーにデータ整合性の結果が返ってきて、閲覧者、登録者には快適である。

しかし、
携帯サイトの場合は、残念ながら java Script が使えない。
携帯の忌まわしい制約である。
そのため、
クリーンデータをシステムが受け入れるためには、
携帯サイトのフォームから入力されたデータをサーバー側で受け取ってPHPプログラムで、形式チェック、突合チェック、関連チェックを実施してその結果
携帯に送り返す。
そのため、
通信回線を往復してくる待ち時間は、結構、イライラさせるものがある。
唯でさえ、遅い携帯のインターネット回線なのにである。
そのネックはどうしようもないが、
反面、携帯にはブラウザー機能だけで携帯メモリーを余分に消費しないというメリットもある。

そこで、
携帯サイトの入力フォームの
ユーザーインターフェース(UI)設計に一工夫である。
エラーデータが発生するのは、ユーザーに自由度を与えるから誤りが発生する。
そこで、
登録者にできるだけ自由なデータを入れさせないこと。
そのために、あらかじめ用意したデータのリストを示して、選択をさせる方法を採用した。
プルダウンメニュー方式でユーザーの入れるべきデータをリスト化
して示す。
その場合HPの静的なリストと違って、都度、的確なデータリストをサーバー側のPHPプログラムで生成して携帯に送ってやる。
そのようにすれば、誤りは発生するべくもなく、チェック結果を待つためにユーザーをイライラさせることが少なくなる。
但し、やはり、どうしても文字入力で入れてもらう箇所も必要になるので、
そこには、赤字など目立つ色で、コメントを記載して注意を促す。
など、工夫とアイディアを織り込むことである。
その他、工夫のアイディアはまだまだ沢山あると思います。

PCでのHP制作と携帯サイトでのアプリ制作の違いが、制作の過程で色々と出てくるので、その都度、使うユーザーの立場に自分自身をおいて考えることが重要である。
その視点だけは意識的に保持しておけば、優れたUI設計ができること請け合いです。


次回のお話をお楽しみに!


■3DCG動画のグランブルー3D


--------------------------------------------------------------------