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

UML皆でお勉強しよ♪

■ このスレッドは過去ログ倉庫に格納されています
0001ニュージーランド漁夫NGNG
  Λ_Λ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)< お勉強しよ♪
 (    )  \____________
 | | |
 (__)_)
0524デフォルトの名無しさんNGNG
UML勉強したいんだけど、入門にはこれ買っとけって書籍あったらおしえて。
0525デフォルトの名無しさんNGNG
>>524

みんな持ってるファウラー本。
http://www.amazon.co.jp/exec/obidos/ASIN/4881358642/qid=1006660688/sr=1-1/ref=sr_1_0_1/249-9814225-6872300
手元に置くと便利。
http://www.amazon.co.jp/exec/obidos/ASIN/4894711559/qid=1006661504/sr=1-10/ref=sr_1_0_10/249-9814225-6872300
0526デフォルトの名無しさんNGNG
シルバー取った人って何を参考に勉強したの?
俺はとりあえず、リアルタイムUMLっつー本を買ってきたんだが。
0527デフォルトの名無しさんNGNG
>>523
マニュアルからプログラムってなんか逆説的。
0528デフォルトの名無しさんNGNG
>>527
CGI の Web アプリでやってみたら何気に面白かった。
マニュアル→画面デザインを書いた時点でできあがった気分になるけど(w
0529デフォルトの名無しさんNGNG
UML Press創刊記念age
http://www.gihyo.co.jp/umlpress/
0530デフォルトの名無しさんNGNG
すでに第一号でネタ切れっぽくないか?
0531デフォルトの名無しさんNGNG
>530
単発雑誌かと思った(藁)
0532デフォルトの名無しさんNGNG
ゴールドレベル(デザインパターン)のカードがやっと届きました。
4ヶ月も待たされただけに、シルバーより格好良いカードが届くと期待していたのですが
銀が金になっただけでした。
無料なので贅沢は言えませんけどね。
0533デフォルトの名無しさんNGNG
こんなのもあります。メニューとマニュアル(PDF)が日本語でフリー版あり
ttp://www.tech-arts.co.jp/product/product.html
0534 NGNG
私もUML Press1号かいました。
デザインパターンを読んでいるところです。

C++やJavaもいいんですけど
Cでかかれたものをラッパークラスをつくらないで
リファクタリングしていくなどという記事も載せて欲しい今日このごろです。
0535 NGNG
コノスレスグニサガルネ

Cマガジントカ
サカンニUMLツカッテイルンダケド
ココデハモリアガッテナイネ
0536デフォルトの名無しさんNGNG
>>534
漏れもUMLプレス買ったYO!
デザパタのたとえが笑った。
Mediator‐孔明がすべての部隊の面倒を見ます。
0537デフォルトの名無しさんNGNG
ゴールドレベルで玉砕した。
「90点は超えただろ」とか思いつつ自信満々で送信したら、
68点だとさ。
自信あった分野だけに、ほんと死にたいくらいの屈辱。
首括ります。
0538デフォルトの名無しさんNGNG
>>535
Cマガは出遅れすぎ。
Java World なんかはずいぶん前から UML を盛んに取り上げていた。
つーか今月の状態遷移うんぬんの記事は橋にも棒にも。
地域通貨のアホ記事もねじ込まれたのかねえ。

>>536
「ぼくにもわかるデザインパターン」って小学生かい、と突っ込みを入れたくなったよ。
0539 NGNG
>>538
たかが北大教授のLETSの記事じゃなぁ。
でもああゆうのが後で大化けするんだよなぁ。
0540 NGNG
>>583
JavaWorldはそうだねぇ。

CマガジンはC++ではなくCへのデザインパターン適用記事を
誰かに書かせるべきだ。
0541デフォルトの名無しさんNGNG
>>540
CマガのCはC言語のCではなくコンピュータのCです。
0542 NGNG
>>540
だれもここでそれ以外のこと主張してないって。
0543デフォルトの名無しさんNGNG
Cマガへのご意見ご要望苦情などは編集部か下のスレへ

Cマガを語る
http://pc.2ch.net/test/read.cgi/tech/992194388/
0544デフォルトの名無しさんNGNG
>CマガジンはC++ではなくCへのデザインパターン適用記事を
>誰かに書かせるべきだ。

そこまで濃いことを書けるCハッカーがCマガ側には居ないんだろうなあ。
米国記事だと望みはないでもないが。

米本家DDJでは、それ系(?)の濃い記事が目白押し。
層の厚さってのを思いしらされる。
0545デフォルトの名無しさんNGNG
訳判らん用語並べて悦に入るな!
設計書は画面構成図とか皆に判るように書こうNE!
0546 NGNG
>>544

既に誰か書いてたよ
http://www.sage-p.com/process/cool.htm
0547デフォルトの名無しさんNGNG
magicdrawで書いた図をwmfで出力して、PowerPointなどで
取り込んだのですが、日本語が文字化けします。なんとか
なりませぬか?
0548デフォルトの名無しさんNGNG
wmf?
0549デフォルトの名無しさんNGNG
>>548
http://www.jisyo.com/viewer/list/W.shtml
0550デフォルトの名無しさんNGNG
>>549
なるほど。
>>547
自分もやってみたが、化けた。環境設定を日本語にしたけど
だめ。
0551デフォルトの名無しさんNGNG
>>533
PatternWeaver使ってみたけど出来悪いね。
MLも最悪だし。
0552デフォルトの名無しさんNGNG
>>551
自分も使ってみました。つかいにくーい。
な○せさんとこでしょ?売ってるの。
0553デフォルトの名無しさんNGNG
>>552
な○せさんの所はな○せさん以外はVB専門の人ばかり。
0554仕様書無しさんNGNG
あげとくよ
0555デフォルトの名無しさんNGNG
ファウラー本っていい本ですか?
自分にはよくわからなかったです。
もっと簡単なのでいいのってありますか?
0556デフォルトの名無しさんNGNG
http://www.omgj.org/umlrobo/
0557デフォルトの名無しさんNGNG

    A_A  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)< だからAAっていうのか。なっとく
 (    )  \____________
 | | |
 (__)_)
0558デフォルトの名無しさんNGNG
クラス図を書いていてクラスの数が増えてくると、汎化と関連の線を
1つの図に書くと線が入り乱れてわかりにくい場合ってないですか?
理想的には線が入り乱れないようなすっきりした設計ができれば
いいのだけれどそれができない場合、汎化の図、関連の図と分けて
書いたりしてもいいんですよね?みなさんどうしてます?
0559デフォルトの名無しさんNGNG
>>558分けて書いたほうが分かりやすい。
0560デフォルトの名無しさんNGNG
お前ら!
参照先のオブジェクトが一つ(IDオブジェクトなど)でも、
参照もとの一部分となっている場合は集約としてよいですか?

class A{
IDClass B;
Vector members;
}

class B{
}

みたいな時、membersは集約で表せると思うんですが、
Bは集約なの?ただの参照?

ちゅうかUMLよくわかんなさすぎ。
0561デフォルトの名無しさんNGNG
UMLの使えるレベルを考えよう。

まずは、自分の考えの整理のために使えば。
ローズなんかで、びちっとドキュメントするのは
もっとあとの話。
0562デフォルトの名無しさんNGNG
手書きマンセー
ツールを使うのは客に収める必要があるときだけだーよ
0563デフォルトの名無しさんNGNG
>>560
>参照先のオブジェクトが一つ(IDオブジェクトなど)でも、
参照もとの一部分となっている場合は集約としてよいですか?

いいんじゃないですか。

>みたいな時、membersは集約で表せると思うんですが、
Bは集約なの?ただの参照?

これだけ見ると、コレクションかどうかの違いしかないと思うんですが。

>ちゅうかUMLよくわかんなさすぎ。

厳密な定義が本当に必要かどうかも考えましょう。
0564デフォルトの名無しさんNGNG
今月のDBマガジソの特集=UML
0565デフォルトの名無しさんNGNG
ogisUMLも復旧したようだからシルバーでも受験してくるかな。
自信ないけど・・・。

XMLも面白そうだからシルバークリアできたら勉強してみるか。
0566ジョンソンNGNG
class Super{
}

class Sub{
}

class Use{
public static void main( String[] args ){
Sub s = new Sub();
}
}
これをUMLのクラス図で書いてみな?

class Use{
public static void main( String[] args ){
Super s = new Sub();
}
}
また、こうした場合のクラス図をかいてみな?
0567デフォルトの名無しさんNGNG
UML使いこなしてる人って
やっぱりomgのサイトの公式ドキュメントを
読むのかな?英語に問題がなければ
おれも読みたいよ。w3mやrfcもそうだけどさ。
0568デフォルトの名無しさんNGNG
>>566
二つ目はコンパイルエラーですね。
0569デフォルトの名無しさんNGNG
哲学的な話になるのかもしれませんが、
オブジェクト間の関係は、
dependency,association,generalization
の三つしかないのでしょうか?
これって見つけた人は天才?
0570ジョンソンNGNG
class Super{
}

class Sub extends Super{
}

class Use{
public static void main( String[] args ){
Sub s = new Sub();
}
}
これをUMLのクラス図にすると

|Use|−−−>|Sub|−−−−△|Super|

で、よいのですか?

class Use{
public static void main( String[] args ){
Super s = new Sub();
}
}
また、こうした場合のクラス図は、

|Use|−−−>|Super|△−−−−|Sub|

で良いのですか?
0571マリNGNG
私も、570のクラス図の書き方があっているかわかりません。
私が解釈したのは、Useクラスが他のクラスをどう扱うかだと思います。
前者の問題では、SubのフィールドにSubオブジェクトの参照を入れているから、
UseのアソシエーションはSubに向かっているで良いと思います。
後者の問題では、SuperのフィールドにSubオブジェクトの参照を入れているから、
Useは、SubのオブジェクトをSuperのオブジェクトとして扱うので、
UseのアソシエーションはSuperに向かっているで良いと思います。
皆さん本当はどうなのでしょうか?
私は合っていると思いますが、私もまだ初めてから3ヶ月なので自信がありません。
教えて下さい。(はぁ〜と)
0572デフォルトの名無しさんNGNG
>570
良いんでないの
0573一年生NGNG
>570
うおぉ〜なるほどぉ〜。
これは勉強になりました!!!
この辺ってどの本にも載っていない事じゃないですか。
入門プログラマーが一番必要としているのはこんな部分ですよね。
いままで後者の方も
変数の型はSuperですが、実物がSubのオブジェクトなので、
|Use|−−−>|Sub|−−−−△|Super|
かなぁ〜と思っていました。
ありがとうございました。
0574デフォルトの名無しさんNGNG
正直、関連と集約の違いが説明できない。
0575 NGNG
>>571
それでいいんでないの?
0576デフォルトの名無しさんNGNG
>>567
OMGのPDFが一番シンプル分かりやすいのには同意
0577デフォルトの名無しさんNGNG
>>570
UseクラスがSubのインスタンスをSuperで受けている理由よって
変わってくるじゃないかな?
人よって違うしクラス図のみだけでなくシーケンス図等もあわせ
て考えることも必要だと思うよ。
それに同じクラス図でも実装は複数存在することもあるからね。
0578マリNGNG
>574
アソシエーション(関連)とアグレゲート(集約)って、
ソースコードに落とすと、私は殆どが以下のようになると思っています。
アグレゲートって、has-aの関係を適用して、クラスのインスタンス変数で保持して使う。
アソシエーションの場合は、メソッド内で一時的にインスタンス生成して使う。
必ずしもそうじゃないと思いますが、殆どの実装パターンがそれになっちゃうと思うなぁ〜。
0579マリNGNG
私が良く分からないのは、アグレゲートとコンポジションの違いかな。
コンポジションなんかはインスタンス生成時に配列でオブジェクトを作っておいたり
しますけどねぇ〜。
0580デフォルトの名無しさんNGNG
UMLプレスのvol2っていつ発売されるの?
0581デフォルトの名無しさんNGNG
>>580
それは禁句だ。
0582デフォルトの名無しさんNGNG
>574,578
一応説明のあるページを紹介
ttp://www.asahi-net.or.jp/~dp8t-asm/java/tips/UMLClassDiagram.html

オレとしては
集約は共通で使用するインスタンスを管理する場合
コンポジションはインスタンスの管理に特化して所有権が
移動しない場合
その他は関連
でもコンポジション使用しないで集約にしておいて実装時決定する感じ。
0583ゴリNGNG
>582
なるほど。
考え方ですよね。
同じ実装方法でも、考え方の違い。
0584デフォルトの名無しさんNGNG
おおジス総研のシルバーレベル試験に、この半年間に受かった人いる?
何点くらい取られました?

俺、以前から逆に20点ほど下がってしまった…
受かるのはいつになるやら(^^;
0585デフォルトの名無しさんNGNG
今日会社で資料を状態遷移図で書いたら
読めないからフローチャートで書き直せって言われた(鬱
0586デフォルトの名無しさんNGNG
>585
今度はシーケンス図で再チャレンジだ!(w
状態遷移図ってUML以外でも結構使われるんだけどね。
0587デフォルトの名無しさんNGNG
UMLてDBのテーブル設計ためにあるの?それとも言語のため?
なんかそのあたりがわからん
0588デフォルトの名無しさんNGNG
>578
オレもあまり詳しく知らないんで間違ってるかも知れないけど
オブジェクト指向設計のための表記法で分析と設計の両方で使われるはず。
DB設計にも流用可能だと思うよ。
0589デフォルトの名無しさんNGNG
>>587
クラス=テーブルって訳じゃないだろ。
0590デフォルトの名無しさんNGNG
Poseidon for UML
 http://www.gentleware.de/jobs/index.php3
IIOS
 http://www.iioss.org/index-j.html

だれか両者の関係知らん?
0591 デフォルトの名無しさんNGNG
知ってる。
0592デフォルトの名無しさんNGNG
>>547
いまさらなタイミングで書くけど、MagicDraw 5.0SP1 だと、メニューバーから

1. [オプション] - [環境] で「環境のオプション」ダイアログを開く
2. 左側のツリービューで [一般] を選択
3. 右ペインに表示される [WMF文字セット] を「シフトJIS」に設定

で出力した WMF ファイルを Word2000 に張ったら、印刷できたよ。
0593デフォルトの名無しさんNGNG
Chen君がやってた関係クラスがリレーショナルDBのテーブルなのかな?
0594デフォルトの名無しさんNGNG
>>587
DBのテーブル設計のための図は雰囲気の似た別のやつがあるでしょ。ER図だっけ?
UMLのクラス図の文法ってこれを下敷きにして作ったような気がする。
0595デフォルトの名無しさんNGNG
スリーアミーゴの書いたこの本
はたしてUMLのバイブルになりうるのか?
誰か読んだ人感想プリーズ

http://www.amazon.co.jp/exec/obidos/ASIN/4894712679/qid=1014735082/sr=1-5/ref=sr_1_2_5/250-0132920-0658615

0596デフォルトの名無しさんNGNG
感想プリーズ
0597デフォルトの名無しさんNGNG
http://www.amazon.com/exec/obidos/ASIN/020130998X/
この本、もう古いよ。もしかしてUML1.1なんじゃないの?
今はもう1.4が標準的に使われつつあるよ。それでもいい、
基本的な概念が知りたいんだっていうならいいかもしれないけど。
0598デフォルトの名無しさんNGNG
>>587-589,>>593-594
オブジェクト-リレーショナル・マッピングの手法
(いかにRDBとOOPLのセマンティック・ギャップを埋めるか)って、
Rationalがなんか名前付けて出してた、と思う。

漏れは Infomix Universal Serverで有名な 
Stone Brakerさんのブックレット(ORDB本)読んで、
試行錯誤したクチだけど、
こないだDOA向けCASEツールの説明会パンフレット見せてもらってたら、
「OOにもこんなに対応できます」みたいな説明にその手法が載ってて、
初めて知りました(鬱
0599デフォルトの名無しさんNGNG
プロジェクト管理に関する本が読みたいです。
有名な本となるとやっぱりboochのこれかもしれません。
http://www.amazon.com/exec/obidos/ASIN/0805305947/

が、しかし如何せん古い。RUPに則した形でかつ
もっとつっこんだ内容の本はないでしょうか?
英語の本で構わないので。
0600デフォルトの名無しさんNGNG
>>599
Rational.com近辺の、大量のドキュメントの中とか、
日本ラショナルの教育で、そーいうのを扱ってると思うんですけど...
漏れも知りたいので、ご存知の方お教え下さい。
0601デフォルトの名無しさんNGNG
>>600
rationalのサイトみたけど、いいドキュメントは
なかったな。
いろいろアマゾンで検索しても
boochの本より良さそうなのはなかった。
上のヤツを買うよ。
0602デフォルトの名無しさんNGNG
漏れは、RUPはラショナル製品買わないと、
情報なし/意味なしかと考えていたんで、
RUPでのプロジェクト管理について本気で探していませんでした。
今日探してみます。

んで、RUP DQNな漏れは、こんな本読もうとしてますです。
 「ソフトウェアプロジェクト管理―21世紀に向けた統一アプローチ」
 http://www.amazon.co.jp/exec/obidos/ASIN/4894715597/qid=1015207724/sr=1-14/ref=sr_1_2_14/250-4956143-4769858
 "反復型ソフトウェア管理プロセス" に関する本で、
 RUPに限らず スパイラル開発、反復型開発全般に通用する話だろうと予測してます。

Smalltalkの親玉が書いた、こっちの本も興味あるけど、まだ買えてない...(泣
 「オブジェクト指向開発のプロジェクト管理―ケーススタディとフレームワーク」
 http://www.amazon.co.jp/exec/obidos/ASIN/479529707X/qid%3D1015207855/250-4956143-4769858
0603デフォルトの名無しさんNGNG
http://www.amazon.com/exec/obidos/ASIN/0201309580/
>>602
この本はレビュー読む限りじゃRUPに則しててなかなかよさげですね。
翻訳は日本ラショナルがやってるからどっちにしようか迷いますw。
(基本的には個人で翻訳したOO関連書籍は買わないことにしてるので、)
0604デフォルトの名無しさんNGNG
UMLのDB設計への適応についてメモ
DB設計は往々にしてUMLの静的分析のみで行われがちであるのは
ダイアグラムがER図のみであることから容易に推測できる。
UMLのクラス図の様にユースケースや状態変移図、シーケンス図等
の動的分析の工程加えることにより洗練された設計が可能とおもわれる。

と個人的見解をカキコしてみるtest
0605デフォルトの名無しさんNGNG
>>604
http://www.tech-arts.co.jp/oo/uml.html#003_4

参考になると思われ

とカキコしてみるtest
0606デフォルトの名無しさんNGNG
MagicDraw 5.0はここから国内販売するみたいだね。
http://www.hic-soft.co.jp/news.html
0607デフォルトの名無しさんNGNG
>>606
「2002年発売予定」っていつのことだろう。
Webページの最終更新日が去年の11月だよ、大丈夫かいなこの会社。

実際どうなんだろう、この手のツールって生産性あがるのかな。
個人的には手書きとVisioで充分な気もしてるんだけど。
0608デフォルトの名無しさんNGNG
>>607
> 実際どうなんだろう、この手のツールって生産性あがるのかな。
絵を書くのは楽になる。

特に、

- 一度書いた絵に修正を加える。
- クラス図で、ある図では A, B, C クラスを、別の図では B, C, D, E, F クラスを
 含めるような場合に、最初の図で設定した依存関係や継承関係を、簡単に次
 の図に反映できる。

ってあたりが便利。

私は昔は UNIX で Tgif という汎用ドローツールを使ってたんだけど、細かい
修正が面倒で使うのやめた。今は MagicDraw 使ってるけど、それなりに便利
だよ。

ただメソッドの仕様なんかを細かく書くと、ソースコードと同期をとるのが面倒
なんで、

- 主要部分だけ MagicDraw で図に書いておく
- メソッドの仕様などは doxygen 形式でソースコード埋め込み

と使い分けてる。

MagicDraw は試用もできるから、とりあえず試してみたら?
0609デフォルトの名無しさん NGNG
validationが出来るものはどれになるんだろ。
MagicDrawは作図機能は評判がいいみたいだけど、
そっちはどかな?
0610デフォルトの名無しさんNGNG
シルバー合格に効く本を教えてくれ!!!
0611デフォルトの名無しさんNGNG
>>608
>- クラス図で、ある図では A, B, C クラスを、別の図では B, C, D, E, F クラスを
> 含めるような場合に、最初の図で設定した依存関係や継承関係を、簡単に次
> の図に反映できる。

別にコピペでいいじゃん、、という気もするが(藁
ある程度の規模のダイアグラムを書いて、継続的にメンテしなきゃならないような
状況だと効いてくるんだろうな。
0612デフォルトの名無しさんNGNG
クラス図だけならVisioでも良いけど状態変移図やシーケンス図とかは
Visioでは辛いと思うのはオレだけですか?
0613デフォルトの名無しさんNGNG
当方、UMLを始めようと思っています。
もしプロジェクトで掲示板(Webアプリケーション)をUMLで表現しようと思ったら、
何から始めるのでしょうか?
その際なんですが、クラス図とか、シーケンス図、とか全てが必要になってくるのでしょうか?
自分はプログラマなんですが、普通のアプリケーションならクラス図とかは必要だと思うのですが、
掲示板とか簡単なWebアプリケーションならクラス図はいらないと思ったりするのですが・・・。
そこんとこはどうなんでしょう?

例えば、掲示板で書きこみをDBに保存して、その1つの書きこみを1つのクラスとして
java ex)
public class message{
private String date;
private String author;
private String email;
private String message;
....
}
扱う(マッピングする)なら、クラス図とかも使用できると思うのですが、
現実では、1つの書きこみをわざわざ1つのクラス(インスタンス)にしたりしませんよね?
表示するときは、書きこみをDBから取ってきて、直で表示するようにしますよね?

ん〜、難しい・・・。
オレは、UMLを根本的に理解してないんだろうな・・・。
0614デフォルトの名無しさんNGNG
作図のみだけど、DynamicDraw。 軽いのが(・∀・)イイ!!
http://www.molips.com/jp/index.html
0615デフォルトの名無しさんNGNG
>>613
自分と全く同じところで全く同じ悩みに嵌まってますな。(w

自分は一度すべてをオブジェクトとして扱うようなUMLの諸図を書いて、
いざ実装しようとしてワケワカに陥った末、結局ベタにコーディングしてから
リファクタリングしていくほうがうまくいったというオチでした。

UMLを設計の道具として使うか、発想の道具として使うか、日本人は前者と
して抱え込んでしまいがちだけど、業務として要求されない限り後者として書
き捨てていくほうがいいように思った。
0616デフォルトの名無しさんNGNG
今IIOSSを使ってるんだけど、
これってパッケージのネストは出来ないの?
0617デフォルトの名無しさんNGNG
>>615
UML は実装する前に方針を決めるとき、特にイテレーションの過程で次の機能を
実装するときに、

- 今、どうなってる?
- 次に、どこをいじればいい?

というのを見るために使ってる。主要なものだけ書いておいて、詳細は含めない。

書き捨てちゃっても良いけど、図の量を減らして常に up-to-date に保てる程度に
しとくと、役に立つ場面も多いよ。
0618デフォルトの名無しさんNGNG
あ、ごめんごめん。できた。すまそ。
それにしても遅いな。やっぱりJavaアプリは
1GHzぐらいないと厳しいかもね。
0619デフォルトの名無しさんNGNG
615>>
617>>

お〜、同士がいたかぁ〜。
やっぱりそんなものなのかにゃ〜。
0620デフォルトの名無しさんNGNG
>>613
俺もそう考えちゃう。気持ちがわかる。
>>613のような状況ではどうすべきだったわけ?

・ちゃんとUMLで設計したように、プログラミングすべきだった。
・べたでコーディングしてからUMLにする。→どうやって?

だれか教えてクレー
0621デフォルトの名無しさんNGNG
私もそんなの始めてます。
私の理解だと、

要求される機能の分析のための最初はユースケースです。
次に抽出されたアクタからクラス図を書きます。
次に要求される機能から管理者ログインなどの手順のシーケンスを図にします。

フローは不要でしょう。あれはソース読めない人が
設計がおかしくないかと騒いだときに出す資料だと思います。
だって、ソースより可読性悪いもん。
今時のアルゴリズムの本だってフローチャート載せてなくて
片言ALGOLかPascalかJavaかCだし。
0622仕様書無しさんNGNG
>>621
複数の言語で非同期でコールバックしてる場合は必要だと思いますが、
如何ですか?

0623仕様書無しさんNGNG
>>623
読めないソースは多い。
■ このスレッドは過去ログ倉庫に格納されています