[#30426] CGI でグラフを描くときにお勧めのライブラリは? — 堀川 久 <vzw00011@...>

こんにちは。

12 messages 2001/07/01

[#30453] syntax check without execution? — Tanaka Akira <akr@...17n.org>

最近、eRuby のまねごとをしていて、そのなかで Ruby のコードを生成してい

16 messages 2001/07/04
[#30455] Re: syntax check without execution? — matz@... (Yukihiro Matsumoto) 2001/07/04

まつもと ゆきひろです

[#30479] Object#dup — "Shin'ya Adzumi" <adzumi@...>

あづみです。

20 messages 2001/07/05

[#30512] open errno EALREADY triggerd — "Inoue" <inoue@...>

井上です。

16 messages 2001/07/08

[#30514] Ruby module frame work? — Takahiro Kambe <taca@...>

こんにちは。

16 messages 2001/07/09
[#30515] Re: Ruby module frame work? — matz@... (Yukihiro Matsumoto) 2001/07/09

まつもと ゆきひろです

[#30529] InterBase を使用したい — "YOUJI KUROKAWA" <CQE10242@...>

環境

22 messages 2001/07/09

[#30530] Question about script on the book "Ruby nyuumon" — NAWATE Masahiko <agul@...>

縄手@松江と言います。

17 messages 2001/07/09
[#30531] Re: Question about script on the book "Ruby nyuumon" — rubikitch <rubikitch@...> 2001/07/09

From: NAWATE Masahiko <agul@mag.shimane-u.ac.jp>

[#30533] Re: Question about script on the book "Ruby nyuumon" — NAWATE Masahiko <agul@...> 2001/07/09

縄手@松江です。

[#30734] UML クラス図と Ruby の記述についての対応 — Ken-ichi HASHIMOTO <ken@...>

橋本@福井県在住です。

13 messages 2001/07/28

[#30764] int/int => float? — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

50 messages 2001/07/31
[#30785] Re: int/int => float? — Konishi@... (Hiromasa KONISHI) 2001/07/31

 KONISHI Hiromasaです。

[#30767] Re: int/int => float? — keiju@... (石塚圭樹) 2001/07/31

けいじゅ@日本ラショナルソフトウェアです.

[#30768] Re: int/int => float? — matz@... (Yukihiro Matsumoto) 2001/07/31

まつもと ゆきひろです

[#30770] Re: int/int => float? — Take_tk <ggb03124@...> 2001/07/31

たけ(tk)です。

[#30771] Re: int/int => float? — matz@... (Yukihiro Matsumoto) 2001/07/31

まつもと ゆきひろです

[ruby-list:30734] UML クラス図と Ruby の記述についての対応

From: Ken-ichi HASHIMOTO <ken@...>
Date: 2001-07-28 05:32:20 UTC
List: ruby-list #30734
橋本@福井県在住です。

 はじめまして、初めて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

In This Thread

Prev Next