UML皆でお勉強しよ♪ 多重度2

このエントリーをはてなブックマークに追加
1ニュージーランド漁夫
  Λ_Λ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)< お勉強しよ♪
 (    )  \____________
 | | |
 (__)_)

._________
|                  |
|  前スレはこちら  |
|_________|
   ∧,,∧ ||
⊂ミ.,,゚Д゚彡つ

前スレ(1):http://pc3.2ch.net/test/read.cgi/tech/980236172/
   (V)∧_∧(V)
    ヽ(・ω・)ノ  フォッフォッフォッ
.     /  /
    ノ ̄ゝ


.          (V)∧_∧(V)
           ヽ(   )ノ  フォッフォッフォッフォッ
.           /  /
       .......... ノ ̄ゝ
3デフォルトの名無しさん:02/08/24 17:46
前スレ950
>クラス図だけど、俺はまずER図を作って、それを元に
>クラス図を起こすのが手っ取り早いんじゃないかと思っているのだが、
>その辺はどう?

>クラス図の継承とER図のリレーショナル型DBモデルってのは、
>結局正規化という点ですごく共通する部分がある気がするんで。
>だめすか?

前スレ956
>>クラス図とER図両方作るにしても、普通は順番が逆。
>>手っ取り早いと感じるのは単にER図に慣れているからでは?
>確かにそれはある。が、ERはRDBの考え方からして割と機械的に
>できていくところがある。それに対し、クラス図はちょっとしたセンス
>がものをいう。で、基本はERから出発し、より実装に近いかたちで
>クラス図を作るってことなんですが。

>あと、それほど有用であると思えない理由から、
>あまりユースケース図やシナリオも書かないので。
>(最初はお絵かきで業務の流れをまとめてお客に示す)

みなみなの意見キボンヌ
4後藤:02/08/24 21:44
その方法じゃ、
エンティティ・オブジェクトしか
設計できてないんじゃないかな?

メソッドはストアドプロシージャで実装、
ってのも良くあるパターンなので、
OOもどきDB中心設計とひそかに名付けてます(笑
その次のステップに踏み込む気概があれば、いいんだけどねぇ
5デフォルトの名無しさん:02/08/24 21:51
>>4
>その方法じゃ、
>エンティティ・オブジェクトしか
>設計できてないんじゃないかな?

そうです。まずエンティティの洗い出しをして、そのあとメソッドを
実装していくって流れです。
エンティティの洗い出しの基礎をERに求めるということです。
設計していくうちに、(正規化とかとは直接関係なく)、
より本質的、あるいは効率的なデータ項目の組(あえてエンティティともデータ構造とも呼ばない)が、
分かってしまう事があるよね?

その場合、再設計ですね(当たり前の事だけど。

「まずER図」で出てきたエンティティってのと、
OOのモデルってのと、
本質的/効率的なデータ項目の組
との違いを無視して、
「この方法で逝っとけばとりあえず仕事が終わる」、
っていう方法に見えるんだけどぉー…
おれっちはちょっと違うなぁ。
所詮DBはRDBなんでしょっぱなからOO分析は効率が悪すぎる。
なので、エンティティオブジェクトだけで不足なら、作るし、
必要ならDB(ER図も触る)。
そんな感じ。

OODBが普及して気軽に使えるようにならん限り、OO分析と
設計にギャップがありありにありんすよ。
>本質的/効率的なデータ項目の組
>との違いを無視して、
>「この方法で逝っとけばとりあえず仕事が終わる」、
>っていう方法に見えるんだけどぉー…

よーわからん、業務アプリ屋なんで効率的なデータ項目っていのうは
常にDBに縛られる。
プロ一本辺りのデータ効率なんて、糞の上に付いたハエの糞程度の扱いだな。

誤解めされるな、アルゴリズムは別もんだけどよ。
OOA/OODの特徴は、
  概念モデルと実装の分離が可能である事
としつこく書いてみるテスト

DB屋は、概念モデルをDBに乗せてるんじゃないのかぁ?
10CODASYL萎え:02/08/24 22:36
むしろ、
DB屋は、帳票や入力データを正規化したものを、
DBにのせてるだけじゃないかー?

117=8:02/08/24 22:41
>>10
正直に言ってしまうとこれに近い。てか作業自体はこれだ。
127=8:02/08/24 22:46
>>9
馬鹿だから感じが掴めない。
もしお手数でなければ、COBOL上がりの、C++使い、
腐れ業務アプリ屋に、愛の手を差し伸べてみるのはどーだ?
神様が祝福してくれるかどうかは分からんが、俺は感謝するぞ。
>>9
RDBだと、概念スキーマと外部スキーマを分離できれば充分じゃないか?
業務アプリ屋さんなら、RDBと一心同体でアプリ設計してればいいんじゃないの?

うーん、俺も業務アプリ屋だけど、基本的にはクラス設計してからテーブルに
落とし込むよ。クラス設計ができて永続化するべきクラスが特定できたら
それをDBに落とし込むのは大概決まった手順でできてしまうから。

もちろん、それでDB的に最高の設計ができるかというとそれは無理だけど、
実用的に問題ないレベルにはできる。でもこういうやり方がベストだなんて
誰にも言えないから、特に問題を感じてないのならそれでいいんじゃないの?

OODBは使ったことがあるけど、メンテナンスは地獄。とてもおすすめできない。
でもキャッシングのメカニズムは魅力だな。
オレはER図からクラス図作成に反対派だな。

ER図はクラスに比べると柔軟性に欠ける気がするし、ER図に
欠陥があるともろにクラス図に影響する気がする。
UMLの姿勢はいろいろな視点を持って設計することにある様に
個人的に思うから、やはりお互いをチェックできる様に別々に
設計して設計漏れを無くすようにした方がいい気がする。

OODBはツール周りが整備されてこないと普及も発展もないだろね。
16モナ吉:02/08/25 06:22
スレさんおはよう〜 ( ・∀・)ノ
17デフォルトの名無しさん:02/08/25 09:18
>>14
>もちろん、それでDB的に最高の設計ができるかというとそれは無理だけど、
>実用的に問題ないレベルにはできる。でもこういうやり方がベストだなんて
>誰にも言えないから、特に問題を感じてないのならそれでいいんじゃないの?

DBはやはり物理的なデータの格納場所であって、そこはそこである程度の
パフォーマンスは確保すべきと思うんだが。

>>15
>ER図はクラスに比べると柔軟性に欠ける気がするし、ER図に
>欠陥があるともろにクラス図に影響する気がする。
>UMLの姿勢はいろいろな視点を持って設計することにある様に
>個人的に思うから、やはりお互いをチェックできる様に別々に
>設計して設計漏れを無くすようにした方がいい気がする。

あくまでクラスとERを同列にしようとは思わない。
ERの世界でそこそこのものを作ったら、それでおしまい。
そのERからより実装に近い、処理のパフォーマンスを考えた構成を
クラス図で作るってことなんだが。

ちなみに、俺も基本的には業務アプリ専門です。
18デフォルトの名無しさん:02/08/25 12:09
>>14
>うーん、俺も業務アプリ屋だけど、基本的にはクラス設計してからテーブルに
>落とし込むよ。クラス設計ができて永続化するべきクラスが特定できたら
>それをDBに落とし込むのは大概決まった手順でできてしまうから。

この貴方のマッピング手順をここで教えてください。
Rational Roseで設計すればクラスからDDL生成できるYO!
20952:02/08/26 23:57
>>3
> 前スレ950
> >クラス図の継承とER図のリレーショナル型DBモデルってのは、
> >結局正規化という点ですごく共通する部分がある気がするんで。

ここがよくわからんのですが・・・
>>18
クラスの属性をカラムに落とし込むのはほとんど機械的にできるよね?
あとはクラス定義に主キーに当たるものがない場合はSEQUENCEなどで
主キーカラムを追加します。

関連は、1対Nなら基本的にN側に1側を特定するための外部キーを設ける。
N対Nなら関連テーブルを作るのが自然ですね。

問題は基底クラスと派生クラスですね。基本的にはアプリ側の都合で
基底クラス用のテーブル+派生クラスの差分テーブルを作る場合もあるし、
それぞれ別のテーブルを作ることもある。とはいっても、エンティティ
クラスはあまり複雑な継承をしないように気をつけるけど。
227=8:02/08/27 04:09
>>21
おぉお。本格的にOO分析をそのまま使ってるんだ。

正規化云々のところは求めないけど、パフォーマンス的に大丈夫?
問題になったりしない?
あと、データの整合性チェックとか、気になる。
23デフォルトの名無しさん:02/08/27 04:59
起きがけに頭の体操でマヂレスしてみる

> >クラス図の継承とER図のリレーショナル型DBモデルってのは、
> >結局正規化という点ですごく共通する部分がある気がするんで。

美味しいフレーズなんだけど、一応細かい指摘をしとくと、
(1)RDBの第一正規形では、他のドメインの直積(x,y)とかべき集合{a,b,c} を排除せよ って事になってるけど、
 オブジェクト指向ではオブジェクトの要素が、他の複合オブジェクトだったり、
 オブジェクトのコレクションであってもオッケだよね。(※設計の良し悪しはべつとして。)

 RDBのオブジェクト指向拡張では、「ネストした表」つう名前で直積っぽいものを導入してるし、
 非第一正規形は簡単に正規化できるから、第一正規形は無視してオッケなんだけど。
24デフォルトの名無しさん:02/08/27 05:12
(2)第二正規形(連結キーの一部に部分関数従属する属性の除去)、
 第三正規形(推移的関数従属性の除去)、ってあたりは、
 この手順に従えば、オブジェクトのモデリングをマジメにやらずとも、
 データをオブジェクトっぽいまとまりに分割できるって事かな?

 でも、それはただの 第三正規形のテーブル であって、
 現実の事象のモデリングとは違うよね。
 扱うべきデータ項目が増えて、正規化やり直し!テーブル追加!
 てな事態にも柔軟に対応できる、変化しにくいモデルを求める事こそ重要な気がする。
257=8:02/08/27 05:19
>>23-24
( ´D`)ノおはよう。

面白いこと言ってるような気もするけど、どっちの立場に立ってるのか
はっきり読み取れない。
クラス設計優先→ER派?

あと21さんってネタ元だと思うのですが、コテハンにしてもらえると有りがたい。
26デフォルトの名無しさん:02/08/27 05:25
RDBの列には、重複がないけど、
OOで FlyWeightパターンとか(もっといい例あるかもしれんが忘れた)適用してメモリの節約していない場合には、
同じ値のオブジェクトが山のようにできてもオッケだよね。
かといって、RDBみたく MultiSet理論とつながりがあるわけでもないし。
2723=24:02/08/27 05:30
オハヨ
クラス設計優先、RDB使いたくないからORマッピング自力で開拓派、です。
面白がられてしまったって事は、私寝ぼけてるのかなぁー
287=8:02/08/27 06:02
>>27
興味深いという言う意味の「面白い」なんで、ご理解ください。
29強いて言うならER派:02/08/27 12:34
ネタ元です。
>あと21さんってネタ元だと思うのですが、コテハンにしてもらえると有りがたい。
すつれい。
>>3
>>5
>>17(21は違う)

>面白いこと言ってるような気もするけど、どっちの立場に立ってるのか
>はっきり読み取れない。
>クラス設計優先→ER派?

強いて言うならER派かな。

>>クラス図の継承とER図のリレーショナル型DBモデルってのは、
>>結局正規化という点ですごく共通する部分がある気がするんで。
>ここがよくわからんのですが・・・

スーパークラスの抽出(派生)と第二正規形(部分従属列の分離)です。
30強いて言うならER派:02/08/27 12:36
>(2)第二正規形(連結キーの一部に部分関数従属する属性の除去)、
> 第三正規形(推移的関数従属性の除去)、ってあたりは、
> この手順に従えば、オブジェクトのモデリングをマジメにやらずとも、
> データをオブジェクトっぽいまとまりに分割できるって事かな?

その通りです。

> でも、それはただの 第三正規形のテーブル であって、
> 現実の事象のモデリングとは違うよね。

うん、違う。で、より実装に近いモデリングをそこから行うということです。
>>3>>17

> 扱うべきデータ項目が増えて、正規化やり直し!テーブル追加!

データ項目が増えたら、ER修正→クラス修正かな。
最近UMLを始めたのですが、いくつか記述の方法が
解らない事があります。
誰か教えてくれないでしょうか?

1)
詳細設計の段階です。

クラス間に集約の関係があり、これをコンテナクラスで実装しようと
考えています。
で、このコンテナクラスの実体を属性(変数)として親側に持たせる
つもりですが、、、

この場合、クラス図の属性フィールドにこの属性(変数)を記述しても、
いいのでしょうか?

というのも、世の中の参考書を見ると、こういった場合は定義自体な
かったので、です。
すみません、続きです。

2)
汎化と特化は、区別して記述した方がいいでしょうか?

記号としては、どちらも中抜き三角(△)の矢印になると思い
ますが、それぞれのステレオタイプは分けないと
いけないのでしょうか?

ちなみに、ツールはVisioを使っています。

すみません、誰かお教え下さいませ。。
失礼、ageるの忘れてました。
>>31
フォワードエンジニアリングとか考えてます?
でなければ必要ないでしょう。普通は関連のロール名を変数名にマッピング
します。

>>32
汎化と特化って基底クラスから見るか派生クラスから見るかで違うだけで
同じ物だと思いますが。で、△矢印は派生クラスから基底クラスに向けて
書きますね。
35デフォルトの名無しさん:02/08/28 22:34
なんか、経験者が書き込むと質が高まるなぁ。
>>34さん、これからもよろしく。
36U ◆tFsGiu0c :02/08/29 01:27
>>22
前スレ954( その他)=14=21=34です。
コテハンついでにトリップつけてみました。うまくいくかな?

>正規化云々のところは求めないけど、パフォーマンス的に大丈夫?
問題になったりしない?

Rdbの経験もそれなりあるので、問題になるようなテーブル構造にはならない
ように気をつけてます。問題はテーブル構造より検索処理で、OODBライクに
クラスの関連をたどっていくとまともなパフォーマンスがでないので、その
辺はSQLを工夫して対応しています。それとDBアクセス部分は専用クラス群に
閉じ込めてビジネスロジック層やプレゼンテーション層では意識しなくて済む
ようにしています。

>あと、データの整合性チェックとか、気になる。

整合性チェックはRdbのレベルでやるのであまり気にしなくていいと思います
けど。それともなんか問題出てきますか?
377=8:02/08/29 10:47
出来るんだぁ。と言うのが素朴な感想。

>Rdbの経験もそれなりあるので、問題になるようなテーブル構造にはならない
>ように気をつけてます。
ならば、E-R図から入ったほうが安全だな。と言うのが、僕の今のところの結論。

てか、まだ不慣れ時にOO分析を試みてわけわかんなくなって、それ以降ERから
クラス抽出する事にしてます。

DBアクセス部分を専用クラスに群に閉じ込めるって言うのは、設計レベルのオブジェクト
で、分析レベルではないと思うっすよ。ビジネスロジック層云々も同様に。

整合性に関しては、クラスから分析はじめると、整合性チェックがRDBとずれるので、
よっこらしょ、どっこいしょ、と手数が増えそうな気がしたもので。

忘却の彼方に飛んでいってるから、具体例出せないんだけど、
この辺りが問題になってER図からクラスを作る事にしたんです。
38U ◆tFsGiu0c :02/08/29 13:47
>>37
>DBアクセス部分を専用クラスに群に閉じ込めるって言うのは、設計レベルのオブジェクト
で、分析レベルではないと思うっすよ。ビジネスロジック層云々も同様に。

私のやり方だとDBに落とす時点で設計レベルの話になってしまうんですよ。
分析モデルを実装の都合にあわせて設計モデルをつくるということになると、
こういったことも考える必要がありますよね。

>整合性に関しては、クラスから分析はじめると、整合性チェックがRDBとずれるので、
よっこらしょ、どっこいしょ、と手数が増えそうな気がしたもので。

んークラス図から導出できる整合性チェックって何がありますかね。
コンポジション使ってるときくらいしか思い浮かばないんですが。
39デフォルトの名無しさん:02/08/30 10:55
今までクラスの設計を脳内+我流の図だけでやっておったのですが、UML覚えたらもっと簡単になる?
昔作ったやつとか忘れてくるから困ってるんだよ
>>39
> 今までクラスの設計を脳内+我流の図だけでやっておったのですが、

これがホントにまともにできていたのなら
UML覚えるくらい簡単だろう
41usecae:02/09/05 22:21
アゲ
42 ◆k/Ubp.Kg :02/09/08 21:44
前スレの方が上に来てるんで、ageてみる。
43デフォルトの名無しさん:02/09/08 21:46
>>42
サンキューパー
44名無しさん@Emacs:02/09/09 14:50
webシステムをUMLで設計したいのですが、いいサイトある?
45デフォルトの名無しさん:02/09/14 14:48
>>44
そういや、ぴあそん本でその手のがあったな
46U ◆tFsGiu0c :02/09/14 16:30
http://www.amazon.co.jp/exec/obidos/ASIN/4894712768/ref=pd_bxgy_text_1/250-5321596-3885854

これ? 会社に置いてあったので、今度読もうと思ってた。
47デフォルトの名無しさん:02/09/14 18:17
ASPベースのWebアプリケーションを、UML使う方法論で設計〜実装するために、
UMLの拡張機能使って、ASP用のアイコンとかstereotype作ったつう話だっけ?
48デフォルトの名無しさん:02/09/14 18:23
天狼(Sirius) - 02/09/13 23:30:25
電子メールアドレス:[email protected]

コメント:
meteor閣下、お久しぶりです。天狼です。閣下をお助けすべく参りました。
>荒らし野郎へ この愚民が!!わが同士を愚弄するとはいい度胸をしているな!!
社会のゴミだとか社会の底辺でオナニーしているとか、無教養さ丸出しの書き込みだ
な!!メアドも公開しない貴様こそ社会の底辺で自慰をしている唾棄すべき輩といえ
ようぞ!!さて、貴様は悔しかったら行動を起こしてみろとかほざいているが、貴様
は行動を起こせるのか?多分起こせまい。所詮、貧困な語彙でしか罵倒のできぬ貴様
だろうからな!!あまり我らを甘く見ないほうが身のためだぞ!!


http://www.geocities.co.jp/HeartLand-Sakura/1939/geobook.html

おまいらこのサイト知ってる?
http://www.umlstyle.org/

初心者も熟練者も一見の価値ありと思うんだが。
特にUML導入予定か導入後まもないプロジェクトで、モデリング規約で悩んでる
人にはかなり役立ちそうだけど、どうよ?
50デフォルトの名無しさん:02/09/16 21:33
そろそろシルバー受けるか・・また落ちるんだろうな。
>>50 ガンガレ
52鬱だ:02/09/25 19:28
シルバー落ちたYO!
話になんねーYO!

ここに問題書き込んだからみんな参考にしてくれ・・・。
http://music.2ch.net/test/read.cgi/legend/1023017547/
53デフォルトの名無しさん:02/09/29 17:27
良スレはあげなあかんよ?
54デフォルトの名無しさん:02/10/01 03:04
コード生成できないUMLツールってやっぱりダメダメですか?
PatternWeaverってお手軽で"よいなぁ〜"って思ってたんだけど、
今のところお絵かきしか出来ないのを使ってる俺は厨房確定?
http://www.tech-arts.co.jp/product/product.html
は、"頑張ってるぜ!"感じなんだけど・・・。
55 :02/10/01 03:13
UMLツールなんかいらんよ。
手書き+デジカメにしる。
油彩だとなお良し。
>>55
アフォか。修正しづらいだろ。
砂と指で書くんだよ。砂の代わりに粘土を使っても可。
57デフォルトの名無しさん:02/10/01 05:29
GOLDげと。
GOLD問題、質問うけつけます。
>>54
Java に偏るが、Together か MagicDraw + eclipse かねえ。
http://www.togethersoft.com/
http://www.magicdraw.com/
http://www.eclipse.org/
59U ◆tFsGiu0c :02/10/02 00:45
>>54
コード生成はあまり使わない。既存のプログラムを解析したり、プログラム書いてから
クラス図を起こしたりする時はリバースエンジニアリングは重宝するけどね。
>>58-59
レスありがとう。
リバースエンジニアリングのほうが、利用頻度が高いんですね。
参考になりました。
61デフォルトの名無しさん:02/10/03 21:29
October 15th

EclipseUML
EclipseUML
EclipseUML
EclipseUML
62U ◆CZtFsGiu0c :02/10/03 22:16
>>60
いやいや世の中にはUMLで記述したモデルをプログラミングレスで動かそう
としている人たちもいますから、そう一概にはいえないでしょう。また、
Togetherみたいにラウンドトリップ開発が可能なら、そもそもモデリング
とコーディングを区別しなくてもいいかもね。
#TogetherはまだUMLツールしか使ったことがないけど
63デフォルトの名無しさん:02/10/08 02:20
EAまんせー
64 :02/10/08 22:49
>>63
高すぎるよ・・・
65デフォルトの名無しさん:02/10/12 21:19
UML Press Vol.2記念あげ。
66デフォルトの名無しさん:02/10/12 21:50
>>64
安すぎるの間違いじゃ
67デフォルトの名無しさん:02/10/12 22:23
先生、普通の関連と集約をどう使い分ければいいのか良く分かりません!
例えばCDocumentとCMainWindowはただの関連ですか、それともCMainWindowはCDocumentの一部と考えるべきですか。
オシエテ下さい!
>>67
迷ったら関連にしとけば間違いない。
UMLモデリングのエッセンスにも書いてあるけど、
集約と関連を分ける明確な基準はないようです。
6967:02/10/12 22:38
先生、有難うございました。
ノーベル賞にまた一歩近づきますた!!
70デフォルトの名無しさん:02/10/17 22:48
RationalRoseなどのリバースエンジニアリング機能では
継承や集約などの矢印も自動で付与されて表示されるんでしょうか?
自動できれいに配置などもされたらすごく楽なんだけど…
71デフォルトの名無しさん:02/10/18 00:03
みんなEA使えよ
EAとは何でつか
73デフォルトの名無しさん:02/10/18 02:42
74デフォルトの名無しさん:02/10/18 21:58
>>73
体験版使ってみましたが結構よさげですね。
75デフォルトの名無しさん:02/10/18 22:22
これなんぼ?
76デフォルトの名無しさん:02/10/18 22:32
77デフォルトの名無しさん:02/10/18 22:35
>>75
激安ネット販売

裏情報を言うと
30日過ぎたら再インストールしたらまた使えちゃう
プッ
79デフォルトの名無しさん:02/10/23 16:27
ArgoUML使ってる人いますか?
Attributeの順序を変えるのってできないのでしょうか。
できないとなると使いにくいのですが。
80デフォルトの名無しさん:02/10/25 16:26
ちゃんと最後のコードに落としてるところまで
書いてある参考書ってないですかね?
81デフォルトの名無しさん:02/10/26 16:44
>>80
自分で考えるのは嫌いか?
82デフォルトの名無しさん:02/10/26 17:13
>>80
組み込みUML本
IIOS本の実践編
83デフォルトの名無しさん:02/10/26 17:23
つかまだまだ
エンティティ・オブジェクトのスタブ・コード(変数と空メソッドのクラス定義)作るのがやっと、
てな環境が多いと思われ
84デフォルトの名無しさん:02/10/26 17:37
UMLでメソッド・コード生成するには、
ベンダー固有のスクリプト言語でメソッド記述しなきゃならないしねぇー。
>>80 は、どこの環境つかって、どの分野のアプリを作ってるの?
>>80
「ユースケース入門」 にあるロバストネス図を用いたプロセスが、
UML を用いた分析/設計/実装の段階をシームレスに繋ぐ手法として見るところがある。
86デフォルトの名無しさん:02/10/26 17:42
ごめん、その本買ってないんだけど、
どんな感じでしょうか?

とりあえず、UMLを活用して、手書きコードを作る話ですよね?
「ユースケース入門―ユーザマニュアルからプログラムを作る」

いくつかあるUMLで規定されているダイアグラムの中で、
ユースケースを中心に実装まで行うICONIXアプローチについて解説。
クラスや相互作用を識別するのに有効な、ロバストネス分析についても解説する。
---

ソフトウェア開発において、対象をオブジェクト指向型の言語に
書き換える作業を行うためにUMLが広く使用されているが、
現実にコーディングできるレベルのオブジェクトに落とし込むのは
なかなか困難な作業だ。UMLと実際のコーディング作業には隔たりがあり、
このギャップを独自の手法で埋めていくケースをよく耳にする。
本書では、より現場に適した手法として、UMLをカスタマイズした手法を
解説している。これはUMLを拡張するとともに、対象の分析に開発時間の
多くを消費してしまうような愚行をできるだけ避けるように考えられている。

まず、問題領域に存在する主な抽象物を特定するためのドメインモデリング
を解説。つづいて新しいオブジェクトを識別し、ユースケースの流れを記述する
ユースケースモデリング、さらに、どのオブジェクトがどのユースケースに
働きかけるか、ユーザアクションの結果としてシステムがどの機能を実行するか
を理解するためのロバスト図、そしてどのクラスがどのメソッドの責任を持つか
を判断するシーケンス図、最後に、属性とメソッドを持ったクラス図からコードを
得るまでを解説している。

本書では有価証券取引のシステムを例題にとり、各章での解説は
このシステムをもとに行っている。初心者向けのUML解説書にありがちな
汎用性の低いケースの解説よりも実用的で柔軟な解説に仕上がっており、
非常に使いやすい。

UML自体は抽象的な概念であるため、実装まで生かすことができず
いきなりコーディングしてしまうなどということもあるだろう。
そういう人は本書を利用してみてほしい。実装まで落とし込む手法が
きっとつかめるだろう。
89デフォルトの名無しさん:02/10/26 20:18
本書ってどの本よ(藁
90デフォルトの名無しさん:02/10/27 03:04
EAって日本語対応してるの?MagicDrawよりいいかなぁ???
>>90

自分は
ttp://www.kjps.net/user/kouno/ea/japan.html
あたりを参考に、日本語が表示されるようにして使ってる
92>>63=>>73:02/10/28 01:49
EAが浸透してきて嬉しい限りだ
安い。俺にも買えそうだ。
EAマンセー
94デフォルトの名無しさん:02/10/29 07:14
EAの3.50で起動直後(プロジェクト開いた直後)に
落ちる人いませんか?
WindowsXPだと発生するのか?(Windows2000では発生しない)
95デフォルトの名無しさん:02/10/31 09:46
>>79
クラスのプロパティを表示して
右側にAttributeが並んでる欄で
対象のAttributeを右クリックで上げ下げできます。

operationもいっしょ。
9663:02/11/01 20:52
http://member.nifty.ne.jp/kondoumh/software/bc.html

日本語で軽いのがいいならこういうのもあるよ
9779:02/11/02 01:34
>>95
ありがとう。
それにしても重い・・・
98名無しさん@Emacs:02/11/02 21:49
http://www.iioss.org
ってどうですか?
9982:02/11/02 22:01
○executableUML本
×組み込みUML本

鬱詩
>>98
使えない。
なぜ使えない?
102デフォルトの名無しさん:02/11/04 00:03
iioss使うんだったら、PertternWeaverで良いような気がする。
PertternWeaverを使って解説している本も多いし。
103デフォルトの名無しさん:02/11/04 01:46
PetternWeaverって汎化とか点線の関連が書けなくない?
お試し版だからかな。
104デフォルトの名無しさん:02/11/16 00:31
executableUMLだけでシステムができますた。
もうプログラマーなんて必要ありません。これからは上級SEだけで市場をまかなえます。
105デフォルトの名無しさん:02/11/17 02:38
>>104
詳細キボンヌ。おながいします。
>>104
MDAっすか?
107デフォルトの名無しさん:02/11/17 07:59
OMGジャパン「OMG認定UML技術者資格試験プログラム」を発表
2003年9月にUML技術者試験スタートへ
ttp://www.omgj.org/news/releases/2002/1106/

ずいぶん先の話だけど・・・
108デフォルトの名無しさん:02/11/18 18:28
TCCっていくら?
もしかして電話せんとだめ?
109デフォルトの名無しさん:02/11/18 18:44
UML関連でプログラミング言語はいらないとか言ってた人がいたような…
110デフォルトの名無しさん:02/11/19 06:45
UMLうざい
>>109
逆じゃね?
プログラムもろもろのためにUMLがあるんでしょ?
>108
夏から通常価格が変わってなかったら、
\1,800,000 保守料込

113デフォルトの名無しさん:02/11/19 15:48
Delphiに対応してるUMLツールって
・EA
・ModelMaker
と他になんかある?
PatternWeaverフリー版あり
115133:02/11/19 16:15
>>114
フリー版って今落とせるっけ?

あとWithClassってやつも見つけたけど書きにくい(´Д⊂
116113:02/11/19 16:16
133じゃなくて113
117デフォルトの名無しさん:02/11/19 21:47
アーキテクトとデベロッパーか
もってたらどっちが単価高くなるんだろ。
答えは一年後か。
118デフォルトの名無しさん:02/11/28 17:07
初歩な質問でもうしわけないですが、教えてください。
UMLは、JAVAのようなオブジェクト指向な言語の設計に用いるのが一般的ですか?
Cをメインで使ってるものにとっては、有効ではないのでしょうか?
119デフォルトの名無しさん:02/11/28 17:20
ところで、UMLはブロンズなら10分でとれるな。
ということで、今日とりました。只だしよ・・・意味ないけど。
シルバーの問題、飛躍的にむずかしくない?
持ってる香具師いるの?
>>118
体験から言わせてもらえば、フローチャートを持ち出されるよりはマシだとおもふ。
いや、結局もう一層かますことになったんだけどね。
C&構造化プログラミングでも
カプセル化されたサブモジュール間の関連やら必要な機能の考察ぐらいにはなるっしょ。
122デフォルトの名無しさん:02/11/29 11:35
Describe という jbuider 組み込みのUMLツールのお験し版
使ってるけど、高機能過ぎて java uml  オブジェクト思考わからんやつには
オススメできない。 俺はかまへんけど いきなりあれでuml覚えるのは
結構キツイかも 
123デフォルトの名無しさん:02/11/29 11:36
>118
言語には 関係ないよ 
124118:02/11/29 18:43
みなさまありがとうございます。
言語にかかわらず、オブジェクト指向なプログラミングを意識すれば、
有用な手段になりうるということですね。
勉強してます。
125デフォルトの名無しさん:02/11/30 21:15
Enterprise Architectいいよ!
会社に買ってもらった。
安いよ!1ライセンス100ドル前後だし。
Roseは高すぎる・・・。

操作感も良い。ちょっとUndoが弱いのが弱点だけどね。
もうVisioでUMLを書く生活には戻りたくないなぁ。

だれか、EAを使っている人いる?
あ、Enterprise Architectは、UMLモデラです。
一応リバース・フォワードできるらしいです。
ODBC経由でDBのスキーマを取り込めます。
ここらへんの機能はあんまり使い込んでないですが・・・。
127デフォルトの名無しさん:02/12/02 12:55
>>125
>>63ですでに出てる
128デフォルトの名無しさん:02/12/03 07:33
EA日本語版キター!!記念age
http://www.zdnet.co.jp/enterprise/0212/02/n02.html
129デフォルトの名無しさん:02/12/03 12:32
Eclipseのプラグインをきぼんぬ
お、日本語版がプレスに取り上げられたみたいだね。
嬉しいな。

EAユーザにしつもんですが、
分析モデルと設計モデルはどういう風に書き分けてる?
自分は、

Views
  + Dynamic View
    + 分析シーケンス図
    + 設計シーケンス図
  + Logical View
    + 分析クラス図
    + 設計クラス図

と分けているのだけど。
131デフォルトの名無しさん:02/12/05 20:20
>>131

自分もほぼ同じ。強いて言えば、大概、状態図も書く必要があるので
それもDynamicViewに入れてる。

あるいは、最初のDynamicとLogicalの枠組みをはずして、
分析と設計にビューを分けるという方法もあるかと。

>>131
さんくす。やっぱそうするよね。


自分は状態図をクラスの下に置いてました。

パッケージA
  +クラスB
   + 状態図C
   + メソッド
てな具合。
こうすると、クラスとの対応関係がわかりやすいというメリットがあるけど、
パッケージAに状態図Cに記したステートが表示されてしまうのが鬱。

なんで、パッケージにステートを表示するような仕様になっているだろうか???

>132

ダイアグラムのプロパティで、パッケージの内容を表示しないように
設定すれば、ステートは表示されない。
もちろん、他の内容も表示されないわけだが...
>133
そ、そりゃそうなんですけど・・・。
ステート:表示OFF
クラス、サブパッケージ:表示ON
としたいのよね・・・。

エレメントの表示設定をもっと細かく制御できると嬉しいんだけどなぁ。
>>134

せっかく日本語版販売サイトができたので、日本語で追加要望
投げておきました。
発売前だが、要望記入フォームがあるんだからダメってことは
ないだろう...
Rational買収されちゃった…
Together -> Bolandときて、
Rational -> IBMですか。ビックリ。
次は・・・。
本当にUMLツールメーカーを次々と大手が買収してるな。
Visioを買収したMicrosoftにはめちゃくちゃ遅れてるけど。

でもRationalはツールだけじゃないからな。
IBMについちゃったらRUPも薦め辛くなるかも(一部には薦め易くなるかもしれんが)
>138
Microsoftが進んでいるって???

Visioなんか使い物にならないよ。
VisioのUML機能なんて、マクロでつくったお遊びじゃん。
140デフォルトの名無しさん:02/12/08 10:34
IBM、ラショナル・ソフトウエアを約21億ドルで買収へ
 http://www.reuters.co.jp/news_article.jhtml;jsessionid=K2NCFSULQ2KSSCRBAE0CFFA?type=technologynews&StoryID=1863621

#やれやれ
141デフォルトの名無しさん:02/12/08 10:55
RupってJavaのインナークラスをどうやって表現するんでしょうか?
>141 意味不明。RUPは開発プロセス。
UMLって、Javaのインナークラスを・・・
てな質問の間違いだろう。

んで、これに対する答えは・・・、

わからない。(笑)
すまん。

143デフォルトの名無しさん:02/12/08 14:59
まじめに考えた事ないから当て推量

・インナークラスっつうても、
 外側クラス・インスタンスへのアクセサーを持った普通のクラスなんだから、
 普通のクラスと同じ表現方法でもかまわないんとちゃうか?
・外側クラス/インスタンスへアクセスできる名前空間に所属してるっつう意味で、
 外側クラスと同名のパッケージの中にクラスを置いたら、
 インナー・クラスと解釈してソースコード生成する
 っつう仕様ならどないよ。

#つうか、Java以外のメジャーなOO言語でインナークラスってないよね?Eiffel?

144U ◆CZtFsGiu0c :02/12/08 17:00
>>141
<<inner class>>ってステレオタイプを作ってみる:-)
意味があるかどうかわからないけどね。
145デフォルトの名無しさん:02/12/10 01:04
今日なぜか、会社にRational Rose最新版があった。
なんでも中国の会社と一緒に設計するそうだ。
UMLは確実に急速に世界に広がっているようだ。
EAってモデルの図をPDFで出力とかできます?
>>146

直接PDFは不可能だが、PNGやJPG、GIFあたりの画像は可能かと。
誰かUMLシルバーの今期の問題持ってない?
ブロンズレベルの合格証が送られてきた。小さい・・・
まあ、ただで受けられる試験だからいいか。
>>148
前期のならある。
151デフォルトの名無しさん:02/12/11 13:00
>>150
ぜひ下さい!!
[email protected]
まで送ってくれませんか?
EA Trialを使ってみてるのですが、
Project ExplorerにあるclassをDiagramへDrag&Dropすると
:class とobjectが張り付きます。classそのもの貼り付ける
にはどーすりゃいいんでしょう?
教えて君でスマソ
153150:02/12/11 23:55
>>151
メールはヤダな…
154151:02/12/12 01:12
>>153
どうすればよいですか?
>152 Ctrl+D&D
156135:02/12/12 07:30
>>134

返事ありました。追加予定に入れるそうなので、
そのうち機能追加されそうです。ただ、オブジェクトごとでは
なくて、ダイアグラムごと、あるいは全体で設定可能とのこと。
>>155 ありがと。
心置きなく製品かえるです。
> 156
おお。嬉しい。
これに限らず、全般的に図の表現力をアップしてほしいぞ。>EA
ORMってなに?
160デフォルトの名無しさん:02/12/15 16:47
EAぐらいのを秀丸程度シェアウェア料金でVectorからDLできるようにしておいたら、
皆使うんだろうか...
>>160
アクティベーションとかが必要無くて、一人で複数のPCにインストールできれば使う。
>>160
シリアルが公開されたら使う。
163デフォルトの名無しさん:02/12/20 01:01
1000円ぐらいだったらどうだ?
164デフォルトの名無しさん:02/12/27 18:31
UMLっていいね!
Unified Method Language!
165デフォルトの名無しさん:02/12/27 21:15
今度のシルバーの問題もまたビ○オ屋だろうか
166デフォルトの名無しさん:02/12/28 01:20
>>165
DVD屋だと思う。
167デフォルトの名無しさん:03/01/07 21:10
UML技術者試験合格を新卒の履歴書に書いたらアフォだと思われますか?
別にいいんでない
169デフォルトの名無しさん:03/01/08 15:31
Poseidonはどうだろう?
直感的に使えて結構高機能。IIOPとそっくりだけど、IIOPみたいに落ちたりしない。
シーケンス図にアクターが出てこないなど、少々の方言(?)はあるようだけど。
ここ見ててEAというのを使ってみたけれど、
クラス図でいちいちエクスプローラを操作しなければアトリビュートが設定できないとか、
さらに自動的にgetter/setterが生成できない(ように見える)とか、
やや使いにくい気がする。
>>164
x Method
o Modering
171デフォルトの名無しさん:03/01/08 21:12
>>169

>クラス図でいちいちエクスプローラを操作しなければアトリビュートが設定できないとか、

これはコンテキストメニューとかショートカットキーあたりで簡単に可能。

>さらに自動的にgetter/setterが生成できない(ように見える)とか、

こっちは属性のプロパティから、設定可能ですな。

個人的には、いろいろ使ったが、EAは使いやすい気がする。
今買おうかどうか思案中。
172IP記録実験:03/01/08 21:28
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
173デフォルトの名無しさん:03/01/09 02:28
しばらく実装とテストに明け暮れていてUMLから離れていたけど、EAみたいなツール出てきたんだね。
MagicDrawが話題だったころとは隔世の感さえ感じる(オーバーかな?)。
RoseかVisioか、なんて寂しく思っていたけど、EAは個人的に買ってみることにした。

もう1つ気に入ったのが、EAサイトのシンプルさ。
機能追加要求とか、シンプルながらもまとまっていて実にいい。
LANのKMもどきサイトもこんな感じにしてみたいと思ったよ。

MDAの概念は、組み込み以外にも色々と面白い応用ができそうなんで、注目してます。
executableUML本、英語学習も兼ねて買っとこう。

以上、感激ついでにカキコしちゃいました。
>565
もう買った。
ウワァーン ( `Д´)=○)3゚)∵
>>49
ここのurlみるべし。
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
というわけで、掲示板の最下部のバージョン表示が20030107a以降のやつは、
ログとり実験やってますです。
今のところ、qb,live2,tmpですね
>>536
だからそのサイトはなんだよ!怖いよ!恐ろしいよ!
誰か漏れの代わりに見に行ってくれ!
電話まだー?
fDUMwxQmガンガレ
確かに小一時間はオカシカッタ
2ちゃんねる が衰退していく

あるネット関連会社の社長は、
「いずれにしても2ちゃんねるは資金が底をつけば終わり。
あまり知られていないことだが、2ちゃんねる内部関係者によると今、
大手通信会社系が調査費名目で資金提供している。
だが、それが止まれば続けてはいけないだろう」
と証言する。
2ちゃんねるが判決によって力を失った場合、
資金提供の打ち切りも予想される。

http://ascii24.com/news/reading/causebooks/2002/07/01/636911-000.html
>>922

そうきたら言葉はないですねぇ
俺はほとんど嘘だと思っているのでw 2chは
このままじゃ閉鎖だな      
ワラタ

そういう次元の高い話じゃないですって・・・捨てられる以前のお話です。
てーか、これでも私「鬼女」なんですけど。
いよいよ終焉か
189デフォルトの名無しさん:03/01/10 22:30
フリーのUML作成ツールでいいのってありませんか?
全部にいれてみた。
ウラの取れてない内部告発はもう出来ないというわけか?
君の責任です
あっ、漏れと同じ串だ
なんでそれが「つまり」やねん(^_^;)
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
IPってなに?
197デフォルトの名無しさん:03/01/11 11:17
>196
いんたーねっとぷろとこる
できるよ。こうしてP2Pの参加人口は激増するのであった。

そのうち、2chはP2P掲示板の補完的な役割を担うことになろう。


結局、前回はUNIXだったが今回はDownloadが
匿名掲示板を救うのだなあ。。。
【社会】2ちゃんねるが全板でIP記録を開始 3年に渡る"匿名掲示板"の歴史に幕…
http://news2.2ch.net/test/read.cgi/newsplus/1042202364/
200デフォルトの名無しさん:03/01/11 12:22
  Λ_Λ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)< UMLの話題にもどしやがれ
 (    )  \____________
 | | |
 (__)_)
201デフォルトの名無しさん:03/01/11 12:30
だからフリーでいいツールを教えてくれって何度も言っているのに・・・
ほほぅ
478 名前:  投稿日:03/01/10 20:46 ID:/I1K4Xxq
犯罪カキコは最初から論外だが
名誉毀損系のカキコが出来なくなるのがツライよなぁ・・
事実でもよほどのことがない限り有罪になっちゃう

482 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 20:47 ID:jWxHxvti
名誉毀損かどうかは裁判所が判断することすね。
警察の照会書で対応するかどうかは、
違法性が客観的に判断できるかどうかですね。

496 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 20:50 ID:jWxHxvti
>勝手に過去ログDVD作ってヤフオクで売って
訴えられたら悲惨すよー。

529 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 20:56 ID:jWxHxvti
Q.プロバイダー責任制限法第四条による発信者情報の開示請求があった場合には、
  記録されているIP情報を開示することがありえますか?

A.状況により。
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
205デフォルトの名無しさん:03/01/11 21:59
IPの問題などどうでもいいよ。

それよりフリーのツール知りたい。
ねぇよ
2ちゃんねるも現実ですよ。
208デフォルトの名無しさん:03/01/11 23:50
209デフォルトの名無しさん:03/01/11 23:51
>>205
俺が試したフリーソフトの中ではIIOSSが一番マシだった。
210デフォルトの名無しさん:03/01/12 00:45
あらまぁお二人で(w
4nd…… ラウンジの「ラウンジ恋愛部」かとおもた
213デフォルトの名無しさん:03/01/12 11:17
ドキュメント作成のためのUMLツールならJava製じゃない方がいいな。
EAは図をコピペでWordやExcelに持っていけるのが楽。
やっぱり最終的な納品はWordやExcelになることが多いしね。

#それにしてもノイズ多すぎ。
2002年2ちゃんねるアニメランキング1位のアニメに・・・・

モナーが出演決定!!!!!!!!!!!!!!!!!!!!!

<<放送時間>>
1/12
大阪 テレビ大阪 (日)9:30〜10:00
東京 テレビ東京 (日)9:30〜10:00
名古屋 テレビ愛知 (日)9:30〜10:00
福岡 TVQ九州放送 (日)9:30〜10:00
札幌 テレビ北海道 (日)9:30〜10:00
岡山・高松 テレビせとうち (日)9:30〜10:00 
何か勘違いしているように読めるのだけれど。

2ちゃんで7日以内に反論するのは「削除依頼された書き込みをした書き込み者」だよ。
その人が、書き込みが正当である旨反論すれば、管理人としては削除すべきではないという
積極的な心証を得る場合があり、ひいてはISP責任法の免責事由になる場合もある、
というのが狙いだと思っています。

あと、
>確かにレスが事実誤認であることを証明するのは 原告側。
原告側にこの証明責任はありません。

ホビーの作業、乙です。
217デフォルトの名無しさん:03/01/13 15:20
すみません、MagicDrawを使っている方いらっしゃいますか?
困っていることがあるので教えてほしいんですけど。
あるクラス図に対して、1個のクラスを作った後で、
そのクラスを別のクラス図にも表示させるようにしたんですけど、
別のクラス図からクラスを削除しようとすると、元のクラス図の方まで
削除されてしまいます。
元のクラス図の方には残して、別のクラス図からクラスを削除する
方法はないのでしょうか?
218217:03/01/13 15:22
環境書き忘れました。
MagicDraw5.5iで、プラットフォームはMacOSXです。
WindowsやLinuxでの情報でも構いませんので、
良かったら教えてください。
219デフォルトの名無しさん:03/01/13 15:41
やっぱグラフィカルで大まかな設計はUMLだな
220山崎渉:03/01/13 18:34
(^^)
フリーソフトでJudeの他になんかいいのある?
222デフォルトの名無しさん:03/01/13 21:37
>>221
Poseidon
IIOSS
よんどw
224デフォルトの名無しさん:03/01/13 22:07
225山崎渉:03/01/15 17:49
(^^)
226デフォルトの名無しさん:03/01/15 23:31
超初歩的ですいません
DBのER図をUMLで書くときは何図をつかうのでしょうか?
227デフォルトの名無しさん:03/01/15 23:34
フリーじゃないものでラショナル以外のよいツール教えてください。
できればjavaでないもの
>>226
ER 図は ER 図、UML は UML かと。

>>227
作図だけなら Visio じゃだめ?
229226:03/01/16 00:15
>>228
レスありがとうございます。
やはりER図はUMLと別なんですか

両方かけるツールありますか?
visioはいくらくらいしますか?
会社でかうのだろうけど
230デフォルトの名無しさん:03/01/16 00:22
正直、Visioはお奨めできない。
どうしても欲しかったらヤフオクで買え。
231デフォルトの名無しさん:03/01/16 00:30
>正直、Visioはお奨めできない。
なぜですか?
興味があるのでおしえてください
>>227

ここでよく話題にあがっているEnterprise Architect試してみるがよろし。
http://www.sparxsystems.jp/ea_downloads.htm

フリーじゃないもので、Javaじゃないツールって言うと
Rational Rose
MS Visio(高いやつ)
Describe
Enterprise Architect
あたりが思い浮かぶ。



233デフォルトの名無しさん:03/01/16 10:10
EA以外でまともな有料ツールつうと数十万はするだろ。
234デフォルトの名無しさん:03/01/17 10:43
visio使ってるよ。
UMLやるために買ったんじゃないけど。

海外のシェアウェアみたいなのも幾つか試したけど、
日本語が使えないとか、Javaのコードしか吐けないとか
希望に合うのが無くって、使い慣れてるしとりあえず
visioでやるかな、って流れで。

他にvisioやってる人いない?
生命線の上に活性化を乗せるのがうまくいかないんだけど(笑)
あと、コード出力ができない。.NET入ってないとメニューに出てこないのかな?
235デフォルトの名無しさん:03/01/18 00:37
>>234
visioはコード出力できません。
コード解析機能だけです。
236デフォルトの名無しさん:03/01/18 01:09
netの一番高いやつがコード生成できますよ
VISIONが一番使いやすいようなきがするのですが
値段が高すぎ
>>234
Visio使ってたよ。
クラス図を書くのに使ってたけど、関連がうまくまっすぐならなくて
「イライラするんだよ!(王蛇)」って感じだったので、結局やめました。

価格と機能からすると、EAが一番良いのではないでしょうかね。
つーか、visioは重い。
239デフォルトの名無しさん:03/01/18 13:25
>クラス図を書くのに使ってたけど、関連がうまくまっすぐならなくて
ほんと線が思い通りにならない。
状態図とかだと遷移が直線にしかできない。

visioってUML仕様的にはどうなの?
240デフォルトの名無しさん:03/01/18 13:31
webアプリケーションの仕様で実際の画面以外に
UMLをつけたいのですが、ステートチャート図だけでも
足りるでしょうか?
他にも加えるとしたら何図でしょうか?
241U ◆CZtFsGiu0c :03/01/18 16:12
>>240
どういうレベルの「仕様」かわからないけど、画面遷移だけだったら状態図だけで
十分でしょう。遷移ごとの処理仕様を記述するのならロバストネス図とかシーケン
ス図とかが必要になってきますが。
UMLからC++のコードを導くような本とかサイトとかってないですか?

もちろん、UMLは言語から独立って話はわかるんですが、
最近、浅海さんとかJavaの話はたくさんありますよね。
ご存知の方、よろしくお願いします。
243デフォルトの名無しさん:03/01/19 03:37
UMLの特徴としてふさわしいものをすべて選択しなさい。
(1)表記法だけでなく、開発の手順(開発プロセス)についても明示している。
(2)さまざまなオブジェクト指向方法論の用語と表記法を統一したものである。
(3)これを使うすべての開発関係者には実装言語についての知識も要求される。
(4)採用できる開発プロセスに制限がある。
(5)どのようなモデルを作るべきかについての指針も明示されている。
(6)オブジェクト指向開発において、開発関係者の共通言語として使用することができる。
>243
2,6?
245デフォルトの名無しさん:03/01/19 18:07
デザインパターンってUMLに入らないの?
246デフォルトの名無しさん:03/01/19 21:16
>>243
絶対(3)は必要。
実装できないやつのUMLなんて空想の産物。
お客さんへの説明にも使えるというお題目を信じるなら (3) は違うわけだが。
俺も>244に同意で 2)&6)。

問題領域をモデリングするだけなら実装言語の知識は必須じゃないだろ。
メタ言語をメタ言語として書けばいいだけ。

以上の理由から
(3)これを使うすべての開発関係者には実装言語についての知識も要求される。
        ^^^^^^^^
が当てはまらないので除外。
2492問目:03/01/20 04:52
アクターやユースケースを考える場合、どのような視点に立てばよいですか。
適切なものをすべて選びなさい。
a)2個以上のユースケースを作成したか。
b)ユースケースがアクターにとって価値のある機能か
c)ユースケースがシステム内部まで立ち入っていないか。
d)システムに期待している機能がユースケースとしてすべて定義できているか。
e)アクターは役割ごとに定義されているか。
250デフォルトの名無しさん:03/01/20 17:08
>249
d.e
251デフォルトの名無しさん:03/01/21 01:21
>250
c)ってどういうことを言ってるの?
252サンタマリア:03/01/21 01:47
アクターのユースケを考える場合、どのような視点に立てばよいですか。
適切なものをすべて選びなさい。
a)2人以上のユースケを作成したか。
b)ユースケがアクターとして価値のある存在か
c)ユースケが作品内部まで立ち入っていないか。
d)作品に期待している演技がユースケとしてすべて定義できているか。
e)アクターは役割ごとに定義されているか。
>251
ユースケースは表面的な、要求定義を図に落としたモノだと思うから
実装よりの記述があるのは不適切ってことなんじゃないか?
>253
いわゆる外部仕様ってこと?
>>254
でもどうだろうね。
理想的にはビジネスモデルだけを抽出するのがベストだけど、
暗黙的に実装を想像しながらやらないとあんまり意味がない気も。
>>246
最近はソフトウェア業界以外でもUML使ったりしてるらしいけど。
257デフォルトの名無しさん:03/01/21 10:47
最近は至る所で講習会が行われてるなぁ
ソフトウェア開発以外でUML?何に使うんだ?
259デフォルトの名無しさん:03/01/21 11:26
業務の流れや人材資源などの配置をUMLで表現するとこも多くなった
260デフォルトの名無しさん:03/01/21 11:54
ソフトウェア産業以外でも普及し始めるとSE/PGとしては使えてないとなぁ
読むのは簡単。書くのは結構面倒。
262デフォルトの名無しさん:03/01/21 12:51
他でも普及すると、客にもUML使って説明できるから楽なんだがな。
業務形態も一種のソフトウェアと考えれば、わりと自然な話かもッスね。
人間・組織のソフトウェアにコンピュータのソフトウェアを
インテグレートするようになるんだろうか。
客がUML使って書いて下請けに投げれば。
上流が要らなくなるね。
客側から提案する場合の工数は減るが、不要にはならないだろう。
限りなく営業に近づくのだろうね。
まぁでも、お客さんで自分がほんとは何がやりたいのかわかっている場合って少ないわけで。
一般の人がそこまでできるんだったら、もうSIとかシスコンの会社っていらないよね。
268デフォルトの名無しさん:03/01/22 18:55
クラス図の多重度で、「0..*」と「*」は同じ事を
意味していると思うのですが、使い分けの基準は
ありますか?
269U ◆CZtFsGiu0c :03/01/22 19:22
>>268
意味は同じですが、「存在しないこともある」というのを明確にする
ために0..*と記述するようにしています。
270デフォルトの名無しさん:03/01/23 01:29
最近クラス図を覚えました。世の中には便利なものがあるもんだと関心しておるのですが、
これって規模がでかくなっていったらどうやって書いたらええですか。どんどん広げていく
訳にも行かないので困っております。階層化するとか定石があるのなら教えてプリーズ!
271デフォルトの名無しさん:03/01/23 02:19
結局>249はc)d)e)ということでよろしいか?
>>270
コンポーネント図、パッケージ図。
「きれいでかんぺきなしようしょ」 が書きたいのでなければ、
そのアプリケーションにとってキモとなる部分や、
説明が必要だと思う部分だけ図を描けばいい。
その方が時間も無駄にならない。
273デフォルトの名無しさん:03/01/23 08:57
狭い領域に全部書こうとしてはならん。
274デフォルトの名無しさん:03/01/23 09:54
>>272
レスサンクス
まだクラス図しかやってないのでコンポーネント図とかも勉強しやす
275デフォルトの名無しさん:03/01/23 15:01
>>246 :デフォルトの名無しさん :03/01/19 21:16
>絶対(3)は必要。
>実装できないやつのUMLなんて空想の産物。

プロ市民の論理て結局これでないの?
その後(260番台)に「実装技術を知らない客側が書くUML」の話題だった訳だが。

なんにせよ問題出した奴が早いとこ解答だしてくれんとなんとも言えんな。俺まだブロンズだし。
277デフォルトの名無しさん:03/01/23 19:56
UMLとPascalの表記法って類似点が結構多いような気が
するのですがこれは何故なのでしょう?
UMLってC++やJavaの方がさかんに使われていますが
それらとは明らかに違いますよね?

どちらもBNFの表記法を素直に継承しているから?
>>277
PASCAL :LL文法
C++,Java:LALR文法
の違い。
たしかLL文法は、再帰的に簡単に構文を辿れるが、
LALR文法の場合は、構文要素の先読みをしないと、構文解析ができない、
てな違いがあったと思う
ところで、
>UMLとPascalの表記法って類似点が結構多いような気が
「UMLの表記方法」とはナニを指しているのでせうか?
シグネチャの書き方か?

<<foo>> bar(baz : Baz&) : void

とかの。
281山崎渉:03/01/23 21:19
(^^)
282デフォルトの名無しさん:03/02/01 15:20
http://www.molips.com/jp/
http://www3.to/d-d-s

すごく便利なんだけど
これ無料だったりする。
283デフォルトの名無しさん:03/02/04 07:07
age
284デフォルトの名無しさん:03/02/04 23:41
EAのアカデミック版って通常版に比べると異常に安いな...
MSのOfficeとかもそうだけど、通常版買った人間からみるとけっこう辛いものがある。

OO厨的には抽象化により
プログラムを知らなくても設計理論だけで書ける(はず)
現実世界なら話は別
286デフォルトの名無しさん:03/02/05 00:30
Rose RealTimeで開発してまつ。

使い方憶えるのにとっても時間が掛かりましたが(2〜3週間)、
今はさくさくクラス図書いて、ステートチャート書いて、ちょこ
ちょことコード書いてと、ExecutableUMLって言うのですか?
とても便利です。

クラス図と状態図だけですけど、吐きだしたコードとダイアグラ
ムが必ず連動しているっていいですね。
MagicDrawとかPatternWeaverで書いてた頃が懐かしいです。

でも、高いですよねぇ。フローティングで150万円位します
もんね。
>>286

それを買ってもらえる環境がウラヤマスイ
僻みなのでsage
288デフォルトの名無しさん:03/02/07 00:36
漏れは1週間前からRose Enterprise使い始めました。
まだ使いこなせないけど、使い勝手はかなりいい。
しかし1ライセンス50マソは高いな。
既存のクラスをインポートしようとするとすぐ固まるのと、
印刷がしょぼいのは直ったのかな。
290デフォルトの名無しさん:03/02/07 22:03
>>289

RoseRTですが、印刷はしょぼいですね。なので、ウェッブ・パブリッシャ
でHTML変換してイントラで公開。この機能は重宝してまつ。

インポート(?)は使ってませんね。ユニットコントロールで別モデルからの
取り込み(変更可)や共有(変更不可)はできます。

あと、ステートチャートで同期バーが使えないのは面倒くさいかも。チョイ
ス・ポイントで判別しないといけないし、図上に平行動作が現れてこない。

あとはアクティビティ図が描ければイイな。実装には関係ないけど制御系な
ので仕様として残したい。クラスの振る舞いとは別に並列/平行動作が多い
からね。全体動作を見るにはよい。手動で更新しないといけないけど。

よいツールですよ。UMLをきちんと理解してないと使えないですけど。
291U ◆CZtFsGiu0c :03/02/08 12:24
>>290
>インポート(?)は使ってませんね。ユニットコントロールで別モデルからの
取り込み(変更可)や共有(変更不可)はできます。

おそらくリバースエンジニアリングのことだと思います。Javaの場合だとRose起動用の
クラスパスに対象クラスを含める必要があってむちゃくちゃめんどくさかったんですが、
今もそうでしょうか。

また、一番よく使うシーケンス図の自己呼び出しがちゃんと書けないのも不満。
なので、

>よいツールですよ。UMLをきちんと理解してないと使えないですけど。

今はTogether使ってます。RoseもTogetherもフローティングライセンスで独占して
使えないので、安くていいツールがあれば乗り換えも考えるんですけどね。
292デフォルトの名無しさん:03/02/08 12:45
>>291

おぉ・・・そうか。

無印Rose と RoseRT は全く別物かもしれないですね。
(お値段も倍以上違う)

無印は今度使ってみます(評価版があったはず)
293デフォルトの名無しさん:03/02/08 21:26
>>291

安くていいツールは、ここでも話題になっているEAす。
先日のキャンペーンで買ったけど、大きな不満はない。
シーケンス図がRoseより書きやすいような。
294デフォルトの名無しさん:03/02/11 19:47
クラス図使って 開発してると、すんごい整理されて
いいんですけど、逆に すごい凝ったものも整然と
できちゃうわけで、
あとで わけわかめになったりしません?

奇跡的な構成のシステムができて
やったやったと喜んでたんですが、あとで困っちゃって。
整理されすぎるのも困るなぁと。

多少冗長なぐらいで やめておくほうがいいんでしょかね。

なんかプログラムの最適化とかアセンブリとかの話と
同じような現象がクラス図にもあるんだなぁと
そのとき思ったでする。
295デフォルトの名無しさん:03/02/12 01:58
シルバーレベルってどのくらいの知識が必要なんでしょうか?
UMLリファレンスマニュアル
UMLユーザーガイド
UMLによる統一ソフトウェア開発プロセス
UML仕様書
が必要とか?
296U ◆CZtFsGiu0c :03/02/12 13:07
>>293
やっぱりEAですか…暇になったら評価版を試してみます。

>>294
すまんが困ってることがなんなのかよくわからん。
297293:03/02/12 23:32
>>296

少なくとも、事実上個人利用としての選択肢は
JudeみたいなJava系のツールかEAしかないでしょ

>>295

少なくとも、ブロンズが余裕で受かるレベルじゃないと
太刀打ちできないと思う。レベルが違う。
>>295
あと実際のモデリング経験。
かんがれよ。
>>294
>あとで わけわかめになったりしません?
しません。

>やったやったと喜んでたんですが、あとで困っちゃって。
>整理されすぎるのも困るなぁと。
そもそもこの文章の中で言う整理って何のことでしょうか?

>多少冗長なぐらいで やめておくほうがいいんでしょかね。
いいえ。

>同じような現象がクラス図にもあるんだなぁと
>そのとき思ったでする。
意味不明です。
300デフォルトの名無しさん:03/02/13 06:48
まだ評価版は試してないんだけど、EAは「実現」を表す
破線に△のラインは書けるの? サンプル画面見ても
「汎用」の実線に△のラインしか出てなかったからさ。
301デフォルトの名無しさん:03/02/13 20:18
>>300

今試してみたらできた。
普通にrealizeの接続をつくればOK。
302デフォルトの名無しさん:03/02/16 21:50
質問させてください。
class Super{}
class Sub1 extends Super{}
class Sub2 extends Super{}
class User{
 Sub1 s1;
 Sub2 s2;
}

なんてコードをクラス図で表わすときに、
Userからのコンポジットの線は、Sub1とSub2に1本ずつ引くものでしょうか。
それとも、UserからSuperに1本だけ書けばよいのでしょうか。

俺は、Sub1とSub2の両方に1本ずつだと思うんですが。。。
303デフォルトの名無しさん:03/02/16 23:35
>>302
UserがSub1、Sub2の型で持つのなら、両方に一本ずつじゃない?
でもSuperがインターフェースを定義しているだけで、Subはその
実装を提供しているだけなら、Superに一本でもいいような気がする。

StateまたはStrategyパターンのような感じで表現する方が好みだけど。
SuperへのポインタでSub1又はSub2を保持するならSuperに一本。
今回の場合はSub1,Sub2へ各一本じゃないの?
305302:03/02/17 00:27
>>303
>>304
レスありがとうございました。
わかりました。

なんで、こんなバカな(?)ことを聞いたかというと、
実際には、Userクラスにも種類がいくつかあって、いくつかのSubクラスを
内部に持つので、クラス図が交錯する線だらけになってしまうのです。
教科書を見ると、サンプルはいつもすっきりしていて、派生クラスに線が
引かれているのはあまり見ないので、不安になったのです。

>>303
たしかに、UserがSuperだけ持つようにできればすっきりなのですが、
そうすると、Superの使いたくない派生クラスまで「理論上は扱える」ように
なってしまいます。それは、将来、問題になるような気がするので、
やはり、派生クラスで持たせたいのです。おかしいでしょうか?

あと、1つ聞かせていただいてよろしいでしょうか。
クラス図が線だらけになるのを避けるために、線を間引いてもよいのでしょうか?

質問を重ねてすみませんが、よろしくお願いします。
306303:03/02/17 02:42
>>305
何のためのクラス図かによるんじゃないかな。

UMLからソースを生成するようなCASEツール使ってるのなら、
教科書(?)通りに正確に記述する必要があるかも知れないけど。

開発者や設計者といった人が見るためのものなら、線を間引いてでも
見易くしないと、>>305 が作ったUML図は見にくいということになり、
最終的に見向きもされなくなる。
307305:03/02/18 00:59
>>306
レスありがとうございます。
やっぱり、間引いてもいいんすね。

俺の場合、UMLからコードを書くんじゃなくて、コードからUMLを
書かされるんです。
308うん込まん:03/02/19 22:12
あげ
>>307
それ、手作業なの??
不毛だ…
311ななし:03/02/21 14:20
ドイツ製で・・・梅何とか??ってUML設計のできる
ツールがあるの?

クラス図を書くと、そのままコードまで出てくれるって奴。
詳しくは知らないんだけど・・・ちょっと小耳にはさんだ。
312デフォルトの名無しさん:03/02/25 01:29
class A{
};

class B{
void func(){ A a; }
};

みたいな関係は、「BがAを使う」ではないかと思うのですが、
その場合、BからAに→を引くのでしょうか?
それとも単にBとAを線で結ぶだけでしょうか?
それとも線は何も書かないのでしょうか?

お願いします。
313デフォルトの名無しさん:03/02/25 04:16
>>312
「BはAに依存している」ということで
「依存」を表す点線の→をBからAに引きます。
314デフォルトの名無しさん:03/02/28 23:37
こちらでツールについて語ってください。

ま、金が余ってるなら Rose、
Rational にお布施したくないなら EA ってことで。
EAの日本語版はそろそろだっけ
>315
予定では2003/4/1ですね。
ふぅ…もう待ちきれないので英語版、買っちゃおうかな…
317デフォルトの名無しさん:03/03/01 07:01
>>316

俺もそう思ってFAQ見たり聞いたりしたが、日本語版が欲しいなら
今英語版を買うよりは4月に日本語版を買うべきだそうだ

売らない販売担当も珍しい
>>317
あれ、日本語版にアップデートできるんじゃなかったの?
まぁあと30日だから、評価版でも間に合いそうだけど
EA評価版使ってみた。やっぱ日本語版がいいなあ。
こいつのUnitTest機能って、xUnitみたいなテスティング用コードを生成してくれるのか?
ヘルプ読んでもわからんかったので教えてくだされ。
321デフォルトの名無しさん:03/03/01 15:31
EA評価版使ってます。早く日本語版出て欲しいです。
とりあえず日本語のヘルプだけでも一般に公開して
くれればいいのに。

で、質問。
クラス図から生成されるJavaソースのフォーマットは
変更することはできるのでしょうか?
322デフォルトの名無しさん:03/03/01 18:47
オージスのシルバー三回落ちたぞゴルァ
UTAYAの問題もう見飽きた
323322:03/03/01 18:48
こうなったら一生かかっても自力で受かってやる
受かったやつは皆、不正をしてるんだろうがな!!
>322
最近のことですが、シルバー試験に一発合格しました。
ブロンズの時は一発満点合格でした。

UTAYAの問題以外は、UMLの基礎がしっかりできていれば
大丈夫です。もう一度チュートリアルをしっかり読むとか
「UMLモデリングのエッセンス」を読むとかが対策かな。
あとはデザインパターンを軽く学んでおけばいいでしょう。

UTAYAの問題は仕様をよく読んで、ユースケースに
きちんとまとめられないと、その後の問題もきついだろうね。
あんまり書くと、ネタバレになっちゃうからやめとくけど。

仕事で資格が必要とかでなければ、不正して受かっても
うれしくないでしょ。がんばってください。
325デフォルトの名無しさん:03/03/01 21:55
317です。

FAQにもあったのですが、今英語版を買うと、日本語版にするときに
別途カネが必要らしいので、1ヶ月なら待ったほうがよいとのこと。

というわけで319と同じく評価版で遊んでます。
日本語版は延期な罠





と、縁起でもないネタを振ってみる
327317:03/03/02 08:06
評価版でいろいろ試してみますた。

>>320
そういうわけではなくて、単に記録ができる、というもののようだ
少なくとも、そういう機能は発見できず

>>321
同じく変更できそうなところは発見できず。


328デフォルトの名無しさん:03/03/02 08:44
ドリームパートナー募集中!
今話題のYahoo! BB、BBフォンの販売にご協力下さい。
販売には特別な知識は必要ありません。
魅力的な報酬プランご確認の上、お気軽にご参加下さい。

http://join.dreampartner.jp/mmd/bb/index.html

>>326

確かにこの手のローカライズ版にはつきものかも。
330デフォルトの名無しさん:03/03/03 00:05
>>321
ヘルプだけもらってもしょーもない気もするが
どんな活用法が?

OMG認定UML技術者資格試験プログラムが9月から始まるね。
9月以降はオージスの方取っても失笑されるようになるんだろうな。
その前に取っときたい所だが・・・
>>330
読み慣れた日本語で内容を理解する。
333デフォルトの名無しさん:03/03/05 18:43
EA(体験版)で作成した図を清書する事って出来ます?
オブジェクトを適当に配置したんで綺麗にしたいんですが...
334デフォルトの名無しさん:03/03/05 20:48
>>333

いちおう自動整列機能が存在する。
が、自分はこれ一発で納得できる図になったことはない...

現状が適当なら、とりあえずこれを実行してその後
整理するのがよいかな
335デフォルトの名無しさん:03/03/06 01:30
EA(体験版)のリバースエンジニアリングで、
以下のようなコードを処理すると文字化けするんだけど、
なんとかならん?

string ファイル名;

「ァ」がまずいみたい。
日本語版だと大丈夫なのかな?
336デフォルトの名無しさん:03/03/06 02:42
>>335
手いうかコードに日本語あんま使わんわな
337デフォルトの名無しさん:03/03/06 07:41
>>336

禿同

ただ、VBあたりの本だと使っている例も多い
338デフォルトの名無しさん:03/03/06 07:45
とりあえずココで選びなさいな
http://homepage3.nifty.com/digikei/index2.html
339333:03/03/06 11:06
>>334
出来ました。情報感謝m(__)m
340デフォルトの名無しさん:03/03/07 02:14
Konesa-RealTimeとRose RealTimeって似たようなものですか?
それとも、やっぱ値段相応にRose RealTimeの方が優れてるんですか?

いやね、どっちか買おうかと思って。
やっぱ、メジャーなRose系にしといた方がいいかなぁ。

Konesa-RealTimeの体験版使ってみたけど、コード自動生成って楽しいね。
341デフォルトの名無しさん:03/03/07 21:33
>>340

慣れれば、どっちも似たようなもんだと思うよ。

違いがあるとすれば、対応OSの差かな。自分でフレームワークを
未対応OS向けにポーティングしなくても済むからね。

対応RTOSの数で言えば、

 RoseRT > Konesa

だったと思いまつ。その他、RoseRTは標準で分散オブジェクト環
境(コネクシス)を持っていたりする点で優れているかも。
342デフォルトの名無しさん:03/03/13 00:05
>>326

予定通り4月1日発売らしいage
343デフォルトの名無しさん:03/03/13 00:19
質問です。ちょっと教えて君みたいで恐縮ですが

コンポーネント図で、
パッケージの中にコンポーネントを入れることは変でしょうか?

配置図で、JARで圧縮されたJavaクラスライブラリをパッケージとして
表すことは変でしょうか? これはコンポーネントとして表すべきでしょうか?

配置図でJVMを表すとき、コンポーネントで表すべきでしょうか?
またはそのコンポーネントの中にJavaのコアAPIのパッケージも含めるべきでしょうか?

UMLブロンズをとってもこれらを理解できませんでした。
こんな私はUMLのブロンズ資格を持つべきではないでしょうか?

私のUML環境はEclipse + Omondoで使い始めています。
以前はIIOSSを使ってました。
>>342
発売延期がなくても、待たされる罠。
ttp://www.sparxsystems.jp/ea_releaseJp.htm
>344
これを良心的とみるべきなのか、判断に迷うわねぇ
346デフォルトの名無しさん:03/03/13 07:02
>>345

まァ、カネ払ってもなしのつぶて状態になるよりは
きっちり対応してくれるほうがいいかもね

既にそんだけ購入希望者がいるってことでしょ?
347346:03/03/13 07:13
sage忘れた

良心的に考えれば、キャンペーンで事前購入してる人優先てのも
わからんでもない
買っとくべきだったのかな。。。
>>343
>コンポーネント図で、
>パッケージの中にコンポーネントを入れることは変でしょうか?
変じゃありません。サブシステムという扱いになります。

>配置図で、JARで圧縮されたJavaクラスライブラリをパッケージとして
>表すことは変でしょうか? これはコンポーネントとして表すべきでしょうか?
普通は配置図ではコンポーネントを使います。
ただし配置図の目的は物理的なコンポーネントの配置位置を示すことです。
パッケージだろうがコンポーネントだろうが目的が達成されやすい方法がいいのです。
なので状況によると思います。

>配置図でJVMを表すとき、コンポーネントで表すべきでしょうか?
ノードがよいと思います。おそらくそれはアプリケーションサーバでしょうから・・・。

>またはそのコンポーネントの中にJavaのコアAPIのパッケージも含めるべきでしょうか?
含めるべきではありません。邪魔です。

>UMLブロンズをとってもこれらを理解できませんでした。
>こんな私はUMLのブロンズ資格を持つべきではないでしょうか?
そんなことはないです。
これだけの問題意識を持てる方はもっと上位のスキルを目指すべきです。
>>344
サーバくらい増設しろよ。
350346:03/03/13 22:02
>>349

クレジットの手数料払うと赤字になるくらいの
利益率だと難しいと思われ

実際ここのサーバ安いしね サポートはどうなんだろ?
>>350

スレ違い
352デフォルトの名無しさん:03/03/14 00:16
>>351
適したスレはどこなんだよ!と言ってみる。
>>350
言われて調べてみたけど、共有のレンタルサーバとは・・・
確かに安いけど、どうせ借りるなら、もうちょっとデカイ会社のに
すればいいのに。
>>349,350,353

同じようなこと(サーバ増設シル)サポートに聞いてみたら
将来的には考えてるらしい とのこと。

まあ、なんだな。利益率の設定間違えたと。
355デフォルトの名無しさん:03/03/15 13:55
__UMLロボット__
http://that.2ch.net/test/read.cgi/robot/1047690048/l50
サーバくらい短期でも借りられると思うんだがな。
MXとかNYって、ほんとはこういうのに対処するためのツールなんだろうな。
サーバ負荷を減らすために、みんなで共有しるか。
357356:03/03/23 23:54
あ、ダメですな。
IDもらってからDLだったか。
すまそ。
358デフォルトの名無しさん:03/03/30 22:56
age
EA日本語版使ってみた。

確かにいくつか英語残ってる部分もあるが、基本的には
問題ない感じ。

やっぱ日本語はいいね
おー、いいなぁ。
しかし、制限しなきゃいけないほど、そんなにサーバ混んでるのかな。
今のところはストレスないですね。
制限もないようですし。
362デフォルトの名無しさん:03/04/02 07:48
>>360,361

どうやら杞憂だったというオチのようで。。。
それはそれで悲しいな。
サポートの人がぽろっと教えてくれたけど
注文は予想以上に来ているらしい。サーバーがそれ以上の
性能を示したってことか?
只今上司を「UMLって意外と使えるな」というふうに洗脳中・・・
只今上司を「2chって以外と使えるな」というふうに洗脳中・・・
367デフォルトの名無しさん:03/04/05 10:09
独習UML改訂版ってどうよ?
漏れは初心者に毛が生えた程度なんだが。
368しお韓:03/04/05 15:00
598 名前: [sage] 投稿日:03/04/05 14:58 ID:mQUML4qC
おまえらヤル気あんのか?
>>368
おぉぉぉぉx!
>>367
改訂版は知らないけど(1.4対応?)、
独習UML自体は入門向けにちょうどいい。
>>367

「はじめて学ぶUML」がお勧め。
両方読んだ立場としては、こっちのほうがいいかな。

でも、この2冊ならどっちでもOKでしょう。
372デフォルトの名無しさん:03/04/06 14:03
ブロンズとったー!!!ここからが大変なようですね.
373プロの逝って良しの1 ◆MvRbZL6NeQ :03/04/06 14:11
宗教だな。
技術ではない擬似技術
UML2.0をちょっと眺めてたんだけどよ、
コーディングがこれで完全に設計の工程から
切り離されたって気がしたな。
一部のUMLを中心とした研究を志す企業を除いては
世の中はフレームワーク/コンポーネントメーカ
とビジネスのSIに完全に分かれていくんだろうか。
おれらもどっちに付くのかそろそろ決める時期が
きてるんじゃないかな。
375プロの逝って良しの1 ◆MvRbZL6NeQ :03/04/06 15:43
A「ちっ、また使えねー設計図よこしたな」
B「組織ってのは無駄なものなんだよ」
A「しょがねー、また勝手に作るか」
B「毎度毎度だけど誰も気付かないねえ」
376デフォルトの名無しさん:03/04/06 17:24
結局UML覚えたって設計に必要な知識の5%くらいしか補完してくれないと思う。
それに気付かないで糞UML排出してOO語ってる奴等が大多数だから腹立たしい。

>>374
効果的に使いこなせる奴ほとんど居ないんじゃないの?
日本じゃ3年早いと思う。
377デフォルトの名無しさん:03/04/08 14:44
実務で使っている人の話が聞きたいなぁ。
そんな人はまだまだ少ないんだろうねぇ。
378デフォルトの名無しさん:03/04/08 22:26
実務で使ってます

ソフト屋が40人程度の部署で、そのうち25人は組み込みのファーム
ウェア開発要員なんだけど、eUMLでがんばって開発してまつ。

シリーズ物の息が長〜い製品なので、ソフトの寿命も10年以上と長い。
顧客の要望でちょこちょこ変更も多い。(半導体工場に入れる装置だか
らね。リソ工程)

なので、オブジェクト指向だ! UMLだ!ってんで新しい者好きが多かっ
たせいもあり、新規装置のソフトはオブジェクト指向&UMLで開発して
ます。

取っ掛かりは大変でしたけど(勉強会は半年も続いた。ツールベンダの
コンサルにはしこたま貢がされた)、今はUMLなしでの開発は考えられ
ないです。
379デフォルトの名無しさん:03/04/08 22:38
>>378
頭の使い方が以前とは変わったような気がしたりしませんか?
380プロの逝って良しの1 ◆MvRbZL6NeQ :03/04/08 23:34

セールスマン必死だな
381デフォルトの名無しさん:03/04/08 23:47
実務で使っている方に質問です。

■実際の開発ツールは何を使われましたでしょうか?
■実際はUMLだけでは設計書が足りないと思うのですが、
 何の設計書を追加いたしましたか?

実際の開発ツールはUMLだけに特化していて、
実際は使えないようなイメージがあるおいらは間違っているでしょうか?

ユースケースからクラスに落とすところなんて、
とてもじゃないけどUMLだけではできるとは思えません。

質問ばかりですいませんが、よろしくお願いします。
382プロの逝って良しの1 ◆MvRbZL6NeQ :03/04/08 23:47

えーとね。
真面目な話。
聞いた話なんだけど、OOのコンサル連中の中には
自己開発セミナーから流れて来たのが居るそうだ。
自己啓発セミナーがIT関係もやってたことがあって、
ソフトウエア開発の知識もあるということだそうだ。

>>378みたいなのは導入後の評価が変質してるから怪しいかも。
>>378
eUMLですか。。。
別のスレでも書いたのですが、UMLで書くと、初期化処理とか例外処理とかがぬけていて、
後から気づくことってありませんでしたか?
今、ちょっとそのへんの取りこぼしをどうフォローするか、考えてます。
384デフォルトの名無しさん:03/04/09 09:59
実際にクライアントとの打ち合わせにUMLを使う事なんか
あるのでしょうか?

導入している企業はほとんどIT関連かIT部門のみで、それ以外の相手に
UMLで説明などしようものなら「そんな専門用語分からんわい」ってなりそう。
385U ◆CZtFsGiu0c :03/04/09 13:05
>>381
>■実際の開発ツールは何を使われましたでしょうか?

これはUMLツールですか? 今はTogatherを使っています。

>■実際はUMLだけでは設計書が足りないと思うのですが、
 何の設計書を追加いたしましたか?

よく書くのはDBの物理設計書、画面設計書(モックアップの場合もある)です。
設計とはいえないかも知れませんが、ユースケースシナリオもUMLでは書けない
ので別に書く必要がありますね。

>ユースケースからクラスに落とすところなんて、
とてもじゃないけどUMLだけではできるとは思えません。

クラスを抽出するのはツールにはできません。それを行なうのは人間です。
386デフォルトの名無しさん:03/04/09 14:08
実務で使っている方へ質問です。

効率良くUMLを学習するには、どうするのが一番だと思いますか?

1.本をたくさん購入して読みまくる。

2.ネットで勉強する。

3.とにかく使ってみる(身近なものをモデリングしまくる)

4.他

上記では、3が良いのかなぁ・・・
UML自体知らなくても図で説明するのはわかりやすいと思う。
実務で使ってる方…か。
案外やる気があって自分で勉強してる層の方がわかってるかもよ。
この業界ってそうじゃん…。

実際やってみてハマった点とかは人の振り見てアレな感じなんだろうけど、
学習方法なんて自習してる人間のほうが知ってるって。
389sage:03/04/09 22:49
まあその、UMLなんかは適当な部分も多いわけで
一人でやるだけじゃなくて、だれか知ってる人に
なんどかみてもらう機会を作るといいと思うよ。

UMLが記述*言語*だっていうのは、知識を詰め込むだけじゃ
だめで、実際に読んで、書いて、コミュニケーションして、
そのなかで体得してく部分があるからじゃないかな。

UML=設計書って考え方は、そもそも間違ってるんじゃないの?
あくまで統一的なモデリングによるコミュニケーション手段だし。
そこを理解せずに取り入れてるプロジェクトって大抵足かせになって失敗してるね。

結局UMLを標準文書として取り入れる為には、
UMLによるコミュニケーションが必然になるポイントが分かってなきゃいけなくて、
その為にはOOADPのプロセスが標準化されてなくちゃいけなくて、
その為にはOO開発をいくつか経験(成功)しなくちゃいけなくって、
その為にはOO理解してる技術者を集める(育てる)必要があって、

・・・まあ、素人は手出すなってこった。
391デフォルトの名無しさん:03/04/09 23:47
RoseRTなので、分析段階は通常のUMLでああだこうだ言いながら
みんなでモデリングしてます。実装はRT上でUML(なのか?)で書い
たものがそのままソースコードになります。

ですが、もちろんそんなものだけでは設計しきれないので、通常の
仕様書も作成しています。

例外処理や初期化処理はアクティビティ図で最初に仕上げておきま
すね。

UMLだけで何もかもできるなんて都合の良い話はないっす。
例外処理のもう一つの定義方法、ステートチャートで処理する。
>・・・まあ、素人は手出すなってこった。
正にだね。
394デフォルトの名無しさん:03/04/10 01:25
統一された表現方法を多様に持てるだけでも良いとおもうが。
395デフォルトの名無しさん:03/04/10 01:34
>>383

Catalysisあたりを見て、pre-condition,post-condition
を設計書に混ぜるとよろし。

396デフォルトの名無しさん:03/04/10 02:07
>>385
together(Togetherに限らず、最近のUMLツールは全て)
はUMLしか書けないと思っています。
実際の開発だとユースケースシナリオ、ER図、用語一覧等UML以外の仕様書を
作成する必要があると思っていますが、
その他の設計書はEXCEL等で作成したのでしょうか?
それとも他のツール(Xupper、Erwin等)を使用したのでしょうか?

ER図、用語一覧はEXCELだとかなり辛いと思いますが、
実際どうなんでしょうか?

またTogetherは一人で開発する際には良いと思いますが、
複数チームで開発する際、複数人が作ったユースケース、クラス図全体を
まとめる時はどうしたのでしょうか?

質問ばかりで申し訳ありません。
397あぼーん:03/04/10 02:53
あぼーん
398佐々木健介:03/04/10 02:53
     ______
    /_      |
    /. \ ̄ ̄ ̄ ̄|
  /  /  ― ― |
  |  /    -  - |
  ||| (5      > |
 | | |     ┏━┓|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | |     ┃─┃|  < こんなサイトを見つけた
|| | | |  \ ┃  ┃/    \  正直、スマンカッタ
| || | |    ̄         \_________
http://saitama.gasuki.com/kensuke/
399あぼーん:03/04/10 02:53
400かおりん祭り:03/04/10 02:54
http://www.saitama.gasuki.com/kaorin/
       こんなのございま−す♪
       ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
        〜oノハヽo〜
  ,.-''"¨ ̄●`' ‐(^▽^)
 (,,●i,,,i,,,,,,,,i,,,,●),,)⊂ )
    )  (    || |   
    ( ^▽^)  (_(__)
~~~~~  ̄ ̄ ~~~~~    ~~~~~
>>396
>together(Togetherに限らず、最近のUMLツールは全て)
>はUMLしか書けないと思っています。
大体のUMLモデリングツールでERはかけます。
DDLも出ます。

>実際の開発だとユースケースシナリオ、ER図、用語一覧等UML以外の仕様書を
>作成する必要があると思っていますが、
実際の開発で全部作る必要は無いです。
特にユースケースなんていらないです。
でも、大体要件定義書で適当に定義しているから用語一覧は作ってないですけど、
確かにあったら便利ですね。

>ER図、用語一覧はEXCELだとかなり辛いと思いますが、
>実際どうなんでしょうか?
そんなことは無いです。
ER図なんか紙とペンありゃいくらでもかけます。
あとでExcelに表にして、こぴぺして置換してDDLを作っちまえばいいことです。

>またTogetherは一人で開発する際には良いと思いますが、
>複数チームで開発する際、複数人が作ったユースケース、クラス図全体を
>まとめる時はどうしたのでしょうか?
どうなんでしょうね。
バージョン管理システムに対応しているので、一応マージされるとは思います。
そもそも多人数で開発できるだけのTogetherのライセンスがある時点で、
かなりレア(リッチすぎ)な環境といえるのではないでしょうか。
それとも私が貧乏な環境で開発しすすぎなんでしょうか・・・。
402U ◆CZtFsGiu0c :03/04/10 12:01
>>396
>together(Togetherに限らず、最近のUMLツールは全て)
はUMLしか書けないと思っています。

実際UML書くのにしか使っていません。

>実際の開発だとユースケースシナリオ、ER図、用語一覧等UML以外の仕様書を
作成する必要があると思っていますが、
その他の設計書はEXCEL等で作成したのでしょうか?

設計書としてのメインはWORDで、それにTogetherで作った図を貼り付けています。
DBのテーブル設計書はExcelで作ることが多いですね。もしER図が必要なら多分
Visioで書くでしょう。もっとも論理レベルの設計はクラス図と重なるので
書くことはほとんどないです。

>またTogetherは一人で開発する際には良いと思いますが、
複数チームで開発する際、複数人が作ったユースケース、クラス図全体を
まとめる時はどうしたのでしょうか?

最終的には図をコピーして貼り付けるので別々に作っていても問題ありません。

>>401
残念ながらフローティングライセンスなので、常時使うわけにはいきません。
ただ社内では同じようにフローティングライセンスで導入されているRoseを
使う人が多いので、使いたいときに使えなかったことはないですが。
本当はユースケース分析がキモなんだよ、と言ってみるテスト。
404383:03/04/11 08:57
>>391, 392, 395
ありがとうございます。やっぱそうなのかなあ。
すべてのユースケースが動く前提としていくつかの条件があったりして、
でも制御する側(ソフト)はそんなんあたりまえだろ、ってところが抜けるんですよねえ。
それを全部のユースケースに書くのは冗長だし。
392さんから指摘された、ステートチャートでシステムの状態を定義してから、それぞれの状態で"分類"された
ユースケースを書く、ってのがよさそうですね。(とすると、ユースケース駆動って考えかたとは違ってくる?)

391さんのところは、アクティビティ図を最初に書くってことだと、ある程度ソフトのワク(オブジェクト)が決まってる、ってことなんでしょうか?
それともドメイン間のアクティビティ図を真っ先に作る、ってことですか?

403さんに同意です。作成後の仕様変更(とユーザからの文句)が減るかな、と。
ただ、ユースケースからクラスへ落とし込むのに「職人技が必要(これといった方法がない)」だなあ、と感じます。
405U ◆CZtFsGiu0c :03/04/11 12:43
>>404
>ただ、ユースケースからクラスへ落とし込むのに「職人技が必要(これといった方法がない)」だなあ、と感じます。

今まで読んだ書籍の中でこの辺について一番説得力のある手法が書いてあるのは

http://www.amazon.co.jp/exec/obidos/ASIN/4894713772/250-0220809-4321855

これでした。名詞抽出法って馬鹿にする人結構いるけど、とっかかりとしては
有効だと思うんだけどな。
ピア村は珍訳が多いからなあ
>>405
を、懐かしいw
入門と言いつつも実践的な内容で、とっかかりとしてはかなりの良本だね。
ところでICONIXって今どうなんかなぁ。
XPなんてやったら、こんなキッチリとはドキュメント作らないだろうし。
408404:03/04/12 06:59
>>405
ありがとうございます。読んでみます。
原著の人、けっこいい本いろいろ書いてますよね。
このスレに居る奴なら、スリーアミーゴは押さえた方がいいな。
Chevy Chase、Martin Short、Steve Martinだっけ?
あとGang of Fourも外せないだろ。
John King、Andy Gill、Dave Allen、Hugo Burnhamはチェックしとけ。
EA買おうか迷ってるんだけど、使いやすいですか?
プロフェッショナルにしようと思うんだけど。
個人利用の予定です。
>410
体験版があるので自分で判断してみましょう…
>>410

あの価格帯ということなら満足。
昔Rose2000使ってたけど、それよりかEAのほうが数段マシ。
それ以降のRoseは使ってないので改善されているかもしれんけど。
413409:03/04/15 01:56
なんで誰も反応してくれないんだよ!
渾身のネタだったのに・・・
414U ◆CZtFsGiu0c :03/04/15 12:08
>>409
ネタとしてはストレートすぎるのでは? あ、「四人組」ではないのがひねった
ところ? でもそっちのGoFは知ってる人少ないと思うぞ:-)
415山崎渉:03/04/17 15:33
(^^)
416デフォルトの名無しさん:03/04/17 20:49
UMLフォーラム2003の開催、運営をされた皆様、お疲れ様&お世話になりました!

UML2.0標準化の勢いにのって、UML/MDA活用技術がより一層普及すれば良いですね。
冬のUMLフォーラムで、またお会いしましょう。。。
417デフォルトの名無しさん:03/04/17 23:24
ロボコン、モデル部門で入賞したっす!(どこかは秘密)
素直にうれしかったです。

いわゆる第一人者の方々とお話ができたし、とても良い機会でした。
来年は・・・仕事が忙しくなければね(w
418山崎渉:03/04/20 03:12
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
419山崎渉:03/04/20 03:46
   ∧_∧
  (  ^^ )< ぬるぽ(^^)
クラス図でどう表現したら良いのか分からないものがあるので教えて下さい。

言語はdelphiです。(javaが分からないので)

・継承
TOb01 = class(TOb00)
end;

・集約(コンポジション)
TOb01 = class
ob : TOb00;
end;

ここまでは合ってますよね?
ではこれはどう表現すれば良いのでしょうか?

TOb01 = class
function a : TOb00;
procedure b( ob : TOb00);
procedure c;
end;

procedure TOb01.c;
var
ob : TOb00;
begin
ob.func;
end;
421420:03/04/25 23:16
下げてしまった・・・

しかもインデントが出来てない・・・
422デフォルトの名無しさん:03/04/25 23:50
>>405
名詞抽出法って真面目にやりだすと結構悩んじゃうと思うんですが。
あの頃の私が若かったからかもしれませんが…。

まぁでもあの本は面白いと思う。薄くて手頃だし。
赤伝票と黒伝票は同じクラスでしょうか?
それともそれぞれクラスにするべきでしょうか?
>>423
場合による
425デフォルトの名無しさん:03/04/26 16:13
クラス図と実際のコードを併記しているHPなどありませんか?
426デフォルトの名無しさん:03/04/27 16:15
>>420
あー俺も同じところで悩んでる
427U ◆CZtFsGiu0c :03/04/27 16:37
>>420
obはローカル変数ですね。だったら単なる依存関係じゃないですか?
setterっぽいbが気になりますが:-)
>>423
赤伝票と黒伝票で機能がそれぞれ異なるのであれば分ける。
ほとんど機能が同じなのであれば、同一のクラスにして区分で識別する。
ちなみに大体の伝票は金額の+と-だけで赤黒分ける必要は無いと思う。
>>425
デザインパターン紹介してるサイトとか
UMLブロンズで、適当な住所入力して合格してしまったんですが、
放置して大丈夫でしょうか?
最後エンター連打したら画面に認定証が・・・・・・・・

(つーかチュートリアル斜め読みとヤマカンで受かるとは・・(;´Д⊂)
431420:03/04/29 13:53
>>427
TOb01 = class
 function a : TOb00;
 procedure b( ob : TOb00);
 procedure c;
end;
procedure TOb01.c;
var
 ob : TOb00;
begin
 ob.func;
end;

これらa,b,cのメソッドをクラス図でどう区別するのかが分かりません。
全部依存になってしまうんですかね?

あと私の理解では、メソッドcのローカル変数obがグローバル変数なら
TOb00とTOb01は関連になると思っていますが、合っていますか?

ちなみにRationalRoseでコード生成すると依存にすると全く
TOb01クラス内でTOb00が使われていません。

関連にするとステレオタイプをincludeにしても extendにしても
(ステレオタイプを設定しなくても)
TOb01の属性としてTOb00が使われているみたい
↓(つまりこうなる)
TOb01 = class
ob : TOb00;
end;
(これは集約じゃないのかな?)
(っていうか集約にしてもコードには変化なし)
これは読んだ?
【改訂版】初歩のUML
http://www.atmarkit.co.jp/fjava/devs/index/
433420:03/04/29 14:26
>>432

いや、読んでませんでした。
じっくり読んでみます。
ありがとうございました。
434420:03/04/29 18:38
>関連の線だけのものと、関連の線に集約をつけたものを実装コードに落とす際に
>明確な違いはありません。

>UMLを単なるソースコード自動生成CASEツールの表記法だと
>思っている方も多かったのではないでしょうか?

うむむ。そうだったのか。
「ソースコードを作るさいの骨組み」と「モデルを理解するための手段」が同時に
成り立つのだと思ってると失敗するみたいですね。

435U ◆CZtFsGiu0c :03/04/30 01:20
>>430
>あと私の理解では、メソッドcのローカル変数obがグローバル変数なら
TOb00とTOb01は関連になると思っていますが、合っていますか?

グローバル変数ってフィールド変数の間違いですか? ならなんらかの関連を持つ
でしょうね。グローバル変数が間違いでないのなら、それも単なる依存関係です。
#Delphiってフィールド変数であってたっけ?
436デフォルトの名無しさん:03/04/30 22:00
クラス図のメソッド書くところ、コンストラクタって書かないんですか?
俺の持ってる本には書いてない。
意図的に書かないのか、単なるヌケなのか、教えてください。
「コンストラクタ」なんて言う言語依存の仕組みは、
それこそケースバイケースで書く書かないを決めるしかあるまい。
438420:03/05/02 13:53
>>435
>グローバル変数ってフィールド変数の間違いですか?
> ならなんらかの関連を持つでしょうね。
え?それって>>420の集約になるんじゃないですか?
(集約も関連の一種ですが・・)

グローバル変数なら依存になるんですね。
interface
type
TOB00=class
procedure func1;
end;
TOB01=class
procedure func2;
end;
var
ob : TOB00;//グローバル変数
implimentation
procedure TOB01.func2;
begin
ob.func1;//ここで使うと依存?
end;
439U ◆CZtFsGiu0c :03/05/02 16:28
>438
>え?それって>>420の集約になるんじゃないですか?
(集約も関連の一種ですが・・)

クラスのメンバだってだけで集約になるとは限らない。あくまで集約は
全体-部分の関係にある関連を指す。実装上の都合で集約関係にないクラス
のインスタンスをメンバに持つことだってある。

>グローバル変数なら依存になるんですね。

こっちもそうだけど、実装上こうだから何々という関連になる、という
考え方は危険だよ。
440420:03/05/05 16:04
>>439
>こっちもそうだけど、実装上こうだから何々という関連になる、という
>考え方は危険だよ。

という事はリバースエンジニアリングを頭の中でやるのは止めた方が良いという
事ですか?

どうも実装の方向から考えてしまうのですが、これがそもそも間違っているんですかね(^^;

システム設計時のクラス図でもコードと一意に考えない方が良いのですか?

そうだとするとクラス図とコードの関係ってけっこう曖昧なものなんですね。


多重度であらわすとこんな感じ?
   クラス図上の表現 1..* --- 1..* 実際のコード
441デフォルトの名無しさん:03/05/05 16:07
>>440
コードと一対一のクラス図を作ることも出来るよ。
開発手法によるけど、分析-設計-実装 にアクティビティが分けられる手法では、
各アクティビティごとにクラス図を作って、徐々に洗練させていったりする。
あくまで開発上の道具なのでどう使おうと構わない。

コードと一対一だと、作り終わった後にドキュメント用として生成するくらいしか使い道なさげ。
(まあ、Together みたいな使い方もあるけどね)
443U ◆CZtFsGiu0c :03/05/06 04:19
>>440
>という事はリバースエンジニアリングを頭の中でやるのは止めた方が良いという
事ですか?

いや自動的にこうなる、と考えるのがまずいんで、「考える」のはまずくないです。

>どうも実装の方向から考えてしまうのですが、これがそもそも間違っているんですかね(^^;

クラスの関連、という概念をもう一度見直したほうがいいと思います。

>システム設計時のクラス図でもコードと一意に考えない方が良いのですか?
>そうだとするとクラス図とコードの関係ってけっこう曖昧なものなんですね。

クラス図からコードへはほぼ自動的に変換できますが、逆はそうではない、という
ことです。
444420:03/05/06 13:17
>>442
>あくまで開発上の道具なのでどう使おうと構わない。

これは理解しているつもりなのですが、どうもまだ頭が固いみたいっす。


>>443
>クラス図からコードへはほぼ自動的に変換できますが、逆はそうではない、
>ということです。

私はこの辺がまだちゃんと分かっていないみたいです。
(何が分からないのか分からない状態になっているのかも(^^;)

もっと勉強せねば・・・
445デフォルトの名無しさん:03/05/14 15:48
C++のプロジェクトに使えてIIOSS並のフリーのUMLツール無いですか?
>>445
こういう根性のやつは気に入らない。
金くらい出せよ(怒)
しかし、気の利いた UML ツール作れれば商売になるよな。
UML ツールも 100 以上出てるけど、これだってのがない。
>>447

自分的にはEAっすね
EAってMagicDrawとかと比べてどこが凄いの?
>>449

MagicDraw :
スタンダード版 (¥48,000〜) デザイン・ツールのみを必要する開発者に適した製品です。
プロフェッショナル版 (¥140,000〜) コード生成、リバース・エンジニアリング、 ラウンド・トリップ・エンジニアリング機能を必要とする開発者に適した製品です。
年間メンテナンス契約は ¥16,000〜


EA:
デスクトップ版
1ライセンス以上4ライセンス以下 13,000円
5ライセンス以上19ライセンス以下 11,000円
20ライセンス以上100ライセンス未満 10,000円

プロフェッショナル版
1ライセンス以上4ライセンス以下 21,000円
5ライセンス以上19ライセンス以下 19,000円
20ライセンス以上100ライセンス未満 17,000円
451デフォルトの名無しさん:03/05/15 00:56
既存のソフトがどんな設計しているのか知りたいのですが、
UMLによる設計図付きのオープンソースソフトウェアって無いですか?
風林火山
UNIX ユーザで Dia 使ってる方は多いと思いますが、
日本語をちゃんと扱えるか、とか、Windows 版の動作とか、どうでしょうか?
448ですが、

>449
Tnx

結局、個人で買おうとなると他のものは手が出ないので
EAか1stModeler・あとはフリーor安いJava製くらいの選択肢しかない。

自分的にJavaは重くていやなので、EAと。満足してます。
455デフォルトの名無しさん:03/05/15 20:47
>>454

大規模PJ(100名規模)で使うにしても、業務SEみんなで使おうとしたら、
モデリングツールだけで数千万とかになってしまう。

EAなら、100人で同時に使っても100万強ですむしね。
サイトライセンスとかフローティングライセンスとか、
大人数向けのライセンス用意しているとこもあるかと。
457デフォルトの名無しさん:03/05/15 23:28
>>456

サイトライセンスとかフローティングライセンスとか大人数向けのライセンスを
用意しているところは、100人が使っても100万強ですむのですか?

http://www.rational.co.jp/pdf/price/PL-ROS-020701.pdf
>456,457

結局、捨てるほど金があるところじゃないと
RoseやVisioでの大規模開発なんてできないでしょ

割引をして>455の値段(数千万)になれば万々歳。
なんてUMLってクラスのメンバをメソッドとかフィールドって呼ばないで属性とか
持って回った言い方するのかな?もっと言語に近づいて一対一の表記しないと
誤解によって生まれたUMLのイデイオムが広まったりしないのかな。
460U ◆CZtFsGiu0c :03/05/17 09:50
>>459
>なんてUMLってクラスのメンバをメソッドとかフィールドって呼ばないで属性とか
持って回った言い方するのかな?

実装言語に依存しないようにしてるからでしょ?

>もっと言語に近づいて一対一の表記しないと
誤解によって生まれたUMLのイデイオムが広まったりしないのかな。

よくわからんが、どういう誤解が生じると?
それと言語に近づくって、どの言語に近づくの?
ほれ、一覧にしてやる。

UML: 属性、操作
C++:メンバ変数、メンバ関数
Java: フィールド、メソッド
Delphi: フィールド・プロパティ、メソッド
C#: フィールド・プロパティ、メソッド
Eiffel: 属性、ルーチン
Smalltalk: インスタンス変数、メソッド
objective-c: インスタンス変数、メソッド
Ruby: インスタンス変数、メソッド
ECMAScript: プロパティ、メソッド
462デフォルトの名無しさん:03/05/17 15:40
>>459

意味に対して作業すれ。設計とかプログラミングとかな。
具体的な名前や実装なんぞ後回しでヨイ。

どーしても具体的な名前や実装でないと
しっくりこない、うまく行かないなら残念ながら適性がない。
具体的な名前や実装なんぞに頼らんでも
うまく意味を伝えられる能力は必要だ。
そのための統一価値観がUMLの本質だからな。

ま、相手がダメ野郎で回避不能だとけっこうツラいけど……。
それはUMLのせいではない。
>>461
C++のコンストラクタとデストラクタ、JavaのコンストラクタはUMLでは何ていうの?
>>463
操作。
インスタンスを生成する操作だと明示するためにはステレオタイプを使う。
http://www.atmarkit.co.jp/fjava/devs/jobjmdl04/jobjmdl04_3.html
>しっくりこない、うまく行かないなら残念ながら適性がない。
>具体的な名前や実装なんぞに頼らんでも
>うまく意味を伝えられる能力は必要だ。

根底にある思想はオブジェクト指向だよね。もしそれを理解してない、あるいは
使えないSEがいたら混乱するんではないかなという話です。それと言語に対して
あまり抽象化しすぎるとかえって理解する手間が掛かる、言語との一対一の
ダイアグラムが見えづらくなる気がしたもので。もともとUMLの存在意義はシステム
のクラスやオブジェクトの関わりを直感的に図示するためにあるのでしょう?それを
手軽に扱えないようだと困る。
クラス図レベルのようなものはオブジェクト指向言語を扱っている人なら表記は違えど
頭の中に持っているイメージだと思いますが。
例えばUMLをJavaとかRubyとかObjectPascalとかそれぞれの言語用に定石を分けた
ほうがかえって分かりやすい気がします。UML for ObjectPascalみたいな。
>>465
オブジェクト指向自身は、実装に依存してはいけない概念だと思う。
さらに言うと、「言語を超えて(言語を知らなくても)」理解できることが重要なんではないのかなあ。
つまり、実体はJavaで書かれているものを理解してSmalltalkで作り直す、とか言うときに、直接
Javaを知らなくても(概念は)理解できる、とか。
こうやって(設計レベルの)知識を蓄積(継承)できるのがUMLのエラいところだと思うけど。
467465:03/05/20 17:03
>466
私は抽象化しすぎるのは反対。現実にC++とJavaでは多重継承とインターフェース
の違い等あると思います。多重継承をしない言語系の違いでも大分異なる
クラスライブラリが出来ると思います。
これら言語の特徴を避けて統一的な表記、表現は無理じゃないかと思います。
現実に異なる処理系でプログラムを移植する場合には双方の処理系の理解が無ければ
不可能ではないですか?私はそう思っています。私は明確にある特定の
オブジェクト指向言語が理解できてないとUMLを使うことはできないと思います。
抽象化しすぎるとかえって細部が見えにくくなり、実装に偏りすぎると全体像が
見えにくくなるという事はあると思います。宇宙の創世についての説明を科学的根拠に
基づいて説明をするという手順を踏まなければ正確な物事を理解することはできないと
思います。もしこれらの説明を極端に抽象化すると「神は言われた、光あれ、そして宇宙が
始まった」という事になってしまわないでしようか。
私は処理系自身が主役でUMLはツールであると思います。
468U ◆CZtFsGiu0c :03/05/20 18:33
>467
すまんが、何を言いたいのか結局よくわからない。

>これら言語の特徴を避けて統一的な表記、表現は無理じゃないかと思います。

よくわからんなあ。現在のUMLツールなら、属性の型や操作のシグネチャを特定の
プログラミング言語対応に設定できるけど、それでは不満なの?
もしかして分析レベルのモデルと設計レベルのモデルをごっちゃにしてない?

そもそも「属性」や「操作」といった用語があるくらいで理解が困難になるもの
なの? そんな人が「モデリング」なんてできるの?
つーか、UML とコードと全く同じ内容なら、コードだけでいい。
>>469

UMLとコードが同じなら、コードとダイアグラムの同期がとれて
書き換えが楽になるのではないかと。

MDAで開発しているからそう言えるのかもしれんが
>>470

コードとダイアグラムの同期がとれて
何がうれしいのかと。
>>471
470じゃあないけど、「動くものが視覚化できる」のは大きいと思うけど。

ソース読め、よりは理解する時間が短くて済みそう。
>>472
情報が多すぎてソース読む方が「コンパクト」な分だけマシになる
ユースケース(シナリオ) <-> コラボレーション/シーケンス <-> クラス <-> コード
の同期が取れれば嬉しい。
シナリオの一部を選択すると、その範囲でのシーケンス図やクラス図が表示できるつー感じで。
>>471
>>472

使っているツールが Rose RealTime なので、

 UML(ClassとState Chart)+ プロパティで書いたC++コード

がソースコードとして自動生成されます。ROOM法に則った書き方
でかつ付属のフレームワーク上で動かすから楽なだけなんだけどね
(CodeSync機能もあるよ・・・限定された部分だけだが)

ROOMの書き方はUML 2.0で標準(?)になったみたいだから、UML
と呼んでいい・・・よね?(w

でも、1ライセンス110万円、フローティングで150万円でつ
PatternWeaverのコミュニティエディションって、
フリーなんですか?それとも試用版なんですか?
どこみても書いてないもんで。
書いてないってことはフリーなのかな
477デフォルトの名無しさん:03/05/23 00:36
>>476

どこ読んでるのかしらんが、日本語理解できないのか?

各Editionの位置づけ
Community Editionの制約
http://www.tech-arts.co.jp/product/pw_ce.html

Community Edition は優れたモデリング言語であるUMLを普及させることを目的に機能制限付きで配布しているバージョン
478465:03/05/23 19:33
>>これら言語の特徴を避けて統一的な表記、表現は無理じゃないかと思います。
>
>よくわからんなあ。現在のUMLツールなら、属性の型や操作のシグネチャを特定の
>プログラミング言語対応に設定できるけど、それでは不満なの?
>もしかして分析レベルのモデルと設計レベルのモデルをごっちゃにしてない?

オブジェクト指向という概念は抽象的であるべきという意見に対して私は、言語
レベルの実装や試みの方がUMLよりも先を行っていますよ、という事を言いたかった
のです。CASEツールのような側面ばかり強調されるのは何か間違っていると思います。
それと設計やモデリングといいますが、言語レベルでクラスを使いこなせない人が
設計や分析など安易にさせ易いような印象を各種情報をみて感じました。これらに
ついては不満ですね。
ああそうですか。あなたはあなたの道を勝手に進んでくださいよ。
480465:03/05/23 23:29
言いたいことはそれだけですか。これだからダメなんです。
もし言語レベルでクラスを扱う事ができなければ設計やモデリングなどという概念
のかけらすら芽生えないでしよう。これはクラスが分かっていなければ対象となる
事象の本質を突くことすらできないことを物語っています。
さらにいうと各言語には個性的な特徴を持ちます。Perlのようなスクリプト思考の
オブジェクト指向言語の使いやすさをC++に求めることはできない。それらを設計の
段階からUMLというメタなもので統一しようとする概念はどこか現実とそぐわないと感じます。
UMLの発展はメタな概念からコードに落とすという過程から生まれたものではない
ですね。UMLについては否定していません。むしろUMLとオブジェクト指向との関係
に対する理解がおかしいと感じたまで。再度UMLとオブジェクト指向に対するシステム
分析をされてはいかがですか?
いやいや、全くあなたのおっしゃるとおり。すばらしい。
>478
プログラミング言語レベルの話は、いってみれば"戦術"で、UMLなどのモデリングの話は"戦略"って感じで、
話がかみあってないように感じる。
# >468さんの言ってる、” もしかして分析レベルのモデルと設計レベルのモデルをごっちゃにしてない? ”
# ってことと同じ意見かな。

>478さんの理想とする世界と、UMLが目指す世界は違っているのではないかなあ。
ソンナコトミンナワカッテルンダッテ
デンパヲアイテニシテタラキリガナインダッテ
ダカラシバラクダマッテロッテ
484482:03/05/23 23:55
あら、書いているうちに。

>>480
メタなもの、っていうとそれはUMLではなくMDAではないの?

UMLは、しょせん"言語"なんだと思っているんだけど、違うのかな?
私の意見としては、実装よりのUMLも欲しいと思う。
実装できない設計と同じで、実装できない(むずかしい)モデル化をしても
困るから。

UMLは言語に依存していないがゆえ、自分の使う言語に沿った表記もできる。
業務→概念レベル⇒実装レベル→実装
とやった時、UML以前よりも、⇒部分の「表記法上の壁」が低くなってると思う。
それだけで儲けもの。
表記法上の壁って何?
487デフォルトの名無しさん:03/05/24 02:38
有償ソフトウエアでメジャーなUML設計ツールを教えてください。
5万以下で購入できるものを探しています。

これはどうなんでしょう?実績はあるんでしょうか?
http://www.sparxsystems.jp/ea_features.htm
488デフォルトの名無しさん:03/05/24 03:05
OMTでいいじゃないですか。
489デフォルトの名無しさん:03/05/24 03:07
>>488
独り言?
>>487

うちの会社それ使ってますよ。けっこうイイ!です
最初別の部署が使っていて、社内で横展開されていってます

っていうか、5マソ以下の有償ツールって他にあるの?
10マソならいろいろ選択肢あるけど
ツール乱立しているけど、どうせMSとIBMに根こそぎ持ってかれるんだろうなぁ
492U ◆CZtFsGiu0c :03/05/25 16:43
>>478
>オブジェクト指向という概念は抽象的であるべきという意見に対して私は、言語
レベルの実装や試みの方がUMLよりも先を行っていますよ、という事を言いたかった
のです。

えーと、先を行っているというのは「何が」?

>CASEツールのような側面ばかり強調されるのは何か間違っていると思います。

その通りですね。

>それと設計やモデリングといいますが、言語レベルでクラスを使いこなせない人が
設計や分析など安易にさせ易いような印象を各種情報をみて感じました。これらに
ついては不満ですね。

同感ですね。でもそれはそのような文章を書く人の責任で、UMLの責任ではないのでは?
もしかしてMDAとかActionSemanticsとか最近のUMLの拡張について不満があるのかな?

それで、UMLをもっと実装言語よりにすると何がよくなるんでしょうか。あなたの最初の
主張はそういうことでしたよね?
ヤメテッテイッテルノニナゼキイテクレナインダロウ
読みにくいんだもん
495デフォルトの名無しさん:03/05/26 22:51
点線の矢印「依存」と実線の矢印「関連」の違いを教えてください。
「依存」の方は、メソッド内で使う場合のみってことのようですが、それでいいんでしょうか。
矢印つきの「関連」は、(Javaで言えば)フィールドみたいな場合かと思うのですが、
そうすると「集約」との違いがわからなくなります。
496デフォルトの名無しさん:03/05/26 23:39
>>495
「関連」はクラスがインスタンス変数として相手のオブジェクトを保持すること
「依存」はオブジェクトをインスタンス変数としては保持せずに一時的に、
メソッドのパラメータ、戻り値、ローカル変数として参照すること。

「集約」は「関連」の特別な形状。実装上は同じだから区別しなくて良い。
ただし「コンポジション」は保持しているインスタンス変数のオブジェクトライフサイクルを管理しる
497デフォルトの名無しさん:03/05/27 00:42
概念モデル、仕様モデル、実装モデル
それぞれで関連のニュアンスは違ってくる

>>496 のは実装モデルのお話しだな。
関連 = 属性 だなんて思いこんじゃ駄目。
概念モデルの関連が実際にで属性になるか、操作の引数になるかは実装レベルのお話し。

集約とは、インスタンスの寿命が、それと関連するインスタンスの寿命に
引きずられるような場合をいう。完全に一致するとコンポジション。
498デフォルトの名無しさん:03/05/27 23:04
ユースケースって業務フローが書けないと思うのですが、
みんなはどうしてますか?
アクティビティ図ですか?
ここら辺にUMLの限界があるような気がします。
>>498
シナリオ書け
500デフォルトの名無しさん:03/05/28 00:42
>>499
言葉足らずで申し訳ないです。
ユースケースでの業務フローといっているのは、
ユースケース間のフローのことを言っています。
分析シーケンス図
502デフォルトの名無しさん:03/05/28 01:16
>>498

UMLでわざわざ書くなら、アクティビティ図

UMLではめんどくさいので使っている業務フロー記法そのまま、というのもありだと
おもってるでし。

503山崎渉:03/05/28 12:32
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
504デフォルトの名無しさん:03/05/28 12:37
関連クラスを扱えるツールってないですか?
>>504

普通扱えるんじゃないの?
関連クラスってどういう意味だ?
どういう意味って・・・クラス間の関連をクラスにしたもの

以下のページを参照して下さいな

http://www.ogis-uml-university.com/tutorial/design/do_work/do_work4_2.htm
ああ、はいはい。
ステレオタイプ付けるんじゃだめなの?
509デフォルトの名無しさん:03/05/28 23:38
>>504
別に関連クラスなんて使わなくても通常のクラスの関連に変換してしまえば良いのでは?
むしろ関連クラスを使うと余計分かりづらい気がします。
510デフォルトの名無しさん:03/05/28 23:44
会社の金でRational Rose買いました。使い方わかりません。鬱。
誰かサイトか何か教えて。
サイトより先にここのスレを全部読んでみてはいかが?
Roseを習得するなら、ひたすら使い込むしかないんじゃない?
513510:03/05/29 22:48
>>511 >>512
使い方がわからんのです。
たとえば、「メソッドを抽象にする」なんてことすらどうすればいいかわかりません。

俺はばかなんです。上の人にはそれがわからんのです。
とほほ・・・

Rose云々の前に、前提としてモデリングやUMLは
理解してるんですよね?

 「UMLモデリングのエッセンス」

でも読みながら、地道に勉強してつかわさい
515デフォルトの名無しさん:03/05/29 23:19
>>513
ツールの使い方ではなくてUMLの表記法がまだ理解できていないのでは?
だからとりあえずスレを全部読めって・・・
画面遷移図をUMLで書くとしたら、やっぱりステートチャート図?
518510:03/05/30 00:01
>>514
>>515
通じてない?プログラマの人ではない?
UMLはわかってるつもりですが?ブロンズくらいには。(w

たとえば、抽象メソッドは、普通イタリックでそ?
ま、表現はいいんだけど、Roseで、それをどう指定するかなんかがわかんないってな話なんだけど。
そーゆーのができないとコード生成しても、結局、手で修飾子を書くはめに。
519デフォルトの名無しさん:03/05/30 00:06
>>513 の書き方じゃ、
表記法が分からないのか、ツールの使い方が分からないのか
分からないでしょ。
まぁそれは置いておいて、
ツールの使い方がわからないなら、マニュアル読むしかないんでないの?
>通じてない?プログラマの人ではない?
>UMLはわかってるつもりですが?ブロンズくらいには。(w
ハァ、どういう育ち方したらこういう人間になるんだかね。
通じないのはてめえの文がワケワカランからじゃねえかよ。
>>519
マニュアル?そんなのあるの?
インストールガイドやら、キー管理やらはあったけど。
あ、ソースCD?

>>520
使い方がわからんって書いてるじゃん。最初から。ポケェ。
なんちゃて。まあ、落ち着いて仲良くやろうや。
このやろう・・・自分が悪いとはかけらも思っちゃいないんだな
だからー、お前の文の書き方じゃ515が言うように
>ツールの使い方ではなくてUMLの表記法がまだ理解できていないのでは?
としか思えねえんだよ!
それに加えてこの横柄な態度・・・。
>>521
PDF のマニュアルが入った CD があるはずだが?
>>522
>このやろう・・・自分が悪いとはかけらも思っちゃいないんだな
だって、悪くないもんさ。
横柄だったら、すまんかった。

>>523
ありがと。そんな感じのCDあったような。
明日会社で確かめる。

また、わかんないことがあったら、聞きに来るよ。
525デフォルトの名無しさん:03/05/30 02:01
UMLがわかりにくい理由
1、まずUMLをかけてもコードの実装がもうひとつはっきりしない
  実装例も少ない(最近、すこしずつ本で見かけるが)
2、Javaでは関連と集約を区別しないといってもね(純粋に意味上の問題)
  もし間違えて書いたらどうなるの?なんかやばい?意味上で区別するだけ
  他の言語では区別するの?
3、ER図との関連がわかりにくい。DBのフィールドはすべてプロパティ
  にしなければだめんなの?
4、単純な処理ならUML面倒なんですけど(w
  少なくともマスタ処理なんかはいらないような気がする。
  XPでもUML書かない見たいだし(ケントベックは書かない見たいだし)
5、シーケンスなんて書いてもよく代わるんですけどそのたびに書き直すの?
6、DBで1対多のリレーションがあるときUMLでは継承になるの?
そのほかにも疑問が一杯。
いまいちメリットがみえてこない。あっ私厨房ですから(w










526デフォルトの名無しさん:03/05/30 02:27
>>525
その柔軟性がUMLの良いところでもあると思うのだが。
1〜6の質問は、すべてモデリングする人によって違うし。
527デフォルトの名無しさん:03/05/30 03:27
>>525
そうそう。
おいらも実際UMLを使った開発を行ったことがないので、
同じようなことが判らない。
書籍を見ても>>526さんのように抽象的になってるし。
書籍ごとに言っていることが違う場合もあったり。

恐らくUMLを使った開発プロセスがまだ発展途上状態だからですかねぇ。

ちなみにおいらの意見としては下記のとおり。
1.同意です。
  クラス図だけじゃ書けないでしょう。設計者と実装者が違うときどうしてんだろう。
  恐らく、関数仕様書的なものが必要だと思われます。
2.多分これは区別しなくても問題ないでしょう。ただ単に意味上区別するだけだと思います。
  ただコンポジションはライフサイクル管理といった点で区別すべきだと思います。
3.確かに。
  ER図とクラス図のマッピングをどう作るか?謎です。
  恐らくクラス図→ER図か、ER図→クラス図のどっちかだと思います。
  DBのフィールドは基本はすべてインスタンス変数に持つべきだと思います。
4.これは書くべきだと思います。
  設計者と実装者が異なる場合や、ユーザとの意識合わせ、引継時資料として。
5.う〜ん。悩むところですねぇ。
  イテレーション開発と関係してくるのかもしれませんが。
6.これは「関連」でしょう。UMLでも多重度はあらわせますし。
528デフォルトの名無しさん:03/05/30 03:28
ちなみに私の疑問も追加します。
実際に開発した方がどうやったかといった意見がいただきたいです。
ちなみに私も厨房です。

7.システムをどう分割するか?
   ユースケース単位?ドメイン単位?

8.設計段階ではUML図はすべて半角文字になっているが、
  分析時にはどうすべきか?
   分析時から半角文字?分析時は全角日本語表示+半角文字変換?
   半角文字変換は手動でやるの?

9.クラス図はどの単位で作成するの?
529デフォルトの名無しさん:03/05/30 04:03
ついでに便乗質問。
MVCのところとUMLがいまいち理解しにくい。
シーケンス図はかけるけど本当にこれでいいのて感じ。
それと基本的にはRoseなんかはクラスからコード生成しているみたいだし
UMLと実装は一対一に対応するとおもうけど必ずしも対応しなくても
いいという人がいたり実際どうなの?
UMLあって実装するときどの点が便利なん?
クラス図・・・これはなくてはコードがかけないからだれでも書くと思う
シーケンス図・・・これもオブジェクト同士の関連から便利
他はなんか単にいまあまであった仕様書をマンガチックにしたもの
みたいなんでメリットがみえない。
とくにER図とクラス図とXML。なんか関係がいまいち見えてこない。
ついでにデザインパターンとER図とクラス図の関係。
やっぱみえてこない。
あっ、ただ仕様書だからこれをかけばいいよていえばかけるよ
このUMLの仕様書どうりかえばいいんだから。
ただ実装のときに本当に役にたつのか?
実装経験者にきいてみたい





自作自演か?
しかも、問題集の答えをすぐに見ちゃうタイプのようだな(w
>>528
>>7.システムをどう分割するか?
>>   ユースケース単位?ドメイン単位?

システム?
一個一個ユースケース単位で分割するアホがいるのか?
適当に要件にあわせて分割してくださいませ。

>>8.設計段階ではUML図はすべて半角文字になっているが、
>>  分析時にはどうすべきか?
>>   分析時から半角文字?分析時は全角日本語表示+半角文字変換?
>>   半角文字変換は手動でやるの?

最初から最後まで全部日本語でやれや。

>>9.クラス図はどの単位で作成するの?

主に全体と機能。
>>525
ちょっと自分自身が行った回答に異論もあるんだが(w、話のネタとして。
---
1. RoseやRhapsodyでコードは自動生成。無問題。<コードを直したら、その結果からUMLを自動修正、無問題。
2.デザイナの考え方を残す意味あいがつよいのでは?間違えると、保守で大変なことになるかもしれない。
3.この2つは、概念がちと違うような気がする。(可換ではない、という意味)
JavaでC++でポインタを使って書いたとこをどう変えたらよいのか?という質問に似ているような感じを受けた。
4.逆に、コードを書くのが面倒。UMLで仕様書と実体の両方表現できるし。
5.同上。煩雑にシーケンスが変わるのなら、それこそ「仕様書と実体」の整合性をとるのに無駄な労力が必要。
6.実装依存。(普通の関連で表現しても良くない?)
>>528
7.システム分割は、ユースケースとは別の世界で行った方がよさそう。
個人的には、eUMLの分け方で良いと思った。
8.運用問題。ガイジンが一人でもメンバにいれば、仕様書にすら全角文字は入れられんし。。。
9.いろんな単位(粒度)がありそう。個人的には、サブシステム/ドメイン単位かなあ?
533U ◆CZtFsGiu0c :03/05/30 14:18
なかなか面白い話題ですね。
>>525
1. UMLだけでは機械的に実装できないでしょうね。あくまでUMLはモデリング
言語ですから。
2. 区別する必要があればするし、しなくてよければしないだけ。まあコンポジション
でなければそれほど意識する必要はないかな。
3. DBのフィールドはDBの都合でついてるものもあるから、単にテーブルをクラス
にマッピングしてもダメですね。既存のDBがある場合はまずはドメインモデルを
作ってみてからどうやってマッピングしていくか考えた方がいいです。
4. 新規にマスタ管理をつくるのなら他の部分と別にする必要はないと思うけど。
XPでもホワイトボード使って設計会議やるときにはUML使って書いたりするでしょう。
それにXPではプロジェクト内でコミュニケーションするときに原則的に文書を
使わないってだけで成果物としてドキュメントが要求されていればUMLで書くでしょう。
5. うーん、設計と実装ってどうやってやってますか? ドキュメントが要求される
タイミングによりますね。
6. …素直に考えると1対多の関連になりませんか?
>>528
7. システムの分割? それは主に性能要件などの非機能要件に関わることなので、
ユースケースやドメインとは別問題でしょう。
8. 分析時は通常日本語です。変換は手動です(たいした手間じゃないし)。
9. ユースケース単位で作成します。この辺はツールの助けがないときついですね。
534デフォルトの名無しさん:03/05/30 23:57
すいません。
7.システムをどう分割するか?
   ユースケース単位?ドメイン単位?

システムの分割とは構造化設計時の機能分割の意味合いです。
大規模で開発する際は、ある程度にシステムを分割してそれぞれの担当者に割り振ると思うのですが、
それをどのように分割するかということです。
やっぱりユースケース単位に分けるべきなのでしょうか?
>>534
eUML読んでみるとよいかも。
ざっくりと、「アプリケーション」「ユーザインタフェース」「メカニズム」「ドライバ」の4つに分かれる、とのこと。
ユースケースの関係は、通常「アプリケーション」でしかあらわれないと思うけど。
言い換えると、入力と動作はユースケースとは別の次元になるってこと。
# みてくれはどう変わろうと、本質的にやりたいことは変わらない、と。
1、UMLは汎用モデリング言語なので、特定言語との1対1のマッピングは
存在しません。というわけで、プロジェクトで好きに決めてやれば
いいと思うんだけど、モデリングツールを使っていればコード生成で
概ねマッピングしてくれるので、それに従うのがいいんじゃないかな。
Rose+Javaなら、だいたいこんな感じじゃない?
対1関連=関連先の型のインスタンス変数,
対多関連=Set,List,Mapなど, ロール名=インスタンス変数名

2、Javaでは集約はあんまり意味はないと思うよ。使わないっていう
ルールにした方が混乱がなくていいと思う。
3、ERとクラス図って、キーを指定する以外はたいして違わないような気が
するんだけど、違う?DB詳しくないんで教えてください。
4.面倒なら書かなければいいよ。
5.シーケンスが提出ドキュメントに含まれるかどうかじゃないかなー。
俺は考えをまとめる時だけにしか使わないので、作りっぱなし。
6.素直にやるなら関連です。
7.たいがいユースケース単位で分割します。ユースケースの
大きさにもよるんだけど。
8.力業で変換してます。メチャ大変
9.全体一枚と詳細多数。図ごとに何を表現したいかテーマを決めて
やるといいよ。
>>529
>>UMLあって実装するときどの点が便利なん?

最終ソースがオブジェクト指向である場合、各工程間の移行がスムーズ
という利点がUMLにあると思います。
例えば、ユースケース→分析レベル各図→実装に即した各図→オブジェクト指向のソース
はスムーズに移行できますが、
旧物理DFD→旧論理DFD→新論理DFD→???→オブジェクト指向のソース


>>他はなんか単にいまあまであった仕様書をマンガチックにしたもの
>>みたいなんでメリットがみえない。

書き方の統一というメリットがあると思います。
538デフォルトの名無しさん:03/05/31 01:41
なるほど少しわかってきたような(w
回答者の賢人者たちに感謝
539U ◆CZtFsGiu0c :03/05/31 15:36
>>534
機能というカットだと、普通はユースケースだろうね。
でも、ユースケースがピンとこないようだったらFDDのように機能を細分化してみると
いいかもね。
>>539
規模がでかくなると、ユースケースが100とか200ぐらいになりそうな気がするんだが、分割は難しいのではないのかなあ。

...そもそもUCがそんなに多くなるような分析はするな、ってこともわかっているんだが、そ〜もいかないこともあって。。。

ユースケースの適正数は、普通どのくらい?(10から20ぐらいを目標にしているんだが、、、10倍にもなる(w。)
541U ◆CZtFsGiu0c :03/06/01 00:10
>>540
ユースケースの粒度に関してはいろいろ議論があって、今でも収束していないと
思います。ユースケースを2段階(概要と詳細)で書く人たちもいるし、FDDみたいに
ユースケースに否定的な人たちもいるし。
#FDDのフィーチャは粒度がはっきりしています

でもシーケンス図が書ける程度の粒度にはなっていないと困りますね。
542デフォルトの名無しさん:03/06/01 18:21
なかなか面白い話題ですねぇ
ユースケースの粒度は難しい問題だと思います。

某書では、
「ユースケースの単位」
→「アクターがそのユースケースを実行すると満足して席を立てる」
  AND 「長くても20分程度でユースケースの実行が終わる」
とありました。
このレベルで作ると、大規模だと数100個できそうな気がします。
おそらく、もっとレベルの大きいユースケースを作って分割していくしかないのかなぁと
おもいます。

あと、ユースケースを実行するとデータのCRUDでユースケースが4つできてしまうような気がするのですが、
みなさんどうされてますか?
1.4つのユースケースを作る
  「AAを参照する」、「AAを作成する」、「AAを削除する」、「AAを変更する」
2.4つはまとめる
  「AAを管理する」
私は粒度を考えると「2.」の方法のほうがいいのかなと思っています。
543デフォルトの名無しさん:03/06/01 22:51
age
>>542
個人的には、その某書の単位が一番いいんじゃないかと思っています。
ある程度そのユースケース内で機能が完結するので、
担当を割り当てる単位として適当のような気がするんですよね。
数百のユースケースができるような場合は、
サブシステムに分けることを考慮してもいいかも。
CRUDに関しては同意見です。
>>542
甘い。
「AAを管理する」 から、「AAを参照する」、「AAを作成する」、「AAを削除する」、「AAを変更する」 を派生させる。
管理がCRUD全部をさすとは限らないし。ロールによって出来るユースケースも違うだろ?
546U ◆CZtFsGiu0c :03/06/02 13:14
>>542
>1.4つのユースケースを作る
  「AAを参照する」、「AAを作成する」、「AAを削除する」、「AAを変更する」

これって見事にFDDのフィーチャの粒度ですね。

>>545
まあシステムの機能をCRUDだけで表すことはできないですしね。
547デフォルトの名無しさん:03/06/02 20:32
>>542

某書:
http://www.amazon.co.jp/exec/obidos/ASIN/4774116882/249-5819862-2709141

>>542 のCRUDの2
の粒度の話は、こっちに書いてありましたね。
http://www.amazon.co.jp/exec/obidos/ASIN/4774117420/qid=1054553369/sr=1-2/ref=sr_1_2_2/249-5819862-2709141

私的には、そんなところで悩むよりも、ユースケース仕様を書くことに
注力したいですね。

548デフォルトの名無しさん:03/06/02 20:33
ここのせいでオナニーしすぎだよまったく・・・
         ↓

 http://www.dvd-yuis.com/
>>547
複数人で書かなきゃいけないときに困る。
550デフォルトの名無しさん:03/06/03 23:51
>>549

ことば足らずでした。
そんなところで悩むよりも、(どんな粒度であっても長短あるので、
なんでもいいからはじめに決めてしまって)ユースケース・・・
ってことでした。

特に大きなチームでの基準の統一、というのは確かに難しいことですねえ。
>>550
ユースケースを書くときはとにかく機能を思いつくままがんがん書いていって、
最後にグループ化するのがよいと思います。
新人にusecaseのincludeとextendの違い・使い分けを質問されて困ってます。
いろいろ調べたんですが今ひとつすっきりした答えが見つかりません。
どう答えればよいでしょうか?
553デフォルトの名無しさん:03/06/12 19:04
MagicDrawでXMIにエクスポートできないのはどういうわけですか?
Rational Roseでサポートしてないからダメだとか言うエラーが出るんですけど。

あとEnterprise Architectを使いたいのですが、インストールしようとすると
キーが作成されないとか言うエラーが出るんです。
これはどうすれば?

誰か教えてください。
>>553

EAのほうは、製品版なら最初にライセンスキーの入力が必要。

っていう話ではなくて?

>>552
ユースケースでそこまで凝っても仕方がない。
どっちか一つを使うことにして片方は忘れると良い。
>>552
漏れも555さんのおっしゃっているのと同じようなアドバイスをもらった。
「ユースケースは細部にこだわるよりもわかりやすさを優先しろ」とも言われたなあ。
>>552
includeは主体となるユースケースが、別のユースケースを「含む」。
つまり、主体となるユースケースから、別のユースケースを参照している。
目的は、ユースケースの共通化。
複数のユースケース間で同じになる処理を一カ所にまとめておくために使う、
と考えて良いと思う。
extendは、主体となるユースケースを、別のユースケースが「拡張する」。
つまり、拡張ユースケースから、主体となるユースケースを参照としている。
主体となるユースケースは、拡張ユースケースのことを知らない。
目的は、条件分岐の外出し。
主フローと異なるフローが、すごく長くて複雑な場合などに、
外に出してすっきりさせるために使う、と考えて良い。
includeと違って、処理の共通化ではなく、あくまで単なる外だし。
extendのユースケースを、他のユースケースから利用することはできない。

・・・って感じでよかったっけ?
558デフォルトの名無しさん:03/06/13 01:30
>>557
同意見です。

559552:03/06/13 10:30
includeは2つ以上のユースケースから使用されない場合
書かれないという考えでよろしいでしょうか。

UMLは納品物としてしか作ったことが無かったので
新人と一緒に勉強しています。



560デフォルトの名無しさん:03/06/13 23:46
>>559
書かれないというか、書く意味がないんじゃない?
一つのユースケースからしか使ってないユースケースを外だししてもあまり意味ないでしょう。
INCLUDEの存在意義は共有ユースケースの取り出しにあるでしょう。

EXTENDは共通化されなくても取り出すけど。
特にEXTEND機能がある場合とない場合を分けて開発できる場合には便利だよ。
561デフォルトの名無しさん:03/06/15 22:38
米OMG、モデリング言語「UML 2.0」の策定完了
ttp://biztech.nikkeibp.co.jp/wcs/leaf/CID/onair/biztech/comp/252121
納品するために書くUML、か。
それってどうよ?
>>562
> それってどうよ?

不毛
564デフォルトの名無しさん:03/06/21 10:30
下図にバナナClassを追加するとき、関連「食べる」は動物バナナで結ぶんですか?
それとも人間バナナ・猿バナナそれぞれに結ぶのでしょうか?

      動物
       △
  ┌──┴─┐
 人間      猿
動物じゃないの。
「食べる」っていう関連は俺なら引かないけど。
>>564
食性についてなら
         動物
          △
      ┌──┴─┐
     草食    肉食
      △      △
 ┌──┴─┐┌─┴─┐
        雑食
          △
     ┌──┴─┐
    人間     猿
ジャマイカ?
で、実際にバナナを食べるかどうかは個体によって違うから、
インスタンスにもたせろ。
    食べ物    植物
      △      △
 ┌──┴─┐┌─┴─┐
       野菜果物
         △
    ┌──┴─┐
   バナナ

とした上で
動物食べ物の関連
568564:03/06/21 13:52
>>565-567
できるだけ抽象的、汎的なクラス同士を関連づけるわけですね。
バナナは質問のための例なんでより範囲を広げた分析はしません…。
保守
570デフォルトの名無しさん:03/07/05 20:05
現在、プログラム板で一番上にあるスレはここです(^^)
UMLブロンズがあっさり(チュートリアル斜め読み+JAVAの知識)受かったので
調子に乗ってシルバーも受けてみたら27点だったw
まあ世の中そんなうまく行かないもんだなね(´ー`)y-~~~
572Enterprise Architectよさげ:03/07/12 14:50
Enterprise Architectで、C++コードのメンバ関数の中身は
どこにどうやって記述するのですか?
それとも、メンバ関数の中身は、コードを吐き出したあと、
書けということなんでしょうか?
573U ◆CZtFsGiu0c :03/07/12 15:25
最近EA使い始めました。確かにいいですね、これは。

>>572
そりゃそうでしょう。EAは単なるモデリングツールなので、コードエディタなんて
ありませんよ。それはC++に限った話ではありません。
574572:03/07/12 16:36
なるほど、やはりそうなんですか。
ありがとうございます。
>>573

コードエディタは月末?の新バージョンで搭載されるそうな。
別件でサポートに聞いたとき教えてくれた。

576山崎 渉:03/07/15 09:53

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
577デフォルトの名無しさん:03/07/18 13:10
保守age
578デフォルトの名無しさん:03/07/18 13:27
うむる
579デフォルトの名無しさん:03/07/19 09:28
すんません。
Eclipse使ったことある方教えてもらえませんか?

Eclipse(2.1.1)UMLでクラス図とシーケンス図を描いているのですが
クラス図を作成するとそこに追加したクラスが自動生成されますよね?
その後シーケンス図を新規作成して先に作成されたクラスを
追加しようとするとできない事があるのです。
Name入力 => TypeをBrowseで選択 => 選択後OKを押しても画面に反映されず
・・・というカンジです。
また既存のシーケンス図をコピーして右クリックproperties => type =>Browseで
クラスを変えようとしてもできません。デフォルトで存在しているクラスは取り込めるのですが
クラス図作成でできたクラスのみダメなのです。
同じような現象が出た方、解決できた方はいませんか?

ちなみにC:\eclipse\workspace\.metadata\.logを見ると下記のようなエラーになっています。

!ENTRY org.eclipse.ui 4 4 7 18, 2003 15:47:48.985
!MESSAGE イベント・ループ内の未処理例外キャッチ。
!ENTRY org.eclipse.ui 4 0 7 18, 2003 15:47:48.985
!MESSAGE java.lang.NullPointerException
!STACK 0
java.lang.NullPointerException
at com.omondo.uml.b.a.p.if(SourceFile:2214)
at com.omondo.uml.b.a.p.if(SourceFile:1433)
(略)
>>579
  ∧_∧   
 ( ´∀`)< ぬるぽ
http://www.forum-omondo.com/
581デフォルトの名無しさん:03/07/19 21:09
582579:03/07/23 00:32
結局、新たにプロジェクトを作成しなおしたら
うまくいきました。なんかファイルが壊れてたみたいです。
お騒がせしました。
UMLとUMLを通してオブジェクト指向の考え方を習得したいのですが,
お薦めの本はありますか?
コンピュータサイエンスの基礎は学習済です。
DynamicDraw使っている人いる?
585デフォルトの名無しさん:03/07/29 09:32
DynamicDraw 使っている人いる?
>>583
二元マルコフ情報源について知るところを述べよ
>>586
何も知りません
588デフォルトの名無しさん:03/07/30 06:38
>>583
ストリームラインオブジェクトモデリング
Javaエンタープライズコンポーネント
>> 583
UMLモデリングのエッセンス
http://www.amazon.co.jp/exec/obidos/ASIN/4881358642/uselesspgsnes-22
>>584
|_・)ノ
591山崎 渉:03/08/02 02:12
(^^)
>>589
ネタ?
>>571
シルバーってどんな具合?
何が分かってればOK?
>>593
んなもん技術者なら自分で調べろや
>>594
>>593は技術者ではなくて,作業者ですよ
住人の少ないスレだな。
住人だけに10人しかいなかったりしてな。
598デフォルトの名無しさん:03/08/05 21:26
>>597を晒しあげ
寧ろ、無限の住・・・
600キリ番ゲッター見習い ◆cEL6a7QKc2 :03/08/10 01:32


              / ̄ ̄ ̄ ̄ ̄ ̄ ̄
        /⌒彡 < 600ゲットォォォォォ
       / 冫、)  \_______
       /  ` /           (´´
      ( つ  つ       (´⌒(´
     / /〉 〉≡≡≡(´⌒;;;≡≡≡
    (__)(__) (´⌒(´⌒;;
      ズザーーーーーッ




601デフォルトの名無しさん:03/08/10 14:57
「ボールを投げる」をUMLで分析したらどうなるか?
投げる人
・投げる強さ(attribute)
・投げる(method)
ボール
・大きさ、重さ(attribute)

ボールと投げる人の関係は?
加速度やボールの位置は、ボールの属性?

>ボールと投げる人の関係は?
ボール=投げるメソドの引数

>加速度やボールの位置は、ボールの属性?
y
>>601
オブジェクト指向的には
 投げる人
 ボール
があって
ボールのメソッドに
 私を投げろ(投げる人)
だと思うぞ。
ボールには重さや加速度、投げる方向、位置をカプセルしデータを隠蔽する。
ボールのほうがデータ量が多いのでこちらに操作を実装する。
604デフォルトの名無しさん:03/08/10 19:21
> ボールのメソッドに
>  私を投げろ(投げる人)
はぁ?
>>601
「何のためにボールを投げるのか?」が判らないと分析は無理。
その人の目的によって、ボールや人に必要な属性も操作も関係も全く違うんだからな。
それくらい判ってから分析に手を出せ。
投げる人のメソッドに
 投げる(ボール)
じゃないんですのん?
そこにボールがあるから
投げる人の操作に「投げる(投げられるもの)」かもな。

UMLのスレなんだから「操作」「属性」くらいの言葉遣いはちゃんとしる!
>>604
サンクス。
今,近所の図書館に1冊だけあったUML関連の本
「わかりやすいUML入門―UML 1.4とJ2EE対応」で勉強しています。
リンク先読みましたが,検定試験もあるんですね。勉強して受けてみようかな。
611601:03/08/11 07:03
>>606
まぁ、そうなんだけど、単純にボールと投げる人をみんなどう関係付けるのかなぁ
と思って、質問してみました。
俺的には、「投げた」クラスを導入して、そいつに加速度とか方向とか
持たせます。ボールには持たせません。
変な問題ですまんかった。
>>611
であれば、ボールに「運動状態」に関する属性を持たせればいいんでは?
時刻ごとのポールの位置を知るのはどうするんだよ。

つーか、加速度?

613601:03/08/11 14:58
>時刻ごとのポールの位置を知るのはどうするんだよ。
ボールが自立的に動いていないのであれば、「投げた」クラスが移動の履歴
になるのではないかと。
>>603
「投手.投げる(ボール)」
だと思うけど…
で、上の方のスーパークラスには
「物.移動する(x, y, z)」
なたいな。
615デフォルトの名無しさん:03/08/12 19:44
多重度について質問です。混乱してきてしまって。

やさしいUMLの例題で大学と受験生の関係は
受験生  ―  大学
  0..* 1..*

大学から見て受験生は、受験生がこない場合もあるし、受験生は500人くる可能性もある
よって多重度は0..* は納得

受験生から見て大学は複数受けることも可能だから1..*ということですが、
受験生が大学を受けないということを想定すると、0..*になりませんか?

UMLはじめてまだ一週間ちょいなため
「1..*」「0..*」の区別のつけ方がいまいちピンときません。

多重度以前に自身のクラスの関係の考え方が間違っているかもしれませんが、
合わせて教えていただけると助かります。
616615:03/08/12 19:46
すいません。ずれてしまっている・・。

大学からみて受験生への多重度は0..*
受験生からみて大学への多重度は1..*
です。
>>615
関連性による。
両者の関係が「受験する」とかになってない?
618615:03/08/12 20:06
>>616
例題は「受験生」クラスからみた「大学」クラスの多重度を答えよ。となってます。
関連性については触れられていません。
受験生が大学を受験するという関係が成り立っているなら、納得がいきます。

UMLシルバーを9月までに取れっていわれてるけど・・道は長そうです。
妹の名前で受けてみましたが、
すべての多重度関係の問題が1..*か0..*が入るような気がして・・

注文と顧客という関係の多重度を考えるにしても

注文  −  顧客
0..*     1

注文からみると注文する顧客は一人なので、多重度は1

注文  −  顧客
0..*     1..*

顧客は店内に複数人いることを想定し、注文からみると顧客は1..*

問題を見ても関連性についてはあまり触れられてないんですよね・・(汗
ただ、これとこれのクラスの多重度を答えよという感じで・・

注文と顧客の多重度を考える際、両者の関連性によっては「1」「1..*」の
どちらも考えられるんでしょうか?
>>615

>>617でも書かれているけど、「受験生」という時点で
受験をすることが前提になっていると思われる。

なので、この問題では1..*なのでは。

これが、「受験生」じゃなくって「高校生」ならば
受験しない人もいると思うので、0..*になるはず。



620デフォルトの名無しさん:03/08/12 20:32
>>619
ものすごくわかり易いレスありがとう。

>受験をすることが前提になっていると思われる。
なるほど・・前提ですか。
〜が前提での関係という考え方にするとすごくわかり易いですね。
もう少しだけ、頭を整理してみます。
0..*になる参考例もわかり易い。ありがとう〜
621デフォルトの名無しさん:03/08/12 21:14
写真集だよん☆☆☆☆☆☆
http://www.sexpixbox.com/pleasant/sexy/index.html
>>618

問題の仕様にもよるけど
注文からみた顧客の多重度は1..*やろ?

詳しい人待ったほうがよさそやね・・。
受験しない受験生はいない
>>618
顧客と注文の関係は(1対多)
顧客(1) - (0...*)注文
だと思いますよ。
ひとつの注文から見た顧客はまず1人です。
注文する顧客が0人でであることはありえませんし、
2人以上で注文あることはあまりないでしょう(業務によりますが)。
多重度の決定をするには自分がそのクラスのインスタンスになったつもりで、
リンクする対象が業務上いくつ存在しえるか、という形で考えるとかなり正確に決定できます。
受験生と大学の関係は多対多ですが、業務ルールで受験費用が高いなどで受験せずに
様子見をする受験生の存在がありえそうならば(ほんの少しでも)、
受験生(0...*) - (0...*)大学
ですし、受験生は必ず受験しければならないという業務ルールが存在するのであれば、
受験生(1...*) - (0...*)大学
です。
625624:03/08/13 05:02
>>624
>受験生(1...*) - (0...*)大学
間違えた。こうだ。
受験生(0...*) - (1...*)大学
626山崎 渉:03/08/15 15:38
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
627デフォルトの名無しさん:03/08/15 23:33
a g e ! !
1st Modeller使ってる人イネカ?
マ、ム両板でもあんまし話題に上がってないんだが、安いのがウマー。
>>628

安いというか、一番下のバージョンはフリーですね。
ただ、業務として購入するにはあまりにも頼りなさ過ぎる。

日記を見ればわかると思うが、「本業」が忙しいとダメそうなので
部署の標準ツールにはなりえないのよね...

おっと、補足しておくと、ソフト自体は悪くないよ。

UMLの勉強ならJava系のソフトを使うよりも、こっちを使う
ほうがいいと個人的には思う。


>>629-630 レスthx.
社内業務改善(つか次期基幹システム構築発注のための分析)に使うので、Javaとか
コード分析・生成とか全くいらんス。個人的には社内のちょっとした要望(Excel
便利マクロツクレツクレ攻撃)に使おうかと。ちょっとした物作っても一旦業務に使わ
れるとなきゃこまる状態になるので、後任者にしっかりしたドキュメントを残す
のにいいのかなぁと思う次第です。
>>631

確か、UMLの絵を描くだけのツールなら、もっと便利な奴が
フリーであったはず。名前忘れたけど。
>>632
ダイナミックドロー
シルバー落ちますた。・゚・(ノД`)・゚・

ブロンズみたいに、間違えた問題がどれなのかわかるとうれしいな。
635デフォルトの名無しさん:03/08/20 16:31
資格板より・・

11月から世界で統一させたUML資格ができますね
http://www.umlcert.org/

受験料金3万かぁ、、、


・・はやめにとったほうがいいかも。
>>.635

ベータ試験に参加すれば、参加費が安くなるはず。
日本でもやるのかどうか知らないけど。

取得しなきゃいけない人は、参加したほうがいいかも。

それにしても、US$200がなぜに30000円になるんだろ。
翻訳料・関税・送料・為替手数料
638デフォルトの名無しさん:03/08/29 00:52
シルバー落ちたようわあぁぁん
IBMがRational新製品群のプレスリリース出してるよ
ttp://www-6.ibm.com/jp/NewsDB.nsf/2003/08271
640デフォルトの名無しさん:03/09/01 23:55
UMLの仕様が膨大だそうですが・・・・
Javaと対応していないUMLの部分てどのような
部分があります?これから仕様書UMLを読もうかなと思っていますが
641デフォルトの名無しさん:03/09/02 06:17
>>640
いまんとこパラメーター化クラスとかかな?もうすぐjavaでもできるようになるけど。
UMLの仕様書はNotationGuideだけ読んどきゃいいですよ。
UML Semanticsなんかはよまなくてもいいです。
642デフォルトの名無しさん:03/09/02 16:12
EA3.60リリースage
さっそくビルド636リリースsage

それにしても、けっこういいんじゃないの?
昔よりかメニュー構成がわかりやすい。

645デフォルトの名無しさん:03/09/02 23:55
UMLツールについて

ソース自動生成が可能か、
UML準拠1.4(または2.0)orお絵かき図のレベルかなど
基準がいろいろあると思いますが、使いやすいのは?

(a) Rational Rose Enterprise Edition
(b) Konesa Client Evaluation 2.0 + JBuilder8
(c1) Together Control Center
(c2) Together Edition for JBuilder
(d) Pattern Weaver
(e) WithClass 7.0J Enterprise Edition
(f1) Describe Developer for Sun ONE Studio 4
(f2) Describe Enterprise
(g) Enterprise Architect (EA)
(h) ホワイトボードで十分

いろいろ意見を聞かせていただければ助かります。
将来性うんぬん別にするならRoseに一票。
Java系ツールは遅いしバギーなものがまだまだ多い。
EAは使ったことないけど、評判イイみたいね。
(g) Enterprise Architect (EA)

使いやすい、安い、機能も十分。
何の問題もないソフトウェアです。
EAのアカデミックプロフェッショナルがいいかな
Roseはやはり(たぶん)トップシェアということだけあって資料が豊富。
使いやすさは個人的にはどうかと思うが、トータルで考えると
失敗はしないという感じかな。

問題は、それを買うだけの金があるかってこった。
うちは、見積もりとって上司に見せたら冗談言うなって言われた...

ってなわけでEAを検討中。
>>643
EA3.60にバージョンアップ完了
確かにメニュー体系がかなりかわってますね。

何にしても以前のメニューに慣れかかっていたので
またこれから使いこまなければ
ユースケース図を練習してます。
TVシステムのユースケース図を書くときに、まずアクタとして観覧者、リモコンのアクタが考えられます。
アクタのシナリオとして、
観覧者:電源ON・OFF
   :チャンネル変更
リモコン:電源ON・OFF
    :チャンネル変更
と動作が同じであるとき、この二つのアクタの関連は「依存」だと思うんですが、どうなんでしょう?
でも、先生によると間違っているそうです。

初心者丸出しの質問ですいません。
652デフォルトの名無しさん:03/09/05 17:40
チェスのアクタを抽出するとき、KINGやKNIGHTなどのアクタはアクタ<コマ>の汎化だが、
<黒コマ>、<白コマ>などのアクタがアクタ<コマ>の汎化である場合、アクタ<KING><KNIGHT>は
アクタ<白コマ><黒コマ>の二種類分の汎化を行わなければならないのか?
>651

コマの動きのレベルでユースケース図を作成するのならば、黒・白のアクタを考える用はないだろう。
チェスプレイヤーの視点でユースケース図を作成するのならば、コマのアクタすら必要ない。
逆にいえば、黒・白のアクタの抽出が必要なレベルとは、黒・白のコマ視点での試合などには
黒・白コマのアクタのチェスシステムへの関連が必要となる。
EAでシーケンス図のオブジェクトを上下に移動させたい
のですが、ドラッグしても元の位置に戻ってしまいます。

動かせないものなのでしょうか?
>651
俺が書くならこうする。
 〇    TVシステム
 大−→[(スイッチを操作する)−includes→(リモコンで操作する)]
視聴者
([]はシステム境界、()はユースケースと思いねえ)

リモコンをアクターにするなら、観覧者(って変な言葉じゃねえ?)とは違う
システム境界で扱うことになるんじゃなかろうか。

655デフォルトの名無しさん:03/09/05 22:37
>651

観覧者とリモコンが同レベルのシステム使用者であるのが、
不自然なわけですね。観覧者の要求定義とリモコンの要求定義が同じもの
ならば、それらを汎化させることが可能なはずだが、観覧者の「見る」と
言う要求の汎化とリモコンのTV操作の汎化が同一であるわけがないので、
それらのアクタが同レベルのユースケース図で同時に記述されることは
おかしい。
656U ◆CZtFsGiu0c :03/09/06 00:19
>>653
上下には動きませんよ。っていうか動かして何がしたいんですか?
>>656
返信サンクス。
そうですか。
いや、ダイヤグラムのプロパティと重なるので・・
っていう理由だけです。

プロパティ側を動かせば良い話ですが、
ダイヤグラム自体は全体に中央よりに
置きたいと思ったもので。
>>651
システムの境界がよくわからないなあ。
TVシステムとして、リモコンは含まれるの?それとも含まれないの?
ちょっと言い方を換えると、リモコンはTVシステムとして作るの?作らないの?

作るのであれば、リモコンはアクターにならないはず。

...命題としてリモコンと視聴者がアクターとして定義されているのなら、アクターの汎用ができるのでは?
(TVシステム操作者とか定義してそれを継承する。)

659U ◆CZtFsGiu0c :03/09/06 11:19
>>651
たしかにシステム境界がはっきりしないとモデリングのしようがないですね。
個人的にはリモコンはサブシステムとして定義したいところですが、ユースケース
の段階ではリモコンを含めて一つのシステムとしたほうがわかりやすいですね。
リモコンはユーザインターフェース。だからシステム境界そのものだ。
リモコンをユースケースとして考えるなら、ユースケース「電源ON・OFF」
「チャンネル変更」とどんな関係になるんだろう?
アクタ自体が直接TVをいじくることができるのだから、《include》じゃ
ないような気がするけど、でも《extend》でもないだろうし・・・。
「リモコン」はユースケースにできんでしょ。
「リモコンで操作する」とかならまだしも。

ちなみに漏れはこうじゃないかと。

      (リモコンで操作)
         ↓≪extend≫
 ♀─→(テレビを操作)
視聴者     ↓≪include≫
      (電源on/of、ch変更等)
>>662
それだと、リモコンも視聴者から操作を受けるのでは?
includeやextendは無理に使わなくてもいいのでは。
本質的に必要なユースケースは下の6つだと思います。
アクターは全部視聴者

・リモコンで電源を入れる
・リモコンで電源を切る
・リモコンでチャンネルを変える
・本体スイッチで電源を入れる
・本体スイッチで電源を切る
・本体スイッチでチャンネルを変える
665デフォルトの名無しさん:03/09/08 12:13
「契約」がいまいちわからん。
>>665

public class test2{
public static void main(String args[]){
CA ca=new CA();
try{
System.out.println(ca.func(12,0));
}catch(Exception e){
System.out.println(e);
}
}
}
class CA{
protected int in(int a)throws Exception{
if(a==0){throw new Exception("ZERO");}
return a;
}
protected int body(int a,int b){
return a/b;
}
protected int out(int a){
return a;
}
public int func(int a,int b)throws Exception{
return out(body(a,in(b)));
}
}
667デフォルトの名無しさん:03/09/11 13:18
カテゴリ分け謎すぎ

★ オープンソース、無償モデリングツールの実力派
[UMLツールレビュー] UMLモデリングツールには、強力な機能を持つ実力派オー
プンソース・プロダクトがいくつもある。そんなオープンソースの代表的な製品
を評価する
http://www.atmarkit.co.jp/fjava/devs/review03/review03_1.html
>>667

そもそもEAはオープンソースでも無償でもないのに意味不明。
しかもなぜに英語版!?
>>668
体験版が無償&英語版のみだからじゃない?
>>669

御意

個人的には、EAの掲示板で書かれている意見に近いかな。
671デフォルトの名無しさん:03/09/21 16:48
関連の引き方について質問

1個のクラスについて数種類の集約や継承のクラスがあるとき
線を個々に引いていくのと一箇所に一箇所に集約してから引くの
の違いがよくわかりません

こんな感じです

     スーパークラス
     ↑      ↑
サブクラス   サブクラス


     スーパークラス
       ↑
    ┌─┴─┐
     |      |
サブクラス   サブクラス

それともどちらも意味は同じなんですか?
同じ意味。
うえがSeparateTargetStyleでしたがSharedTargetStyle
サブクラスを作成するときどの基準で作るかで使い分ける
前者の場合はまったくことなる基準の書き方
後者の場合は同じ基準の書き方

例えば社員というスーパークラスがあるとして
サブクラスに
営業社員 事務社員 20代 30代 40代 があるとする

営業社員、事務社員は職種という基準で特化してるわけだから
線を引くときは後者の引き方を使用。同じく残りは年代という基準
これで、二股(A)と三又(B)の汎化ができるでしょ。
AとBは基準が違うわけだから前者の線の引き方をするわけさ

わかたかな?
674673:03/09/21 17:10
>>672
なに!おなじだたのか。
じゃあ俺の言ってるのは忘れてください
こんなページがあったよ
ttp://www.atmarkit.co.jp/fjava/devs/object05/object05.html

ただこの人の言っていること、たまに?
>>675

今回の場合で言えば、正しいと思う。
671において、2つのサブクラスが並列的な関係・概念に
あるのであれば、>>672は正しいでしょう。

でも、675のURLにあるような場合や、673のような例の場合には
それぞれが別個の継承になると言う意味で、正しい。

もしかすると、UMLの規約としては、上記の文中の「正しい」は
「わかりやすい」なのかもしれない
多重継承と集約の違いがよく分からん…
FAXもプリンタも独立して存在するけど、
それぞれの機能を部品と見立てて集約として扱えばいいような?
>>677
実装の違いだと思いますよ。だからどっちの表記でもいいじゃない
でも、多重継承はJavaだとコードに落とすときへぼくなるから
集約のほうがよさげですね
679デフォルトの名無しさん:03/09/22 11:03
>>677
あなたが作るFAXプリンタが、「FAXとプリンタを組み合わせたもの」なら集約で表現し、
「FAXとしても、プリンタとしても振舞う何かべつのもの」なら多重継承で表現すればいい。
>>677
集約で表現出来るなら、多重継承する必要はない。
>>677
適切なモデル化を判断するには、作ろうとしているモデルの抽象度によることに注意。

概念モデルか?実装・設計モデルか?

概念モデルならば、継承=分類関係、集約=所有関係と言い切れる。
実装・設計モデルだと、実際のコード的にうれしいのが正解。
EA試用中です。今までフリーのUMLツールを
使っていたのですが、これはコードと同期とれたりとびっくりです。

よろしければ、どなたか>>91さんのレス、詳細について教えて
頂けないでしょうか。サイトが消えてしまっていて…。

日本語でアクティビティ図とか、少し書いてみたいだけですので、
問題があったらスルーしてください。
683682:03/09/23 02:51
ぐぁ、ごめんなさい。先にこのスレ見てたので
先入観から、特殊な方法が必要なのかと思ってました。

フォント変えるだけですね…久しぶりに逝ってきます。
684デフォルトの名無しさん:03/09/23 15:08
>>681
>概念モデルならば、継承=分類関係、集約=所有関係と言い切れる。

勝手に言い切るんじゃねぇ。お前は神か。ちょっとは概念モデルの勉強しろ。
あ、けんかしないで。>>684
結局どうなの?
>>681
言い切れるはいいすぎかもね。
仕様と実態的な継承も使われる。
ただ、この使い方は、個人的にあまり賛成できない。
他人が見て理解するのが難しい。

という意味で、割り切って681的な使用法とするのがいいかもしれない。

どーなのよ? >>684
ぐわ。
s/実態/実体/
です。
688デフォルトの名無しさん:03/09/24 04:16
>>686
時と場合による。
そもそも681は分類とオブジェクトコンポジション、集約の区別がついていない。

分類はあくまで大まかなカテゴリ分けをする際に利用される概念。継承関係は発生しない。
継承関係を発生させるのはオブジェクトコンポジションとクラス継承。
概念、物理ふくめて領域モデルでは大体オブジェクトコンポジションが適切なときがほとんど。
ただし継承元オブジェクトの種類が多く、それによってアルゴリズムの切り替えが多数発生するときは、
はじめからクラス継承がいい。またはインターフェースを利用してそのアルゴリズムをプラガブルにしておく。

集約とかコンポジションは継承関係とか関係なし。ただ所属してたり、部品だったり、持っているするだけ。
>>688
>継承関係を発生させるのはオブジェクトコンポジションとクラス継承。
>集約とかコンポジションは継承関係とか関係なし。
意味不明
690デフォルトの名無しさん:03/09/25 00:36
UMLプロフェッショナルなかた

やさしいUMLって本どうおもいますか?

僕はこれ読んで「感動した!(獏)」って感じですけど
実際はそうでもない?
>>688
概念モデルにしぼろうや。
>>688 OK。君とははなしても無駄みたい。
693デフォルトの名無しさん:03/09/25 06:17
>>689、692
理解できねぇお前があほなだけだ。氏ね。
694デフォルトの名無しさん:03/09/25 11:19
なかなかクラス図かかけない ER図なら動物的な
勘で、かけるんだけどなぁ 
695デフォルトの名無しさん:03/09/25 11:49
つづきだけどWEBアプリの詳細クラス図はかけそうな
気もするが、それ以外の概念レベルとかはさっぱりわからん
696デフォルトの名無しさん:03/09/25 22:33
UMLで工数の計算はできますか
UMLのLってなんだか知ってる?
Love
Lolita
Unified Modeling Language
      ☆ へぇー
              〃Λ_Λ   / ̄ ̄
                ( ・∀・)<へぇー
             ┏┓⊂ ⊂_) \__
           / ̄ ̄ ̄ ̄ ̄ ̄ ̄/|
        |  ̄  ̄ ̄ ̄ ̄ ̄ ̄:| :|
        | | ̄ ̄ ̄ ̄ ̄ ̄| |  |
        | |     ┃    | |  |
        | |     ┃    | |  |
        | |     ┃    | |  |
        | |______| |/
        └───────┘
えーと
UnkoとMankoと…Lはなんだっけ
703デフォルトの名無しさん:03/09/27 09:58
>>702
Loadbalanceでは?
704デフォルトの名無しさん:03/10/01 08:32
>>696
できない。あきらめろ
クラス図でイタリック表記は純粋仮想の時でOK?
仮想もイタリック?
純粋仮想って、JavaのInterfaceと同等?
なら、<<interface>>なるステレオタイプでいいのでは?
Javaで、「抽象メソッドしかない抽象クラス」と「インターフェース」は別でしょう。
C++の純粋仮想クラスもまたインターフェースとは意味が違うのでは?

概念モデルでは変わらないかもしれないけど
708705:03/10/01 22:20
ごめん。言葉が足りんかった。操作の表記の話です。
>>708
>抽象クラスの名前または抽象操作のシグナチャは、斜体で表示する。
UML表記法ガイドVer1.1
710705:03/10/02 22:40
>>709
抽象操作とは純粋仮想メソッドをさすと思ってOKかな?
EAでC++をリバースするとvirtualで斜体になってしまうけど
これは間違いということか?
ちなみにpure virtualをリバースすると斜体+<<pure>>という
ステレオタイプがつくけど
711デフォルトの名無しさん:03/10/02 23:23

Jude 竹 って使ってみてどうでしょうか?

UMLの勉強で使用してみたいと思っているのですが、
ほかのソフトとの比較、良い点、不満な点があったら教えてください。

http://www.objectclub.jp/Jude/
>>710

709を書いた者ではないですが、

UML自身は、特定の言語を前提として定義されていないので
抽象操作がC++の何に対応するかというのは、厳密には
定義されていないということになる

ただ、抽象という言葉はabstractあるいはvirtualと
等価であると思うので、私自身はC++ならvirtual=斜体で
いいと思う
713デフォルトの名無しさん:03/10/05 20:01
状態遷移図、すげぇぇぇぇぇ!!!!! UMLさいこーーー!!!!!
複雑なのがあっというまにコーディング出来ちゃったよ
しかもコードだけ見ても分かりやすい。もう失禁しそう。

もっと刺激的なのないかな(;´Д`)ハァハァ
アクティビティ図とかは、つまらなそうなんだよなぁ、正直
駄レスでageちゃって、ごめんよ・・・・
_| ̄|○il|li
>>715
ガンガレ
717705:03/10/06 00:47
>>712
>UML自身は、特定の言語を前提として定義されていないので

確かにそのとおりだが、斜体の操作は実装を持たないことを
表現していると考えると斜体の操作をC++のvirtualと
書くのは不自然で、virtual =0としなくてはならんと思うんだが。

>抽象クラスの名前または抽象操作のシグナチャは、斜体で表示する。
これを
斜体の操作は実装を持たないことを表現している
と取ってよいものか?
>>717
「抽象=abstract」っつーのは「実装を持たない」の意とは違うと思うが。
例えばクラスの場合、完全に実装を持たないのはinterfaceであり、
abstractは部分的に実装を持つものを指す。

操作の場合は、
 abstract = 「実装を持たないか仮の実装を持つ」 = virtual
で良いと思われ。
「UMLリファレンスマニュアル」より引用。
--
抽象操作(abstract operation)
実装のない操作、すなわち仕様はあるがメソッドを持たない操作。
実装は、子孫の具象クラスで提供されなければなりません。
(中略)
抽象操作の名前はイタリック体で示されます。

メソッド(method)
操作を実装したもの。メソッドは、操作の結果を生み出すアルゴリズム、
すなわち手続きを具体的に記述します。
--
よってUMLの定義に厳密に従えば、C++の場合は
「イタリック体で表記される操作」=「純粋仮想関数」
になると思われ。
OMGの試験、選抜された香具師いる?
オーマイガー
722デフォルトの名無しさん:03/10/13 10:37
UML参考書籍でよいのって何があるの?
723705:03/10/13 11:22
719の意見がただしそうなので、
斜体=純粋仮想と考えてUML使うことにします。
EAのリバースついては掲示板で聞いてみようかな。
724デフォルトの名無しさん:03/10/13 12:29
>>722
ファウラーのやつ
マーティン・ファウラー UMLモデリングのエッセンス
ケンドール・スコット 入門UML
クレイグ・ラーマン 実践UML
力だめしにシルバー受けてみた。
むずい・・・。ブロンズと大違いやんけ。
結果101点。ひゃーぎりぎりかぁ。修行がたらんなぁ。
727デフォルトの名無しさん:03/10/21 07:59
実践UML
第二版発売age
728デフォルトの名無しさん:03/10/21 08:02
>>725
今気づいたけど
イヴァー ヤコブソン, ジェームズ ランボー, グラディ ブーチ
がかかわってる本はそこにはないですね
>727
初版とどんくらい変わってる?
時代が古いだけに訳がこなれてないが、もれに責務というものを教えてくれた名著なので
ちょっと思い入れが。
まあ、K&R や Stroustrup いい参考書じゃないのと同じ。
UMLユーザーガイドでUML学べるかっての。
731デフォルトの名無しさん:03/10/22 06:37
実践UML 第二版買いました。
UMLとかパターン本ってゆうかUPをどのように適用するかって本ですね。

ユースケースとか問題領域モデリングとかのテーマに関しては、中途半端な解説内容で
勉強したい人はこの本の内容を鵜呑みにしないで専門の本を買ったほうがいいと思います。

UPのフェーズにあわせて章立て進んでいきますが、テーマが分散していて読み終わることには
最初のほうに書いてあったことを忘れてしまいそうです。

あんましお勧めしません。
そろそろ UML 2.0 対応の書籍出ないかな
>>732

UML Distilled 第3版

ただし翻訳されてないけど
>>580
ガッ
735デフォルトの名無しさん:03/11/18 23:43
konesaってどうよ?
>>735
このスレでの話題にされ具合で察してください。

おまえらUMLのモデリングツール何つかってますか?
http://pc2.2ch.net/test/read.cgi/tech/1046441663/
なんか、こっちで質問した方がよさげなので
こちらで質問させてもらいます。

いま、初めてクラスとDBを使ってプログラミング
をしようと思っています。
その練習として
名前とメッセージだけのDBを使った掲示板を作ろうと思っています。

最低限作るべきクラスとしては
@メッセージクラス($name,$msg/ 名前設定・読み込み()、メッセージ設定・読み込み() )
ADB基本クラス(DBへの接続などを行う)
BDBクラス($name,$msg/$name,$msgをDBへ書き込む・読み込む() )

で、BはAを継承してAと@は関連してるというクラス図になると思うのですが
Bでメッセージ・名前のカキコミを行うときは
@からコンストラクタに値を渡して、コンストラクタで
名前とメッセージを設定するべきなのか
それとも
Bに名前を設定する関数、メッセージを設定する関数を入れて
名前とメッセージを設定するべきなのか、それとも別にもっと良い方法があるのか
で、迷っています。
前者だと、カキコミ時はいいのですが、DBからの読み込み時に
無駄にコンストラクタが動いてしまうし
後者だと書き込むプロパティ(ipやパスワード等)がどんどん増えていったときに
たった1行だけのメソッドを大量に作り、また呼び出さなければならなくなるので
なんか面倒そうです。

一般的にはどのような手法をとるものなのでしょうか?
宜しくお願いします。
<丸数字は不可>

何がしたいのかいまいち判らんのだが、
(3)が(2)を継承するというのがまず?だ。
さらに、(3)があるのに(1)と(2)の間に関連を引くというのもよくわからん。
このスレ的なアドバイスとしては「ユースケースから根本的に見直せ」かいな?
まちがえました
(1)と(2)じゃなく(1)と(3)の間に関連でした。
740デフォルトの名無しさん:03/11/22 09:11
>>737
Perlっぽいなぁ。
(1)は(3)を知らなくていい。(1)のプロパティの保存や取得は、全て1つの関数で
するようにしたら?別の関数にするのではなくて。

XPかぶれの漏れの意見だが、とりあえず一番シンプルな方法で作ってみる、
あとで似たようなこと(別のテーブルに保存する、など)をするときに
最初はコピペで作ってみる、一通り動いたら両方で重複するコードが
無くなるように設計を変更する、っていうのでどう?

む、この回答ではスレ違いだ。というか質問自体UMLとの関係が低そうだ。
>>737
エンティティ、バウンダリ、コントロールとオブジェクトの役割を分ける設計方法がある。
とりあえずこれでも読んでくれ。
http://www.ogis-uml-university.com/download/download2.html
レスどうもです
こういった
どういう風にクラス図をつくるべきかって
スレってあるのでしょうか?
もしくはwebでもいいのですが
DBなしで考えても
いまいち決まらないです
単にID名前メッセージを入れるだけなのに
やっぱり僕にオブジェクト指向なんて無理なのかな…
>>742
>>741は読んだか?

オブジェクト指向ってのは知識じゃなくて技能だからある程度は経験積まんと見えてこん部分もあるよ。
取敢えず動くもんを組んでみるべ。最初から完璧なものはできんだろうが、それはそれで経験になる。
同じプログラムを視点を変えて何度も分析実装てみるというのもいい。
まぁ、がんばってちょ。
WebアプリのUMLのクラス図書きたいんだけど、JSPは
どーやって表現するんでつか?
JSPごとにクラスを描く、じゃ答にならないのかな?
UIクラス(ウィンドウなど)と問題領域のクラスとの間の
関連を実装するときに、
UIクラスに問題領域のオブジェクトのポインタを持たせるべきなのか
それともその逆なのか、どちらなのでしょう・・・
747746:03/11/26 11:27
質問が悪かったです。
UIクラスから問題領域クラスへの単方向関連を張るべきなのか
それとも逆なのか・・・
UI からドメインのオブジェクト。
749746:03/11/26 22:58
ありがとうございます
スッキリしました。
750デフォルトの名無しさん:03/11/27 00:28
>>742
おいらも同じところで悩んでる。
>>743のいってることもわかってるつもりなんだけどね

こういう分析の(具体的な)方法がある みたいなサイト、本ないですかね?
いや、そうとも限らん。
UIの使い回しが考えられるなら、間にcontrollerを置いて
そこから両者へ単方向関連を張るやりかたも多い。
その場合、UIの操作を受け取るためのinterfaceを用意して
controllerがそれを実現する形をとるので、UIは他のクラスに
依存しない独立性の高いものにできる。
>>750
難しいなあ。
@IT の記事全部とピアソンのインターネット関連/オブジェクト指向技術カテゴリの本を20冊くらい読むとか。
753746:03/11/27 07:43
>>751
なるほど…
うまいこと考える人もいるもんだなぁ
>>750
アナリシスパターン・・・UMLじゃないか
755デフォルトの名無しさん:03/11/28 07:36
>>750
S/M法によるオブジェクトモデリングとか読んでみれば?
ピシッ
問題領域に関する本はたくさんあるが
それをコンピューター領域と組み合わせて
どう実装し、どのようなコードを書いていくかまで
説明している本がほすぃ。
憂鬱な〜などイロイロ読んだが、
どれも抽象的な話ばかり。
読めば理解できるんだが
実際コードを書こうとするとつまずく。
そんな本があったら俺が欲しいよ。
その辺はもう形式知として文章にできるような代物じゃないからなあ
758737:03/11/30 21:13
DB使わないタイプのを作ることにしました。
とりあえず、投稿する部分だけ、書いたのですが
なんか、ちがうような…
アドバイスあればよろしくお願いします・・


クラス図
http://diary.lowsrc.org/archives/bbs7.png

クラスの定義
http://diary.lowsrc.org/archives/phps/cbbs/classbrd.phps

書き込み用のウィンドウ
http://diary.lowsrc.org/archives/phps/cbbs/submit.phps
759737:03/11/30 21:14
あ、PHPです。
760737:03/11/30 21:17
今気づいたんですが、
変数をprivateとしてあつかった方がいいっすね・・
取敢えず、気のついたことだけ。
PHPは知らんからUMLだけね。

分析段階から設計段階をすっとばしてコードに落としてるね。
これじゃうまくいかなくて当然。
その分析段階のクラス図も抜けが多い。
ま、一番始めはこの程度のものからスタートするんだけど、
これを分析を進めてどんどん膨らませてゆく訳よ。
「とりあえずクラス図書いてみました。んじゃコード」
これじゃ分析にならんよ。

UMLを真面目に勉強するつもりなら、クラス図の他の図も勉強しな。
とりわけシーケンス図は役に立つよ。
>>758の分析もシーケンス図を書いてみれば何が足りないのかすぐに気がつくと思う。
もちろんその他の図も覚えたほうがいいけど、まず最初はこの2つを使いこなせるようにする。
がんがれ。
762737:03/11/30 22:47
ありがとうございます。
一応、憂鬱な〜っていう本を一通り読みました。
シーケンス図も考えてたんですが
エライ単純になっちゃうようなきがするんで・・
とりあえず、作ってみました。
http://diary.lowsrc.org/archives/2003_11.html

足りないクラスって何ですかー。

色々言いたいことはあるのだけど今時間が取れないので手短に。

その壱
憂プラはオブジェクト指向の入門書としては最適だけどUML(という言葉の無かった頃の本)の
解説はさすがに古い。新しめのUMLの入門書を1冊仕上げた方がいいような。
少なくとも>>741は読もうね。

その弐
利用者に着目したのは筋がいいです。
利用者の振る舞いはユースケース図で分析します。
でも憂プラが書かれた頃はユースケースが着目されてなかったんで解説がほとんどない(笑

その参
その利用者の振る舞いですが、「掲示板を読む」と「掲示板に書きこむ」と大きく2つあります。
それぞれ必要とされるクラス・メソッドが異なります。これをはっきりさせること。
この辺はクラス図を書いてるだけだとよく分からないのでユースケース図やシーケンス図が
必要になるんです。
ただ、全ての投稿を時間順にずらずら並べるだけの掲示板なら「読む」方はあまり考慮する
必要が無さそうですけどね。
でも、その場合でも、「投稿があったらそれを表示する」というプロセスは必要でしょ?
シーケンス図はそこまで考えましょう。
その四
「メッセージを作る」というメソッドが方々にありますが、「メッセージを作る」のは一ヶ所で、
あとは「メッセージを渡す」「メッセージを記録する」になるのでは?

その五
本来は分析段階でウィンドウクラスやファイルのことは考慮しないんですが・・・。
しかし、投稿ウィンドウがファイルに書きこんだり、掲示板ウィンドウが直接ファイルから
読込みますか(笑
それだと掲示板クラスがメッセージクラスを集約するという分析が無意味になりますぜ。
もう一度ウィンドウクラスは外して分析してみたらどうでしょう。

以下はまた後で。じゃね。
765737:03/11/30 23:56
ほんと、参考になります。
ありがとうございます。
766デフォルトの名無しさん:03/12/01 03:16
モデリングツールスレにも書いたけど

Dynamic Draw
http://www.molips.com/jp/intro/index.html
これよくないか?
>>766
モデリングツールスレでも書こうかと思ったけど

うざい。

つかさ、図を書くだけならモデリングツールとは言わんのよ。
モデリングツールではなくドローツールやね。
769デフォルトの名無しさん:03/12/03 12:54
UIオブジェクトはユーザインターフェースとすると
PDオブジェクトってなんですか?
770U ◆CZtFsGiu0c :03/12/03 19:04
>>769
UIオブジェクトとかPDオブジェクトとかどこから引っ張ってきた用語?
PDってProblem Domainの略かな? 文脈がわからないと答えようがないよ。
>>767,768
ttp://exportsrc.sourceforge.jp/
単なるドローツールではないよ。
ソースの雛型位ならプラグインで生成できる。

…もっともこの程度じゃ、モデリングツールには程遠いが。
>>771
宣伝うざい。
>…もっともこの程度じゃ、モデリングツールには程遠いが。
それが分かってたら一々レスするなよ。
773デフォルトの名無しさん:03/12/06 07:28
からage
737の人ではありませんが、私もUMLを始めようと思ったので同じ事をしようと思います。
きちんと分析しるという事なので、なるべくそのように心がけるつもりです。

やりたい事:
・ユーザーが掲示板にアクセスすると、投稿記事が一定数(とりあえず10レス)表示される
画面が表示される。
・ユーザーは掲示板に書き込みができる。ただしタグは使えない。
・ユーザーは自分の書き込んだ投稿記事を削除することができる。
・管理者は掲示板にアクセスし、パスワードを入力する。
・認証で問題が無ければ、管理者モードになる。
・管理者モードは、以下の事以外は、通常モードと一緒である。
   □任意の記事を削除できる。
   □タグを使って投稿できる。
>>774
手順を踏んでやりたいならまずはユースケース図を書いてみ。
このレベルでは例外的な事柄や細かい機能は書かなくていい。

図を書いたら資料の二つ目にあるようなユースケース記述を書く。
774 氏が 「やりたい事」 に書いたのをもう少し詳細にした感じ。
機能ではなくて、アクターがこうしたらこうなるという書き方で
(例)タグは使えない→タグを含めた投稿をするとエラー画面に遷移する)。
だるいけどこれが書けると作るものが何かがほとんど決まる。

資料
http://uml.ogis-ri.co.jp/tutorial/analysis/do_work/dowork1_1.html
http://www.relaxer.org/process/sample/library/LibrarySystem1.1/LibrarySystem.html
776774:03/12/06 12:47
ユースケース図です。
http://montpython.s13.xrea.com/uml/usecase.png
ユーザーと管理者の機能が似通っているので、ユーザーから管理者へ継承するか、
共通のインターフェースなり抽象クラスを作ることになると思いました。

ユースケース記述は、いきなりイベントフローを記述するのは大変なので、
いくつかシナリオを書こうと思います。
>>776

この場合、
「ユーザーのできることは管理者でもできる」
「管理者のできることはユーザーができるとは限らない」

ので、ユーザーを親アクター・管理者を子アクターとして
汎化関係を作るとよいと思うのですがどうでしょう?

PostMessageについては、名前が同じで機能がちょっと
違うので、Extendするとよさそうな気がする
補足

方針として、
・同じユースケースは複数作らない
・似たユースケースはうまく共通部分を取り出す
って感じでしょうか。

779774:03/12/06 14:57
ええと、こんな感じでしょうか?
http://montpython.s13.xrea.com/uml/usecase2.png

ところで、継承すると
http://montpython.s13.xrea.com/uml/extend.png
ですが、
インターフェースや抽象クラスにすると
http://montpython.s13.xrea.com/uml/usecase2.png
となってこっちの方がすっきりしてそうですが。
でも、UserとAdminというクラスを作ってごそごそした方がいいかな。
シナリオ1:ユーザーによる掲示板の閲覧と書き込み
ユーザーのモナーはWebブラウザでhttp://www.foo.com/bar/にアクセスすると掲示板が表示された
掲示板は投稿フォーム(名前、メールアドレス、本文、削除用パスワード)があり、
その下に投稿記事が10件表示されていた。

モナーは投稿フォームに名前、本文を入力して「送信する」ボタンを押した。
しかし、削除用パスワードが入力必須であるため(メアドは任意)、
「削除用パスワードを入力してください」というエラーメッセージが表示された。
モナーはブラウザの「一つ前に戻る」ボタンを押し投稿前の画面に戻した。
モナーは投稿フォームに名前、メールアドレス、本文、削除用パスワードを入力し、
「送信する」ボタンを押した。
そうすると投稿フォームと投稿記事が表示され、投稿記事の一番上に
今投稿した自分の記事が表示されていた。

こんなところでしょうか?
シナリオ2:過去の記事の閲覧
ユーザーのモナーはWebブラウザでhttp://www.foo.com/bar/にアクセスすると掲示板が表示された
掲示板は投稿フォーム(名前、メールアドレス、本文、削除用パスワード)があり、
その下に投稿記事が10件表示されていた。
さらにその下に、「次のページ」というボタンが表示されていた。
モナーは「次のページ」というボタンを押した。
そうすると投稿フォームと、次の10件の投稿記事が表示され、
その下に「前のページ」「次のページ」のボタンが表示されていた。
モナーは「前のページ」というボタンを押した。
そうすると投稿フォームと、前の10件(つまり元の10件)の投稿記事が表示され、
その下に「次のページ」のボタンだけが表示されていた。

このシナリオは「記事の閲覧」なのでユースケース図に新しく追加する必要はありませんよね?
782774:03/12/06 18:42
あ、ユースケース図間違っていました。訂正
http://montpython.s13.xrea.com/uml/usecase3.png

この2つのシナリオから、「View Message」ユースケースについてユースケース記述を作成してみます。
ユースケース名: View Message
1. 概要: 投稿記事およびフォームを表示する。
2. 事前条件: すでに投稿された記事があり、各記事がファイル(かDB)して存在すること。
2.2. 基本フロー:
(1) ユーザーはWebブラウザ上からアクセスする。(HTTPでHTMLを要求するって書くべき?)
(2) システムはファイルに納められている投稿記事データからIDが最新順に10件取り出す(E-1)
(3) システムはヘッダ、投稿フォーム、10件の投稿記事データ、「次のページへ」
とあるボタン、フッタを出力する。
(4) ユーザーは「次のページへ」のボタンを押す。
(5) システムはファイルに納められている投稿記事データから、次に最新である10件を取り出す(E-2)
(6) システムはヘッダ、投稿フォーム、10件の投稿記事データ、「前のページへ」ボタンと
「次のページへ」ボタン、フッタを出力する。
2.3 代替フロー:
(E-1):(2)で投稿記事データが10件に満たない場合、(3)で「次のページへ」のボタンは出力せず、
投稿記事は全件出力し、ユースケースは終了する。
(E-2):(5)で次の投稿記事データが10件に満たない場合、(6)で「次のページへ」のボタンは出力せず、
投稿記事は残り全件出力する。
2.4 事後条件: なし

これらをユースケース毎にシナリオをいくつか書いて、それを元に
ユースケース記述を作成するということでいいんでしょうか。
↑勉強熱心なのはいいがもうちょいおちつけ。

おまえさんのかいているのはユースケース図ではない。
まずちゃんとしたユースケース図をかくところかは始めろ。
>>784
>まずちゃんとしたユースケース図をかくところかは始めろ。
どれがきちんとしてるのかがさっぱりです。各機能を分割してユースケースにしたらあかん
というのはわかっているつもりですが。入門書みてもアクターから3つぐらいのユースケースに
線が引かれていて、それぞれの説明がされているだけでした。
というかユースケースで汎化関係使えるのも知らなかったです。すいません。
786デフォルトの名無しさん:03/12/07 00:44
784が言いたいのは、「ユースケース図を何のために書くんだ?」
という基本的なことを自問しなさいって事だと思うよ。
UMLを道具として使えるか、UMLに使われるかは、それで決まる。
機能の捕らえ方が問題。
実装するのが自分(達)だから、どうしても内部的な処理の分け方をしてしまうと思うけど、
ユースケース図はuse case、つまり使用する側の立場に立って考える。
外から見てどういう風に処理が分かれているのか、という点が大事。
まずはそれを洗い出して、必要ならincludeやextends関係を構築する。
まずは外部設計ってことね。
788デフォルトの名無しさん:03/12/07 01:05
>750
遅レスで、コメン。

この手の本がこの世に無いのは理由がある。
人間は、その人の頭の中にあるものしか表現できない。
その人の頭に自然に浮かぶプロセスを言葉で表現するのは難しい。

業務要件を理解したり、ユースケースドキュメントを読み書きしている時点で、
なんとなく、頭の中でクラス図ができていないと、分析はできない。
クラス図を書いている時は、頭の中を整理したり、間違いの修正や、細かい詰めをやっているだけ。
これは、人間が普通に持っている能力だから、訓練すれば伸びる。
的確で分かりやすい文章を書ける能力に近い。

理屈に頼ろうとする香具師は、DQNの傾向がある。気をつけよう。

ユースケース図の解説
ttp://www.atmarkit.co.jp/fjava/devs/renew_uml08/renew_uml08.html

短いけどよくまとまっている。>>774氏へのみんなのコメントと同趣旨のことが丁寧に
書かれてるので参考になると思う。

ま、だれも最初から完璧な分析なんて出来ないので、少し突っ込まれたぐらいで
へこたれないでがんがれ。
そいや、>>737氏はへこたれたままかいな。がんばってちょ。
790737:03/12/07 15:08
ま  だ  い  き  て  ま  す  よ

:::::::::::::::::::::::::::::::::|,..-──- 、  |:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::| : : : : : : : : : \|:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::| : : : : : : : : : : : |:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::|::,-…-…-ミ: : |:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::|:i '⌒'  '⌒' i: ::|:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::|:| ェェ  ェェ |: :|:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::|:|   ,.、   |: :|:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::|:i r‐-ニ-┐ |: :|:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::|ゞ ヽ 二゙ノ イゞ:|:::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::|\` ー一'´丿 |:::::::::::::::::::::::::::::::::
>>782
>ユースケース名: View Message

フローが日本語ならこれも日本語にしよう。ここで命名の語彙を
気にする必要もないし。

>1. 概要: 投稿記事およびフォームを表示する。

主語を書くか、あるいはアクタの項でプライマリアクタを明記
するか、どっちかしておいた方が良い。

>2. 事前条件: すでに投稿された記事があり、各記事がファイル(かDB)して存在すること。

ファイルとかDBとか実現方式の話は無くても良いな。決めかねて
いる話なら、尚更書くべきじゃない。どうしてもユースケース記述に
含めたかったら、別項(例えば「技術メモとか」)で補足しよう。
(ちなみに俺だったら投稿無しは代替フローで扱うと思う。)

(続く)
(続き)
>(1) ユーザーはWebブラウザ上からアクセスする。(HTTPでHTMLを要求するって書くべき?)

ツールやプロトコルより大事な事が書かれてない。
フローの記述について、こんなガイドラインを挙げる人もいる。
show the actor's intent, not the movements

>(3) システムはヘッダ、投稿フォーム、10件の投稿記事データ、「次のページへ」

ヘッダ、フッタ、ボタンはユースケースの外(UI仕様書とか)に
書いた方が良い。ユースケースだけで外部仕様全体をカバーする
必要ないし。

>(4) ユーザーは「次のページへ」のボタンを押す。

(4)〜(6)は、次10件の閲覧が可能である事が書かれていれば十分。

>>783
代替フローのナンバリングの仕方なら、(E-1)とか(E-2)とかよりも、
>>775の2つ目のリンクのやり方がお勧め。
793774:03/12/07 21:25
使用する立場に立って考えるというんですね。
システムに素人なユーザーでもわかるように書くということでしょうか。
わかっているつもりでも、「ここまで大胆に(?)書いてもいいんだろうか?』と不安になって、
ついDBやファイルなど、システム周りの細かいことを書いてしまいます。

とりあえずユースケース記述だけ書き直してみます。
>>793
>システムに素人なユーザーでもわかるように書くということでしょうか
ちょっとちがう。
「そもそもこれから開発するシステムは何をするものなのか?」を明確にする。

君がやっているのは、すでに自分の頭の中にあるプログラムの構想を書出してるだけ。
これだとシステムの自分が認識している部分はどんどん詳細になるけど、
もし見落としている部分があると、それは何時までたっても分析対象として浮上してこない。
そのまま実装段階に入ると途中で機能追加&仕様変更なんてことになりかねない。
ま、練習なんだからそれを経験するのもいいと思うけど。
795774:03/12/07 23:23
>>793
つまり今まで私がやってきたのは、「どのようにしてシステムを動かすか?」という考え方であり、
それは間違いであって、「何をこのシステムでするのか?」「なぜこのシステムは必要なのか?」
という考え方がユースケースであるということでしょうか?
796login:Penguin:03/12/07 23:53
>795

>「何をこのシステムでするのか?」
その通りです。
それを把握するために、シナリオをヒアリングするわけです。
797794:03/12/08 00:35
>>795
もう他の人からレスがついてるけど。

君の目的が「WEB掲示板システムをつくること」なら、
どんな開発手法を取っても君の自由なので間違いも何もない。

しかし、君の目的が「UMLとそれを利用した開発手法を学ぶこと」なら
>>795の問いにはイエス。
「どのようにシステムを動かすか?」という視点が不要な訳では全くない。
しかし、その分析はもっと後でやる。
>>794
>そのまま実装段階に入ると途中で機能追加&仕様変更なんてことになりかねない。

プログラマが勝手に脳内仕様で補完したりする方が嫌だな。
特に代替フロー、あとログとか。
799デフォルトの名無しさん:03/12/08 10:45
良スレage
アクター側の視点に立ってユースケースを書き直してみます。

アクター         ユースケース
--------------------------------------------------------
ユーザー         掲示板を閲覧する
                 掲示板にメッセージを投稿する
                 自分の投稿メッセージを削除する
--------------------------------------------------------
管理者           投稿されたメッセージを管理する
--------------------------------------------------------

「何をシステムでやりたいのか?」を考えると、
管理者がやりたいのはメッセージの削除などの「メッセージ管理」ですので、
ユーザーのユースケースである「掲示板を閲覧する」「掲示板に投稿する」はおかしいと思い、
「投稿されたメッセージを管理する」としました。

ところで、「管理者はタグを使って投稿できる」はユースケースにする必要はないでしょうか?
管理者がやりたい目的を考えると、管理者のユースケースにしてしまうのはおかしな気がしました。
(ユースケース「掲示板に投稿する」の付けたしみたいで変?)これはどこに書くべきでしょうか?
ユーザーのユースケース「掲示板にメッセージを投稿する」でイベントフロー上の代替フローにでも
記述するのでしょうか?
>>800
そんな感じでいいと思いますよ。
あとは個々のユースケースをもう少し細かく分析して、必要なユースケースを付け足して行く。
ユースケース図を書いた方が分かりやすいと思う。

「タグ付きの投稿をする」もユースケースとしては必要でしょう。汎化をつかうのかな?
802774:03/12/11 22:22
>>801
>「タグ付きの投稿をする」もユースケースとしては必要でしょう。汎化をつかうのかな?
ユースケースについてはまだわかっていないので無理に構造化をしません。
下手をするとまたシステムの設計をやらかしかねないので。
ユースケース記述をひとつやってみました。

ユースケース:掲示板を閲覧する
アクター:ユーザー
概要:
途中で送信してしまった。

概要:このユースケースは、ユーザーが、投稿されたメッセージを取得できるようにする。
事前条件:なし?

イベントフロー:
1.ユーザーはシステムに掲示板の表示を要求する。
2.システムは投稿されたメッセージの一覧を出力する。

代替フロー:
   2で投稿されたメッセージが存在しない場合、何も出力しない。
   2でメッセージを1ページで表示しきれない場合、他に表示ができるメッセージがあることを
   ユーザーに通知する。

ずいぶんシンプルになってしまいました。代替フローで「何も出力しない」とありますが、
実際は投稿フォームなどがあるのですが・・・これでいいのでしょうか?
>>803
例えば漏れが自分のスタイルでが書くとこんな感じになると思う。
最初に断っておくけど、これで正解という意味ではないし、これで十分という意
味でもない。取り敢えず最初のスケッチはこんなもんということ。だからナンバ
リングは考慮してない。

掲示板システムユースケースフロー
1.掲示板の閲覧
1.1初期ページの表示
アクター:ビジター
事前条件:なし
ビジターが掲示板を開くと、掲示板システムは初期ページを表示します。
初期ページには間近に投稿された記事が10件と、それよりも古い記事を閲覧する
ための「前の記事」メニューと、投稿用のフォームが同時に表示されます。

代替フロー
1.1S1
投稿された記事が10件以下のときは、掲示板システムは「前の記事」は表示しな
いで、記事と投稿用フォームのみ表示します。
1.1S2
投稿された記事が0件の場合は、掲示板システムは初期ページに「投稿された記
事はありません」というメッセージと、投稿用フォームのみを表示します。
おそらく、↑の後に、1.2過去の記事の閲覧とか、1.3ページを指定して閲覧とか、
1.4全記事の一括表示とか、いろいろ続くと思うけど、とりあえず本件だと1.2だ
けでいいのかな?

ユースケースで大事なのはアクターの要求と、それにシステムがどう応えるかを
明確にすることなので、それは具体的に記述したほうがいい。
ただし、システムそのものはブラックボックスとして考えるということ。

この辺のやり方は人それぞれだけど、漏れのやり方は、最初はフローは注意書程
度にとどめて、考えられるユースケースをどんどん図に書き出してゆく。図は紙
に鉛筆でいいんで、実際に書いたり消したりした方が自分的には考えやすいな。

うーん、ひょっとしたら、ユースケースで一番大事なのは「必要なユースケースを
もれなく上げること」かもしんない。
806login:Penguin:03/12/13 14:05
>805
> うーん、ひょっとしたら、ユースケースで一番大事なのは「必要なユースケースを
> もれなく上げること」かもしんない。
>
ひょっとしなくても、そうでしょう。
というかそれが出来れば苦労はない。
808sage:03/12/13 15:43

なので、
ある程度まで出来たところで、実装レベルまで落として、
そこで必要なユースケースが発見されたら、
また、要件定義レベルへ戻って、ユースケース図に追加を行いましょう。
ってのが、RUP とかの 反復開発の考え方なんでは?
>>802
>ユースケースについてはまだわかっていないので無理に構造化をしません。

コーバーンの本に汎化を使うやり方があるけど、かなり面倒くさい。
「タグ付きで投稿する」から「投稿する」への矢印だけだと駄目で、「タグ
付きで投稿する」と「タグなしで投稿する」の2つから「投稿する」に向かって
汎化しないと矛盾するらしい。止めといた方が良いかも。

ファウラーのUML本には、代替フローに書くやり方と拡張を使うやり方が
載ってる。代替フローに書くなら「アクタが管理者だった」なんて条件で
記述すれば良いんだと思う。
ただこの掲示板のケースだと、拡張はやや難しいかも。タグを使えるのと
使えないのと、どちらを拡張元にすればいいかやや躊躇う。前者なら拡張
された方を一般ユーザが使う事になるし、後者なら拡張ユースケースが
うまく書けない(少なくとも俺は)。

関連の選択で悩むより、やはりできるやり方(代替フローとか)で先に進む
のが得策かと。
俺も晒してみるか。

usecase name:
 掲示板を閲覧する
actor:
 ユーザ
main flow:
 1. ユーザはシステムに掲示板の閲覧を要求する
 2. システムは最新10件までの記事を取得する
 3. システムは2の結果を成形し投稿フォームと共に表示する
 4. ユーザは前後10件ずつ、システムに再表示させる事ができる
alternative flow:
 3a. 2の結果、記事が無かった
  3a1. システムは記事が無い旨を表示する

これが実際だとすると「3a1は、これで良いですか?」とか「"10件"は
ベタ書きで良いですか?」とか、愛想笑いしながら客と話してみる。
あと「2で記事を取得するときにシステムエラーが発生したらどうなる?」
とか、誰かが俺を問い詰めたりもする。
811デフォルトの名無しさん:03/12/16 12:31
クラス図とか掲示板で表記するの難しいので、横書き表記を考えてみた。

クラス:C{クラス名:属性:操作}
インタフェース:I{インタフェース名:操作}
継承:e{スーパークラス名:{ロール名:多重度}:{ロール名:多重度}}
集約:a{クラス名:{ロール名:多重度}:{ロール名:多重度}:クラス名}
コンポジション:c

例:
C{人:性別:歩く}
e{人}C{男::}
e{人}C{女::}

a{人:{勤労:*}:{雇用:1..*}:会社}

良かったら使ってくれ
812811:03/12/16 23:15
間違えてた。

継承:e{スーパークラス名:派生クラス}

C{人:性別:歩く}
e{人:{男::}}
e{人:{女::}}
>>811-812
俺は使ったことないが U言語 なんてのがある。
http://objectclub.esm.co.jp/U-Language/
814デフォルトの名無しさん:03/12/18 23:36
UMLってどれくらい現場に浸透してる?
流行だろうけど、使う使わないの現場が分かれそうな気がするんだけど
>>814
あるところの調査では15%とか。
まあ企業ごとの変なノウハウを押し付けられるよりは
こういった標準の方が嬉しいわな。
>あるところの調査では15%とか。
これかな?
http://www.atmarkit.co.jp/fjava/devs/survey/survey0210/survey0210.html
検討中まで含めるとだいぶ多いな・・・やはり流行りか
>>814-816

タイミング的にはこれがソースと思われ。
(両方が同じソースかもしれんけど)

「UML採用は15%以下」、新技術を警戒するユーザー企業
http://www.atmarkit.co.jp/news/200312/17/juas.html
結局使わないから手間がムダなばかり
>>813
2chで書いたりするときに、たまに使ってるよ。

>>814
かつてのお客さんは、UML指定だったな。
お客さんが「UMLドキュメントは資産になるんだからちゃんと書いてね」というところだった。
標準というものの価値を理解している、頭のいいお客だったよ。
なんか日本語変だぞ
>「UML採用は15%以下」、新技術を警戒するユーザー企業

意外と低いんだな。驚いた。
てかユーザ企業ってどんなシステムやってるところなんだろう。
俺なんか4年前からWebアプリやってるだけど、UMLを納品しな
かった無いし、なんか不思議な気がする。
>>821
日本語おかしいぞ。
そもそもオブジェクト指向と無縁な開発も、まだまだ多いってことかな。
それともまさかBooch法とか?
824sage:03/12/20 11:54
Booch法しかない時代からBooch法やるだけの先取性のあるところが、
古い方法に固執するとも思えないが。
(Booch法を導入したキレモノが退職してイモしか残ってないとかならありえるが)

でも、オブジェクト指向開発に、UML が必須というわけではないし。
UML使ってない→オブジェクト指向してない
とは必ずしもいえないと思う。

つうか、開発資料を全然作ってないところだってあるだろうし、
(開発資料をきちんと作っている会社が全体の15% でもオレは驚かない)
きちんと開発資料を作ってる会社の中でなら、UMLを採用している会社の割合は
もう少し高いんじゃなかろうか。
俺は大手で大量の仕様書にまみれて仕事してるが、
使っているのはWordの文章とフローチャート図だね。
そもそも設計のイメージ図を正しく書くより、
製品の仕様の文章を正しい日本語で書くことのほうが、ずっと大事なのは当たり前。
上司やお客さんは、あいまいな図よりも開発者が言い逃れできない仕様書を望んでいるんだから。ようは言質が取りたいわけよ。
UMLじゃ解釈の違いで言い逃れできちゃうわけよ。
だからイメージ図よりもむしろ、文章の仕様書の統一基準のほうが望まれているだろうね。
これからはそういう動きが出てくるかも。
>>825
仕様書の話?まあ適材適所って事だろう。別に自慢げに言う事でもないと思うがね。
それとも「仕様書」をダイアグラムだけで書くようにUMLが強制でもしてたっけ?
>>825
うーむ、UMLはイメージ図とは違うんだがなぁ。。。
MDAで、製品そのものに近いところまで表現できるし、
仕様書の統一といった意味では、UMLを拡張して使うのが正解だと思う。
# UMLは、あるいみ仕様書の統一基準にしかすぎないわけで。
828いなむらきよし:03/12/20 14:58
キケー!
829デフォルトの名無しさん:03/12/20 20:13
>>825
> UMLじゃ解釈の違いで言い逃れできちゃうわけよ。
フローチャートだって言い逃れできるだろ
>>818
同意。
UMLで、仮にいろんなことが明確になったとして、バグが減ったのか?
結局、新しいのを追いかけて、作業量・学習量が増えるだけ。
根本が変わらない。
831デフォルトの名無しさん:03/12/21 09:58
オブジェクト図で2つのオブジェクト間に2本以上のリンクを引くのはOKなのでしょうか?
UMLで何か明確になったか?何も変わらん
オブジェクト指向ツール作ってる会社が
ひと商売したかったということだけは明確にだったが。
あと偉そうな口叩いて実装はヘタクソな厨SEが増えた。
業界標準のありがたみを理解していない奴がいるな。
>UMLで何か明確になったか?何も変わらん

じゃあ、UML 使わずにデザインパターン書いて味噌。

>あと偉そうな口叩いて実装はヘタクソな厨SEが増えた。

それは、単に、UML もわかってないんじゃないの?
実装できなくても、要件分析がきちんとできるなら、
そのレベルの話をするのは、「えらそう」でもなんでもないし、
むしろ、SEとして当然なんでは。

そもそも、現状は、数からいったら、
設計はできないが実装はできる > 実装はできないが設計はできる
じゃないの。
要件定義レベルで、まともな UML を書ける香具師がいたら、
そいつが実装はからきしだめでも、即来て欲しいよ。
ユーザーへのプレゼン用のPowerPoint資料を、
要件定義だといって渡されて、それで実装やらされるよりは、
100万倍ましだ。

おまえらが思ってるほど普及してないのに、何が標準化なのやら(嘲笑
もう下り坂だよ、UMLは

あと実装がヘタでが設計巧いいない奴なんて居ないよ、
そんな奴がいたら財産をそいつに全部やってその場で自殺してやるよ(笑
>>831
OK
>>835
>あと実装がヘタでが設計巧いいない奴なんて居ないよ、

だから、
> >あと偉そうな口叩いて実装はヘタクソな厨SEが増えた。
> >それは、単に、UML もわかってないんじゃないの?
といっているわけだが。

まあ、君個人が UMLについて、どのような見解をもとうと勝手だけど、
現状で UML に代わる手段がない以上、
(>UMLで何か明確になったか?何も変わらん
 じゃあ、UML 使わずにデザインパターン書いて味噌。)
必要とする人は、君がどう思おうと、使っていくだろうね。

君は、今受け取ってる要件定義資料に満足してるの?
それが UML よりも便利だというのなら、是非教えて欲しいもんだが。
>>835
煽りじゃなく参考までに教えて欲しいんだけど、
例えばクラス間の関係とかどう表現してます?
>>836
分かりました。ありがとうございます。
>>835
おれも知りたいな。CRCカード最高!とかそういうことですか?
オブジェクト指向自体を非難してるとかじゃないすよね?
アンチパターン
「実装溺愛」
プログラミング技能と抽象の定義する技能は別物だが、抽象化の能力を持った人が少ない結果、
結果的に実装派が主導権を握ってしまう状況。これはオブジェクト指向開発に平等主義を
持ち込むと起こりやすい。そのため組織の役割分担を明確にし、抽象派がアーキテクトを、
優秀なプログラマがコンポーネントを、それ以外のプログラマがデベロッパとして参加させろ。
>抽象化の能力を持った人が少ない
アナリストを育てようとしない企業側にも問題があるような気がする
ま、マネージャーの中にもこのあたり分かってないのが大勢だけどな
>平等主義を持ち込む
問題の根源はここにあるように思うんだけど。

例え「抽象化の能力を持っ」ていないとしても、
「アイツはオレより詳しいから、この辺の判断はアイツに任せよう」
という割り切りができれば、なんら問題ないはず。
(まあ、誰一人としてまともな能力を持った人間がいない、というのは論外だけど)

もちろん、「アイツはオレより詳しい」を判断する能力は必要だけど、
新しい技術が次から次へでてくる状況下で、グループで開発をするなら、
全員が同時にスペシャリストでいることは、どうしても不可能なんだから、
そういった判断はどうしても必要だと思う。

845デフォルトの名無しさん:03/12/23 19:28
ここの奴らが勤めてる会社は、文章の仕様書よりUMLの仕様書のほうが重要視されてる会社ばかりなのか?
ドキュメントを書かないXPやアジャイルが話題になってるが、そんな会社は聞いたことも無いが。
設計イメージ図の統一基準よりも、日本語の仕様設計書の業界統一基準のほうがよっぽどありがたいし、金になるのにねえ。
誰か作れよ
>>845
>日本語の仕様設計書の業界統一基準
SLCP-JCF98 使えば。
>>845
UMLが重要視されています。

常に新しいもの・開発手法を採用することになり、ほとんどのメンバーがついていけずに
品質が落ちていっています。
その言い訳が「新しい案件だし」の一言でまかり通る会社です。_| ̄|○
>>845
>ここの奴らが勤めてる会社は、文章の仕様書よりUMLの仕様書のほうが重要視されてる会社ばかりなのか?

どっちも書けて、必要に応じて活用できるのがいいでしょうな。

>ドキュメントを書かないXPやアジャイルが

書かないんだっけ?ソースは?

>設計イメージ図の統一基準よりも、日本語の仕様設計書の業界統一基準のほうがよっぽどありがたいし、金になるのにねえ。

なんだ>>825か?別に同じ事を何回も書かなくていいのに。
>>845そのた
スレちがいになってきてます。ここはム板ですYO!
Aspect Oriented ProgrammingのようなOOと直交する概念を
UMLでどう記述すればいいのか悩み中です。
いま考え付いている選択肢は次の3つです。

1.ステレオタイプを使う
2.付箋(笑)をペタペタ貼りまくる
3.UMLはOOのための図法だからOOと関係ないことを書いてはいけない

どう思いますか?
851850:03/12/27 13:31
質問がアホすぎるのかな。すみません。
皆様 OCL(ObjectConstraint Language) って使われてますか?
私は多くの解説書でばっさり削られてるので、最近まで存在すら知らなくて……
実際の使用率・有用性などが知りたいのですが。
>>852
つかってない。
ノートかコードで説明すればいいんでないかという気がする。
>>850
『AspectJ in Action』にステレオタイプを使ってる例がちょっとあるよ。
《woven》とか《aspect》とか。

あとググッたらいろいろ出てきた。
俺はまだ読んでないけど、こんなのとか↓

『An UML-based Aspect-Oriented Design Notation For AspectJ』
http://dawis.informatik.uni-essen.de/site/publications/papers/aop/StHaUn_AspectOrientedDesignNotation_AOSD_2002.pdf
855850:03/12/30 00:50
>>854
ありがとう。
うーん、自分もステレオタイプを選択肢にあげていたけど、
ステレオタイプを使うってのは、何かが間違ってるね…。
結局自分では、「規格で定義されたUML」の範囲では扱えない、
という結論に達したよ。
AOP自体は余り詳しくないけど、アスペクト指向の中には@別のアスペクトに
属する事柄を別けて扱うって事と、A同じアスペクトに属する事柄をまとめて
扱うって事があると思う。

で前者@については、例えば{aspect=StatePattern}のようにtagged valueを
使ってどのアスペクトに属するか要素ごとに追記するやり方や、アスペクト
ごとにダイアグラムを描き分けるやり方が考えられる。

後者Aについてはパラメタライズド・コラボレーションでパターンを
表現するのと同じやり方が使えると思う。

普通のUMLで、割に自然とAOPは導入できると思うんだけど、どうでしょう。
後者(パラメタライズド・コラボレーション)はそれでも構わないと思う。

だが前者は全然ダメ。
実装上で各要素がどのアスペクトに影響されるかなんていちいち書かないのに
(そのためにアスペクトを使ってるのに)、図の上でそれを対象要素に個別に
描き足すことになるのって、おかしいよ。

それに、アスペクトの中身を記述するための道具立てが今のUMLには足りない。
>>857
UMLで描けないアスペクトの中身って、例えば何?
>>858
1.「アスペクト」そのものを表現するモデリング要素
 (AspectJでいうと、aspect)
2.そのアスペクトが影響を与える「対象」そのものを表現するモデリング要素
 (AspectJでいうと、pointcutやそれを構成するjoin point)
3.その対象にアスペクトが与える「影響」を表現するモデリング要素
 (AspectJでいうと、advice)
これが全部、UMLにはないでしょ。これが全部モデリング要素として表現されて、
「1は3の集約になっていて3はそれぞれ2への一方通行の関連を持つ」のような
記述を自然に描きたい。
860デフォルトの名無しさん:04/01/02 16:03
>>858
リスペクト
海外掲示板用オフラインリーダーを作るスレ
http://pc2.2ch.net/test/read.cgi/tech/1072883528/

海外でよく使われていうる掲示板スクリプト
専用のオフラインリーダー作って下さい。

必要な条件はID、PASSを管理できること、
OpenJaneみたいな三面型の見た目。
簡単にローカライズできるように言語ファイルを採用
862856:04/01/03 00:39
>>857
>実装上で各要素がどのアスペクトに影響されるかなんていちいち書かないのに
>(そのためにアスペクトを使ってるのに)、図の上でそれを対象要素に個別に
>描き足すことになるのって、おかしいよ。

tagged valueについてのレスですよね。weavingの結果としてのモデルを
表現するとき、どの要素がどのアスペクトに属するか解るようにしておいた
方がいいでしょう。そのつもりがなければ>>856でtagged valueの直後に
書いたように、別のダイアグラムに書けば良いし。
863856:04/01/03 00:48
>>859
>1.「アスペクト」そのものを表現するモデリング要素
>2.そのアスペクトが影響を与える「対象」そのものを表現するモデリング要素
>3.その対象にアスペクトが与える「影響」を表現するモデリング要素

「対象」も「影響」も、結局はクラスの要素や関連、オブジェクトの協調に
還元されるのでは?「アスペクト」に着目してダイアグラムを切り出した上で、
あとは普通にUMLを描くだけだと思うんだけど。

>「1は3の集約になっていて3はそれぞれ2への一方通行の関連を持つ」のような
>記述を自然に描きたい。

まずアスペクトをそのように記述する事が正しいかよく分からない。例えば、
あるアスペクトに固有のクラスやインスタンス、或いはクラスの継承関係の
表現もこの記述に含まれます?

それと集約とか関連などの言い方をみると、結局クラスのようにアスペクトを
扱いたいように読めてしまうんだけど、だとしたら、クラスアイコンを拡張して
区画を追加したり、それこそステレオタイプを使えばいいのではと思う。
864856:04/01/03 00:51
>>862-863で書いたことは、例えばステートチャート図が無くても、必ずしも
システムの動的側面を記述できなくなる訳じゃないってのと同じ話ね。

つまり状態遷移そのものを表現したいときに、ステートチャートが無いと
不便なのと同程度には、アスペクトに関連する道具立てが無い事が不便だ
とは思う。
865デフォルトの名無しさん:04/01/03 14:49
憂鬱なプログラマのためのオブジェクト指向開発講座を読んでいます。
第5章の関連まで読んで疑問に思ったことを質問させてください。
クラスが別のクラスを属性に持つことはほとんどない、とあり、
必要があれば関連のクラスを作る、とあります。
でも実際のサンプルプログラムでは、他のクラスのポインタを持っていて、
関連クラスが別のクラスを作成して、そのポインタに設定する、というものでした。
他のクラスのポインタでも結局は別のクラスを属性に持っていることにならないのでしょうか?
>>865
スレ違いなので一言ですます。
おまえの読み方が間違ってる。
これ以上は他のスレに逝け。
867865:04/01/03 20:36
>>866
読んだことないか理解していないくせに何をほざいている。
市ね
UMLの話しちゃう。
送り仮名のせいで微妙な事に、、
「UMLの話しとちゃう(違う)。」だ
>865
答えは5章に書いてあるぜ。日本語が読めるならわかるはずだ。
日本語読めないからこんなスレ違いの質問してるのだろうけど
>>867
ダウト!
872デフォルトの名無しさん:04/01/05 20:50
Visioを使ってUML図を書く方法を説明しているウェブとかないですか?
それっぼく図を作ることはできるけど、正しい使い方がよくわかんないんだよ。
873デフォルトの名無しさん:04/01/05 22:00
>>872
VisioのUMLは死んでるからうやめとけ。バグばっか。
874デフォルトの名無しさん:04/01/06 09:57
やっぱり死んでいるのか。
M$が後付しただけに。
しかもUML以外の目的でも使えるようになっている
ただの便利ツールと化しているし。
>>874
> ただの便利ツールと化しているし。
化してるってもともと便利ツールのほうが本職ですよ。ダンナ。
UMLツールとして本格的に使うほうが無理がある。
ちょろっと書くには便利。
オライリーの「入門 UML」ってどんな感じでしょうか?
初学者向けにも良いですか?
>876
UML2.0じゃないのがなあ・・・
今更1.2とかやってもねえ。
中身の良し悪しは知らん。
>>876,877

ぱっと見た感じわかりやすそう。
でも877に禿同。敢えて買う意味なしと思われ。
>>877-878
なるほど、2.0 じゃないんですか。ほかの本を当たってみます。
>>879

UML2.0の本は皆無という罠
881デフォルトの名無しさん:04/01/09 23:45
昔ちょっと勉強したUML。今は全く使ってないけど、
いくつか質問させてください。

私の周りでは全く普及しないけど、みなさんの周りでは普及してますか?
これから、普及してくと思いますか?あるいは消えて無くなりますか?

UMLとはクラス図のことだという印象があるのだけど、クラス図の他もつかってますか?

UMLをソフト開発でなくて、なにげないメモをとるのにも使っている人いますか?

UMLの表現力なんですが、どんな概念でもこれで記述できるんでしょうか?

厨な質問スマソ

>>881
> UMLとはクラス図のことだという印象があるのだけど、クラス図の他もつかってますか?
シーケンス図とステートチャートも使ってる。

> UMLの表現力なんですが、どんな概念でもこれで記述できるんでしょうか?
いや、全然。何でも記述できるのはソースコードしかないが、それだと粒度が細かすぎて
見通しが悪いから、OO がらみんの本質部分だけ抽出したのが UML でしょ。

細かいアルゴリズムとかは記述できないし、非 OO 的な要素 (AOP など) も書けない。
でも、それで良いんだよ。
883U ◆CZtFsGiu0c :04/01/10 16:30
>>881
>私の周りでは全く普及しないけど、みなさんの周りでは普及してますか?

うちの会社のエンジニアでUMLの読み書きができない社員はいません。
また、協力会社にお願いする場合でもUMLが読めるのは最低条件です。

>これから、普及してくと思いますか?あるいは消えて無くなりますか?

普及するかどうかはわからんですね。でも、UMLがあろうがなかろうがモデリングは
必要ですから統一された仕様があったほうが便利でしょう。だから変化することはある
でしょうが、短いスパンで考えれば消えはしないと思います。

>UMLとはクラス図のことだという印象があるのだけど、クラス図の他もつかってますか?

クラス図はドメインモデルはともかく、実装レベルではあまり重視していません。
それよりも相互作用図、状態遷移図のほうが重要です。

>UMLをソフト開発でなくて、なにげないメモをとるのにも使っている人いますか?

いいえ。質問の意図がよくわからないけど。

>UMLの表現力なんですが、どんな概念でもこれで記述できるんでしょうか?

んなわきゃない。
884881:04/01/10 18:24
シーケンス図と状態遷移図。なるほど。
そういえば、回路設計のときにも状態遷移図よく書きますね。
状態遷移図から、HDLコードを生成するツールとかもあった。

>>UMLをソフト開発でなくて、なにげないメモをとるのにも使っている人いますか?
>いいえ。質問の意図がよくわからないけど。

実は最近、メモ術みたいなものをいろいろ模索してるんだけど、
マインドマップって知ってますか?検索してみて。
これはメモの方法なんですが、ようはキーワードを書いてまるでかこんだやつを
線で結んでいくメモの書き方です。
これをUMLで書いたらもっも便利じゃないかと思ったわけです。
で、それを日常のメモでやってる人いないかな?と思ったのです。
そんな人いない?
885デフォルトの名無しさん:04/01/10 22:41
JUDE竹と、VISIOをUMLツール比べてみたんだけども、JUDE竹の方が取っ掛かりがいい。
VISIOは今ひとつ動きが良く分からなかった。
まだ勉強中なので、これからまた覚えていくと見方が変わっていくんだろうか。。。
VISIOな方、使い勝手はどうですか?
886885:04/01/12 23:48
JUDE竹なのですが、ユースケースにシナリオってどうやって書けばいいんですか。。
EAだと書けたんですが。。
JUDEを2年ぶりくらいに触ったが、かなり使いやすくなってるね。
当面の仕事ではこれを使おうと思ってる。

MDAを業務アプリとして実戦投入できるのははるか先だしな。
UML2.0も今はお勉強程度しかできない。
(この方向に向かうことは確実なんだけど)

>>881
UMLを読み書きできないのは、恥ずかしいことだと認識しておいたほうがいいよ。

888885:04/01/13 22:07
結局EA買っちゃったYO!
まだユースケースしか試してないけど、試用版のメニューが英語ってのに耐えられなくて。。。
>>885

いまさらながら、かもしれないが

JudeやEAはUMLのためのモデリングツール
VISIOは絵を描くためのツール

UMLを描くために使うなら、JudeやEAのほうがよいかと。
890885:04/01/14 20:34
>>889
ありがとん。
今EA正規版インスコ中です。
レスのおかげで安心して使えます。
891デフォルトの名無しさん:04/01/14 20:38
やはりコードと対応していないクラス図が気になりますが
実務でしている人、気になりませんか
それとシーケンとクラス図の対応気になりませんか
892デフォルトの名無しさん:04/01/14 22:39
889ですが、

今何気なくEAのページ見ていたら
おんなじこと書いてあるジャン

>>891
コードとUMLダイアグラムの乖離はまったく気にしてません。

UMLを描くのは、かなり粒度の粗いスケッチとしてか、
厳密なシーケンス指定をするときくらい。
だから、アーキテクチャや概要の設計時には死ぬほど描きます。


自分がUML描画ツールを選ぶときの視点は「詳細を省略した図が描けるかどうか」です。
UMLからコード生成できるくらい変に高機能だと、
気にしたくない詳細まで設定する必要が出てきて使いにくい。

以前にVisio2000のUMLステンシルを試してみたときは、
メッセージアローひとつ引くにも過剰な厳密さが求められて萎えた。

MDAとかExecutable UMLとかだと?
895デフォルトの名無しさん:04/01/15 01:35
>881

> 私の周りでは全く普及しないけど、みなさんの周りでは普及してますか?
> これから、普及してくと思いますか?あるいは消えて無くなりますか?

OO一筋十年の俺としては、普及してもらわないと困ります。


> UMLとはクラス図のことだという印象があるのだけど、クラス図の他もつかってますか?

アーキテクチャ設計の時にはパッケージ図を使いますね。大まかな責任分担を決めるため。
コンポーネント図はあんまり使わないな。やっぱ、Visioとかのほうがわかりやすいんで。
シーケンス図はめったに書きません。客が「書け!」って言ったときぐらい。そんな時は、リバースで済ませます。
当然、コラボレーション図も書いたこと無い。
状態遷移図は、場合によりけりですね。自然言語で表現するのが難しくなったら、状態遷移図を書き始めます。そうしないと、自分がわからなくなるもんで。
アクティビティ図は、意外に使えますよ。シンプルなんで、ユーザに説明しやすいんです。要件定義の時には、アクティビティ図を見せて説明する事が多いです。


> UMLをソフト開発でなくて、なにげないメモをとるのにも使っている人いますか?

ソフト開発以外って事ですよね?
たまぁに、クラス図使うかなぁ。


> UMLの表現力なんですが、どんな概念でもこれで記述できるんでしょうか?

note使えばなんでもありかも(w
896893:04/01/15 02:05
>>894
現状の普及帯のツールでは
実装とシームレスにつながっているモデルは作れないから。
作れるのかもしれないが、残念ながらそのためのノウハウをまだ持っていない。

MDAの方向に進むのは確実だと考えているけど、
いま使えるわけではない。

ツールを無理に適用するためにGenerationGapなりの
パターンに沿ってモデルを描くのも本末転倒だと思う。
メーカのページとか、
日経の記事とか読むと、すぐにでも使えるような
ことが書いてあるから困るんだよな >>MDA
>>893の使い方に激しく同意
899デフォルトの名無しさん:04/01/17 01:34
もう全然勢いなくなったなUMLは
このスレではさも普及してるようにみせかけてる零細下請けのSEどもが必死だけど(藁
大手数社出向したけど、もうどこも使ってなかったよん
その大手がどこか知らないけど、
俺が仕事したところは皆使ってるぞ。
顧客から指定してくるところも多い。
基本的なことなんですが、クラス図って静的な構造だけを記述するんですよね
動的なオブジェクトは描かずに、多重度だけで表現するんですよね?
>>901
そう。

複数のオブジェクト間の協調動作はシーケンス図とコラボレーション図、
単一オブジェクトの振る舞いはステートチャートで書くことになる。
903U ◆CZtFsGiu0c :04/01/17 16:07
>>901
一応、システムのある瞬間のオブジェクトの関係を示すためにオブジェクト図を使う
ことができます。ただし使ってるのを見たことないです。
リスト構造とか、データ構造を動的に持つような場合、
オブジェクト図を使わないと、追いきれないように思うんだけど。
905885:04/01/18 11:00
なんかEAのチュートリアルをやっていくうちに、段段EAが良く思えてきた。
単なるUMLツールじゃなくて、プロジェクトの管理なんかもできそうで、
プロジェクト管理とUMLの連携が良さそうな気配。。
906885:04/01/18 18:00
UMLの試験受けようと思ったら、すげー高いよ(;;
前のブロンズとかだったら、確かロハだったはずなのに。。
個人じゃ厳しすぎる。。
907デフォルトの名無しさん:04/01/19 05:58
ソフトウェア業界以外でUMLを使ってる例ってあるの?
プロセス記述っていってもソフトウェア開発のそれ以外に
実例があるのかと。
回路設計とかには使われる(使おうとする動きがある)
って話は聞いたことがあるけど。
ビジネスプロセスのモデリングに使おうとしている人たちは居る
910デフォルトの名無しさん:04/01/20 22:56
今更気づいたけど、ここってスレ名に反してUMLの勉強にあんまりなってない気がする。。
UMLって実はマイナーなの?
UML自体の扱う問題の範囲が広いのと、
参加者のレベルがまちまちなせいで、話が発散してるように思われ。
何しろ物がビジュアルだから文字のやりとりでは話が遠い。
913デフォルトの名無しさん:04/01/21 13:01
OMGのサイトからUML1.5(03-03-01)っていうのを落として来ました。
UMLを使ってどうモデリングするかっていう実務の話は別として、
表記法を読み書きできるようになるには、これだけ読めば十分ですか?
ヒキコモリなので本を買うお金がありません。
914マーチン・ファウラー信者:04/01/21 16:13
>913

仕様書ですか?

分量が多すぎる気がします。業務で使う上では、そこまで細かくは書きません。
相手が読めなければ意味がないですしね。

本当は、「UMLモデリングのエッセンス」(翔泳社 ; ISBN: 4881358642)がお勧めなんですが。
\2,400はつらいですか。
915UML初心者:04/01/22 09:19
はじめまして。UML初心者です。
これから業務でUMLを使うので、勉強しなければならないのですが、
いいテキストや参考書ってありませんか?
昨日、本屋に行っていろいろ見て見たんですけど、どれがいいのか
いまいち判断がつきません。

今回のプロジェクトでは開発はJAVAで行うので、JAVAと一緒にUMLを
学ぶといった趣旨の本もあったのですが、どうでしょうか?

状況としては私は開発は行わなく、基本設計や詳細設計を担当するので
JAVAのソースが読めればいいといわれているのですが。
ってか今まで、開発一本(SAP R/3 ABAP)で来たので上流工程を担当する
のは初めてです。JAVAに関してもちょっとかじったことがあるくらいで、
具体的な文法はわかりませんが、オブジェクト指向に関してはある程度
理解しているといったレベルです。

一応今は日経コンピュータに連載されたいた
「マネジャのためのUML入門」を読んで勉強しています。

よきアドバイスをお願いします。
よろしくお願いします。
916U ◆CZtFsGiu0c :04/01/22 12:53
>>911
UMLの表記法については
http://www.amazon.co.jp/exec/obidos/ASIN/4881358642

UMLを使った分析・設計なら
http://www.amazon.co.jp/exec/obidos/ASIN/4894710773
(UMLの表記法については少し古いかも)

ユースケースを作成するのなら
http://www.amazon.co.jp/exec/obidos/ASIN/4798101273

あたりをお勧めします。
917ヒキコモリ:04/01/22 16:09
>>914
ありがとうございます。UML1.5とは仕様書のことです。
オージス総研のサイトにいろいろと分り易い解説をした
ドキュメントがあるのでそれらと見比べながらしばらく、
仕様書にかじりついてみようかと思います。

オージスのサイトにはアナリシスパターンの分り易い死霊もありました。

ところでmeta-metamodelとmetamodelの違いってなんでしょうか?
metamodelが自身を定義できるならmeta-metamodelはいらなくないですか?
918UML初心者:04/01/22 16:38
>>916
ありがとうございました。
ってこれって>>911となってますが、私に対するレスですよね?^^;
リンク先の書籍に関するレビューをみて、とりあえずUMLの表記法に
関する本を買ってみようと思います。ただ、まったくの初心者にはちょっと・・
というレビューもありましたので、まず、「はじめて学ぶUML」という本
を買って、その次にリンク先の本を買おうと思います。

とても参考になりました。
ありがとうございました。
DAO や DTO ってentity でしょうか、 boundary でしょうか。
920U ◆CZtFsGiu0c :04/01/22 19:23
>>919
entity、boundaryってロバストネス図(分析クラス)で使うステレオタイプだよね。
ロバストネス図のレベルでDAOやDTOなんて概念は出てこないはずだよ。
>>920
うーん。 DAO や DTO という捕らえ方が適切でないのかもしれませんが、
外部システムとのやりとりに仕様するデータのようなものは、
ロバストネス図の段階でもでてきますよね?
例えば、インターフェースファイルとか、SOAP にのせるデータとか。
そういったものは、どう表現すべきかということです。


922910:04/01/22 23:13
>>911
>>912
そういう事なんですか。。失礼しました。
まったり進行でも悪くはないんですけどもね。。
923U ◆CZtFsGiu0c :04/01/23 15:20
>>920
(外部システムがアクタとして)アクタとのデータのやり取りに何を使うか、
というのはロバストネス図では意識しないよ。あくまでユースケースを実現
するためにシステム内部でどのようなデータを扱うのか、というのを考えれば
いい。そのようなデータはentityクラスになるよね。
>(外部システムがアクタとして)アクタとのデータのやり取りに何を使うか、
>というのはロバストネス図では意識しないよ。
なるほど、であれば、DAO や DTO はおよびではないですね。

>あくまでユースケースを実現
>するためにシステム内部でどのようなデータを扱うのか、というのを考えれば
>いい。そのようなデータはentityクラスになるよね。
なるほど。そう考えれば、名詞のオブジェクト化は全部できますね。
ただ、そうすると、その entity と、アクターの関連の表現は、
直接関連でつないでしまっていいものなんでしょうか?
アクターと対話するのは boundary だという理解なのでなんか違和感があるのですが。

925U ◆CZtFsGiu0c :04/01/23 18:43
>>924
どういう図を想像しているのかわかりませんが、もちろんアクタはboundary
オブジェクトとしかやりとりできませんし、entityオブジェクトはcontrol
オブジェクトからしか扱えません。
>>924

そうすると、 人間以外のアクターと、
オブジェクトの関係を表現する方法がわからなくなってしまうのですが。
927U ◆CZtFsGiu0c :04/01/23 23:25
>>924
だから人間だろうとなかろうと、アクタと関係を持つのはboundaryオブジェクトです。
もし外部システムとのやりとりがあるなら、そのシステムとのインタフェースをboundary
オブジェクトで表現します。
>>927
なるほど、その限定は存在するわけですね。
それで、例えば、インターフェースファイルを介して、
外部システムとデータをやり取りするような場合、
これまでのお話だと、インタフェースファイルに対応する
データをentiryとするけれど、
ロバストネス図の段階ではインタフェースファイル自体に
ついては考えてはいけないんでしたよね?
そうすると、インタフェースファイルで連携する外部システムとの
間の boundary オブジェクトとしては、何を置いたらいいのでしょう?




929デフォルトの名無しさん:04/01/24 00:52
なんか知らないけどスレのレベルが上がってきていい感じ。
930デフォルトの名無しさん:04/01/24 01:12
>>927

>ユースケースを作成するのなら
>http://www.amazon.co.jp/exec/obidos/ASIN/4798101273

ロバネスト図のこともかいてある?
931U ◆CZtFsGiu0c :04/01/24 02:47
>>928
えーと、ロバストネス図っていうのはそんなに深く考えて書くようなものではないです。
このユースケースを実現するとしたら、大体システムにはこんな要素が必要だよね、
ってことを割り出すためのもの。ロバストネス図を比較的重視するICONIXアプローチ
でも、ロバストネス図は設計クラス図/相互作用図書いたら捨ててもいい、って
言ってるくらいのものです。

だから、

>そうすると、インタフェースファイルで連携する外部システムとの
間の boundary オブジェクトとしては、何を置いたらいいのでしょう?

「外部システムインタフェース」ってな感じです:-)
そのさいに、「インタフェースファイル」なんていう具体的なものは考慮しません。

そもそもロバストネス図書く必要あるんですか?
>>931
>えーと、ロバストネス図っていうのはそんなに深く考えて書くようなものではないです。

>そのさいに、「インタフェースファイル」なんていう具体的なものは考慮しません。

システムを0から自分だけで設計するのならば、それでいいだろうというのは
わかります。
しかし、、実際の一般的な開発業務では、要件の段階で、
「これこれのファイルを出してくれ」という要求になっているので、
それは、「考慮しなくていい」ではなく、逆に、
要件から見出されるオブジェクトについて、この段階で取り上げていいものといけないものを
「考慮して」、「隠す」「抽象的なものに置き換える」
ということを「しなければならない」ということになると思うのですが。

分析段階の作業として、そういった分別が必要になる、
という理解でいいでしょうか?

>そもそもロバストネス図書く必要あるんですか?

逆にいうと、その必要の有無はどうやって判断すればいいのでしょう?
現状、ユースケースからオブジェクトを抽出して、
分析レベルのクラス図、相互作用図を作ろうとした場合、
ロバストネス図として書く以外の方法が思い当たらないのですが、
勉強不足でしょうか?
933U ◆CZtFsGiu0c :04/01/24 11:06
>>932
インタフェースファイル、というのは要するに外部システムとのデータのやり取りをする
ための手段ですよね。でもそれはファイル渡しだからであって、たとえばRPCでやり取り
するのであれば、メソッドのパラメータと同列に扱うべきものです。

ロバストネス図を書くのであれば、そのインタフェースファイルにどんな情報を載せるのか
を考えて、それをentityオブジェクトとして定義します。外部システムとのやり取りは、
controlオブジェクトがboundaryオブジェクトを介して行うように定義します。
>>933
>するのであれば、メソッドのパラメータと同列に扱うべきものです。
ああ、なるほど、ようやくイメージがつかめました。

稚拙な質問に根気よく付き合ってくださってありがとうございました。
これで、作業を先に進められそうです。
>>917

> ところでmeta-metamodelとmetamodelの違いってなんでしょうか?
> metamodelが自身を定義できるならmeta-metamodelはいらなくないですか?

遅レスですが...
メタモデル、メタメタモデルの関係を理解するためには、
MOFのメタレベルを知っていると良いんじゃない。
メタレベルは次のように定義されている。

M3 = MOF (UML構成要素を定義)
M2 = Class, Attribute, State, Activity....etc (UMLの構成要素)
M1 = Class "Customer", Class "Account" (実際のUML図)
M0 = Smith : Customer, 2010: Account ...etc (M1で定義されたもののインスタンス)

となっていて、
metamodel = M2
meta-metamodel = M3
となる。
UML2.0のSuperStructureの仕様を呼んでいたら、
Acitivityの章に、
エラー処理のnotationが定義されていたね。

2.0になって、より実装に近いレベルまでモデル図を
書くことができるようになるんだなぁ...と感じました。

2月にUML2.0に対応したEAがリリースされるのだそうだ。
どのようなものになるのか非常に楽しみです!
>>936 に関連して

他にUML2.0に対応したツール使っているひといますか?
938デフォルトの名無しさん:04/02/01 23:43
つーかUML2.0は正式にリリースされたのか?
ネット久しぶりでそのへんあいまい。
>>938

予定では2004年4月のはず
サンクスです。
OCLや制約言語やパッケージテンプレートがどうなってるか楽しみです。

話し転じて、
このスレでOMGの資格やその他のUML資格に挑戦された人いますか?
私的には試験問題はなめてるとしか思えない。
ブロンズ取りました。
その後、試験制度がごろっと変わったので現在様子見。
過去スレ見ると、シルバーは結構落ちたヤツもいたみたいだが。
phpでオブジェクト指向プログラミングがしたくて
とりあえずクラス図を書いてみてるんですが
なかなかしっくりこないです。
visitorが紙にメッセージを書いてそれを掲示板に貼る
というのをイメージしてます
なにかコメントあればよろしくおねがいします

http://uploader.org/normal/data/up1285.png
944デフォルトの名無しさん:04/02/07 01:15
>>943
ステートチャート図も見せてください。
http://uploader.org/normal/data/up1296.png

ステートチャート図かいてないです
すみません
これから勉強します

これシーケンス図です。
>>945
visitorがmessageを作成すると、messageが自動的にnameとcommentをwriteする。

特に意味もなく、visitorがregistするとbbsはPaste_msgする。という解釈でよろしいか?
bbsクラスのステートチャート図かいてみました。

http://www.uploader.org/normal/data/up1301.png

おながいします。
>>946
レスどうもです。

visitor : 人
message : 紙
bbs : 掲示板

です。

visitorが書く内容を考えてそれを紙に伝えます。
すると紙はその内容を自分(紙)にかきます。
次にvisitorはその書かれた紙を掲示板に貼ってと掲示板に頼みます。
掲示板はその紙を自分(掲示板)にはります。

ってかんじです。
@ITでクラスを擬人化してとらえると(・∀・)イイ!!って書いてたので
そうしてみました。
でもなんか苦しい
なんだかUMTP(だったっけな)の資格本が出てましたが、
あの内容で資格っつわれてもな・・・困るよ。

>>948
やっぱダイヤグラムで表現するとわかり易いですね。
私的には、クラス図、シーケンス図、ステートチャート図、アクティビティ図
だけでほぼ全てを表現可能だと思います。もちろんユースケース図がちゃんとし
ていることが前提なんですけどね。
(オブジェクト図とかっていらん気がする・・・)
>>949

UMLが読める
  ↓
UMLで設計できる

の間には、おおきなギャップがあるからね。

下位の資格は間口を広げて、資格およびUML の認知度を上げる、
ってのが目的なんだろうと思う。

UML はコミニュケーション手段なんだから、今、重要なのは「UMLが読める」人が増えることで、
そのためには、そのレベルの人を認定する資格があるってのは有意義だと思うけど。
>>950
同感
伝統芸能みたいなもので、理解できる人間が一定数存在してこそ供給する方も存在できる訳で(w

読むだけなら難しいことないんだけど、それでも、
「オレは読めるんだよ」
ってのが優越感につながる仕組みってのは普及のためにはあっていいと思う。
なるほど。納得です。

上でえらそうに書きましたが、会社ではこの資格を強制的に
取得させるらしいです。とるのはいいですが(会社のお金だから)
役に立つのだろうか?
950さんのおっしゃるとおり設計と読むのはえらい違うんですよね。
資格もってるだけでDQNが(ウチ多いんすよ)が設計とかしたら
えらいことになりそうで怖い。

話し転じて、
MDAって実現するんですかね?
メラーの本読んだがどうも絵に描いたもちの雰囲気が・・・。
OCLでがちがちに固めるなら、コーディングと大して変わらんような気がする・・・。
>>952

MDAについては同感

ビジュアルプログラミングと
プログラムビジュアライゼーション(プログラムの可視化)の融合だと思うけど
結局のところ、OCLのようなものでコーディングしないといけないのでは?

と思う
>ビジュアルプログラミングと
>プログラムビジュアライゼーション(プログラムの可視化)の融合だと思うけど

MDAの理念とは全然違うと思うYO
955デフォルトの名無しさん:04/02/09 02:31
もし、UMLがクライアントまで浸透したら便利になるんだろうな。
956ニュージーランド漁夫:04/02/09 08:46
  Λ_Λ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)< >>960さん次スレたてお願いします。
 (    )  \____________
 | | |
 (__)_)
957デフォルトの名無しさん:04/02/09 08:48
  Λ_Λ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)< >>956さんageないでください。
 (    )  \____________
 | | |
 (__)_)
>>955
UML が十分に浸透しないうちに MDA がプッシュされ始めているのが
ちょっとまずいんじゃないかと思ってる。
UML を小難しい、開発屋だけが分かる代物という印象にはしたくない。
>955
結構判るもんだよ。
UML1.0が出たばっかりのころに、クライアントに教えたよ。
アクティビティ図だったら、エンドユーザでも理解してくれる。
アクティビティはフローチャートと変わらん罠。
でも分岐の書き方とかは遥かにスマートなんで、
フローチャートはさっさと駆逐されてホスィ。
フローチャートは詰め込みすぎなように見える。

アクティビティ図で順序、ステートチャート図で状態、
オブジェクト図で構成オブジェクト数の把握、と色々な
視点で考えることが出来るから便利だと思う。

あくまで私的な考えだが。
情報処理試験って未だにフローチャートなんだっけ?
フローチャートは構造化以前のツールなので、今からみれば詰め込みすぎな
のは当たり前だね。

構造化プログラミング、構造化設計でフローチャートは駆逐されたはずなん
だが… (25年前だ)
むしろ構造化プログラミングでもUMLが有効だってことを
世間にアピールする方がよいかもしれませんぬ。
構造化プログラミングでは、その手の絵は不要。
プログラミング(詳細レベル)の範疇なんでUMLは不要だし、
スパゲッティにもならないからフローチャートも不要。
これってどうなんでしょう?

UMLモデリング教科書 レベル1
ttp://www.cbook24.com/bm_detail.asp?sku=4798105074

UML2.0なんでしょうか・・・・
968967:04/02/12 13:34
>>968
「コラボレーション図」という言葉があれば
UML2.0ではないと思って間違いはなさそうだと思う
>969
UML2,0にはないぞ。
コミュニケーション図
ステートマシン図
うめろー
新スレ立てるの早すぎのような気も…埋め立てついでに質問。
社内研修でUML教えるんだけど、そういう目的の時はUMLは手書きの方がいい?
JudeなどのUMLツールを使わせた方がいい?

ツール使わせると試行錯誤が楽になって受講者に良さそうなんだけど、
ツールの使い方の方ばかりに注意が行ってしまって、
肝心のUMLとそれを使った分析設計がなおざりになりそう。

外部の研修受けに行ったときは紙に手書きだった。
紙だと添削がしやすくていいかも。
>>972
おれは人に教えたことなんかないけど、紙のほうがいいと思う。
紙に鉛筆のほうが制約がない分、むしろ試行錯誤しやすいと思う。
>972
ツールだと、よほど高価なものを使わないと、ツールの制約にはまりそうですね。
>>974

具体的にはどんな制約?
976U ◆CZtFsGiu0c :04/02/16 11:49
>>972
クラス図なら模造紙にポストイットあたりがいいんじゃないでしょうか。
シーケンス図で試行錯誤するときなんかは、ツールのほうが楽だったりします
けどね。

受講者が使用するツールが決まっているのであれば、ツールのトレーニングも
兼ねてツールを使うのもありだと思います。
977972:04/02/17 10:58
ご意見感謝です。>>973-976
紙の方がいいという意見が多いね。

ツールの制約とは違うかもしれないけど、Visio2000を使ったときに
うるさい警告でクラス図が真っ赤になった時はうんざりした。
「正しい」図をかけ、という意図はわかるんだけど、正直うるさい。

>>976
ポストイットよさそうですね。クラスアイコンの表記に使うと移動が楽になりそうです。

受講者が使うツールは多分決まってないので、
とりあえず紙に手書きですることにします。
978デフォルトの名無しさん:04/02/22 01:56
OMG認定UML技術者資格試験というものがある。
http://www.umlcert.org
UMTPとOMG認定と、
とりあえず新入社員教育の目標につかうのは、
どっちがいいでしょか?
>>979

新人教育の場合には、UMTPはつらいんでないの?
モデリングの技術は実際に業務で使いながら覚えそうなもんだし。
ただ、OMGのほうはUML2.0なんだよな...

とりあえず、ある程度の文法を覚えたかどうかレベルのものが
あれば、いいんだけどね。昔のブロンズのような。

それとも、UMTPの一番下ってブロンズと同等なのか?

(あんまり答えになってないっすね)
>>980

御意見ありがとう。
OMGが2.0というのすら知りませんでした。

L1-T1だけなら、すごく大雑把な概要はわかりそうなので、
これでいいかなと考えておりまする。
OMGの半分の費用ですむし。
>>981

確かに費用は半分で済むが、(履歴書などに書けるという意味での)
資格にするためには、結局2つ受験しないといけない

目安や目標として使う分にはいいが、資格にはならないので
そのところをどうするかってのがあるかも
(資格にならない費用を認めるかどうか)

あと、UMTPのほうが比較的本屋に参考書が並んでいる気がする点は
いいとおもう
つまり初心者は当分の間、UML1.5で勉強していればいいってことですね。