Diagram?)ソフトウェア工学では、中クラス図統一モデリング言語(UML)がある静的構造図の種類、システムのクラス、その属性、操作(またはメソッド)を示すことにより、システムの構造、およびオブジェクト間の関係を記述します。Editionは、すべてのUML図タイプをサポートするUMLソフトウェアです。それは国際的な賞を受賞したUMLモデラーですが、それでも使いやすく直感的で完全に無料です。無料ダウンロードクラス図の目的システム内の分類子の静的構造を表示します図は、UMLで規定されている他の構造図の基本的な表記法を提供します。開発者や他のチームメンバーにも役立つビジネスアナリストはクラス図を使用してビジネスの観点からシステムをモデル化できますUMLクラス図は次のもので構成されています。一連のクラスとクラス間の一連の関係クラスとはシステム内ですべて同様の役割を持つオブジェクトのグループの説明。構造的特徴(属性)は、クラスのどのオブジェクトが「知っている」かを定義します。クラスのオブジェクトの状態を表すクラスの構造的または静的な機能の説明ビヘイビア機能(操作)は、クラスのどのオブジェクトが「実行できる」かを定義します。オブジェクトがやり取りする方法を定義する操作は、クラスの動作上または動的な機能の説明です。クラス表記クラス表記は3つの部分から構成されています。クラス名クラスの名前が最初のパーティションに表示されます。属性は2番目の区画に表示されます。属性タイプはコロンの後に表示されます。属性はコード内のメンバー変数(データメンバー)にマップされます。クラス操作(メソッド)操作は3番目の区画に表示されます。それらはクラスが提供するサービスです。メソッドの戻り型は、メソッドシグネチャの末尾のコロンの後に表示されます。メソッドパラメータの戻り型は、パラメータ名の後のコロンの後に表示されます。上に示すようにMyClass:MyClassには3つの属性と3つの操作がありますop2のパラメータp3はint型です。op2はfloatを返すop3はClass6へのポインタ(*で表示)を返しますクラスの関係クラスは、他のクラスとの1つ以上の関係に関与している可能性があります。関係は、次のいずれかのタイプになります。(関係のグラフィカル表現については、右側の図を参照してください)。継承(または汎化):"is-a"関係を表します。抽象クラス名はイタリック体で示しています。SubClass1とSubClass2はスーパークラスの特化です。集約:特別なタイプの協会。それは「の一部」の関係を表します。Class2はClass1の一部です。Class2の多くのインスタンス(*で表示)はClass1に関連付けることができます。クラス1とクラス2のオブジェクトは別々の有効期間を持ちます。構成:全体が破壊されたときに部分が破壊される特殊なタイプの集約。クラス2のオブジェクトはクラス1と共存して死にます。Class2は自立することができません。依存関係:一方の定義を変更しても他方が変更される可能性がある場合は、2つのクラス間に存在します(ただしその逆はありません)。関係の名前は、関連行の中央に書かれています。良い関係名は、それらを大声で読むときに意味があります。「式は値に評価されます」それらは関係を読む方向を示す小さな矢印をしばしば持っています。式は値に評価されますが、値は式に評価されません。ロール役割は関連の方向性を示す目的です。役割は関連行の末尾に書かれており、関係においてそのクラスが果たす目的を説明します。細胞は発現に関連しています。関係の本質は、式がセルの式であるということです。矢印は、1つのインスタンスが関係に参加している場合に、それに関連する他のクラスのインスタンスを特定できるかどうかを示します。上の図は、スプレッドシートがあれば、それに含まれるすべてのセルを見つけることができますが、どのスプレッドシートに含まれているかをセルから判断することはできません。値(または式)が与えられると、それらが属性であるセルを見つけることができません。クラスの属性と操作の可視性オブジェクト指向設計では、属性と操作に対する可視性の表記法があります。4種類の可視性を識別します。#、および〜の記号は、属性および操作の可視性を示します。上記の例では:MyClassNameのattribute1とop1はpublicです。attribute3とop3は保護されています。attribute2とop2はプライベートです。さまざまなクラスのメンバーについて、これらの表示タイプのそれぞれに対するアクセス権を以下に示します。各クラスのいくつのオブジェクトが関係と多重度に参加するかは、次のように表すことができます。*は、2または5以外の任意の数のオブジェクトを意味します。要件:学生は多くのコースを受講することができ、多くの学生は1つのコースに登録することができます。以下の例では、クラス図(左側)は静的モデルに対する上記の要件のステートメントを示し、オブジェクト図(右側)は次のコース登録のスナップショット(クラス図のインスタンス)を示しています。集約は「からなる」階層を示す関連付けの特別な場合です。継承は、「一種の」階層を示す関連付けのもう1つの特別な場合です。継承は分類法を導入することによって分析モデルを単純化します子クラスは、親クラスの属性と操作を継承します。図ツールの例クラス図には、クラスまたは関係に添付されたメモもあります。メモは灰色で表示されます。上記の例では:上記のクラス図の意味は、以下の点を読むことで解釈できます。Shapeは抽象クラスです。Shapeから派生します。言い換えれば、円は形です。これは一般化/継承関係です。DialogBoxとDataControllerの間には関連があります。形状はウィンドウの一部です。形状はウィンドウなしでも存在できます。ポイントはサークルの一部です。ポイントは円なしでは存在できません。ウィンドウはイベントに依存します。EventはWindowに依存しません。円の属性は半径と中心です。これはエンティティクラスです。Circleのメソッド名は、area()、circum()、setCenter()、およびsetRadius()です。Circleのパラメータradiusはfloat型のinパラメータです。クラスCircleのメソッドarea()は、double型の値を返します。Rectangleの属性とメソッド名は隠されています。ダイアグラム内の他のクラスでも、属性とメソッド名が隠されています。大規模なシステムや大規模なビジネスエリアをモデル化している場合は、必然的に多数のエンティティを検討する必要があります。問題をモデル化するために、複数または単一のクラス図を使用する必要がありますか。答えは:すべてのエンティティとその関係を単一のクラス図でモデル化するのではなく、複数のクラス図を使用することをお勧めします。システムを複数のクラス図に分割すると、特に各図がシステムの特定の部分をグラフィカルに表現している場合に、システムの理解が容易になります。ソフトウェア開発ライフサイクルにおけるクラス図の見方ソフトウェア開発ライフサイクルのさまざまな開発フェーズでクラス図を使用することができます。通常、クラス図を3つの異なる観点(詳細レベル)で段階的にモデル化することで、段階的に進みます。概念的な観点:図は、実社会のものを説明していると解釈されます。したがって、概念的な観点から考えると、調査中のドメインの概念を表す図を描くことになります。これらの概念は当然それらを実装するクラスに関連します。概念的観点は言語に依存しないと見なされます。仕様の観点:図は、ソフトウェアの抽象化またはコンポーネントを仕様とインターフェースで記述していると解釈されていますが、特定の実装へのコミットメントは示していません。したがって、仕様の観点から見ると、実装ではなくソフトウェアのインタフェースを見ていることになります。実装の観点:図は、特定のテクノロジと言語でソフトウェアの実装を説明するものとして解釈されます。したがって、実装の観点から考えると、ソフトウェアの実装が検討されています。今すぐUMLクラス図を描こうとするクラス図とは何か、そしてクラス図の書き方を学びました。あなた自身のクラス図を描く時が来ました。Editionを入手し、無料のクラス図ツールを使って独自のクラス図を作成してください。それは使いやすく直感的です。