トップページ⇒tech
983コメント330KB

UML皆でお勉強しよ♪ 3項関連

■ このスレッドは過去ログ倉庫に格納されています
0001ニュージーランド漁夫NGNG
  Λ_Λ  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ( ・∀・)< お勉強しよ♪
 (    )  \____________
 | | |
 (__)_)

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


前スレ(1):http://pc3.2ch.net/tech/kako/980/980236172.html
前スレ(2):http://pc2.2ch.net/test/read.cgi/tech/1030173783
0153デフォルトの名無しさんNGNG
>>152
そこはもうさがしたんだけど
レポートしかないことない?
0154デフォルトの名無しさんNGNG
>>149
ライフサイクルが同じクラスの関連をあらわすときに使います。
aggregateと記号は似ていますが、かなり別もんです。
0155デフォルトの名無しさんNGNG
UMLはおなかがいっぱいになりまつか?
0156デフォルトの名無しさんNGNG
ビジネスマンのためのUML入門 ビジネスモデリングによるアプローチ

これどうですか?
0157デフォルトの名無しさんNGNG
>>156

あなたの立場によっては役に立つ
エンジニアのUML入門用にはあまり役に立たないが
マネージャーなどの立場であれば役に立つと思う
0158デフォルトの名無しさんNGNG
UMLはおなかが空きますか?
0159デフォルトの名無しさんNGNG
シーケンス図で
コンストラクタはどのように表せばいいんでしょう?
それとも、シーケンス図にコンストラクタは入れないのがノーマルですか?
だとしたら、実装の時にプログラマが適当に実装しちゃう
感じでしょうか。
0160デフォルトの名無しさんNGNG
>>159

生成メッセージを利用する

おそらくどの書籍でも解説していると思うので
適当なのを読んでみるがよろし
0161デフォルトの名無しさんNGNG
UMLからC++実装コードに落とすときは、やっぱSTL使うべきなのだろうか。
つーかSTL使わないとiteratorやらvectorやらのためにコード書かなきゃならんのか。。。
うわぁ、STLも勉強せにゃならん。。。
0162デフォルトの名無しさんNGNG
WebアプリをUMLで設計する練習をしようとしています。
ユースケース図は書きました。
ページの繋がりというか入力ページからservletに値を渡して、Beansに格納して結果ページに
その値を表示というような流れを書くにはどの図を利用すればよいのでしょうか?
よろしくお願いします。
0163デフォルトの名無しさんNGNG
>>162

流れを書くにはシーケンス図かな
ただ、Webアプリのようなものであればロバストネス図という選択肢もあり
0164デフォルトの名無しさんNGNG
UMLのシーケンス図ででは、オブジェクト同士がメッセージ送信によって協調動作することになっている。
概念的には、各オブジェクトがそれぞれ独立的に存在し、必要に応じて通信を行っている。
しかし、メッセージ送信は、実際にはメンバ関数の呼び出しで表現される。
オブジェクトがメッセージを受け取ったときに、それに応じたメソッドが起動されるのではない。
オブジェクトを並列動作させるためにはスレッド化が必要だが、
そのための方法はいまのところ標準化されていない。
0165デフォルトの名無しさんNGNG
おそらく画面遷移図を描きたいのでしょう。であれば状態遷移図かアクティビティ図です。
0166デフォルトの名無しさんNGNG
UML使いはじめて間もない者ですが、画面遷移図なら、無理矢理UMLで書かなく
てもいいんじゃない?
UML2.0とかでツールと連携するんなら、ともかく、画面遷移を定義だけするな
ら、矢印でつながってればいいじゃん。
反論キボン
0167デフォルトの名無しさんNGNG
そう思うなら,別に使わなくても良いよ。
強制はしない。

共通仕様というのは皆が分かるように書くためのもの。
これが必要ない,代替手段がある,というのなら誰も止めはせん。
0168デフォルトの名無しさんNGNG
>>166

アンブラーも似たようなこと言ってた。
無理矢理UMLで書いてわかり難くするよりも、わかり易いものの方が
いい。
0169デフォルトの名無しさんNGNG
VISIOで状態遷移図書いて、UMLだと言いはればいいんじゃないか?
たいして変わらんし。
それで納品したよ?

0170デフォルトの名無しさんNGNG
>>168

XMLの「貴族とボヘミアンの階級闘争」みたいなものがUMLでも
起こるのだろうか。
UMLを厳密に使う派(MDA)vsスケッチ派みたいな。
0171デフォルトの名無しさんNGNG
クラス図の「関連」と「誘導可能な関連」って何が違うんですか?
単にあるクラスがあるクラスを使っているって解釈しちゃだめなの?
0172デフォルトの名無しさんNGNG
>>171
上流工程のモデリングだと具体的に参照がどちらの方向を向いているか決定できないことが多いです。
なので単純な関連を用います。
反対に詳細なクラス設計になってくると参照の方向性を厳密に決定することができるようになります。
そうした場合は関連の誘導可能性を有効にしたりしす(しなくてもかまいませんが)。
わたしはクラス図に具体性をより盛り込むことができるようになるので、結構使いますが、
一般的にはあまり利用されてはいないみたいですね。
0173仕様書無しさんNGNG
>>172
ソースとかを書くぐらいのレベルなら「関連」は全て「誘導可能」にできる
ということですか。なるほど、理解できました。
ありがとございました。
0174デフォルトの名無しさんNGNG
インスタンス同士なら一対多なんだけど、
それをクラス図で考えると多対多になるような場合、
一対多であることをどのように表現したら良いでしょうか?

例えば、あるシステムの一部で、ネットワーク上の通信を
司る二つのクラスSとCがあって、Cは必ず一つのSと
通信し、Sは複数のCから通信を受け取るとします。
これだけで考えるとCからSへの関連は一対多になるますが、
Cはその通信の種類によってあらかじめS1につながる
ものとS2につながるもの、というふうにクラスとして
考えるCは複数のSへつながるので多対多と考えてしまいます。
このような場合、インスタンス同士の一対多がクラス間で
は多対多になるようなものはクラス図上ではどのように
表せば良いのでしょうか?
0175デフォルトの名無しさんNGNG
>>174

ひとつのCにとっては必ずひとつのSのみと通信するということなので
クラス図でも一対他ということになるはず

インスタンスとクラスをごっちゃにして考えるから混乱する
クラス図はあくまでもクラスの図なので。


間違っていたら訂正ヨロシク

0176デフォルトの名無しさんNGNG
>>175
that's right.

>>174
クラス図はクラス間の静的な関係を考察するものなのでインスタンスは考慮しない。
具体的に言えば、もしそのSとCの関係を多対多と分析してしまうと、
Cから複数のSへの関連が発生、その結果、Cが複数のSと通信できるように
実装しなきゃならないことに。これじゃ困るわけでしょ?
0177デフォルトの名無しさんNGNG
>174
こんなんとか。
┌───┐1  *┌───┐
│server ├──┤client │
└───┘   └───┘
   △
   │
  ┌┴─────┐
┌┴────┐┌┴────┐
│server_imp1││server_imp2│
└─────┘└─────┘

0178デフォルトの名無しさんNGNG
>>177

server_imp1とserver_imp2はこの例の場合、同じクラスの
インスタンスなんだよね?
となると、汎化するのは違う気がする。server_imp1:serverかな

0179デフォルトの名無しさんNGNG
>>178
リアライゼーションに見える。
0180デフォルトの名無しさんNGNG
あるクラスAのフィ−ルドがクラスBであるときはAとBの間には
関連があるんですよね?
じゃあ、AのメソッドがBを使用(参照?)しているときは何になるんですか?
やっぱり関連ですか?
0181デフォルトの名無しさんNGNG
DBとクラスがごっちゃになっていますね。
>>180
0182デフォルトの名無しさんNGNG
依存。点線の開いた矢印。
0183デフォルトの名無しさんNGNG
>あるクラスAのフィ−ルドがクラスBであるときはAとBの間には

この場合は集約じゃないの?
0184デフォルトの名無しさんNGNG
>>183
集約は関連の一種
0185デフォルトの名無しさんNGNG
>181
Java用語で、クラス内で定義されている変数をフィールドと言う。
ttp://www.google.co.jp/search?num=50&hl=ja&inlang=ja&ie=Shift_JIS&oe=Shift_JIS&q=Java+%83N%83%89%83X+%83t%83B%81%5B%83%8B%83h&lr=lang_ja
0186デフォルトの名無しさんNGNG
>>180
> じゃあ、AのメソッドがBを使用(参照?)しているときは何になるんですか?
> やっぱり関連ですか?
<<use>>ステレオタイプのついたdependency relationshipというのは?
メソッドの引数なんかへの関係を敢えてクラス図に入れたいときにこれを使うという話を何かで読んだことがある。
0187デフォルトの名無しさんNGNG
観念論ばっかりだな(嘲笑
0188デフォルトの名無しさんNGNG
>>187
おまいの失敗体験きぼん
0189デフォルトの名無しさんNGNG
http://dictionary.goo.ne.jp/search.php?MT=%B4%D1%C7%B0%CF%C0&mode=0&kind=jn
> かんねん-ろん くわん― 3 【観念論】
> 〔idealism〕物質ではなく観念的なもの(イデア・理念・意識など)が根本
> 的本質だとする考え方。生滅変転の現象界に対し永劫不変のイデア界の優位
> を主張するプラトンの客観的観念論、近代では物の存在を知覚に解消しよう
> とするバークリーの主観的観念論、経験的世界は超個人的な超越論的主観に
> より構成されるとするカントの超越論的観念論など多様に存在する。
> 「観念論」は主として認識論上の語で、倫理的な局面では「理想主義」と称
> する。また、存在論・世界観上は別に「唯心論」の語を与えることもある。
> アイディアリズム。
> →実在論
> →唯物論

だそうです。
0190デフォルトの名無しさんNGNG
>>186
是非にソース教えてください。

>>187
ソースに対してのUMLの記法の問題だから観念論(?)になるのかな。
別にエラーになるわけじゃないからねぇ〜、そんなに詳細・正確には
書かないよね〜。
MDAがはやってきたら記法にはうるさくなるだろうが。
0191デフォルトの名無しさんNGNG
>>190
comp.object見てるとよくでてくるよ。
http://groups.google.com/groups?num=100&hl=ja&lr=&ie=UTF-8&c2coff=1&q=use+stereotype+dependency+relationship+method
ここ↑にでてくるやつなんかはそんな話がちらほら。

おそらく、>>180に対する答えなんかはこれ↓っぽいし。
http://groups.google.com/groups?q=use+stereotype+dependency+relationship+method&hl=ja&lr=&ie=UTF-8&c2coff=1&selm=b28u3f%241a78ip%241%40ID-20080.news.dfncis.de&rnum=3

>>187のソース(俺は>>187ではないからそのものかどうかは知らんが)これら↓とかはそんなような話っぽいし。
http://groups.google.com/groups?q=use+stereotype+dependency+relationship&hl=ja&lr=&ie=UTF-8&c2coff=1&selm=407bda80%241%40news.totallyobjects.com&rnum=5
http://groups.google.com/groups?q=use+stereotype+dependency+relationship+method&hl=ja&lr=&ie=UTF-8&c2coff=1&selm=c6gf3k%24bjjf3%241%40ID-20080.news.uni-berlin.de&rnum=10
http://groups.google.com/groups?q=use+stereotype+dependency+relationship+method&hl=ja&lr=&ie=UTF-8&c2coff=1&selm=407bda80%241%40news.totallyobjects.com&rnum=4

俺の思うに、引数だと<<parameter>>スレテオタイプの関連を使うていうのがもっといいんではないかと。
現状のUMLだと意図が伝わればそれで無問題。>>190の言うようにMDAだと、然るべきところに然るべきものを
正しく図にしないとちゃんとコードを出してくれなくなるだろうから、そういったのはかなりうるさくなるかもね。
0192デフォルトの名無しさんNGNG
UMLの本で下記のようなのってないですか?

なぜ<<include>>を使うのか、
なぜ<<extend>>にした方が良いのか、などのオブジェクト指向の説明を含み、
現場で活用しやすい図や概念から優先的に取り上げていて、
実際のモデルを例に「なぜこうモデリングしたのか」の納得のいく説明がある書籍。
0193デフォルトの名無しさんNGNG
>>192

書籍じゃないけどこれは多少参考になるかも
ttp://www.atmarkit.co.jp/farc/rensai/uml_b_l01/uml_b_l01.html
0194192NGNG
>>193
参考になりました。
ありがとうございます。

昨日本屋に行ったのですが、
UMLの本って沢山売ってますね。
その割に普及してないような気が・・・。
0195デフォルトの名無しさんNGNG
>>194
意欲的に使おうとしているところもありますよ。
ただ納品物として求められていない限りクラス設計書なんかは作らないですね。
アーキテクトが存在する現場にも行き当たったことがありませんし……。

自分用の資料としては作っていますが。
0196デフォルトの名無しさんNGNG
「俺様専用UML活用法」
という本があれば買う。
0197デフォルトの名無しさんNGNG
>>195
漏れのところでは設計の際に必ず、クラス図・シーケンス図を書かされる。
当然それも納入対象。
0198デフォルトの名無しさんNGNG
UMTPのL1-T1、T2受かった。
が、この程度の問題できたところで何かの役に立つのだろうか?
やっぱOMGのじゃないと意味ないかなぁ。
0199デフォルトの名無しさんNGNG
シーケンス図で、
・メソッドを呼び出し、戻り値を受け取る
・その戻り値を、別のメソッドの引数とする

ということを表現するにはどうすればいいんでしょうか?
戻り値を保持する方法がわからず・・・
0200 NGNG
>>198
同じくこないだ取得しました。

認定者番号が異常に若いので、普及してないんだろうなぁとか
考えてしまい、合格したのにちょっと悲しい気持ちになりました…
0201デフォルトの名無しさんNGNG
>>198>>200
旧ブロンズ/シルバー/ゴールドと比較してどのレベルかレポートしてもらえるとうれしいです。
私はブロンズとゴールドは取ったが、シルバーは1問足りなかった。
しかもあとでみなおしたら回答欄ずれが原因だった……。
ブロンズも何度か受けてると3回に1回は新しいことを知れたりして結構好きだったんですけどね。
0202デフォルトの名無しさんNGNG
>>199
戻り値は呼出元への点線で返すが、「保持」という概念をシーケンス上で表す術はないものと思われる。
名前やら型やらで類推するしかないでしょう。
例えば戻り値となったオブジェクトの名前をメソッドの引数に用いるとか。
0203デフォルトの名無しさんNGNG
>>201
珍しいなぁw >ゴールド取得&シルバー失敗
自分はシルバーとって、ゴールドはそのうちと思ってるうちにUMTPに移行しちゃった。
0204デフォルトの名無しさんNGNG
>>203
いかにPGに偏ってるかの証左だと思うよ
0205デフォルトの名無しさんNGNG
今シーケンス図のお勉強中なんですが、
いわゆるIteratorパターンの図を書こうとしてみてつまってます。

1)呼び出し元がAggregateクラスをcreateして、
2)呼び出し元がAggregateにiteratorよこせメッセージを送り、
3)AggregateがItertorをcreateして、
4)呼び出し元がIteratorにnextメッセージを送ると、
5)Iteratorが内部に持ってるAggregateの次の「行」を返す

のだと思うのですが、
5)を表現するにはIteratorの向こう(右側)に、さらにAggregate
がないといけませんよね?

そうした場合、IteratorをcreateしたAggregateと、Iteratorの向
こうのAggregateが同じモノだというのをどう表現したらよいの
でしょうね?
0206デフォルトの名無しさんNGNG
>>205
左向きの矢印書けば?
0207205NGNG
>>206
それありなんすか。
呼び出しは必ず右向き→でなければならないのかと思ってました。

ありがとうございます。
書きあがりました。
0208デフォルトの名無しさんNGNG
>>205
>5)を表現するにはIteratorの向こう(右側)に、さらにAggregate
>がないといけませんよね?
そんなことをしたらいかん
オブジェクトのクローンを生成しているなら話は別だが
同一のオブジェクトを複数書くとわけのわからんことになる
IteratorがAggregateの次の行を取得するメッセージをXとすると以下の通り。

[元]
 ‖
 ‖―1→[A]
 ‖    |
 ‖―2―→‖
 ‖    ‖―3→[I]
 ‖←………‖    |
 ‖    |    |
 ‖―4――――――→‖
 ‖    |    ‖
 ‖    ‖←―X―‖
 ‖    ‖    ‖
 ‖    ‖………→‖
 ‖    |    ‖
 ‖←………………5…‖
 ‖    |    |
0209208NGNG
やっぱスペースがずれたか……
エディタにコピペして見てちょ
0210デフォルトの名無しさんNGNG
>>209
ありがとう。
いい人の多いスレだなぁ。

よい子が住んでるのがよい街なら、
いい人が住んでるここはいいスレですね。
0211名無しさん@そうだ選挙に行こうNGNG
今、SOFTBANKの「コンサルタントになる人のはじめての業務分析」って本を読みながら
勉強しているんだけど
例として出てくる通販の分析でアクターとして消費者、生産者、配送者と出るんだけど
以前読んだオージスのチュートリアルの同じような例では、顧客(=消費者)は
システムに直接関わらないからアクターにならないと書いてあったんだけどどっちが正しいの?
個人的には「コンサル〜」の説明の方がしっくりきたんだけど...

0212名無しさん@そうだ選挙に行こうNGNG
>>211
それは視点が違うからだよ。
ビジネスドメイン分析の場合は、必ず顧客がアクターとしてでてくるよ。
システム設計の場合は、顧客という寄りはシステム利用者という視点でアクターがでてくる。
目的が違えばモデルにたいする視点が違う。
どちらが間違っているという話ではないと思うよ。
0213名無しさん@そうだ選挙に行こうNGNG
>>211
どっちも正しい。
同じような業務でも要求されるシステム要件が異なれば
分析も変わって当然。
その辺をもう少し丁寧に読み込んでごらん。
それが分かるようになれば理解が進んだってことだ。
0214211NGNG
>>212,213
成る程、視点の違いだったんですね。
システムとしてどんなサービスを提供するか?
という場合はビジネスドメイン分析。
システムは(上記分析結果の)サービスをどのように提供するか?
という場合はシステム設計となるという理解でよいのでしょうか?
今までこういった点を意識して考えたことがあまりなかったもので。
(ほぼ受託開発オンリーだったからかも)
0215デフォルトの名無しさんNGNG
UMLというよりはオブジェクト指向プログラミングについてなんですが
メソッドに外から引数を渡すか、それとも
メンバ変数にセットしてそれをメソッドからつかうかで
悩んでいます。
こういった使い分けはどう判断していけばいいんでしょうか?
ちなみに今は、コンストラクタでメンバ変数をセットして
それをメソッドからつかってます。
0216デフォルトの名無しさんNGNG
複数のメソッド間で使い回される変数は
メンバ変数にセットし、
あるメソッドでのみ使われる変数は引数として渡す
といった考え方もあるとはおもうのですが、
その場合開発が進んだ際、ある1つのメソッドを
2つに分けようという場合にクラスの設計を大きく変更することになるため、
すべてメンバ変数にしているのですが、
メンバ変数の数が膨大になってしまうクラスも出てきたりして悩みます。
0217デフォルトの名無しさんNGNG
>>215-216
悩み方が非常に非オブジェクト指向的に感じるのだが、さて?
何をメンバ変数にするかはクラス分析の過程で決まるものだし、
開発が進んだあとでインターフェースを変更するようじゃ、
そら大変だっつうか、分析失敗してたんじゃないかとか、ねぇ?
0218デフォルトの名無しさんNGNG
何を引数にして何をメンバ変数にするかは
クラスで何を実現しようとしてるかによりけりですね。
具体的な要件が判らないと、なんともいいようがないです。

オブジェクト指向って現実世界の諸々を
クラスとその関係でとらえるって事だから
使い分けをどう判断したのかって聞かれたら
「だってそうなってんだもん」としか言えないかな。
特にエンティティの場合。

だから>217は言葉はきついけど、真っ当な答え。

でも、後で失敗したーって事も、正直あるよなあ。
0219デフォルトの名無しさんNGNG
>>217
実際の開発を経験せずに
紙上でオブジェクト指向神話をすりこまれた
人間のにおいがただよってるぞ。
一度「オブジェクト指向でなぜ作るのか」
という本をよんでみては?
0220デフォルトの名無しさんNGNG
実際の開発というのは、
オブジェクト指向による実際の開発
のことな。
0221デフォルトの名無しさんNGNG
>>218
現実の世界の諸々をたかがオブジェクト指向で
表現できるわけがないってことに気づいた方がいいよ。
>>219の本をあなたにも勧めておく。
0222デフォルトの名無しさんNGNG
プログラミング初心者でかつ最近 Struts とか使ってるのだが、最初にやったオブジェクト指向関連の言説
(フィールドとメソッドを持つのがオブジェクトだとか)がよく分からなくなってきた。

Action は Action するだけだし、データを持つ Bean は全然メソッドは持たないし。
こんな疑問を持ってるのは私だけなのか。
0223デフォルトの名無しさんNGNG
>222
システムがオブジェクト
0224デフォルトの名無しさんNGNG
>>215-216
コンストラクタで設定される値はあくまでも初期値だよ。
メンバ変数は、そのオブジェクトの状態を表しているものだよ。
状態というのは、刻々と移り変わっていくものなのだ。
変わらないなら単なる定数でいいわけだしね。
安全に状態を変化させるためにメソッドがある。
メソッドを呼び出すことで、オブジェクトの内部状態を
変化させることができるのだ。
メソッドには引数を持つことができる。
引数によって、オブジェクト外部の情報を内部に伝えることができる。
引数の値をメンバ変数にそのまま設定する場合もあるだろうし、
単に処理に使って終わりのこともある。
そんなのは作る人の都合なので、気にすることはない。

マイ注文 = new 注文(”田中太郎”, "2004/07/18");
明細1 = new 明細("弁当", 1);
明細2 = new 明細("おにぎり", 3);
マイ注文.addDetail(明細1);
マイ注文.addDetail(明細2);
マイ注文.checkOut();

こんな例で、明細をコンストラクタで渡してたら
大変だし、やっぱり買うのやめた処理もできない。
もう一度まとめると、オブジェクトは変化する。
0225218NGNG
>>221
うーむそうか。あの本って所謂オブジェクト指向の
ススメって訳じゃないんだ。
同じシリーズの他の本読んだ事あったのと
タイトルの印象で、入門書みたいなんだと思ってた。

そうねえ、失敗しとるって事は、「たかがオブジェクトで〜」
って事なのかも知れないですね。
それにそう思ってる方が俺の心の健康にも良いし。
有難う、読んでみます。
0226デフォルトの名無しさんNGNG
>>222
オブジェクトっていっても処理だけの奴もある。
データだけ持っていればいい奴もある。
そんなのは設計者の都合だから気にするな。
基本は内部状態と、それを外からいじるインタフェースだ。
ActionはActionだし、データを持つBeanはBeanとわかる。
独立したオブジェクトとしてカテゴリ分けできるところが偉いのさ。
0227デフォルトの名無しさんNGNG
>>224
どうもありがとうございます。
すごくよくわかったような気がするのでコードをいじくり倒してみたいと思います。
0228デフォルトの名無しさんNGNG
オブジェクト指向がそんなにすばらしくて
クラス設計、分析に間違いが入り込む余地がないほどのものだったとしたら、
今現在これほどアジャイルプロセスや、RUPなどの
アイテレーション型の開発が叫ばれる理由もないわけで。
要は魔法のツールじゃないってこと。紙面に踊るうたい文句にだまされちゃあいけない。
とはいえ、oopのほうが従来のプログラミング手法よりは
そういった間違いを防ぎやすいしようにはなっていると思います。
0229デフォルトの名無しさんNGNG
>228
オブジェクト指向はうまく使えれば、いいものだと思う。
ただ、モデリングの方法をあいまいな表現を残さずに説明できるひとがいない。
誰にでも上手に使えるところまでいってない気がする。オレモナー
0230デフォルトの名無しさんNGNG
モデリングの方法をあいまいな表現を残さずに説明できる手法って何かある?
オブジェクト指向が特別曖昧だとは思わないけど。
0231デフォルトの名無しさんNGNG
UML
0232デフォルトの名無しさんNGNG
>>230-231
>>229の言ってるのはモデルを曖昧さなく表現する方法ではなく
モデリングの方法を技術として伝授できる人がいないってことっしょ?

日本人よりも西洋人のほうがこうした「技術の定式化」→「曖昧さのない伝授」は得意そう
0233デフォルトの名無しさんNGNG
>>232
訴訟王国だからなあ。
あと暗算が不得意ってのもかなりあるんじゃない?
0234230NGNG
>>229はオブジェクト指向のモデリングの手法が曖昧だと言ってるのかと思った。
>>230はどんな手法であれ(オブジェクト指向と同程度に)曖昧に決まってるじゃんと言っている。
最後はセンスとかそういうの。

あとモデリング以前に、顧客から情報を引き出すのに失敗してるのがガンだと思う。
顧客は嘘をつくからね。間違った情報に基づいて分析したってそりゃだめに決まってる。
合意した事柄に対する拒否権を顧客が事実上持っているかぎり、これは解消されないだろうねえ。
0235デフォルトの名無しさんNGNG
質問です。
・ユーザーがデータ受信ボタンを押した時、外部システムからデータを取ってくる
といったシナリオでユースケースを書く場合、アクターはユーザーだけなんですか?
外部システムがアクターになるのは(例えば)外部システムが定期的にデータを
こちらのシステムに送ってくる場合なのでしょうか?
0236U ◆CZtFsGiu0c NGNG
>>235
その場合外部システムも立派なアクターです。

>外部システムがアクターになるのは(例えば)外部システムが定期的にデータを
こちらのシステムに送ってくる場合なのでしょうか?

これは、ユースケースを起動するアクターということですよね? 通常この
ようなアクターは「主アクター」と呼びます。ユースケースを起動する
アクターだけでなく、システム境界の外にあってシステムとやり取りする
ものは、なんでもアクターです。
0237235NGNG
>>236
どうもありがとうございます。すっきりしました。
236のシナリオで職場の人から
「ボタン押すのはユーザーなんだからアクターはユーザーだけだ」といわれた時、
それでは大半のC/S系のシステムではユーザーというアクターしか存在しないという話になるが、
そんな訳無いよなと思ったもので。

0238デフォルトの名無しさんNGNG
顧客に提出する場合、人間じゃないアクターに
棒人間の絵を描くのは、どうも抵抗があるんだよなあ。

これはUMLと言ってですね、ってな話から始めるのも
なんか客を上から見たような感じがしちゃって。
0239デフォルトの名無しさんNGNG
>>238
擬人化してみましたって言えばどう?
0240デフォルトの名無しさんNGNG
>>238
純粋に見た目だけの問題であれば
別の形で表現してもいいんじゃないですか?
Unifiedじゃないじゃんって反論もあるかもしれませんが
Languageは所詮道具なんですから
必要に応じて改良するのも手だと思います。
0241デフォルトの名無しさんNGNG
>>240
うん、実際にはやっぱりマシンの所はマシンの絵を
貼ったりしてます。

結局昔ながらの図表入り仕様書って感じですけど
まあいいや。
0242デフォルトの名無しさんNGNG
UMLを覚えるメリットを教えて下さい。
今の自分にはUMLは、*手段の手段の為*にしかならないとしか思えません。
0243デフォルトの名無しさんNGNG
>>242
ではそれ(UML)は貴方にとっての問題解決にならなかったのでしょう。
覚えるメリットなどと言う青い鳥探しは止めて貴方の問題解決にこそ時間を割いては如何でしょうか?
0244デフォルトの名無しさんNGNG
UMLを覚える前にJavaを知っていたほうがいいのでしょうか?
0245デフォルトの名無しさんNGNG
>242
そんなのどこの本にも書いてある。
「私にとって」UMLは大したモンじゃありませんという表明にはなってるが、どうやっても
質問には見えねえな。しかも他人やUMLからみれば無価値な情報だしナァ。

>244
教養として触れてみるということなら、UMLの理解にはさほど時間もかからないので、
とりあえずUMLだけやってみて自分で使えるかどうか判断すればOKだと思う。
UMLの考え方を学ぶのにC++、Javaなど個別言語の知識はあまり無くてもよく、
システムの分析や設計といった部分は理解できる。JavaにかぎらないOOライクな
考え方も同時に身についていくと思うが、こっちの方は必須知識。
実際にはプログラミング用途で使われることが多いため、Javaなどを使った
実装レベルの事例が用いられることは多いし、マの書いた図は言語の知識が
ないと当然読めないが、Java使ってないならそこは今すぐには必要ないんじゃね?
0246デフォルトの名無しさんNGNG
汎用とはいえやっぱり主には設計-実装用に使われてるものだと思うんだが、
プログラミングに縁が無いのにUMLやるのはどんな奴なんだろう。
幸せになれとんか?
0247デフォルトの名無しさんNGNG
Sヨ気分になれる
0248デフォルトの名無しさんNGNG
>>242
誰かの目的は他の人の手段になりますからね。
システム構築のが目的の人もいれば、手段の人もいる。
0249デフォルトの名無しさんNGNG
>>246
縁が無いというのがどの程度のことを指しているのかわかりませんが、
設計者はあんまりプログラミングに縁は無いです。
0250デフォルトの名無しさんNGNG
縁はないけど、コードをイメージしないで描く奴の図面ってのは
たいてい論理的に破綻しているんだよな…

だからプログラミングやれ!って話ではないけど
プログラミングを通らないで設計をびしっと身に付ける方法ってないかなあ
思いつかん…
0251デフォルトの名無しさんNGNG
簡単な要件定義レベルとか画面構成レベルなら、
コーディング知らなくてもできるかもしれないけど、
やはり最終的にコーディングやテストの根拠となるのが設計だから、
コーディング知らないでやるには根本的な矛盾が生じるよ。
0252デフォルトの名無しさんNGNG
つまらない質問でごめん。

みんなに聞きたいんだけど、たとえば自分があるシステムを作りたいと思った。
そのシステムの設計をUMLでやるとする。
どういう順番で図を書き出す?

ホントおれバカで、でもUML学びたくて勉強しているんだけど
どの図から書けばいいのかわかんなくて手が動かない。。。

ユースケースからアクティビティいってクラス図とかって変?
■ このスレッドは過去ログ倉庫に格納されています