UML-その1

 前回までの2回はオブジェクト指向の概念を取り上げました。
 今回からはこのオブジェクト指向を具体化する表記法であるUML(Unified
 Model Language)を取り上げようと思います。
 まず、UMLの起源から始めます。UMLは1980年代後半から1990年代初めにかけて
 登場し、OMG(Object Management Group)が標準化を行
 っている表記言語で、方法論でなく、モデリング言語とプロセスにより構成されてい
 ます。
 cf:モデリング言語とは設計を表現するための方法論で使われるグラフィカルな
    表記法をいう。
 この表記法が発表される前のオブジェクト設計はオブジェクト設計の考え方を具体化
 するJAVAやC++といったプログラム言語で使っていました。この表記法が出た
 おかげで、オブジェクト指向をプログラム言語へ置き換えていく橋渡しができ、オブ
 ジェクト設計が急速に広まりました。
 ここでは、UMLの代表的な表記としての「クラス図」、「クラス関連表記」、「シ
 ーケンス図」を取り上げようと思います。

(1)クラス図の構造
 オブジェクト指向設計でオブジェクト(=実体)を表現する構造として、クラスと
 いう考え方を取り上げました。クラス図とはオブジェクトの設計図の位置づけになり
 ます。
 UMLではクラス図は角を丸めた長方形で表し、その中を3つの区画に分割して表現
 します。
 その区画は上から下へ「クラスの区画」、「属性の区画」、「操作の区画」に区分
 され、オブジェクトを表現していきます。
 ・「クラスの区画」ではそのクラスをあらわす名称を記述し、クラス名を表します。
   たとえば、顧客クラス、商品クラス、在庫クラスなどはクラス名です。
 ・「属性の区画」ではクラスのデータ項目を記述します。
   たとえば、顧客クラスですと「顧客名」、「顧客住所」、「担当者名」など顧客
   マスターのデータ項目を想像すれば良いでしょう。
 ・「操作の区画」ではこのクラスが実行する機能を記述します。
   たとえば、顧客クラスでは「顧客マスター登録」、「顧客一覧表作成」、「顧客
   情報検索」などが記述されます。この機能はオブジェクト設計でお話しました
   ように他のクラスや外部からこのクラスに要求される指令が定義されます。この
   指令とその処理の実行の設計は後段の「シーケンス図の項」に譲ります。
 クラス図の構造と記述の概要はご理解できたと思いますが、情報システムを設計する
 開発工程において、“このクラス図はオブジェクト設計のどのフェーズに位置づけら
 れるのでしょうか” これを次のテーマとしましょう。
  
(2)クラス図の位置づけ
 UMLに基づいた設計ではクラス図は全設計工程で継承して使用されていきます。
 従来のウォータフォール型設計で言いますと、要件定義、基本設計、詳細設計まで、
 クラス図が各フェーズで段階的に詳細化されて継承されるということです。
 ウォータフォール型設計では各設計フェーズで異なった仕様書を用い継続性を保つ
 のはかなり困難でしたので変更の管理が大変でした。
 顧客クラスを例にとって、クラス図の要件定義、基本設計、詳細設計の各フェーズに
 おける使用をイメージ的に見ていきましょう。

 ◆属性の仕様の変化
  顧客クラスの顧客名称を例にとって、それぞれのフェーズでの表示を例示して
  みますと
  (要件定義)    (基本設計)        (詳細設計)
   顧客名   →顧客名(Chara10桁)    →Custname char(10)
 ◆操作の仕様の変化
   (要件定義)        (基本設計)      (詳細設計)
   顧客マスター更新()→顧客マスターを読む(引数1)→Read  customer(a)
              顧客マスターを更新(引数2)→Write customer(b)

 クラス図の各設計段階における変化イメージ記述しました。お分かりのように従来の
 記述法と違って仕様が継承されているのがお分かりになると思います。
  
第63回はここで終了します。UMLのクラス図を取り上げました。
次回は、このクラス図の関係を「UML―その2」として取り上げます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする