ログイン
検索
メインメニュー
フォーラム一覧   -   トピック一覧
   astah*の使い方
     クラス名が重複して変更できない
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
Nu-nrg
投稿日時: 2016-7-17 22:13
半人前
登録日: 2014-2-21
居住地:
投稿: 36
クラス名が重複して変更できない
Jude6.3 proからAstah7.0 proにアップグレードしたのですが、
あるクラス図のクラス名を変更しようとしたところ、「同じ名前のモデルが既に存在しています」というアラートが表示されてしまいます。
メニューから検索をかけても同じクラス名は存在せず、同じ名前はアクター、トピック、ERエンティティしか存在しません。
バグでしょうか?
また、アクターのコンテクストメニューでクラス図、詳細クラス図を作成できるみたいですが(この使い方はまだ理解できてません)、まさかアクターの名称と衝突するしてるってことはないですよね??

Judeからのファイル変換でのバグとかの可能性もあるかなと。

宜しくお願いします。
joba
投稿日時: 2016-7-19 14:25
開発者
登録日: 2006-4-27
居住地: Fukui
投稿: 597
Re: クラス名が重複して変更できない
Nu-nrgさん、

Pro7.0へのアップグレード、誠にありがとうございます。

恐れ入りますが、アクター名との衝突が原因です。
※<<actor>>ステレオタイプを持つクラスモデルとして扱っているため

いずれかのモデル名をご変更くださいますよう、宜しくお願いします。
Nu-nrg
投稿日時: 2016-7-19 22:55
半人前
登録日: 2014-2-21
居住地:
投稿: 36
Re: クラス名が重複して変更できない
引用:
※<<actor>>ステレオタイプを持つクラスモデルとして扱っているため

すみません、ステレオタイプという概念がまだ理解できてません。

簡単に説明していただけるとありがたいです。
何が? ステレオタイプを持つクラスモデルとして扱っているため なんでしょうか?

宜しくお願いします。
Nu-nrg
投稿日時: 2016-7-21 23:38
半人前
登録日: 2014-2-21
居住地:
投稿: 36
Re: クラス名が重複して変更できない
その後レスないので書きます

ユースケース図で、アクター「顧客」とユースケースを作成します。
アクター「顧客」からはクラス図を作成してません。

別にクラス図でクラス「顧客」を作るときになぜユースケースのアクター「顧客」と衝突するのでしょう?

まったく理解できません。
作成しているアクターのステレオタイプにactorがすべて登録されているようですが、クラスを別途作れなければ意味なくないですか?
なんでどちらかの名前を変更しなければならないのでしょう?
クラスはアクターから作らなければならないという1方向の制約がUMLなんですか?
Nu-nrg
投稿日時: 2016-7-25 10:48
半人前
登録日: 2014-2-21
居住地:
投稿: 36
Re: クラス名が重複して変更できない
追伸

アクター「顧客」を作ってない場合で、クラス「顧客」を作っ他場合、クラス「顧客」のステレオタイプにはまだ何も登録されてません。

そしてアクター「顧客」を作ろうとするとエラーが出ます。


ってことは、ユースケースではアクターの名前を、クラスのように作った抽象度が高いネームングをつける事ができないんでしょうか?

アクター名とクラス名が重複してはならない理由はなんなのでしょう?
むしろ、ユースケースで管理する概念のアクターは、同じクラス名にする必要がある、というならわかりますが、同じ名前をつけられない理由はなんでしょう?

ユースケースを用いる考え方と、クラス図を用いる考え方が、なぜ互いに制約されるのでしょうか?
joba
投稿日時: 2016-7-25 15:00
開発者
登録日: 2006-4-27
居住地: Fukui
投稿: 597
Re: クラス名が重複して変更できない
返信が大変遅くなり、申し訳ありません。

UMLの仕様では、クラスとアクターの同名は許可されている為、Nu-nrgさんの質問、ご意見はごもっともです。
初回返信時にこの旨をお伝えできず申し訳ありません。

しかしながら現在のastah*では、アクターをClassiferとして扱い、他の図でも当モデルをクラスとして再利用できるよう現在の仕様としております。(構造ツリーから、アクターを別の図にDrag &Dropすることでアクターを描画できます) これは、アクターを定義、表現する為に別のクラスモデル等を作成する手間を省き、効率よくモデリングいただくことを図っての仕様です。


名前の衝突は、同ネームスペースに両方が存在する場合にのみ発生します。どちらか一方をパッケージ配下に入れるなど、異なるネームスペースを持たせることで、同名のモデルを生成できますので恐れ入りますが、この回避方法で運用ください。
Nu-nrg
投稿日時: 2016-7-25 20:19
半人前
登録日: 2014-2-21
居住地:
投稿: 36
Re: クラス名が重複して変更できない
臨時的にネームスペースの違いで管理いたします。
UMLの仕様と、ソフトウェア上の機能は分けていただければ嬉しいですね。
ユースケースはスースケース図だけでパッケージ化します。
Nu-nrg
投稿日時: 2016-7-27 22:11
半人前
登録日: 2014-2-21
居住地:
投稿: 36
Re: クラス名が重複して変更できない
追加質問です。

#)ユースケースの図自体と、そこに配置されるアクターやユースケースは同じパッケージにする必要があるのでしょうか?
名前空間は図にはなく(図は単にアクターやユースケースを配置し記述しているに過ぎず)、アクターやユースケース自体に名前空間が適用されるのでしょうか?


#)プロジェクトフォルダ直下は、名前空間がなく、パッケージで名前空間を作成するということで良いでしょうか?


#)ユースケースのコンテクストメニューで、クラス図を作成する、詳細クラス図を作成するとはどういう意味や何のために行うのでしょうか?


#)ユースケース図のアクターで登場人物を考え、アクターもクラスのように般化特化を行い、いざそれをクラス図にしようとした時に、同じパッケージ内でアクター名とクラス名が名前衝突を起こすのはやはりおかしいですね。
パッケージの中にはユースケースを含めるのはおかしいでしょうか?
ユースケースは概念図で、クラス図は設計図だから、ユースケースとクラス図は同じパッケージで管理するべきではないということでしょうか?


宜しくお願いいたします。
joba
投稿日時: 2016-7-28 18:00
開発者
登録日: 2006-4-27
居住地: Fukui
投稿: 597
Re: クラス名が重複して変更できない
追加のご質問ありがとうございます。

A1)
いいえ、図とその図に配置したモデルを同じパッケージに格納する必要はございません。また、図は名前空間として表現できませんので、ご理解通り、モデルには、それを格納するパッケージが名前空間として適用されます。


A2)
プロジェクトフォルダ直下のモデルに対しても名前空間を与えています。プロジェクトのルートにあたるModelが存在しており、それはPackageの一種で名前空間となるものです。


A3)
「クラス図/詳細クラス図を作成する」は、パッケージ等のコンテキストメニューにはございますが、ユースケースにはございません。


























A4)
現在のastah*の仕様では、同じ名前空間に存在する同名のモデルは衝突するため、恐れ入りますが、異なるパッケージに格納くださいますようよろしくお願いします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を