- PR -

オブジェクト指向とUMLの研修について

投稿者投稿内容
Beatle
ぬし
会議室デビュー日: 2003/06/09
投稿数: 394
投稿日時: 2004-01-21 13:26
引用:


と、お付き合いのある外注さんに仕事をお願いした際、
仕様書を頂いたのですが、UMLで書かれたクラス図などがあり
私には何の事だかさっぱりでした。

私はバリバリの技術者という訳ではなかったし
言語もVBやVBA、PHPなどを使用し、担当が社内システム構築と
いう立場でしたのでこれまでは特に必要性を感じてこなかった
のですが、この先、外注さんに仕事をお願いする場合にでも
オブジェクト指向の知識が必要だな…と思った次第です。
外注さんにもこの先、知っていたほうが良いと薦められました。




UNLの講習会や学習法は他の方の書かれた通りでしょう。
ただ、元投稿者さんと外注さんとの仕事の分担というのは今後どう
いう関係なのでしょうか?

設計(社内)、プログラミング(外注)?
上流(社内)、設計・製造(外注)?
それとも、プログラミングまで含めてメンバーの足りない部分を外注から
補充?

むろんUMLに関しては読めることも、作成することもできるに越したことは
ないので、勉強は必要ですが、「上流(社内)、設計・製造(外注)」とい
う関係の場合、外注さんが納品してきたクラス図等は単なる納品物件であって
受入の際、しっかりと説明(レビュー)することをお勧めします。
クラス図でどうなっていようと要件と合っているのかどうかという観点で。

この関係の場合、上流側で作成するUML関係のドキュメントではUSE CASE図
とUSE CASEドキュメントぐらいが書けるようになれば良いのではないでしょうか?
(他にもDB関係とかUML以外にもありますが)
あとは、外注さんから提出されるUMLドキュメントを読めるようになればよろしい
かと。
ほむら
ぬし
会議室デビュー日: 2003/02/28
投稿数: 583
お住まい・勤務地: 東京都
投稿日時: 2004-01-21 14:24
ほむらです。
-----------
shalum氏へ
引用:

でも再利用性をあまり言われないとなれば、Javaでいう継承や
オーバーロードなんて仕組みは必要ない…?と、いう訳では
ないですよね、やっぱり。仕様の変更があれば親クラスそのものを
書き換えてしまうので、わかってはいてもオブジェクト指向に
なりきれないです。はぁ…。まずはここからでしょうか。


書き換える内容にもよると思いますが、オブジェクト指向であっても、
親クラスを書き換えることはやってもいいと思いますよ。
ただし、それなりのリスクをしょう事になりますけど。。。
最小限抑えられるのもオブジェクトの特長かなと。

僕とか、親クラスの機能を抜き出して
新しいオブジェクトととして
親クラスにコンポジットしなおすなんのも良くやりますし。

オブジェクト指向については
なぜ、オブジェクトとして作るのかという目的さえ忘れなければ
それなりのものになるとおもいます。
たまに、オブジェクト指向という手段にこだわって目的を忘れている人もいますけど。。。

#ちょこっと、追加修正

[ メッセージ編集済み 編集者: ほむら 編集日時 2004-01-21 14:26 ]
がるがる
ぬし
会議室デビュー日: 2002/04/12
投稿数: 873
投稿日時: 2004-01-21 17:04
ども。がるです。

拙い講座ですが、頑張って書き始めてみました。
自分戦略研究所
http://jibun.atmarkit.co.jp/index.html

の中にある会議室から「スキル創造研究室」に
投稿をしていきたいと思います。

http://jibun.atmarkit.co.jp/scenter/bbs/viewtopic.php?topic=8769&forum=21&1

色々突込みどころ満載だと思うのですが、遠慮なく突っ込んで
いただければ、と思います^^;
shalum
会議室デビュー日: 2002/10/30
投稿数: 3
投稿日時: 2004-01-21 17:34
経験者の皆様の生きたご意見、非常にありがたく拝見させて頂きました。
正直、こんなにたくさんの貴重なアドバイスを寄せて頂けるとは思ってもみなかったです。
個々の方々に返信をお返しするのが礼儀と思いますが、
非常に大変な事になってしまいますので、<私が...(^^;
お礼に留めさせて下さい。本当にありがとうございました!!

■Beatle様
>ただ、元投稿者さんと外注さんとの仕事の分担というのは今後どう
>いう関係なのでしょうか?

現在のスタンスは、設計(社内)、プログラミング(外注)です。
ただし、オブジェクト指向うんぬんという話になってゆくのであれば
外注さんにお願いする場合は設計からお願いする事になると思います。
※なぜなら私の知識が追い付いていないから...

こちらも知っている事は強気に言えますが、相手の方が上手だと、
成す術がないですね(笑)
設計までやって、その後にオブジェクト指向やUMLなんて話に及ぶなら
始めから全てをお任せしたほうが賢明でしょうから。

>外注さんが納品してきたクラス図等は単なる納品物件であって
>受入の際、しっかりと説明(レビュー)することをお勧めします。

というご意見、しっかりと肝に銘じておきます。
どうせこの担当者はわかっていないのだから、適当に誤魔化して
逃げてしまおう...と考えられてはたまりません(^^;
あとになってあれこれ言っても、仕様変更だからいくらですね〜
と言われればそれまでですから(笑)

■がるがる様
>色々突込みどころ満載だと思うのですが、遠慮なく突っ込んで
>いただければ、と思います^^;

到底ツッコミが出来るレベルではありませんので(笑)
かかさず読んで勉強させて頂きます!!
ジャンボカレー
会議室デビュー日: 2003/05/26
投稿数: 17
投稿日時: 2004-01-22 01:37
オブジェクト指向を学習・習得したいと思う開発者が増えてくれればとても嬉しいです。
けれども、オブジェクト指向を使う理由。使えばどんな利点があるのかを
抑えるのも重要ですよね。
それを抑えられれば学習も楽しいですし。
でも、よく言われる「再利用性」「生産性」とかは現実上手くいってないように思えます。
なんででしょうか?単純に能力不足ってことで片付く問題なんでしょうか?
逆に能力があれば、誰でも手に入れることができるものなのか?
それとも単なる喧伝なのか?
私は最近「単なる喧伝派」に傾いてきています。
皆さんは、初心者から「オブジェクト指向を学習する利点は?」と聞かれたら
なんて答えていますか?
未記入
ぬし
会議室デビュー日: 2002/03/28
投稿数: 255
投稿日時: 2004-01-22 07:47
>でも、よく言われる「再利用性」「生産性」とかは現実上手くいってないように思えます。
>なんででしょうか?単純に能力不足ってことで片付く問題なんでしょうか?
まず,例えばJavaとC++とでは状況が異なっています.

C++では言語の欠陥が大きいため,再利用性や生産性を上げるのは困難です.
#補足しておくと,VBはオブジェクト指向言語でないので議論の対象ですらない.

Javaの場合においてでさえ,必ずしも簡単ではありません.

再利用性に関しては,単純に再利用できるものについては既にAPIなどで幅広く再利用
されています.あまりにも当たり前すぎて「再利用」とは呼びませんけれどね.それ
以外の個々の領域依存のモジュールについては,各問題領域依存なので必ずしも幅広く
とはいきません.これは当たり前でしょう.

生産性に関しては,プログラミング能力に大きく依存します.「Javaの使い方を知ら
なくても生産性は上がるがせいぜいC言語の2〜3倍,本当に使いこなせば一桁以上」
などと言われたりもします.定量的にはどうであるか議論の余地はありますが,経験的
に言っても使い方によってそのくらいの差は簡単に出ます.オブジェクト指向は
プログラミングパラダイムの変化であって,道具じゃないとも良く言われます.
使い方が分かってない人には役に立たないものです.

だから,たとえばC言語やVBのプログラミングスタイルを引きずっている人などは,
生産性が上がらなくて当然です.実際にJavaを使っていても,その能力を引き出せて
いる人は,かなり少ないような気がしています.下手をすると1〜2割か,或いはそれ
以下かもしれません.

>私は最近「単なる喧伝派」に傾いてきています。
たしかに,単なる宣伝として悪用している例も多々あるようです.残念なことに.
「オブジェクト指向によって/使いさえすれば生産性が上がる」
などと宣伝してる場合は,非常に怪しい.

平たく言えばこのような場合は「紛い物」の可能性が高いのです.しかも本物か偽物か
見分けるのが難しいことが,問題をさらに複雑にしています.

だから私はその手の議論はあまりしません.「生産性は上がるはずだ」「いや上がら
ない」では水掛け論にしかならず時間の無駄です.議論をせずに,単にオブジェクト
指向を使って「自分の生産性」を高めるだけです.そうやって実証する以外に,他人を
納得させる術はおそらくないと思います.

それに他人を納得させることは,私の目的ではないですしね.何も他人を楽させる
ために,私が骨を折ってやる義理などないわけです.
未記入
ぬし
会議室デビュー日: 2002/03/28
投稿数: 255
投稿日時: 2004-01-22 07:51
>設計までやって、その後にオブジェクト指向やUMLなんて話に及ぶなら
>始めから全てをお任せしたほうが賢明でしょうから。
なんか使い方が間違っている気がする.....

オブジェクト指向を知らずに,どうやって設計してるのやら.
Micky
大ベテラン
会議室デビュー日: 2002/09/04
投稿数: 137
投稿日時: 2004-01-22 09:53
引用:

悪夢を統べるものさんの書き込み (2004-01-22 07:47) より:

>でも、よく言われる「再利用性」「生産性」とかは現実上手くいってないように思えます。
>なんででしょうか?単純に能力不足ってことで片付く問題なんでしょうか?




「そうなる様に考える」と言うのがポイントだと思います。
「構造化プログラミング」だって同じような謳い文句だったと思いますが、
それなりに考えて作ればなにも考えないよりは「再利用性」も「生産性」にも
効果があったと思います。

さらに、「オブジェクト指向」になれば、それらを実現する
たくさんの道具が提供されるわけですが、「いかに使うか?」は
やっぱり、そうなる様に考えないと難しいのでは?と思います。

極端な話、「C++」等のオブジェクト指向言語を使っているだけで
「オブジェクト指向してます」と言っている場面も見かけました。


引用:


だから私はその手の議論はあまりしません.「生産性は上がるはずだ」「いや上がら
ない」では水掛け論にしかならず時間の無駄です.議論をせずに,単にオブジェクト
指向を使って「自分の生産性」を高めるだけです.そうやって実証する以外に,他人を
納得させる術はおそらくないと思います.




その通りだと思います。自分もメインは「自分の生産性」を上げるって
事に尽きると思います。

「オブジェクト指向」はもちろんですが、こういった方法論的な部分から、
「生産性」等のメリットを他人を納得させるのはほんと大変だと思いますよ。
だって、生産性があがっていつも定時に帰るとなんか仕事してないように
見られたりする風潮がまだまだ残っています。
生産性が悪くたくさん残業してる人の方がたくさん給料もらっているなんてのも
おかしな話じゃありませんか?
どこかでも同じような話題の書込みがありましたね…

スキルアップ/キャリアアップ(JOB@IT)