ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

画面とモデル部分の分離としてのWebAPIとAJAX

2007-03-18 23:17:04 | Weblog

 画面とモデル部分の 分離という話は、いろいろ言われていて、そのモデルとしてもStrutsとかいろいろでてるけど、画面とサーバープログラムを、ばちっと切ってしまうかんじではない。

 Strutsでも、ActionFormは、画面に関連してしまう部分があるし、struts-config.xmlでも、結局どのJSPを使うかという指定をしてしまうので、完璧に画面部分とサーバー部分を分けるわけではない。

 しかし、ここで、WebAPIで、POSTなりGetなりの引数で、値をわたして、サーバー側プログラムを呼び出し、XMLで結果を受け取るというカタチにすれば、

・クライアント側画面はAJAXで、
・サーバー側は、CGIでも、サーブレットでもまあ、Strutsでもいいけど
 (この場合XMLを返すStrutsにする)、
 とにかく、HTTPプロトコルで、引数を受け取り、XMLで返すプログラム

というカタチで、完璧に分けられる。クライアント側の画面は、どうにでも変えられるし、きまってなくってもいい。
 っていうかたちで自由度があがる。

 サーバー側プログラムも、いろんなWebAPIを呼び出し、加工して返すWebAPIを作って、それを呼び出したり、WebAPIをラッピングするカタチでカスタマイズして、そのカスタマイズしたのを呼び出す。。。

 というかんじで、柔軟にサーバー側も加工できる。




 そー言う意味で、クライアントサーバーを柔軟に展開するのは、AJAXとWebAPIの組み合わせがいいのかもしれない。

 とくに、標準があって、カスタマイズをかけるようなシステムの場合、ラップしたりマッシュアップして加工しやすかったり、画面を自由に変えやすいAJAXとWebAPIの組み合わせがいいのかもしれない。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

類似法、比較法と業務知識

2007-03-18 21:16:00 | 開発ネタ

 先週のしょこたんがでるワナゴナ(今週のではない)では、幽霊の似顔絵を書くという話をやっていたのですが、その中で、似顔絵の書くとき、どんな特徴があるか、単に聞くだけでは、限界があり、似顔絵を描くための聞き方というのがあるという話をしていました。

その聞き方というのは、次の2つ
(1)類似法
 芸能人で言うと誰に似てますか。。というような聞き方

(2)比較法
 あごは「しょこたん」よりまるい?とがってる?などのように、
 基準をもとに比較する

そして、きくためのヒアリング用紙があり、そこにおおきい?ちいさい?なんかを書き込めるようにしてある。




 これを、システム開発で考えると、ヒアリングするとき、なにか基準があって、それとの類似や比較で聞いていかないと、結局話を引き出すことができなくて、全部聞き出せない=仕様漏れが出るという話になる。

 じゃあ、基準はっていうとパッケージがあれば、それとのフィットギャップ分析という話になるが、そうで無い場合は、業務知識があって、標準的なシステムというのが頭の中に描けて、それに対して、どこが今回のシステムの(標準と違う)特徴になるのかというのを分析していくことになる。

 つまり、標準的なシステムが思い浮かべられるだけの業務知識が無いと、システムのヒアリングの際に聞き漏れ、仕様漏れがでてくるということになる。




 それと、しょこたんの似顔絵の話では、「記憶の更新」という話をしていた。

 特徴が強いところを思い出していくと、いままで記憶がはっきりしなかったところも思い出していけるということ。

 これも、そのシステムの特徴的なところを抽出し、それをウォークスルーで業務の初めから最後まで流していくと、「あ、こういうことも必要だよね!」っていうことで思い出していくって言う話だろう。




 って考えると、
・SE側に標準的なシステムが頭の中にあって
・ユーザーとは、今回のシステムが標準的な部分とどこが違うのかをヒアリングしていき
・その独自の部分のところの業務をはじめから最後までウォークスルーして、足りない部分を補う

 という形にしないと、全部ヒアリングできない(ユーザーが話しきることは難しい)っていうことになる。そのため、SEが標準的なシステムを頭に描ける程度の業務知識は必要だということになるし、こういう標準システムがある業界や業務はシステム化しやすいっていうことになるだろう。




 これは、DBなんかでもいえる話なんだけど、ま、それは別の機会に。。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Hello World程度のデータベース(その11:概念スキーマ(9)佐藤正美氏の方法)。

2007-03-18 14:51:49 | 土日シリーズ

 情報処理とは何から、データベースの基本的な話(情報処理試験のデータベーススペシャリスト程度の話まで)を書く、土日のシリーズ「Hello World程度のデータベース」です。

 前回で、正規化が終わりました。
 正規化は、「データを1箇所にだけ現れるようにする手法」ですが、同じような手法で、佐藤正美氏の方法がありますので、今回は、その方法について、正規化と比較してみたいと思います。




■佐藤正美氏とは

 佐藤正美氏とは、T字型ER図(ふつうのIDEFで規定されているER図とは違い、T字型ER図というのがある)を提唱した人であり、DOA+コンソーシアムの偉い人(すげーいいかただ ^^;)

 データベースのコンサルタントであり、。。。

 くわしくは、
 ここ http://www.sdi-net.co.jp/
 参照。




■どこがすごいのか
 佐藤正美氏は、帳票からDBを作るまでの一貫した手法を紹介している。
 正規化理論は、当初理論であり、ここで展開するような帳票をもってきて、エンティティにわけ、そのエンティティを導き出すには、データの項目の名前をOFLANGUAGEでわけて。。などという実践手法で紹介されたものではなかった。
 というか、佐藤正美氏の本が出る前は、結構「えいや!」でやっているところがあり、やる人によってばらつきが出た。佐藤正美氏の手法は、そのようなやりかた、とくに経験や勘によって正規化していく方法(これは勘ですといって、テーブルを分離した理由を説明できないようなやり方)を、「返り討ちはやめようよ」といって排除し、明白な手順化を行ったところに大きな意義がある。

 そして、その手法を(もちろん佐藤氏の高価なセミナーっていうのもあるんだけど)早稲田大学エクステンションカレッジで紹介することにより、安価(たしか、3万円くらいかな)で知ることができるようにした点である。

 なお、佐藤正美氏の4月からのエクステンションカレッジの
 ビジネスの実態がわかるデータベースの作り方
 が、その内容だと思う。コード110159(81ページ)
 くわしくはこちら
 で、いま受講期間だけど、佐藤氏の講座は人気だからなあ。。。もう、締め切り??。。どーなんだろう(^^;)

 ま、それはさておき、内容だ。




■佐藤正美氏の手法

 佐藤正美氏の手法では、以下の手順でデータを分析していく

1.データの認知
2.データの類別
3.データの関係
4.データの周縁
5.データの多義
(6.みなしエンティティ)


 1のデータでまあ、エンティティをとりだして、2の類別でエンティティをリソース系とイベント系にわけ、3のデータの関係で、それらエンティティ間に関係をつける。
 4で妥当性をチェックし、5で、同じことを言ってるのを排除する(ここで、繰り返しも分けられるらしい)。
 6のみなしエンティティは、本来エンティティでないものをエンティティにする操作である。

 っていっても、なんだかわかんないだろうけど。。ま、興味ある人は、佐藤氏のセミナーにでるなり、SDIのページを見まくるなり。。してくださいませ。

 ただし、氏の論理データベース論考―データ設計の方法:数学の基礎とT字形ER手法を読み場合は、

1.まず、はじめの数学のページはとばす(読まないで置く)
2.「T字型ER図の作成手法」の176ページから右側のページだけ読む
3.187から、右のページを中心に、ひだりのページを見ながらさっとよみ
4.実践編をよんで
5.「T字型ER図の作成手法」の左側を読んだら
6.気が向いたら、初めのページを読む

ようにしないと、いったい???っていう本になってしまう
(早稲田のセミナーを聞くとわかります。この本の説明をするのですが、説明は、よーくわかります。その説明を聞いてから、本を読むとわかります。




■正規化手法と、佐藤正美氏の手法の比較

では、独断と偏見で、正規化手法と比較してみましょう。

1.データの認知
  →エンティティの認知=第二正規形です

2.データの類別
  →この過程は正規化にはありません

3.データの関係
  →第二正規形において、外部(参照)キーをいれるときに、相当します
   :参照キーを入れるということは、そのエンティティと関係を持つことです

4.データの周縁
  →正規化のチェックということなのですが、明確な過程が無いです。
   これは、正規化では、エンティティとして分けてしまったものが、
   実は上位エンティティに属する(担当者=従業員)みたいな操作で
   第二正規形のエンティティの認識で行われるのですが、コレに対する
   論理的根拠が第二正規形にはありません。

   そこで、正規形にした場合、人によって差が出てきてしまうことがあります

   (図書館と移動図書館=自動車を別々にしたり1つのエンティティにしたり。。
    根拠が無い)

5.データの多義
   →言葉が同じという部分に関しては、第二正規形、
    繰り返しの排除という意味では、第一正規形で行われます。

6.みなしエンティティ
   →エンティティでないエンティティの導出ということで、第三正規形にあたります

 ということで、佐藤氏の手法は、第二正規形から入り、細かくやっているということではあるのですが、基本的に正規化手法とまったく違ったことをやっているというわけではありません(それをシステマティックに、論理的な背景をもってやっているといえる)




 とはいえ、佐藤氏の手法と、正規化で違う場合があるんだけど、それは、どーかんがえてもHello World程度ではないので、別の機会にします。
 (自分へのメモ:その説明 3P伝票

 ってことで、このシリーズ、次回はER図ってとこですかね(^^;)



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする