goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

コンポーネント指向のUML Componentsの手順

2010-07-14 14:09:13 | そのほか

 コンポーネント指向には、ちーずまんの「チーズはどこへ消えた」とか(うそ、UML Componentsとか)、あときんそんのKobrA(これは本当。誤字ではない。「こぶら」)とかある。

 そのちーずまんの、「チーズはどこへ消えた」じゃない(って、くどい ^^;)UML Componentsの手順についてまとめてみる。

 ちなみに、UML Componentsについては、鷲崎先生講義の
 ここの講義スライド No.1.1
 のスライドとかみてくださいお。

 っていうか、そこのスライド、話長すぎなんで、まとめるってこと(^^;)




■概要

大まかな手順としては、以下のステップで行う。

 ・要求
 ・仕様
 ・提供
 ・組み立て
 ・テスト
 ・配備

ここで、組み立て~配備までは、普通の開発(プログラミングして、テスト)と変わらない。
提供は、よくわかんない。
なんで、以下、要求と、仕様について説明する。




■要求

 要求は、ドメインモデルをつくって、ユースケースを抽出する。
 この辺は、ICONIXなんかと、対して違わない。ので、ざっと書いて、先に進む

<<手順>>
・ドメインモデル分析&作成
   名詞抽出法などによって、概念クラスを抽出して、関係付けする

・ユースケースの抽出
   業務(ビジネスプロセス)から機能を抽出し、ユースケースを出してもいいし(ユースケース法)
   ゴールとなる状態を詳細化して、システム化できるレベル(ビジネス要求)まで落とし、
     それを、いつ、だれが行うの?を決めていくというやりかた(KAOS)でも
   なんでもいいから、ユースケースをだす。




■仕様

 ここが大きく違う。かつ面倒。
 大きく、「コンポーネントの識別」、「コンポーネントの相互作用」、「コンポーネントの仕様」の3ステップにわかれ、そのそれぞれのステップの中で、以下のような操作を行う。

・コンポーネントの識別
  ・ビジネスタイプモデルの作成
  ・ビジネスインターフェースの識別
  ・システムインターフェースの識別
  ・初期のコンポーネント仕様作成

・コンポーネントの相互作用
  ・ビジネス操作の識別(相互作用確認)
  ・インターフェースと操作を洗練する
  ・コンポーネント仕様を洗練する

・コンポーネントの仕様
  ・インターフェース情報モデル抽出
  ・事前条件/事後条件をOCL等で定義する
  ・インターフェースの制約をきめて、仕様を作成する

以下、3つのステップごとに説明する。




■仕様(1):コンポーネントの識別
 以下の操作を行う

・ビジネスタイプモデルの作成
  ・要求で作った概念モデルから、今回開発範囲外のものを削除

・ビジネスインターフェースの識別

  ・ビジネスタイプモデル(はクラス図で提供されているとする)から、
   「コアタイプ」となるクラスを抽出する
   ※コアタイプとなるクラス
    1.識別氏がある
    2.1対N(1対1でもいいけど)のとき、1のほう
      例外:分類タイプのものとの場合は、多でもよい
   →コアタイプが見つかったら、クラス図にステレオタイプでCOREと入れる

  ・ビジネスインターフェースの作成
    コアタイプ1つに対して、ビジネスインターフェースを1つ作成する
   →クラス図にクラス書き入れ
   
・システムインターフェースの識別
  ・ユースケース図のユースケース1つにつき、1つのシステムインターフェース
   を作成する(クラス図で)

・初期のコンポーネント仕様作成
  ・コンポーネント図に、上記、ビジネスインターフェース、
   システムインターフェースをまとめる。

   1ビジネスインターフェースは1インターフェース&1コンポーネントとし、
   1システムインターフェースは、1インターフェースとして、
       各(システム)インターフェースをまとめて、1コンポーネントとする。
   システムインターフェースのコンポーネントから、ビジネスインターフェースの
  コンポーネントを呼び出す(要求する)




■コンポーネントの相互作用
・ビジネス操作の識別(相互作用確認)
 コミュニケーション図を用意して、上記の各システムインターフェースごとに、
   ・システムインターフェースのオブジェクトを用意して
   ・ビジネスインターフェースのオブジェクトも用意して
   ・その間を行き交うメッセージを考えて、記述する
      →メッセージ=操作(メソッド)なので、操作と引数、返り値がここできまる

・インターフェースと操作を洗練する&コンポーネント仕様を洗練する
 上記のモデルを洗練する




■コンポーネントの仕様
・インターフェース情報モデル抽出
 ビジネスインターフェース、システムインターフェースから、
 DB等が持っているべき情報を抽出して、「インターフェース情報モデル」
 (=ER図のエンティティみたいなもん)を作成する。


・事前条件/事後条件をOCL等で定義する
 ビジネスインターフェース、システムインターフェースのメソッドに対する
 (メソッド自体は、「コンポーネントの相互作用」の「ビジネス操作の識別」で決めているはず)
 事前条件/事後条件をOCLで書く

・インターフェースの制約をきめて、仕様を作成する
 インターフェース内における不変条件を制約として書き、仕様を作成する。




■これ以降
 
 ・提供
 ・組み立て
 ・テスト
 ・配備

は、他と変わらないということで、省略  
 
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Astahの場合、事後条件を書く... | トップ | シミュレーションを利用した... »
最新の画像もっと見る

そのほか」カテゴリの最新記事