[#30426] CGI でグラフを描くときにお勧めのライブラリは? — 堀川 久 <vzw00011@...>
こんにちは。
宮内といいます。
高橋征義です。
[#30453] syntax check without execution? — Tanaka Akira <akr@...17n.org>
最近、eRuby のまねごとをしていて、そのなかで Ruby のコードを生成してい
まつもと ゆきひろです
In article <994217165.945078.13509.nullmailer@ev.netlab.jp>,
まつもと ゆきひろです
Yukihiro Matsumotoさんの<994219298.882129.13585.nullmailer@ev.netlab.jp>から
[#30479] Object#dup — "Shin'ya Adzumi" <adzumi@...>
あづみです。
まつもと ゆきひろです
あづみです。
わたなべです。
[#30507] Ruby/Tk TkPhotoImage#data — Noritsugu Nakamura <nnakamur@...>
[#30512] open errno EALREADY triggerd — "Inoue" <inoue@...>
井上です。
井上です。
[#30514] Ruby module frame work? — Takahiro Kambe <taca@...>
こんにちは。
まつもと ゆきひろです
In message <994643239.367096.2557.nullmailer@ev.netlab.jp>
[#30522] Walrus (WEB Application Server) — NAKAJIMA Taku <tnaka@...>
中島@ブレーンです。
[#30523] RTtool & RDindex new package — rubikitch <rubikitch@...>
るびきちです。
こんにちは,とみながです.
From: Kazuto Tominaga <tominaga@snake.m.ns.it.teu.ac.jp>
[#30529] InterBase を使用したい — "YOUJI KUROKAWA" <CQE10242@...>
環境
黒川です たいへんおせわになっております。
[#30530] Question about script on the book "Ruby nyuumon" — NAWATE Masahiko <agul@...>
縄手@松江と言います。
From: NAWATE Masahiko <agul@mag.shimane-u.ac.jp>
縄手@松江です。
From: NAWATE Masahiko <agul@mag.shimane-u.ac.jp>
At Tue, 10 Jul 2001 00:26:41 +0900,
From: "Akinori MUSHA" <knu@iDaemons.org>
[#30551] RTtool 0.1.4 (was Re: RTtool & RDindex new package) — Takahiro Kambe <taca@...>
こんにちは。
From: Takahiro Kambe <taca@sky.yamashina.kyoto.jp>
In message <20010710035601.TZZG14050.mail.rdc1.kt.home.ne.jp@witch>
[#30552] 名前の異なるコンストラクタを複数持つには? — keiichi matsunaga <ma2@...>
はじめまして。松永と言うものです。
[#30586] case 文で文字列を判断したい — Takuo Tabata <taku@...>
[#30601] ruby-1.6.4 build on gcc-3.0/glibc-2.2.3/kernel-2.4.7pre5 — KUSUNOKI Masanori <masanori@...>
楠です
[#30614] ライブラリから別のライブラリを呼び出すときのパスについて — keiichi matsunaga <ma2@...>
松永です。
[#30622] RDtool requires amstd? — Kazuhiro NISHIYAMA <zn@...>
RDtool 0.6.10のインストールが
[#30649] \ mark in path of a script — "Y.ITO" <gfh05223@...>
はじめまして。Ruby/eRuby を最近使い始めたばかりです。
[#30655] XMLParser & DTD — skoba@... (KOBAYASHI Satoshi)
はじめまして、小林@豊橋技術科学大学です。
[#30680] overwride method — "Inoue" <inoue@...>
井上です。
[#30692] Ruby 開発環境のご紹介 — 斉藤和樹 <QZS01353@...>
はじめまして、斉藤と申します。
[#30705] 下位バイト 0x5c の文字が化けてしまいます — "ANAKI Kyosuke" <anaki@...>
初めまして。穴木と申します。まったくのRuby初心者です。どうぞよろしくお願い
[#30725] mswin32 版の改行コード — "Y.ITO" <gfh05223@...>
先日はeRuby mswin32最新版の件でお世話になりました。
[#30731] irb で Thread.critical = true — Kazuhiro NISHIYAMA <zn@...>
irbでThread.critical = trueにすると別スレッドが動き続けるのですが。
[#30734] UML クラス図と Ruby の記述についての対応 — Ken-ichi HASHIMOTO <ken@...>
橋本@福井県在住です。
[#30738] cgi について — 岩本次郎 <jiro3@...>
岩本次郎です。
[#30755] ruby-orbit support server side — Dai <MAP2303@...>
[#30764] int/int => float? — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
KONISHI Hiromasaです。
いけがみです。
けいじゅ@日本ラショナルソフトウェアです.
あべです。
KONISHI Hiromasaです。
あづみです。
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
たけ(tk)です。
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
[ruby-list:30734] UML クラス図と Ruby の記述についての対応
橋本@福井県在住です。
はじめまして、初めてruby-listにメールを出します。
さて、本題ですが、「UMLクラス図」と「Rubyのクラス定義」について
どのように対応しているか?ということです。
<背景>
UnixのX上(またはWin32上)で動作するUML図もかけるDiaというドローソフト
があります。
また、dia2codeとよばれている、diaの保存形式から C++/Java/(C?)のソースを
生成してくれるツールもあります。
それぞれ ソース公開されGPLだったと記憶しています。
# 補足: 他の高いTOOL(例:バラ)などは、逆もできるなど利点がありますが
# 個人ユースの場合、クラス図 -> ソースの機能だけでも有用です。
現在、みようみまねで dia2code に ruby 対応のソースを入れています。
</背景>
流石に、1から聞くというのも皆様にご迷惑かかりますので、こちらで勝手に
対応させてみました。
Rubyのポリシーという物をまだ理解できていないために、
変なところもあると思います。
「xxxが問題ある」・「問題ない」などご検討いただけると嬉しいです。
長いですが、ご了承ください。(等幅フォントをご利用の上ご覧ください)
# 注意: UML図とRubyのソース対応としてのみ、参照してください。
# (「なんで xxx 属性をpublicにするのだ?設計が間違っている」とかは
# ここで議論を求めているものではありませんのでご了承ください)
<対応>
<クラス図>
+---------+
| Person |
+---------+
+---------+
+---------+
</クラス図>
<Rubyソース>
class Person
end
</Rubyソース>
</対応>
<対応>
<クラス図>
+----------+
| Person |
+----------+
|+name |
|-age |
+----------+
|+inc_age()|
|-do_hoge()|
+----------+
</クラス図>
<Rubyソース>
class Person
@name
attr_accessor :name
@age
def inc_age()
# TODO
end
def do_hoge()
# TODO
end
private :do_hoge
end
</Rubyソース>
</対応>
<対応>
<クラス図>
+---------+
| Base |
+---------+
+---------+
+---------+
△
|
+---------+
| Dived |
+---------+
+---------+
+---------+
</クラス図>
<Rubyソース>
class Dived < Base
end
</Rubyソース>
</対応>
<対応>
<クラス図>
+---------+
|<<mixin>>|
+---------+ | My_mixin|
| Base | +---------+
+---------+ +---------+
+---------+ +---------+
+---------+ △
△ |
| +−−−−−−−+
| |
+---------+
| Dived |
+---------+
+---------+
+---------+
</クラス図>
<Rubyソース>
module My_mixin
end
class Dived < Base
include My_mixin
end
</Rubyソース>
</対応>
<対応>
<クラス図>
+----------+
| Person |
+----------+
|+name | -age +----------+
+----------+◇--------→| Date |
|+inc_age()| 1 +----------+
|-do_hoge()| +----------+
+----------+ +----------+
</クラス図>
<Rubyソース>
class Person
@name
attr_accessor :name
@age # refarence to Date
def inc_age()
# TODO
end
def do_hoge()
# TODO
end
private :do_hoge
end
</Rubyソース>
</対応>
もしかして、UMLクラス図とはうまく対応しないのでしょうか?
---
橋本 賢一 Ken-ichi HASHIMOTO
E-Mail ken@po.ganseki.ne.jp