C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[5]: UML参考 サンプルソースサイト


(過去ログ 74 を表示中)

[トピック内 10 記事 (1 - 10 表示)]  << 0 >>

■43377 / inTopicNo.1)  UML参考 サンプルソースサイト
  
□投稿者/ 勉強中 (1回)-(2009/11/09(Mon) 00:58:37)

分類:[.NET 全般] 

UMLのサンプルとして
C#コードをクラス図などに置き換えているサイトなどご存知でしたら教えてください

探しても見つかりませんでした。
最悪javaとか別の言語でもソースがあってそれをUMLにかえているものならなんでも結構です
宜しくお願い致します
引用返信 編集キー/
■43379 / inTopicNo.2)  Re[1]: UML参考 サンプルソースサイト
□投稿者/ επιστημη (2256回)-(2009/11/09(Mon) 06:11:28)
επιστημη さんの Web サイト
No43377 (勉強中 さん) に返信
> UMLのサンプルとして
> C#コードをクラス図などに置き換えているサイトなどご存知でしたら教えてください
>
> 探しても見つかりませんでした。
> 最悪javaとか別の言語でもソースがあってそれをUMLにかえているものならなんでも結構です
> 宜しくお願い致します
引用返信 編集キー/
■43380 / inTopicNo.3)  Re[2]: UML参考 サンプルソースサイト
□投稿者/ επιστημη (2257回)-(2009/11/09(Mon) 06:13:28)
επιστημη さんの Web サイト
↑ごめんしくった。

ここらへんの書籍ではいかがでしょうか。
http://www.amazon.co.jp/dp/4822281698/

引用返信 編集キー/
■43383 / inTopicNo.4)  Re[1]: UML参考 サンプルソースサイト
□投稿者/ はむちゃん (1回)-(2009/11/09(Mon) 09:21:55)
UMLツール使ってリバースエンジニアリングとか。
ソースからクラス図あたりだと作成できるよ。
引用返信 編集キー/
■43403 / inTopicNo.5)  Re[1]: UML参考 サンプルソースサイト
□投稿者/ たくボン (288回)-(2009/11/10(Tue) 09:35:22)
No43377 (勉強中 さん) に返信
> UMLのサンプルとして
> C#コードをクラス図などに置き換えているサイトなどご存知でしたら教えてください
>
> 探しても見つかりませんでした。
> 最悪javaとか別の言語でもソースがあってそれをUMLにかえているものならなんでも結構です
> 宜しくお願い致します

ないのなら作ってしまえほととぎ・・・。

C#のコードがコンパイル可能で、アセンブリの状態にできるのであればリフレクションを使えばクラス一覧取れるので、その型をぐるぐるしてメンバやメソッドを取ればOK。

今、ちょうど俺も仕様書を残すために似たようなもの作ってるので少しくらいなら情報提供できるかも。Visioでもいんだけど、仕様書の書式とか決まってるとめんどくさかったりする・・・。

アセンブリに含まれるVisual Studio固有のクラスは除外。
MyApplication
MyComputer
MyProject
MyWebServices
MySettings
MySettingsProperty
Resources
ThreadSafeObjectProvider
(これって何かのプロパティで判断できないのかな?今はNameを固定で比較してるんだけど。)

後は、
・メソッドはAttributesを見て、HideBySigやSpecialNameを含むものは除外。
・プロパティやメンバはDeclaringTypeと自身の型を比較して、違えば基底クラスのメンバとして判定。

とかすればクラスに含まれるメンバとかの一覧は取れますよ。

あとは、これをテキストに出力するなりコントロールを自作して再配置可能にするなりすればいいかな。


引用返信 編集キー/
■43406 / inTopicNo.6)  Re[2]: UML参考 サンプルソースサイト
□投稿者/ 渋木宏明(ひどり) (1243回)-(2009/11/10(Tue) 10:27:44)
渋木宏明(ひどり) さんの Web サイト
> C#のコードがコンパイル可能で、アセンブリの状態にできるのであればリフレクションを使えばクラス一覧取れるので、その型をぐるぐるしてメンバやメソッドを取ればOK。

XML ドキュメントを生成して、それを処理するのではダメなんです?

> アセンブリに含まれるVisual Studio固有のクラスは除外。
(略)
> (これって何かのプロパティで判断できないのかな?今はNameを固定で比較してるんだけど。)

判別のためのオレ属性を定義して、それらのクラスに付加するとか。

引用返信 編集キー/
■43637 / inTopicNo.7)  Re[3]: UML参考 サンプルソースサイト
□投稿者/ たくボン (289回)-(2009/11/14(Sat) 13:59:10)
No43406 (渋木宏明(ひどり) さん) に返信
>>C#のコードがコンパイル可能で、アセンブリの状態にできるのであればリフレクションを使えばクラス一覧取れるので、その型をぐるぐるしてメンバやメソッドを取ればOK。
>
> XML ドキュメントを生成して、それを処理するのではダメなんです?

回答遅くなってすいません。話題のインフルさんになってました(笑)
確かにXMLドキュメントでもいいんですけど、毎回XMLコメント付けれるプロジェクトばっかりとは限らないですから。
よく受注する大手のプロジェクトだと、未だにVB6時代のコメントですし。
ソースも酷い時は数千ファイルになりますし、ドキュメント生成のためだけにXMLコメント付けなおすのは(年だから)体力的に厳しいので。


>>アセンブリに含まれるVisual Studio固有のクラスは除外。
> (略)
>>(これって何かのプロパティで判断できないのかな?今はNameを固定で比較してるんだけど。)
>
> 判別のためのオレ属性を定義して、それらのクラスに付加するとか。

これも難しいかも。上のプロジェクトだとメンテの問題等あるので「初心者でもわかるようなコーディングをする」みたいな規約があって、属性とか却下されるんですよ。。。
(#IFとかも1週間くらい説得したけど、結局「リリース時にはこちらで手作業で入れ替えするので#IFはダメ」って言われましたし。)

ほんまアホなSE集団だとこっちが苦労するので、そんな感じッス。

後はオブジェクトブラウザもクラスビューもちょっと使い勝手が微妙だったりするのでw
引用返信 編集キー/
■43644 / inTopicNo.8)  Re[4]: UML参考 サンプルソースサイト
□投稿者/ Azulean (479回)-(2009/11/14(Sat) 22:00:38)
Enterprise Architect なんかはソースコードから読み込めるみたいですね。
Java, C#, VB.NET, Visual Basic 等を対応言語として謳っています。
JUDE から名前の変わった astah* も、製品版の方では Java からのリバースをサポートしていますね。

他にも探せばツールは出てくると思います。
ただ、巨大なプロジェクトだと多分悲惨なことになるでしょう。
全てのクラスが UML のクラス図に表現されても図として読めません。

# こういったツールが欲しいと言うよりは、Java や C# のソースを対比する形で紹介した UML 入門みたいなページを教えて欲しいと言うことなんだろうか。
引用返信 編集キー/
■43645 / inTopicNo.9)  Re[5]: UML参考 サンプルソースサイト
□投稿者/ 渋木宏明(ひどり) (1247回)-(2009/11/14(Sat) 23:25:45)
渋木宏明(ひどり) さんの Web サイト
> Enterprise Architect なんかはソースコードから読み込めるみたいですね。

EA は C# 1.x 当時のレベルでしかソースコードを解釈してくれません。

partial してると(つか VS2005 以降標準のデザイナは partial 使うものばかりですが)悲惨だし、自動プロパティなんかも理解してくれません。

引用返信 編集キー/
■43646 / inTopicNo.10)  Re[5]: UML参考 サンプルソースサイト
□投稿者/ たくボン (290回)-(2009/11/14(Sat) 23:46:02)
No43644 (Azulean さん) に返信
> ただ、巨大なプロジェクトだと多分悲惨なことになるでしょう。
> 全てのクラスが UML のクラス図に表現されても図として読めません。

ほんとにそれなんだよ。OOPじゃないプロジェクトは読み込ませるだけ無駄だし、Fromやコントロール、DALC、BEなんかはUMLにする必要もなかったりするし(BEはたまにあるけど)実際、通常の業務システム程度のものだったらUMLにする必要すらないものも多いし。

本当にUMLが威力を発揮するのは、短時間での問題解決や認識の共有にあると思う。
俺が本当にUML凄いと思ったのは、携帯の開発をしてる時で1日1回ある15分の会議枠で各キャリアの問題点・課題を報告→解決策を出す会議だったんだけど、15分の間で大概docomo,au,softbankの各キャリアの問題点はチームリーダ全員が共有できてたと思う。解決策についても全て15分以内に出来たとは限らなかったけど、方向性とかは議論出来たし、こういう短時間でのチームの意識統一にはUMLは強いツールだと思う。

> # こういったツールが欲しいと言うよりは、Java や C# のソースを対比する形で紹介した UML 入門みたいなページを教えて欲しいと言うことなんだろうか。

主が来てないので、わからないですけど単純にソースからクラス図を作りたいだけだと思うけどなぁ。UML入門のサイトならいっぱいあると思うし。
ただ、最初はUMLっていまいちピンと来ない人が多いんじゃないだろうか?シーケンス図やステートチャートって本当に必要になってくるプロジェクトとか限られてくると思うし。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -