레이블이 UML図인 게시물을 표시합니다. 모든 게시물 표시
레이블이 UML図인 게시물을 표시합니다. 모든 게시물 표시

2017년 8월 16일 수요일

クラス図

統一モデリング言語 (UML)におけるクラス図(クラスず、英: class diagram)とは、クラス、属性、クラス間の関係からシステムの構造を記述する静的な構造図である。

クラス図とソースコードの同期が可能なUMLモデリングツールも存在する。

目次

    1 クラス
    2 関係
        2.1 インスタンスレベルの関係
            2.1.1 リンク
            2.1.2 関連
            2.1.3 集約
            2.1.4 コンポジション
            2.1.5 集約とコンポジションの違い
        2.2 クラスレベルの関係
            2.2.1 汎化・特化
            2.2.2 実現
        2.3 一般的な関係
            2.3.1 依存
            2.3.2 多重度
    3 関連項目
    4 外部リンク

クラス
クラス図におけるクラスの例

ソフトウェアシステムにおけるクラスは、中にクラス名の記述された四角で表現する。クラスはドメイン等、ソフトウェア要素ではない要素であっても良い。(訳注:例えば、車のタイヤであったり、化学物質の一種であったり、料理の材料であるかも知れない)

オプションとして、クラス名の下に属性(つまりプロパティ)の区画を設けることができる。どの属性も最低でも名前を記述せねばならず、オプションとしてその型、初期値、その他の特性を記述することができる。

更にその下に、クラスの関数(つまりメソッド)の区画を設けることができる。どの関数も最低でも名前を記述せねばならず、オプションとしてその引数や戻り値を記述することができる。

他の区画を定義しても良い。例えば、保存する義務や必要条件、制限などである。

属性と関数には以下の可視性を付けることができる:

    " + "はpublic
    " # "はprotected
    " - "はprivate
    " ~ "はpackage(パッケージ内で可視)

また、クラス図でクラス変数やクラス関数を表現するには、区画内の項目に下線を引けばよい。
関係

関係は、クラス図とオブジェクト図に見られる、以下に示すような論理的な連結の種類を総称する用語である。

このように関係という用語は列挙により定義されるのみなので、その本質に関する具体的イメージをつかみにくい。そこであえて大雑把にいえば、クラス図においては、関係とは「そのクラスのソースコードに型名が出現する(ことになるであろう)」ことを意味する。オブジェクト図において、関係とは「そのオブジェクトが参照を持っている(ことになるであろう)」ことを意味する。

なお、いうまでもないことだが、クラス図に出現するすべてのクラスは、同一のクラス図(あるいはシステム)に出現するという論理的なつながりを持っているので、単に関係を「論理的な連結」とだけ定義すると概念が破たんする。

UMLでは、以下の関係を表現できる。
インスタンスレベルの関係
リンク

リンクとは、基本的なオブジェクト間の関係である。クラスを表す四角を二つ以上、線でつなぐことで表現する。これはオブジェクト図にも見られる。オブジェクト図では、インスタンスの関連を示す。
関連

関連は、リンクの一種である。オブジェクト間の関係は線で表現する。三つ以上の関連を表現することもできる。そのような場合、各オブジェクトから出た線は菱形に接続される。(訳注:これをN項関係という)
集約
2つのクラス間の集約を表すクラス図

集約とは、"has-a" もしくは関連の一種であるが、特殊な関係である。関連の一種で、名前付けなど「関連」で可能なオプションを付けることができる。しかし、集約は二つ以上のクラスを含むことができない。(訳注:つまり、集約にはN項関係は存在し得ない)

集約は、一方がもう一方のクラスの一部であるが、両クラス間に強いライフサイクルの依存が無い場合に使用する。つまり、集約しているクラスのオブジェクトが削除されても、されている側のオブジェクトが消えるとは限らない。

UML では、集約するクラスと集約されるクラスの間を線で結び、集約するクラス側の線の端に中抜きの菱形を記述する事で表現する。
コンポジション

コンポジションとは、"has-a"もしくは関連の変種のより強いものである。集約より特殊である。

コンポジションは、両クラス間に強いライフサイクルの依存がある場合に使用する。つまり、コンポジション関係にあるクラスの集約しているオブジェクトが削除されると、必ず集約されている側のオブジェクトはすべて削除される。

UMLでは、視覚的には黒い菱形を集約する側のクラスの線の端に記述する事で表現する。
集約とコンポジションの違い

すべてのコンポジションは、0..1か1の多重度でなければならない。集約されるインスタンスは、される対象が一つだけでなければおかしいからだ。対して、集約の場合は、これに限らない。

現実世界で全体-部分の関係の例を挙げるとすれば、例えば車に対するエンジンの例が挙げられる。エンジンENG01は車のモデルCM01の部分であり、集約の関係がベストと言える。エンジンとしては、ENG01は他の車のモデルに搭載することも可能だからだ。例えばCM02等。これはしばしば、「カタログ」関係と呼ばれる。
クラスレベルの関係
汎化・特化
KP-UML-Generalization-20060325.svg

汎化の関係とは、関係するクラスの一方(スーパークラス)がもう一方(サブクラス)に対してより一般的であると考えられることを表す。実際問題、これはサブクラスのインスタンスがスーパークラスのインスタンスでもあることを意味している(このタイプの汎化の例は「binomial nomenclature」に見られる:人間は猿のサブタイプであり、猿は哺乳動物のサブタイプであり以下略)。この関係は、'AはB'とすると最も簡単に理解できる(人間は哺乳動物、哺乳動物は動物)。

UMLでの視覚的な記述方法としては、スーパークラス側の線の端に白抜きの三角を描くことで表現する。

汎化・特化の関係は、継承または"is-a"の関係としても知られる。

汎化・特化の関係において、スーパータイプは"親"、"スーパークラス"、"基底クラス"、"規定タイプ"としても知られる。

汎化・特化の関係において、サブタイプは"子"、"サブクラス"、"派生クラス"、"派生タイプ"、"派生型"としても知られる。

特化の関係は、汎化の関係の逆である。つまり、サブタイプはスーパータイプを特化したものである。

この関係が生物学的な親/子の関係との類似を全く持っていない事に注意すること:これらの用語は非常に一般的だが、使用方法によっては紛らわしい場合がある。

    汎化 - 特化の関係:

AはBの一種
例えば、"オークは木の一種"、"貨物自動車は車の一種"

実現

実現の関係とは、関係するクラスの一方(クライアント)がもう一方(サプライヤ)の振る舞いを実現していることを表す。(訳注:例えば、抽象クラスやインターフェイスのメソッドの内容をサブクラスで具体的に記述すること)実現は視覚的には、白抜きされた三角を先端に持つ破線で表現する。
一般的な関係
依存

定義されている要素間に、片方を変更すればもう片方に変更が生じる依存が存在する。この関係は、依存する側からされる側への破線矢印で表現する。幾つかの名前付けされた種類がある。依存はインスタンス間、クラス間、インスタンス-クラス間にあり得る。
多重度

関連の関係は、関連するクラスの一方がもう一方を参照していることを意味する。汎化の関係と対比して、'AはBを持っている'というフレーズで最も簡単に理解できる(母猫には子猫がいる、子猫には母猫がいる)。

UMLでは、関係にオブジェクトのロールを矢印で示唆して表現する。オプションとして、それらのエンティティのインスタンスの多重度を両端に記述することができる。多重度とは、その関連に参加するオブジェクトの数を示すものである。一般的な多重度は以下:
記述     インスタンス数
0..1     無しか一つ
1     確実に一つ
0..* または *     ゼロ個以上
1..*     1個以上

この関係は、"has-a"の関係としても知られている。
関連項目

    ドメインモデル

外部リンク




アクティビティ図

https://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%AF%E3%83%86%E3%82%A3%E3%83%93%E3%83%86%E3%82%A3%E5%9B%B3

アクティビティ図
UMLの図
構造図

    クラス図
    コンポーネント図
    複合構造図
    配置図
    オブジェクト図(英語版)
    パッケージ図
    プロフィール図(英語版)

振る舞い図

    アクティビティ図
    コミュニケーション図(英語版)
    インタラクション図(英語版)
    シーケンス図
    ステートマシン図
    タイミング図 (UML)(英語版)
    ユースケース図

    表 話 編 歴

アクティビティ図(アクティビティず)とはフローチャートに似た図で、いわゆるビジネスロジックにおける手続き的な流れやプログラムの制御フローを表すUMLの図である。

目次

    1 概要
    2 図の作成方法
    3 図の要素
    4 参考文献

概要
UML 2アクティビティ図
UML 1アクティビティ図

システムの流れを表すため、フローチャートのUML版という位置づけで決められた。UML 1.0のときに制定されUML2.0で大きく拡張された。

アクティビティ図では、プログラムでの処理以外にも、業務フローなどの記載も可能である(フローチャートでも業務フローなどの記載も可能である)。

昨今ではフローチャートからアクティビティ図への移行が進んでいる(そもそもフローチャートという図法自体が、UMLが誕生した機縁であるオブジェクト指向の流行以前の、構造化の流行の際には時代遅れとされたものであるし、UMLツール等が対応しているのが従来のフローチャートではなくアクティビティ図なので、アクティビティ図が使われるというだけである)。
図の作成方法
初期状態「●」と終了状態「◉」を記載し、その間に矢印で処理を記載し、必要に応じて分岐などを記載する。ステートマシン図などと異なり、主に書くのは処理であることに注意する必要がある。







UML다이어그램

https://www.tutorialspoint.com/uml/index.htm

UML다이어그램

UML다이어그램은 전체 토의의 궁극적인 출력이다.
모든 요소, 관계는 완전한 UML다이어그램을 만드는 데 사용되며 다이어그램은 시스템을 나타냅니다.

UML다이어그램의 시각적 효과는 전체 프로세스의 가장 중요한 부분이다.
모든 다른 요소들은 그것을 완성하는데 사용된다.

UML에는 다음 9개의 도표가 포함되어 있으며,
그 다음에는 후속 장에 설명되어 있다.

계급 도표
객체 다이어그램
사용 사례 다이어그램
순서 다이어그램
협업 도표
활동 도표
스테아샤 하트 도표
전개도
구성 요소 도표

UML Diagrams
UML다이어그램

UML diagrams are the ultimate output of the entire discussion.
All the elements, relationships are used to make a complete UML diagram
and the diagram represents a system.

The visual effect of the UML diagram is the most important part of the entire process.
All the other elements are used to make it complete.

UML includes the following nine diagrams, the details of which are
described in the subsequent chapters.

    Class diagram
    Object diagram
    Use case diagram
    Sequence diagram
    Collaboration diagram
    Activity diagram
    Statechart diagram
    Deployment diagram
    Component diagram


Realization 실현

Realization can be defined as a relationship in which two elements are connected. One element describes some responsibility, which is not implemented and the other one implements them. This relationship exists in case of interfaces.

실현

실현은 두 요소가 연결되어있는 관계로 정의 할 수 있습니다. 하나의 요소는 구현되지 않은 책임과 구현 된 책임을 설명합니다. 이 관계는 인터페이스의 경우에 존재합니다.

Generalization 일반화

Generalization can be defined as a relationship which connects a specialized element with a generalized element. It basically describes the inheritance relationship in the world of objects.

일반화

일반화는 특수화 된 요소를 일반화 된 요소와 연결시키는 관계로 정의 될 수 있습니다. 기본적으로 객체의 세계에서 상속 관계를 설명합니다.

Association 협회

Association is basically a set of links that connects the elements of a UML model. It also describes how many objects are taking part in that relationship.

협회

연관은 기본적으로 UML 모델의 요소를 연결하는 링크 집합입니다. 또한이 관계에 참여하는 객체의 수를 설명합니다.

Dependency 의존

Dependency is a relationship between two things in which change in one element also affects the other.

의존

종속성은 한 요소의 변경이 다른 요소에도 영향을 미치는 두 가지 요소 간의 관계입니다.


Relationship 관계
 

Relationship is another most important building block of UML. It shows how the elements are associated with each other and this association describes the functionality of an application.

There are four kinds of relationships available.


관계

관계는 UML의 또 다른 가장 중요한 빌딩 블록입니다. 이 요소는 요소가 서로 어떻게 연관되어 있고이 연관성이 응용 프로그램의 기능을 설명합니다.

4 가지 종류의 관계가 있습니다.



Structural Things  구조적 것들
 

Structural things define the static part of the model. They represent the physical and conceptual elements. Following are the brief descriptions of the structural things.

Class − Class represents a set of objects having similar responsibilities.


구조적 것들

구조적 요소는 모델의 정적 부분을 정의합니다. 그것들은 물리적 및 개념적 요소를 나타냅니다. 다음은 구조적인 것들에 대한 간략한 설명입니다.

클래스 - 클래스는 유사한 책임을 갖는 객체의 집합을 나타냅니다.


 Interface − Interface defines a set of operations, which specify the responsibility of a class.
인터페이스 - 인터페이스는 클래스의 책임을 지정하는 작업 집합을 정의합니다.
  
Collaboration −Collaboration defines an interaction between elements.
협업 - 공동 작업은 요소 간의 상호 작용을 정의합니다.

Use case −Use case represents a set of actions performed by a system for a specific goal.
사용 사례 - 대 / 소문자는 특정 목표를 위해 시스템에서 수행 한 일련의 작업을 나타냅니다.

Component −Component describes the physical part of a system.
구성 요소 - 구성 요소는 시스템의 물리적 부분을 나타냅니다.

Node − A node can be defined as a physical element that exists at run time.
노드 - 노드는 런타임에 존재하는 물리적 요소로 정의 될 수 있습니다.

Behavioral Things

A behavioral thing consists of the dynamic parts of UML models. Following are the behavioral things −

Interaction − Interaction is defined as a behavior that consists of a group of messages exchanged among elements to accomplish a specific task.
Interaction

State machine − State machine is useful when the state of an object in its life cycle is important. It defines the sequence of states an object goes through in response to events. Events are external factors responsible for state change


행동주의 사항

행동 적 요소는 UML 모델의 동적 인 부분으로 구성됩니다. 다음은 행동적인 것들입니다.

상호 작용 - 상호 작용은 특정 작업을 수행하기 위해 요소간에 교환되는 메시지 그룹으로 구성된 동작으로 정의됩니다.
상호 작용

상태 머신 - 상태 머신은 객체의 라이프 사이클 상태가 중요 할 때 유용합니다. 객체가 이벤트에 응답하여 통과하는 상태의 순서를 정의합니다. 이벤트는 주 변경에 책임있는 외부 요인입니다.


Grouping Things

Grouping things can be defined as a mechanism to group elements of a UML model together. There is only one grouping thing available −

Package − Package is the only one grouping thing available for gathering structural and behavioral things.
Package
Annotational Things

Annotational things can be defined as a mechanism to capture remarks, descriptions, and comments of UML model elements. Note - It is the only one Annotational thing available. A note is used to render comments, constraints, etc. of an UML element.


그룹화

그룹화는 UML 모델의 요소를 함께 그룹화하는 메커니즘으로 정의 할 수 있습니다. 그룹화 할 수있는 것은 단 하나뿐입니다.

패키지 - 패키지는 구조적 및 행동 적 사항을 수집하는 데 사용할 수있는 유일한 그룹화 항목입니다.
꾸러미
특수 효과

Annotational은 UML 모델 요소에 대한 설명, 설명 및 주석을 포착하는 메커니즘으로 정의 할 수 있습니다. 주 - 사용 가능한 유일한 Annotational 항목입니다. 주석은 UML 요소의 주석, 제약 조건 등을 표현하는 데 사용됩니다.


 
     

2017년 2월 26일 일요일

UML図 유엠엘도...

UMLのダイアグラム 다이어그램..
UML図
유엠엘도

構造図 - システムの静的な構造を示す
구조도 - 시스템의 정적인 구조를 나타낸다.

振る舞い図 - システムの振る舞いを示す
행동역할도 - 시스템의 행동역할을 나타낸다..

相互作用図 - 振る舞い図の中で、オブジェクト間のメッセージのやり取りに着目したもの
상호작용도 - 행동역할도 안에서, 오브젝트간의 메시지의 주고받음에 착목한것..

UMLダイアグラム 유엠엘 다이어그램..
構造図 구조도..

    クラス図 클래스도
    コンポーネント図 콤포넌트도
    複合構造図 복합구조도
    配置図 배치도
    オブジェクト図(英語版)오브젝트도
    パッケージ図 패키지도
    プロフィール図(英語版) 프로필도

振る舞い図 행동역할도

    アクティビティ図 액티비티도
    コミュニケーション図(英語版)커뮤니케이션도
    インタラクション図(英語版)인터럭션도
    シーケンス図 시켄스도
    状態図 (UML)(英語版)상태도
    タイミング図 (UML)(英語版)타이밍도
    ユースケース図 유스케이스도

association 미국식 [ə|soʊʃi|eɪʃn]
연상하다, 결부[연관]짓다

aggregation 미국식 [æ̀ɡriɡéiʃən]
집합, 집성(集成), 집적(集積)

composition 미국식 [|kɑ:mpə|zɪʃn]
구성 요소들; 구성

依存(dependency)

汎化(generalization)
Javaなどの継承、つまり「is a」の関係を表現します。

実現(realization)
Javaでいうinterfaceと同等の意味で、
相手を具象化する関係のとき用いる表現です。