トップページ⇒tech
966コメント334KB

UML皆でお勉強しよ♪

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001ニュージーランド漁夫NGNG
  Λ_Λ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)< お勉強しよ♪
 (    )  \____________
 | | |
 (__)_)
0856森 秀樹NGNG
>>852
使い勝手の悪い所は、プロパティウインドウで編集できる項目が
オブジェクトを選択して、ダイアログを出した時に出来る事より
少なすぎる事と、プロパティウインドウでは意味の無い物しか
出てこない点です。

この為に、細かな設定がどうなっているのか調べる為に、色々な
オブジェクトのプロパティダイアログを開くという事になります。
まあ、ショートカットを使えば、それほど手間じゃないのですが。
(たとえば ALT+Enterとかね)
0857デフォルトの名無しさんNGNG
>>853
必要な図とわ?
0858デフォルトの名無しさんNGNG
>>857
仕事に必要な図ってことじゃねーの?
0859デフォルトの名無しさんNGNG
今日はシーケンス図つかったよ。
0860デフォルトの名無しさんNGNG
>>859
ぢゃ、明日はコラボレーション図だね&heart;
0861デフォルトの名無しさんNGNG
ホワイトボードの感覚で描ける、UML支援ツールがほしいな。
保存と、印刷機能必須で、マウスじゃないやつ。
0862デフォルトの名無しさんNGNG
シーケンス図がさくっと書けるフリーのツールどっかにない?
0863デフォルトの名無しさんNGNG
ペイント
0864デフォルトの名無しさんNGNG
>>862
かみとえんぴつ。
0865862NGNG
自分で探すか。
0866デフォルトの名無しさんNGNG
>865
warata
0867デフォルトの名無しさんNGNG
>>865
ばかもの!
ソフト作りになんらかの形でかかわる者ならば、

  「自分で作るか。」

と言わんか!
0868デフォルトの名無しさんNGNG
UMLツールって、作るのすげー難しそう。
ああいうドロー系ってやったことないからビビります。
0869森 秀樹NGNG
ドロー系で作るから厄介になるのでは?と私は思います。

Doxygen が使っている graphvis を見て思う事は、プログラマが
直接絵を書いちゃいけないんじゃないかと思います。

特にシーケンス図にいたっては、テキストで記載できる方が良い。

たとえば次のように、オブジェクトを定義して、流れをプログラムの
ようにして書けば勝手に絵が出来上がる。はず。

class puser:<Actor>, viwer, coverEdt, printer

puser: call viewer::new
puser: call viewer::getPrinterStructure
viewer: call printer::dispatch

クラス図の方は、プログラムから戻した方が書くほうは楽。

ただ、動的モデルの方は、動いているプログラムから取り出すという
斬新なアイデアあるが、これは設計が先かプログラムが先かという
問題になってしまうし。そもそも、データが多すぎて、要点を明確に
する為に消す時間がけっこうかかってしまう。
0870デフォルトの名無しさんNGNG
>869
UMLの意味わかってないでしょ?
0871森 秀樹NGNG
だから、絵はコンピュータに書かせて気に入らない処は修正すれば
いいの。

人に考え方を説明して、同じ目標に向かえばいいのだから。
0872デフォルトの名無しさんNGNG
puserって何?
0873デフォルトの名無しさんNGNG
プーサー
0874デフォルトの名無しさんNGNG
ユーザーへのポインタ
0875デフォルトの名無しさんNGNG
pfood?==「ごはんを食べないか?」
0876デフォルトの名無しさんNGNG
>871
前から思ってたけど、あなた頭悪いでしょ?
0877森 秀樹NGNG
頭悪いけど何か問題でも。

ちなみに、puser は ユーザーの作成したプログラムという感覚で
書きました。例なんだから、これにつっこんでどうするんだ。
という気が私にはしますが。
0878デフォルトの名無しさんNGNG
>>877
相手が頭悪いと相手のレベルに下がって考えないといけないから
面倒くさいんだよねぇ。
0879デフォルトの名無しさんNGNG
>877
あまりにも頭悪いみたいなのでマジレスしてやる。


発端
>868 名前:デフォルトの名無しさん 投稿日:02/08/10 12:06
>UMLツールって、作るのすげー難しそう。
>ああいうドロー系ってやったことないからビビります

頭悪い人のレス
>869 名前:森 秀樹 投稿日:02/08/10 22:14
>ドロー系で作るから厄介になるのでは?と私は思います。

>871 名前:森 秀樹 投稿日:02/08/11 00:59
>だから、絵はコンピュータに書かせて気に入らない処は修正すれば
>いいの。

その「コンピュータにUML(図)を書かせるツール」を作る話してるんだろうが!
いくらなんでも頭悪すぎ。いっぺん氏ね。
0880森 秀樹NGNG
コンピュータにUML(図)を書かせるツールの話だったのですか。
ドロー系て書いてあったので、今まであるような、画面上で位置を
元に線を書くようなツールだと考えていました。

じゃ基本的には考え方は同じなわけですね。

論理的に、どこのオブジェクトからどこのオブジェクトを、どのように
呼び出すかを記載すれば、コンピューターが絵を作ってくれる。

Sparx の EA のように、画面上で位置情報を元に、論理的な流れを内部
的に作るのでは無いという意味なんですね。

ドロー系て書いてあるから、私が誤解しました。
0881デフォルトの名無しさんNGNG
>>880を読んで確信した。
ここまでバカな人初めて見た。
0882デフォルトの名無しさんNGNG
いつから「日本語お勉強しよ♪」に変わったんですか?
0883デフォルトの名無しさんNGNG
わかった!森氏は在日外国人なんだな?
だから破滅的に日本語ができないんだな?
そして周囲から迫害され、ストレスで病気になってしまったんだな?

悪いことはいわん、早く精神科へ行くことを勧めるよ。

0884森 秀樹NGNG
いまだにわからないのですが。

ここの主題は次のうちどちらでしょうか。

1.人間がマウスなどで位置情報を入力して、それをコンピュータがリンク構造に
直して編集するタイプの、UML を書く為のツールのか。

それとも、オブジェクト設定して、プロセス1つづつを、明確な言語などで
記述し、コンピューターがこれをリンク構造に変換し、UML の絵を作って
くれるツールなのか。これは私の解釈では、UML の絵を書くツール。

どちらなんでしょう。

>>883 日本語が出来なくてストレスで病気になったのならば、
ストレスを直すより、日本語が出来るようになるか、ストレスを受けない
ようにするのが妥当ではないでしょうか。
0885森 秀樹NGNG
ああ、つっこみどころ満載だな。

1と書いて、2がないし。

ストレスを直す てあるけど、ストレスで受けた病気 だし。

UML を書く為のツールのか -> ツールなのか。

日本語おかしいかもしれませんが、伝わらない物でしょうか。

どうも、伝わらないようなので、あきらめます。
0886デフォルトの名無しさんNGNG
UMLって結構いけるじゃん
というスレ
0887デフォルトの名無しさんNGNG
>>884
変な言語からUMLの図を作るツールなんて意味ないじゃん。
それだったらプログラミングして、それをUMLツールでリバース
エンジニアリングしたほうが10000000倍マシ。
0888オブジェクト思考NGNG
オブジェクト指向をオブジェクト思考と最近まで思ってた
0889デフォルトの名無しさんNGNG
オブジェクトしこると思ってた
0890デフォルトの名無しさんNGNG
>>884
UMLが言語なんですが
0891デフォルトの名無しさんNGNG
>890
UML = Unified Modeling Language

一度入門書から勉強し直せ。
素人なら必死扱いて勉強すべし。すでに常識。
0892森 秀樹NGNG
>>887
静的な図はソースコードから取り出せるので、リバース
エンジニアリングできる程度のコードを書いてやっています。
UMLツールの使い勝手が悪いもので。

でも、動的なUML図を考えると、テキストで表現する記述
言語があっても良いような気がします。
0893デフォルトの名無しさんNGNG
>>890
そんなんわかってるわ

>>884が
> それとも、オブジェクト設定して、プロセス1つづつを、明確な言語などで
> 記述し、・・・

って書いてたから
「UMLが言語なんだが」って書いたんだろ
0894デフォルトの名無しさんNGNG
間違えた
>>890 → >>891
0895デフォルトの名無しさんNGNG
891は若気の至りだったね。
誰でも知ってることを振り回して一人悦に入っております。
0896デフォルトの名無しさんNGNG
>>892
> 静的な図はソースコードから取り出せるので、
分析と設計で同一の図を使うのか……。使えないケースも多々あろうに。
0897森 秀樹NGNG
>>893 やっと意味がわかりました。
確かに、私の書き方では、次のようにとれますね。
1.UML は言語ではない。
2.UML は明確ではない。
3.UML はプロセスや、オブジェクトを認識しない。
すみません。書き直します。
この1,2に関しては、定義にしたがえば両方とも間違いなのですが、
概念を伝える方法論が言語なのか、とか、概念を正確に伝えるとは
どういう事なのか。という部分でひっかかったりします。
でも、それは本筋じゃないので、文章を直します。

UMLを書く時に、UML ツールと直接対話せずに、一度テキストで
表現できる言語で書いて、それを UML ツールに読み込ませる事で
UML をコンピュータが書いてくれるツール。これが私の考える
コンピューターがUMLを書くツールです。クラス図などはリバース
エンジリアニングをかける事で出来ます。

で、結局、どっちのツールの事なんだろう。
0898森 秀樹NGNG
>>892
そう、多々あるんで、ソースコードの方をUMLで表記する部分だけに
するか、UMLにした後で概念の説明に不要な物を外します。
0899デフォルトの名無しさんNGNG
>>897
> クラス図などはリバースエンジリアニングをかける事で出来ます。
クラス図にも分析段階で使う概念的なもの、設計・実装段階で使うコードと一対一に
対応したもの、二種類ある。それとクラス図はかなりの程度まで自動生成可能だと
はいえ、クラス間の関係(role など)は人間が決めるもので、コードから生成する
のは無理。

またシーケンス図なんかは、全ての場合について生成したら数が多くて破綻する
わけで、主要部分がなんなのかを把握した上で選択的に作る必要がある。これも
自動生成は割と厳しいと言われてる。

頭で考えすぎる前に、実際に OO での分析・設計・実装をやってみ。わずかな
経験でも積んだ上で見直すと「そうなるべくしてそうなってる」ものと「改良の余地
があるもの」が見えてくるから。
0900デフォルトの名無しさんNGNG
faqかもしれんけど、シーケンス図ってどこまで詳細に書いていいんだか
わからない。
特にガンガン分岐するような場合、それをどこまでシーケンス図に書くのか。
分析レベルならまだごまかすことは可能だけど、設計レベル以上になると
シーケンス図は限界低すぎるんじゃないかと思う。
みんなどうしてる?
0901デフォルトの名無しさんNGNG
>>900
分岐をオブジェクトに閉じ込めて、仮想関数にしてしまう。これで分岐の先は
ブラックボックスにできる。

(毎回使えるとは限らんが)
0902デフォルトの名無しさんNGNG
いや、実装ではそれでいいけど、設計段階では
分岐すると言うことをちゃんと書くのがUMLでしょう?
それを書かなかったら分岐するということが
コードにしか残らない。これは却ってまずいのでは?
0903森 秀樹NGNG
>>899
UMLそのものの理解や、使いこなしに関して、最近興味を持って
はじめたばかりです。

最近出た、「ワークブック形式で学ぶUMLオブジェクトモデリング」
という本で、分析段階の方法が記載されていて、これを読んでいます。

UMLの入力をテキスト形式で記述する言語を作ってやりたい。
というのは、単に同じ情報を入れるのならば、使い慣れたエディター
で用紙の大きさやらに制限かけられることも無く書くだけ書いて、
UMLツールで、テキスト記述言語では記載できなかった情報を追加し
たり、画面に収まらないような個所や、冗長な部分、説明に不要な
メソッド、オブジェクト、インスタンス、呼び出しなどを
外した方が楽じゃないかな。と感じたからです。
0904デフォルトの名無しさんNGNG
>>902
クラス図でもシーケンス図でもそうだけど、別にコードの詳細を全て図に起こす
必要はない。っつーか、そんなことをしたら図が溢れかえって、逆に手に負えん
よ。
0905デフォルトの名無しさんNGNG
>>903
概要を知ったら、自作に進む前に、まずは現状を知れ。
0906デフォルトの名無しさんNGNG
>>904
いや、だからね。シーケンス図はその限界が低すぎるんじゃないかと
思うわけ。そんなことないかな。
0907デフォルトの名無しさんNGNG
>>906
そんなことはあるけど、かといって他に better な方法もないような気がする。
0908デフォルトの名無しさんNGNG
じゃーシーケンス図はテキトーなところで切り上げるしかない、
つー結論ですか。
なんだかなあー
0909厨房2号 ◆OjTjK0LY NGNG
>>908
適当なところで切り上げると言うか、逆にシーケンスが大切なとこだけ書く
って言うのも手。
0910デフォルトの名無しさんNGNG
>>908
俺は代表的なパターンについて、いくつかシーケンス図を書いて済ませてる。
正常処理と例外発生時のシーケンス、とかね。
0911デフォルトの名無しさんNGNG
>>909-910
なるほど。そうですね。
シーケンス図を書いた方がいいところを書くか。
でもなーシーケンス図書きたいところって、けっこうゴチャゴチャした
ところなんだよね。で、ゴチャゴチャしすぎでシーケンス図書けない、
というジレンマなんですよ。
0912デフォルトの名無しさんNGNG
コラボレーション図で代用しる
0913デフォルトの名無しさんNGNG
コレボレーション図って実用性あるか?
0914森 秀樹NGNG
>910
プロパティセット、プロパティゲットなどの呼び出しは書かない。
まあ、適当な所で切り上げるパターン

もう1つは、ブロックを分ける方法。これが使えるのは、全体では一塊の
セッションに見える作業があったら、アクターとバウンダリといった
2つだけのシーケンス図を作成する。

次に、別のシーケンス図に、詳細なシーケンス図を記載する。

あるいは、全体の流れがわかるような形で省略したシーケンス図
を作成した後で、詳細なシーケンス図を作成して、参照させる。

電子回路では、ブロック図の中に、ブロック図を入れて、そのブロック図を
別紙に書くという形で概念から詳細設計にViewを変えて見れるように
します。そういう風に考えると、いいような気がします。

UML の効果的な使い方は、前にも書きましたが、
「ワークブック形式で学ぶUMLオブジェクトモデリング」 ISBN4-7973-2019-2
が良いと思います。これは、素晴らしい本だと思います。
0915デフォルトの名無しさんNGNG
森秀樹はなぜトリップを使わないんだ?なりすましか?
0916西城秀樹NGNG
こんばんは、森進一です。
0917ニュージーランド漁夫NGNG
  Λ_Λ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)< >>950さん、次スレたててください。このAA使ってね。
 (    )  \____________
 | | |
 (__)_)

コノスレモコンナニノビタナァ
0918オブジェクト思考NGNG
月曜にUMLのブロンズ受けて2勝4敗でゲットです。\(^。^ )ノ
0919デフォルトの名無しさんNGNG
もうすぐシルバー受けんとな
また落ちるのか・・・
0920オブジェクト思考NGNG
UMLは何度合格しても最初合格の認定IDだけが有効なんだって。
ということは?
100回合格したら、99回分の認証は無駄になるのかな?(?_? )ゞ
0921厨房2号 ◆OjTjK0LY NGNG
>>911
設計を見直す機会になったりしないの?
想定してるシステムがどんなものか分からないけど、
スパゲティな設計だとスパゲティなシーケンスになるし。
それを止めるが為のシーケンス図だったり…
0922デフォルトの名無しさんNGNG
>>921
設計を見直す、っていうか、設計するときに使うんじゃない?
それは「設計図を書くと設計を見直すことができる」つーてるのに
同義では?
0923デフォルトの名無しさんNGNG
リファクタリングを助ける道具としてのUMLという使い方もあると思われ
0924デフォルトの名無しさんNGNG
ところで、UMLってもう直ぐ末端まで使われるのだろうね。
今は設計者のうち分かる人同士で頻繁に使うようになってる。
すくなくても某大手中堅間のごく一部では。
コーダーに向かって使い始めるのも時間の問題かな。
上流は既につかっているけど、本当は客にも使わせたい。

ゼロからのプロジェクトで使ったことあるんだけど、
金(人件費)が2倍かかりました。
使い始めで慣れてないというのもありましたが。

そんなところです。
0925デフォルトの名無しさんNGNG
どうせwebだろ?
0926デフォルトの名無しさんNGNG
>>924
> 金(人件費)が2倍かかりました。
何と比較して2倍でした?
0927デフォルトの名無しさんNGNG
UMLとXPって関係はある野?
0928キムチ食いてぇーNGNG
UMLを日本語訳したら「統一模式言語」
XPを日本語訳したら「極限状態プログラミング」
0929デフォルトの名無しさんNGNG
> XPを日本語訳したら「極限状態プログラミング」
禿しくやりたくない・・・
0930デフォルトの名無しさんNGNG
なんかトイレに行く余裕も無さそうで嫌。
0931デフォルトの名無しさんNGNG
>>930
トイレに行くときはペアで
0932デフォルトの名無しさんNGNG
>>931
それは、一人で行かせると戻ってこない恐れがあるからですか?
0933デフォルトの名無しさんNGNG
なんか面白そうなんで、
「極限状態プログラミング」
でスレ立てて良いですか?
0934デフォルトの名無しさんNGNG
>>933
それほどおもしろくねーぞ。
ま、もし立てるとしたらマ板でな。
0935デフォルトの名無しさんNGNG
>>928
「極端プログラミング」でわ・・
0936デフォルトの名無しさんNGNG
二人で一つの便器を使う。
0937デフォルトの名無しさんNGNG
一人でいくと首つるからだろ
0938デフォルトの名無しさんNGNG
2人で交互にウンコして色や臭いをお互い確認する
0939サゲだろNGNG
お互いに肉便器になってみる
0940デフォルトの名無しさんNGNG
>>935
「達人プログラミング」でどうよ
0941オブジェクト思考NGNG
シーケンス図て入力値とかはオブジェクトとして扱うもの?
たとえば、「パスワードとIDを入力する」としたときはこれって
「パスワード:○○クラス」とかってオブジェクト化する?
わかんねぇっす。
0942デフォルトの名無しさんNGNG
>>941
俺も勉強中だから正しいかどうかは分からんけど・・・。

入力値とかってシーケンス図で書かれるものかな・・・?

       ID,パスワードを入力する
| ユーザ |------------------------->| ATMとか |

てな感じにメッセージで渡すんでは・・・。
誰か訂正あったら宜しく
0943942NGNG
>>942訂正

誤>入力値とかってシーケンス図で書かれるものかな・・・?
正>入力値とかってオブジェクトで書かれるものかな・・・?
0944オブジェクト思考NGNG
なんかね、UMLのサイトのチュートリアルで
値そのものをオブジェクトにしてるようなとこが
あったような気がしたので、どうなんだろう?と
思ったんだけど、オブジェクトの定義に合わんので
できんよね?
0945デフォルトの名無しさんNGNG
普通はわざわざシーケンス図にメソッドの引数の型まで記述しない。
っていうか、引数も記述しない場合も多い。

値そのものをオブジェクトってのがよく分からないけど、引数で渡された
オブジェクトに対してメッセージを投げるのなら、シーケンス図の中に
そのオブジェクトが記述されていてもいいと思う。でもID、パスワード
なんてものだったらまずありえないね。
0946デフォルトの名無しさんNGNG
>>944
値をオブジェクトにするのが NG かというと、ケースバイケースだと思うけどね。
たとえば「金(かね)」は普通は整数型の値にするところだが、作っているのが
資産管理アプリケーション

- 流動性(現金、即日引き落とせる預金、定期預金)
- 通貨(円、ドル、etc)

あたりを属性として持ったオブジェクトとして設計するのもアリだろう。
0947デフォルトの名無しさんNGNG
すいませんVISIOでリバースエンジアリングできるつーので.netβ2についてたVisio
引っ張り出してきたUML初体験な厨なんですが

クラスの取り込み見たいのは出来たんですけど、親子関係を繋ぐ矢印含めて作図は
自動でやってくれないんですか?(紙上にレイアウトするの自動化できるとは思えないけど)

つか、取り込むだけなら、エディターでヘッダーでも読めばいいじゃん というか
VisualStudio上で解析した方が便利な気がするんですが…

手動でレイアウト決めてプリントアウトして使えや って程度のツールなんでしょうか?
ちょっと大きなクラスになると紙からはみ出すし、どう役に立てるのやら???



なんか参考文献ってありませんか?
VB magazineのバックナンバーにちろっと載ってるみたいだけど VBなので未見です
Visio解説本は、オフィスレイアウトとかそっち系の使い方しか触れてないし
MSDNのHPの「VSIOでUMLコーナー」連載途中(しかも今の所役立たず)だし
0948デフォルトの名無しさんNGNG
とりあえず、VBマガジソ通販しました
0949デフォルトの名無しさんNGNG
>>931
つれしょん
つれプログラミング
0950デフォルトの名無しさんNGNG
クラス図だけど、俺はまずER図を作って、それを元に
クラス図を起こすのが手っ取り早いんじゃないかと思っているのだが、
その辺はどう?

クラス図の継承とER図のリレーショナル型DBモデルってのは、
結局正規化という点ですごく共通する部分がある気がするんで。
だめすか?
0951デフォルトの名無しさんNGNG
↑追記
とりあえずクラス図はプロパティに注目するってことで。
0952デフォルトの名無しさんNGNG
意味がわからないんですが・・・
0953ニュージーランド漁夫NGNG
  Λ_Λ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)< >>950さん、予告どおり次スレたててください。このAA使ってね。
 (    )  \____________
 | | |
 (__)_)

トコロデERDデカケルナラクラスズデモカケルヨネ
0954デフォルトの名無しさんNGNG
>>950
クラス図とER図両方作るにしても、普通は順番が逆。
手っ取り早いと感じるのは単にER図に慣れているからでは?
0955厨房2号 ◆OjTjK0LY NGNG
>>954
うーん。あちきの感覚は950に近い。
業務アプリ屋なもんで、新規システムと言っても、まっ大枠こうだろうってのが頭に入ってる。
そこでまずER図起こして、プログラムの為にクラス図書く感じかな。

分析にはOOを使ってない。って事だけど、こーいうのもありかなぁって事で。
ユーケースは使ってるけど、説明資料としてだし。
レス数が950を超えています。1000を超えると書き込みができなくなります。