UML - クラス図


■ページ目次

Top

クラス図 とは

Top
クラス図の位置づけ
Top

クラス図とオブジェクト図

クラス図
オブジェクト図

クラス図の要素

クラスとオブジェクト
表記法
クイズ 1

  1. ファイルを表すファイル・クラスを作成してください。ファイル・クラスには、名前とサイズ、作成日の 3 つの属性があります。

  2. ディレクトリーを表すディレクトリー・クラスを作成してください。ディレクトリー・クラスには、名前と親ディレクトリー名、作成日の 3 つの属性があります。
関連
表記法
Top
ロール(役割)
表記法
クイズ 2

  1. ファイルを表すファイル・クラスと、ディレクトリーを表すディレクトリー・クラスの関連を考えて、ロール名を示して書いてください。
    (ファイル・ディレクトリーのクラス図)
Top
多重度(multiplicity)
表記法
クイズ 3

  1. ファイルとディレクトリーの関連を表す"ファイル・ディレクトリーのクラス図"に、多重度を入れてください("ファイル・クラスのクラス図")。多重度は、通常のファイル・システムを考えてつけてください。
再帰関連
クイズ 4

  1. ディレクトリーは、その中にディレクトリーを入れることができます。このことを表す関連を、ディレクトリー・クラスに追加して書いてください。(ディレクトリー・クラス)

  2. 再帰関連を考えたディレクトリー・クラスを、ファイル・クラスのクラス図に追加してください。
    (ファイル・ディレクトリーのクラス図)

  3. 一般的な会社の組織を想定して、部門、部員、所属長をクラス図を使ってあらわしてください。このとき、関連、ロール名、多重度を入れて作ってください。
    (ヒント: 部門、部員、所属長をクラスとして考えます。部員は部門に所属する、部門長は部門を管理する、などの関係が考えられます)

  4. 次の文章から、クラス図(オブジェクト図)を作ってください。クラス図にはクラス名と操作を考えてください(属性は考えなくてかまいません)

    「佐藤さんは田中さんと 7/28 10:00-11:00 に打ち合わせをしようと思っています」

    (ヒント: 登場するオブジェクトは、佐藤、田中、スケジュール帳、会議室です。どんなメッセージがやりとりされているかを考える)

  5. 上記のクラス図に対して、Java でコードを書くと、つぎのようになります。
    class 社員 {
        スケジュール帳 aスケジュール帳;
        会議室[] a会議室;
        boolean 打ち合わせを確認する() {
            return aスケジュール帳.日時を確認する();
        }
    }
    
    class スケジュール帳 {
        boolean 日時を確認する() {
        }
    }
    
    class 会議室 {
        boolean 予約する() {
        }
    }
    
    

  6. UMLの概要でやった「レストラン」の例題のクラス図を Java でコードを書くと、つぎのようになります。
    restaurantClass01
    図 レストランのクラス図
    class 顧客 {
        伝票 a伝票;
    }
    
    class 伝票 {
        明細[] a明細;
        int 支払額を返す() {
            int sum = 0;
            for (int i = 0; i < a明細.length; i++) {
                sum += a明細[i].金額を返す();
            }
            return sum;
        }
    }
    
    class 明細 {
        int 個数;
        商品 a商品;
        int 金額を返す() {
            return 個数 * a商品.定価を返す();
        }
    }
    
    class 商品 {
        int 定価;
        int 定価を返す() {
            return 定価;
        }
    }
    
    
関連クラス
表記法
集約(aggregation)
表記法
コンポジット集約
表記法
Top

継承

表記法
Top

例題

Top

実習

  1. 「注文入力システム」を開発します。以下の文章から、クラス図を作成してください。

    ユースケース図

  2. 「お風呂温度水量設定システム」を開発します。以下の文章から、クラス図を作成してください。

    ユースケース図

  3. クライアント・サーバー型の「チャット・システム」を開発します。以下の文章から、クラス図を作成してください。

    ユースケース図

Top

inserted by FC2 system