|
しかしその後の懇親会では、何人かの方にプレゼン資料を見せていろいろ話すことが出来ましたが、今回はこのネタを使って「オブジェクト指向」について考えてみたいと思います。 さてネタにした「某バイク便システム」の開発事例についてですが・・・ 1.まず「仕様書」などという大層なものは、初めから存在しない。
2.仕様は常に変わる・・・というか、動かしてみて初めて判る仕様です。 3.開発途中でコンセプトが「バイク便システム」から「総合物流システム」 に大変貌を遂げる!!!! 販売ターゲットとする業種が拡大したため、仕様も途中から大規模に変わった。 4.エンドユーザーにはとことん易しく、60代〜70代のおじいちゃんや、 こないだまでキャバ嬢だったオネエちゃん、 パソコンを触ったことのないおばちゃん達にも扱えるよう 超ユーザビリティなインターフェイスに!! 5.デザインも堅苦しくなく、見た目に易しいデザインでよろしくネ!! 6.予算は抑えて開発は速く、しかもチームは2・3人のみ!! 7.ちなみに現場は21:00で建物が締まるため、21:00以降の残業はできません。強制退社!! というもの。まさにある種のアジャイル開発!! このシステムの最大のヤマが 「受注画面」 なるものだが、これがまた凄い仕様である!!! まず起動時の画面である。 次に伝票登録用の状態に遷移する。 この画面では表示されていないが、「依頼主」を登録すると、過去履歴の一覧が自動表示される。 中継地点も登録可能。「請求先」もユーザーが自由に編集できる。 地図を使って料金を自動計算。高速料金も自動算出する。直線・エリア・時間による料金計算も可能! 登録済みの伝票を表示する。フッターのボタンの機能が変わっていることに注目!! 登録済みの伝票も変更できる。ここでもフッターのボタンの機能が変わっていることに注意!! これ、すべて一つの画面の機能である・・・ この画面、単発の伝票だけでなく、定期配達便やキャンセル伝票、さらに赤伝すらも扱えるという代物である! そのうえ中継地点のドラッグ&ドロップによる入れ替えも可能、 各コントロールも読み取り専用〜編集可能〜に状況に応じて小まめに変化する なかなかも気の利いたインターフェイスになっている。 自慢ではないが、このシステムのプロトタイプを見に来た新聞・雑誌の編集者たちが皆
さて、この画面、極めて膨大な行数になってしまったことは想像に難くない。 2010年3月8日現在、この画面の行数であるが
ついでにこの画面の開発期間は三人月、
しかも今回初めて使った未知の地図コントロールを二つも使い倒しながらであり さらに最初搭載していた地図コントロールは、諸般の事情により、 途中で全く別のコントロールに換装したというオマケ付きである。 どうすればこのようなことが出来るのか、仕掛けは簡単、画面では実装を極力減らし、画面を構成する各コントロールや、さらに機能や概念に細分化した各クラスに、処理を委譲しまくっているからである。 前の記事では「クラスは責務を持つ実体」と書いたが、クラスを機能や概念ごとにどんどん分割し、ひとつのクラスが一つの責任しか持たないようにしてしまう。あとで知ったが、これがどうやら
というものらしい。よってこのプロジェクト内では、VisualStudio が自動生成するファイル以外、2000行を超すクラスは一つもなく、また 100 行を超すメソッドもほとんど皆無という状況になってしまった。その後ヤマのようにバグ修正や仕様変更が発生したのだが、殆ど苦もなく修正できてしまったのである。 一年近くやって徹夜が一回もない案件は今回が初めてだが、OOP の真髄を一分なりともマスターすると、ここまで楽になれるものなのかと、つくづく思い知らされたのであった。 ・・・以下、疲れたので続きは今度。もう寝よう。
|

- >
- コンピュータとインターネット
- >
- コンピュータ
- >
- ソフトウェア





いやー、お酒でも飲みながらゆっくりお話を聞きたいです、凄いためになります。この体験談、LTといわずセッションでも聞いてみたいですよー。
2010/3/11(木) 午後 9:28 [ 割と普通 ]
こういう話を聞くと、うらやましい限りです。
なかなかこういう具合には行きません。
以前SmallTalkの講習会でもありましたけど、本当のオブジェクト指向を実践している所は少なく、なんちゃってオブジェクト指向開発している人達に見せたい位ですね。
上司ばかりでなく社員の意識も変えないといけないので、一人実践するわけにもいかず。。。。です。
2010/3/12(金) 午前 1:27 [ かわじゅん ]
ありゃりゃ、コメントに気づくのが遅くなりました。すみません><!
割と普通さん
先日のわんくまのレビュー会、とても面白かったです!(^ω^)
トリの二人の場の盛り上げ方は凄いですね。あれはもう才能としかいいようがありません!(マジほめ言葉です!)
今回はビッグネームはいませんでしたが、来たからといって盛り上がるとは限らないですよね。しかし今回は最初から最後まで楽しめました。いやはや、本当にありがとうございます。<(_ _)>
2010/3/12(金) 午前 10:23 [ hilapon ]
あと LT は・・・トラウマです。
かなりしっかり準備してきたつもりだったが・・・甘かった。orz
機会みてリベンジ考え、基礎からプレゼン勉強するつもりです。
> いやー、お酒でも飲みながらゆっくりお話を聞きたいです、凄いためになります。
> この体験談、LTといわずセッションでも聞いてみたいですよー
次回のわんくまは「数学デイ」だそうですが、ぜひ「オブジェクト・デイ」もやって欲しいです。そんときは是非立候補させて頂きますか(汗
2010/3/12(金) 午前 10:32 [ hilapon ]
かわじゅんさん
> こういう話を聞くと、うらやましい限りです。なかなかこういう具合には行きません。
大きいところになればなるほど、制約は厳しいんでしょうねぇ・・・(-ω-;
でも、とある超大型デスマ案件にぶちこまれたときは、すでにグダグダになってて誰もチェックできる状況じゃなかったから、もう好き勝手にソース改造させて頂きましたがw
2010/3/12(金) 午前 10:39 [ hilapon ]
お疲れ様です。
以前バスの中で偶然会った同業の者です。
相変わらず大変そうですね、バイク便システムから物流??
ど、どうしたらそんなに話が大きく…(*_*)
今度機会ありましたら詳しく教えてください( _
2010/3/12(金) 午後 0:51 [ ryl**lk_tea ]
どうもお久しぶりです!!
> ど、どうしたらそんなに話が大きく…(*_*)
バイク便業界だけがターゲットでは、販路が狭過ぎますからねぇ〜。(^ω^;
2010/3/13(土) 午後 11:04 [ hilapon ]