ログイン
検索
メインメニュー
フォーラム一覧   -   トピック一覧
   astah*の使い方
     JUDE APIを用いたユースケース図の情報取得
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 トピック
Kota
投稿日時: 2009-6-22 10:55
開発者
登録日: 2006-5-9
居住地:
投稿: 151
Re: JUDE APIを用いたユースケース図の情報取得
SuperTurboさん、こんにちわ。
ご不便をおかけして申し訳ないです。
開発部で実際にコードを書いて試してみました。

プロジェクト直下にユースケースA,Bがありその間に関連があり、それぞれの関連端名が、ユースケースA,Bです。


以下書いたJUnitの一部です。

    protected INamedElement getElement(INamedElement[] elements, String elementName) {
        for (int i = 0; i < elements.length; i++) {
            if (elements[i].getName().equals(elementName)) {
                return elements[i];
            }
        }
        return null;
    }
    
    public void test01() {
    	showInfo((IUseCase)getElement(project.getOwnedElements(), "ユースケースA"));
    	showInfo((IUseCase)getElement(project.getOwnedElements(), "ユースケースB"));
    }
    
    private void showInfo(IUseCase uc) {
        System.out.println("IUseCase=" + uc.getName());
        
        IAttribute[] iAttribute = uc.getAttributes();
        for (int i = 0; i < iAttribute.length; i++) {
        	System.out.println("IUseCase.getAttributes()=" + iAttribute[i].getName());
        	IAssociation association = iAttribute[i].getAssociation();
          System.out.println("IAssociation=" + association.getName());
        	IAttribute[] memberEnds = association.getMemberEnds();
        	for (int j = 0; j < memberEnds.length; j++) {
        		System.out.println("IAssociation.getMemberEnds()=" + memberEnds[j].getName());
        	}
		}
    }

以下出力結果です。

IUseCase=ユースケースA
IUseCase.getAttributes()=ユースケースB
IAssociation=関連
IUseCase=ユースケースA
IUseCase.getAttributes()=ユースケースB
IAssociation=関連
IAssociation.getMemberEnds()=ユースケースA
IAssociation.getMemberEnds()=ユースケースB
IUseCase=ユースケースB
IUseCase.getAttributes()=ユースケースA
IAssociation=関連
IAssociation.getMemberEnds()=ユースケースA
IAssociation.getMemberEnds()=ユースケースB

UML2.0になって属性と関連はプロパティといって以下のような意味合いになります。
ユースケースAがユースケースBへの関連をもつ=ユースケースAがユースケースBの属性をもつ。

上記のシンプルなモデルでは、ユースケースAやBから一つの関連が取得でき、その関連がもつ関連端は2つのはずです。

もし、うまい具合いに行かないのであれば
もしかしたら、モデルが壊れている可能性もありますので、
[ツール][モデル補正][不正なモデルを修正]で修正しても、
結果が異なる場合、モデルをjude-bugs@change-vision.com(@は小文字に変換してください)まで送っていただければ、調査いたします。

あと、返信内容にあやまりがありましたので、
最初の投稿(10:55)より、
本日13:00ごろに内容(ソース、結果)とも変更しました。
すみませんです。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   JUDE APIを用いたユースケース図の情報取得 SuperTurbo 2009-6-14 1:19
     Re: JUDE APIを用いたユースケース図の情報取得 yamazaki 2009-6-17 18:29
       Re: JUDE APIを用いたユースケース図の情報取得 SuperTurbo 2009-6-17 20:29
       » Re: JUDE APIを用いたユースケース図の情報取得 Kota 2009-6-22 10:55
           Re: JUDE APIを用いたユースケース図の情報取得 Kota 2009-6-22 18:21
             Re: JUDE APIを用いたユースケース図の情報取得 okamura 2009-6-22 18:30
               Re: JUDE APIを用いたユースケース図の情報取得 SuperTurbo 2009-6-28 1:10
             Re: JUDE APIを用いたユースケース図の情報取得 SuperTurbo 2009-6-28 1:07
               Re: JUDE APIを用いたユースケース図の情報取得 Kota 2009-7-3 9:36
                 Re: JUDE APIを用いたユースケース図の情報取得 SuperTurbo 2009-7-16 0:46

投稿するにはまず登録を