トップページ⇒tech
637コメント235KB

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

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

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

前スレ(1):http://pc3.2ch.net/test/read.cgi/tech/980236172/
0446デフォルトの名無しさんNGNG
>>445
こういう根性のやつは気に入らない。
金くらい出せよ(怒)
0447デフォルトの名無しさんNGNG
しかし、気の利いた UML ツール作れれば商売になるよな。
UML ツールも 100 以上出てるけど、これだってのがない。
0448デフォルトの名無しさんNGNG
>>447

自分的にはEAっすね
0449デフォルトの名無しさんNGNG
EAってMagicDrawとかと比べてどこが凄いの?
0450デフォルトの名無しさんNGNG
>>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円
0451デフォルトの名無しさんNGNG
既存のソフトがどんな設計しているのか知りたいのですが、
UMLによる設計図付きのオープンソースソフトウェアって無いですか?
0452デフォルトの名無しさんNGNG
風林火山
0453デフォルトの名無しさんNGNG
UNIX ユーザで Dia 使ってる方は多いと思いますが、
日本語をちゃんと扱えるか、とか、Windows 版の動作とか、どうでしょうか?
0454デフォルトの名無しさんNGNG
448ですが、

>449
Tnx

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

自分的にJavaは重くていやなので、EAと。満足してます。
0455デフォルトの名無しさんNGNG
>>454

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

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

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

http://www.rational.co.jp/pdf/price/PL-ROS-020701.pdf
0458デフォルトの名無しさんNGNG
>456,457

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

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

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

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

よくわからんが、どういう誤解が生じると?
それと言語に近づくって、どの言語に近づくの?
0461デフォルトの名無しさんNGNG
ほれ、一覧にしてやる。

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

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

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

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

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

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

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

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

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

MDAで開発しているからそう言えるのかもしれんが
0471デフォルトの名無しさんNGNG
>>470

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

その通りですね。

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

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

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

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

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

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

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

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

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

普通扱えるんじゃないの?
0506デフォルトの名無しさんNGNG
関連クラスってどういう意味だ?
0507デフォルトの名無しさんNGNG
どういう意味って・・・クラス間の関連をクラスにしたもの

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

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

俺はばかなんです。上の人にはそれがわからんのです。
0514デフォルトの名無しさんNGNG
とほほ・・・

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

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

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

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

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

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

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










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

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

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

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

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

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





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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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