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

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

デザインパターンとユーザー要求を埋めるものとしての業務パターン

2006-07-17 23:28:13 | Weblog

 以前、オフシェア開発の先としての自動生成を考える必要性が早まった?最近の国際情勢で!!っていうブログをかいたとき、

具体的な業務のパターン化については、このブログの趣旨(オフシェア開発とカントリーリスク)に関係ないので、別の機会に(覚えていたら)


って書いたので、積み残しの残務整理ということで、その話。




 そのブログの中ほどにデサインパターンのパターンじゃなくって、それよりも、もっと
大きな概念の”業務パターン”
と書いているように、この業務のパターン化っていうのは、デザインパターンよりも、大きな概念になる。

 そこで、まず、デザインパターンについて考えます。




 デザインパターンで有名なのは、GoF本に紹介されているデザインパターンでしょう。

 これには、23種類ある。具体的には、以下のとおり


01 Iterator ― 1つ1つ数え上げる
02 Adapter ― 一皮かぶせて再利用
03 Template Method ― 具体的な処理をサブクラスにまかせる
04 FactoryMethod ― インスタンス作成をサブクラスにまかせる
05 Singleton ― たった1つのインスタンス
06 Prototype ― コピーしてインスタンスを作る
07 Builder ― 複雑なインスタンスを組み立てる
08 Abstract Factory ― 関連する部品を組み合わせて製品を作る
09 Bridge ― 機能の階層と実装の階層を分ける
10 Strategy ― アルゴリズムをごっそり切り替える
11 Composite ― 容器と中身の同一視
12 Decorator-飾り枠と中身の同一視
13 Visitor ― 構造を渡り歩きながら仕事をする
14 Chain of Responsibility ― 責任のたらい回し
15 Facade ― シンプルな窓口
16 Mediator ― 相手は相談役1人だけ
17 Observer ― 状態の変化を通知する
18 Memento ― 状態を保存する
19 State ― 状態をクラスとして表現する
20 Flyweight ― 同じものを共有して無駄をなくす
21 Proxy ― 必要になってから作る
22 Command ― 命令をクラスにする
23 Interpreter ― 文法規則をクラスで表現する

(上記斜体は、後述する「増補改訂版Java言語で学ぶデザインパターン入門」の見出し
 から引用)

 具体的に、どういうプログラムになるのかについては、

 増補改訂版Java言語で学ぶデザインパターン入門
 結城浩 著 ソフトバンクパブリッシング刊 ISBN4-7973-2703-0


を見ていただくのが、一番分かりやすいと思う。
ので、とりあえず、ここでは、それを紹介することが主題でははないので、このぐらいにしておく。




 このデザインパターンを使ってユーザーと、業務の打ち合わせをするということはありません。
 なぜなら、ユーザーは、わからないから。
 ユーザーがヒアリングのときに、自分の業務を説明するのに、「Facadeにしてください」とは、いうとは、思えません。もし、言ったとしたら、それは、ぜーんぜん違う意味でしょう。
(Facade=ファザードっていうのは、建物の正面の部分を指します。ちなみに、たしか、もともとはフランス語だったと思います。なので、よみかたが、ちと変です)。

 業務レベルでは、契約時点、営業とかの間で話されるのは、おおきな取引上のイベントレベル、つまり、商業だと

 受注
 発注
 入庫
 出庫(出荷)
 納品

 あと、イベントの対象となるマスター、つまり、
  売り手である自社、
  買い手である顧客、
  2人をつなぐ商品
 と、これに付随する、銀行などさまざまなマスターの
   作成・更新・削除処理
 だと思います。


 これは、お客さんも意識、理解していて、そのため、お客さんは、
  「受注は、このようにやります」
  「発注は、こうします」
 っていうように説明します。




 っていうことは、
 =>受注の説明内容として、いきなりデザインパターンが説明されることはない

 =>なので、デザインパターンを採用しても、
   そこへの落とし込みは、プログラマーの恣意的な操作になる危険が大きい

 =>プログラマーと発注者がわの共通言語ではないため、
   勘違いや意味の食い違い、情報不足が起こるリスクが大きい

っていうことになります。




 じゃあ、現実的に、この間をどうしているかというと、

 ユーザーと、プログラマー(実質、手配できるのはワーカーさん)
 の双方が理解できる言葉を使えば、お互いの誤解は少ないことになります。

 これが、”業務パターン”(っていうかどうかは別として、かりにここではそう呼びます)

 つまり、ユーザーの業務をモジュール化したもので、これを、コンピューター上に表現
することによって、そのパラメータを変えていくことで、ユーザーの業務を定義していきます。

 たとえば、帳票出力とか、画面表示とか、電話をかけるとか、データチェックとか、
 ソートとか。。きりないぞーー
 なんかです。これは、どーいうプログラムにするかっていうのをパターン化しておけば、あとは、パラメータチェンジっていうことで、ワーカーさん作業に落とし込めます。




 では、この業務パターンというのは、どのくらいのレベルか?っていうと、ヒアリング可能でお客さんと同意がとれるレベルっていうと、ABC(活動基準原価計算:あのPOSなんかのABC分析や朝日放送や富士ソフトと合併した会社ではない)の業務プロセス位か、さらにそれを1段階下げたレベル程度かもしれない。

 しかし、この業務パターンをどこに置くか?という明確な基準は無く、それは、属人的となっている。

 この分野において、研究開発が進めば、安定的なソフト構築ができると思うかもしれないが、その可能性は、低いと思っている。理由は

・この分野は、ワーカーへの落とし込みという、アカデミック性の低い、アメリカでは研究されていない領域である。なので、この分野を研究しても、学者・研究者は名声を得ることは出来ないため、出世に不利な、この分野を研究することはないだろう。

・実はこれは、ユーザーのヒアリングをテープにとって、共通項をさがすと簡単に出てくるが、そのような、仕様をまとめる作業は、メーカーの仕事だ、メーカーやれえ!ということで、ユーザーはやろうとしない。それが証拠に、メーカーは要求仕様の標準化というのを考えているが、ユーザー同士があつまって、業務を表現する共通用語のとりきめなんていう作業をしようとはしていない(たぶん)。

・実は、この落とし込みは、何十人に1人かは、教えてもらわなくてもできる能力を持っている。
 そこで、メーカーは
   大量のワーカーを採用し、
   その中で、その才能のあるものだけが残れば、
 なんの問題もない。

 ワーカーさんで、この手法が編み出せないと、大量の時間と労力をついやしてもシステムはできないので、うつ病になってしまう。実はこの業界、ワーカーさんで、これが作れない人は、うつ病になるか、こんなのにかかわらなくていい、御用聞きSEや、マネージャーなど上位職にいくしくみが出来ている。なので、現場的には、問題がおこらない。
(SEは、本来知っておくべきだが、御用聞きに徹すれば、このしくみを知らなくてもSEはできてしまうのだ @_@!)




 ただし、この分野の進展の可能性は、若干ある。

 というのは、たぶん、このレベルの業務プロセスが、ロボットに対する教示内容になってくると思う。そうすると、ロボットの分野として、研究されるかもしれない。


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

インターネット家電 VS 家庭内ロボット

2006-07-17 17:07:48 | Weblog

 前のブログユビキタスって、ほんとにいいの?

・ネットにつながっていて、中身がわかる、けど高価な冷蔵庫と
・いろいろやってくれる、ケータイにつながっているドラえもんロボット

について、その後ロボットの話や、RFIDのタグ情報を、どこで消すかが問題(プライバシーや他のお店で買った場合)で、いろいろ書いてきたけど、その冷蔵庫(インターネット家電)とドラえもん(家庭内ロボット)について、まとめていなかったので残務整理。




問題は、コストと、どちらが売れるか?っていうことだと思う。
さらにアフターサービスの問題もある。

って考えて・・・

●コストについて
 RFIDのタグ情報を、どこで消すかが問題(プライバシーや他のお店で買った場合)で書いたように、ICタグを貼って冷蔵庫の中身を確認するっていうのは、コストかかりそう。
 冷蔵庫にカメラを入れて取るっていうのは、結露しても大丈夫なのか??
 とか、問題ありそう。

 ってすると、ロボット有利だけど、問題は、ロボットに冷蔵庫の開け閉めができるのか?
 っていうことになる。これができれば、ロボット有利

●売れるか
 家庭用ロボットだと思うんですけどねえ。。
 インターネット家電っていっても、白物家電ですからねえ。。そんなにばんばんは、売れない気がする。
 家庭用ロボットって、もっと小型化して、フィギアの中に入ってきたりすると、もっとうれるかもしてない。

●アフターサービス
 たとえば、脆弱性が発見されたなんていうとき。
 冷蔵庫を動かすのは、たいへん。それに止まったらこまる。
 家庭用ロボットは、持ち運び可能な大きさなら、いいかも。。




 そうやって考えると、ある程度小型のテレビカメラつきで、いろんなものが操作できる家庭用ロボットがうりだされて、それによって、ユビキタス社会で実現しようとしていた、冷蔵庫の中身を見るとかが、実現されるようになるのかも。。?
  



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

Googleに対抗する「情報大航海」の成果はWebAPIでgooで使えるようにして欲しい

2006-07-17 15:16:17 | Weblog

 Googleに対抗する?てーんで、国が援助して、各企業合同で行う検索エンジンプロジェクト「情報大航海プロジェクト」について、ウィリアムのいたずらも、以前、このブログで取り上げた。

 そのブログでとりあげたときは、第一報だったのでよくわかんなかったけど、その後、日経コンピューター2006年7月10日号の17ページの内容をみると、ウィリアムのいたずらの書いたような、各分野に特化した検索機能にすすむようだし、Goo(NTTレゾナント)が核になるということで、むしろ、ウィリアムのいたずらの言ってるほうに近いようだ。

 そーだよねー。いまさら、キーワードで文章検索やって、それを表示してもねー。
 もう、そーいうことを研究している時代じゃないよね。
 キーワードじゃ、検索内容を表現するのは、正直、ちと苦しくなってきた。




 ただ、研究分野として、超高速コンピューティングシステムにしてるけど、汎用的につかえるグリッドのほうがうれしいかも。

 そーすれば、社員1人1人のパソコンをみんなつなげて(グリッドで)社内中のデータ検索!とかできそうだし(社内中のデータを検索するため、超高速コンピューターを導入って。。^^;)




 で、その成果についてなんだけど、これはやっぱWeb APIで、Gooのサービスとして提供して欲しい。あんまり、検索エンジンを提供されても、それを使える人(企業)って、少ないと思う。そんなすんげー検索エンジンを使うほどのデータを持ってる人って、少ない気がする。

 一方、gooのWebAPI提供っていうのは、じゃんじゃんして欲しいですよね。

 今後のUIとしては、前のブログでとりあげたような、「いもうと」がでてくるインターフェース、
 さらにその先には、ロボット(あるいはロボット入りフィギュア)に直接話し掛け、WebAPI経由で検索をかけて、結果を表示、発声するなんていうのも出てくると思う。

 そんなふうに、インターフェースは、キャラクター対話型→ロボット(フィギュアに入ったものも含む)になっていくかもしんないので、そんなもんでも使えるようにするには、やっぱWebAPIにしていただきたーい、
 っていうか、情報大航海関係なしに、どんどんGooもWebAPI化していただきたーい!




 てなわけで、今度、機会があったら、その例として、いもうと検索をご紹介したいと思ってまーす。




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