[#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
[#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

まつもと ゆきひろです

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

 KONISHI Hiromasaです。

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

From: Ken-ichi HASHIMOTO <ken@...>
Date: 2001-07-29 03:09:11 UTC
List: ruby-list #30744
橋本@福井県在住です。
 お返事ありがとうございます。
 こちらの勝手な都合で引用順序換えさせていただきます。

On Sun, 29 Jul 2001 00:14:07 +0900
石塚圭樹 <keiju@ishitsuka.com> さんは書きました:
>けいじゅ@日本ラショナルソフトウェアです.
>> さて、本題ですが、「UMLクラス図」と「Rubyのクラス定義」について
>> どのように対応しているか?ということです。
>>  <背景>
>>    UnixのX上(またはWin32上)で動作するUML図もかけるDiaというドローソフト
>>    があります。
>>    また、dia2codeとよばれている、diaの保存形式から C++/Java/(C?)のソースを
>>    生成してくれるツールもあります。
>>    それぞれ ソース公開されGPLだったと記憶しています。
>>     # 補足: 他の高いTOOL(例:バラ)などは、逆もできるなど利点がありますが
>>     #       個人ユースの場合、クラス図 -> ソースの機能だけでも有用です。
>
>そういう会社のものです. 

 関係がありそうな方のご意見ありがとうござうます。

(ここで引用順序換えます)
>立石さんのメイルにもありますが、目的は何でしょう?
>
>1. UMLで表現されたものをRubyに落としたい
>2. Rubyでプログラムするうえで、設計レベルをUMLで表現したい? つまり、
>   Rubyで表現できることすべての設計レベルの記述をUMLで行いたい?
>
>1はそんなに難しくないと思いますが、2は難しいと思います. 実際、自分が作っ
>たRubyのプログラムをUMLで表現することは難しいことが多いです。

 立石さんのメールにも書いたのですが、初めの目的は「1.」です。
 「2.」が難しいことは考えれたために、「1.」のレベルにしています。
   # 2. もできるのならしたいのですが、個人プログラマで暇時間を見つけて書くだけ
   # ですので、今回のように基盤がないと流石に大変です。
 当然、逆変換(リバースエンジニアリング?;ソース->UMLクラス図)という事も
 考えていません。

>理由はいくつかあって:
>
>1. Rubyの変数には型がない。UMLでは、属性は型がなくても良いですが、関連は必
>然的に
>   型を決めなくてはいけない。
>
>2. Rubyは動的な言語。例えば、動的にメソッドが定義できる。あと,
>   obj.extendもある
>
>3. Rubyには、特異メソッドがある。UMLにはない。
>
>4. moduleのネストクラス。UMLでもネストクラスの概念はありますが、それを直
>   接表現できない。

 貴重なご意見ありがとうございます。特異メソッドなどを表現ができないのは
 予想できたのですが、かなり課題があるということが理解できました。

 また、こちらが出した変換に対するご指摘ありがとうございます。
 RubyやUMLクラス図などが完璧に理解できていない者で、ボロボロと穴がでてます。

 僕の出した対応表の修正すべき点は
  ・Ruby のインスタンス変数は通常はprotected
  ・Ruby に UML でいう private メソッドに対応するものがない
 ということですね。

 あと
>> <対応>
>>  <クラス図>
>>                        +---------+
>>                        |<<mixin>>|
>>    +---------+         | My_mixin|
>>    | Base    |         +---------+
>>    +---------+         +---------+
>>    +---------+         +---------+
>>    +---------+             △
>>        △                  |
>>        |  +−−−−−−−+
>>        |  |
>>    +---------+
>>    | Dived   |
>>    +---------+
>>    +---------+
>>    +---------+
>>  </クラス図>
>>  <Rubyソース>
>>    module My_mixin
>>    end
>>
>>    class Dived < Base
>>      include My_mixin
>>
>>    end
>
>個人的には、moduleのステレオタイプを<<module>>に、includeを汎化に
><<mix-in>>ステレオタイプ付けようと提案しています。

 確かにその方が、上記の表現方法に比べ、よりよいですね。
 その様に変更します。

 一つ質問なのですが、「提案」と表現されているということは、
 RubyとUMLの対応または、それに近いものが既にドキュメントなりMLアーカイブなりで
 公開されているのでしょうか?
 もし、公開されているのであれば、URL なり URN をお教えくださいませんか?


 最後に
 今回の指摘でUMLの図の理解が足りない事もわかりました。一度勉強しなおします。
 指摘された点の修正も含めまして、下記の変換くらいができるモノを通勤時間と
 夏休みに作成し、何らかの形でフィードバックさせていただきます。

 また、いろいろと質問するかもしれませんが、皆様よろしくおねがいします。

---
橋本 賢一 Ken-ichi HASHIMOTO
 E-Mail ken@po.ganseki.ne.jp

In This Thread