• 検索結果がありません。

Microsoft PowerPoint - se05-ER&OOAD&UML.ppt [互換モード]

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft PowerPoint - se05-ER&OOAD&UML.ppt [互換モード]"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

ソフトウェア工学

ソフトウェア工学

05:

要求分析/定義と設計(Ⅲ) ― ERモデリング、OOAD、UML 理工学部 経営システム工学科 庄司 裕子

今回のテーマ

今回のテーマ

要求分析/定義と設計(Ⅲ)

― ERモデリング、OOAD、UML

開発プロセスにおける位置づけと目的 ERモデリング オブジェクト指向分析/設計(OOAD) UML 2

要求分析/定義と設計(Ⅲ)

― ERモデリング、OOAD、UML

要求分析/定義と設計(Ⅲ)

― ERモデリング、OOAD、UML

開発プロセスにおける位置づけと目的 ERモデリング オブジェクト指向分析/設計(OOAD) UML 3

開発プロセスにおける位置づけ

開発プロセスにおける位置づけ

要求分析 システム 設計 要求定義 プログラム 設計 コーディング テスト 運用・保守 反復型開発モデル ウォーターフォール型開発モデル T R D C T R R R 反復の1サイクル 設計 分析 4

適用範囲

適用範囲

ERモデリング 設計、特にデータベース設計 OOADおよびその発展形のUML  分析/設計フェーズ全般 5

プロセス中心

v.s. データ中心

プロセス中心

v.s. データ中心

分析/設計のフォーカスをプロセス(処理)に 置くか、データに置くか 構造化分析/設計 プロセス中心(Process Centered) ERモデリング データ中心(Data Centered) OOADおよびその発展形のUML  データ中心+プロセス中心 6

(2)

要求分析/定義と設計(Ⅲ)

― ERモデリング、OOAD、UML

要求分析/定義と設計(Ⅲ)

― ERモデリング、OOAD、UML

開発プロセスにおける位置づけと目的 ERモデリング オブジェクト指向分析/設計(OOAD) UML 7

ERモデリングの目的

ERモデリングの目的

構造化分析/設計では システムを構成するモジュールと各モジュール間 のインタフェースを明確にする 扱うデータはデータ ディクショナリに定義 データ同士の関係、特に、ストアに格納される データの取り扱いは不明 ERモデリングでは システムに登場するデータの「静的な」関係や構 造を明らかにする 8

ERモデリングとは

ERモデリングとは

システムで扱うデータを 実体(エンティティ:Entity) 実体間の関係(リレーションシップ:Relationship) で表現する データベースの論理設計に適用される 識別子 属性1 ・・・ 属性n 識別子 属性1 ・・・ 属性n エンティティA エンティティB リレーションシップ 9 実世界の事物や概念の集合を表す 他のエンティティと区別するための一意な識 別子(属性の一種)を持つ 属性を持つ

エンティティとは

エンティティとは

顧客 顧客番号 顧客名 住所 電話番号 注文 注文番号 顧客番号(FK) 注文日 ・・・・・・・・ 識別子 属性 10

(FK) の付いた属性

(FK) の付いた属性

それが他のエンティティの識別子になってい ることを示す FK は Foreign Key(外部キー)の略 特に、識別子に他のエンティティの識別子を 含んでいるエンティティは依存エンティティ 企業 企業コード 名称 住所 電話番号 製品 製品番号 企業コード(FK) 製品名 ~を扱う

ER図(ERD)

ER図(ERD)

エンティティとエンティティ間の関係を表したダ イアグラム 具体的な表記法は複数ある IDEF1X P. Chenによる表記 J. Martinによる表記 T字型ER法 ・・・

(3)

ERDの表記法(IDEF1Xの場合)

ERDの表記法(IDEF1Xの場合)

四角形 独立エンティティ(他のエンティティに依存しない) 角の丸い四角形 依存エンティティ(他のエンティティに依存する) 実線 依存エンティティとの依存リレーションシップ 破線 独立エンティティ同士の非依存リレーションシップ 13

ERDの例(IDEF1Xの表記法)

ERDの例(IDEF1Xの表記法)

顧客 顧客番号 氏名 住所 電話番号 注文明細 注文番号(FK) 品目コード(FK) 単価 数量 注文 注文番号 顧客番号(FK) 注文日時 14

リレーションシップの多重度

リレーションシップの多重度

関係するエンティティの数の範囲を表す 1対(0または1): -●Z 1対多(0以上): -● 1対多(1以上): -●P 多対多: ●-● 企業 企業コード 名称 住所 電話番号 製品 製品番号 企業コード(FK) 製品名 ~を扱う 15

多重度の表記法

多重度の表記法

1対(0/1) 1対多(≧0) 1対多(≧1) 多対多 俳優 映画 出演する 病院 患者 収容する P 病院 患者 収容する Z 国民 パスポート 所有する 16 多対多の関係にあるエンティティの場合には、 その両者を関係づけるもう1つのエンティティ を登場させるのが普通

多対多の関係のモデリング

多対多の関係のモデリング

俳優 映画 出演する 俳優 映画 出演 俳優番号(FK) 映画番号(FK) 17

ERモデリングのポイント

ERモデリングのポイント

識別子は必ず一意になっているか エンティティ間の依存関係は適切か 他のエンティティがなければ存在できないのかど うか慎重に判断する リレーションシップの多重度は適切か 属性は適切か 現実に存在しない属性をモデリング上の必要性 から定義することは避ける 使用状況をイメージしながら判断する 18

(4)

考えてみよう!

考えてみよう!

個人成績表に、学生番号、氏名、クラス名と いう個人情報と、試験番号、科目名、成績(得 点)という成績情報が記載されているとする これをERモデリングして、ER図を書いてみよう ヒント: 「学生」、「クラス」、「試験」という独立エンティティ (「もの」を表す)と、「成績」、「所属」という依存エ ンティティ(関係を表す)を用意する 19

要求分析/定義と設計(Ⅲ)

― ERモデリング、OOAD、UML

要求分析/定義と設計(Ⅲ)

― ERモデリング、OOAD、UML

開発プロセスにおける位置づけと目的 ERモデリング オブジェクト指向分析/設計(OOAD) UML 20

オブジェクト指向分析/設計

オブジェクト指向分析/設計

OOADと略称されることが多い システム分析/設計に対するデータ中心アプ ローチとプロセス中心アプローチを、オブジェ クトという基本単位で統一的に扱う方法 オブジェクトという情報的凝集度のモジュール に、扱うデータとそれを処理する手続きをひと まとめにし、システム全体の処理をそれらオ ブジェクト間のメッセージ送信でモデリングす る 21

モジュールの凝集度(

cohesion)

モジュールの凝集度(

cohesion)

モジュール構成図に現われる全モジュールについて、 モジュールとしてのまとまりの良さを8段階に分類 ① 偶発的: 明確な理由なく恣意的にまとめる ② 論理的: 見かけ上同一だが実際には異なる機能をまとめる ③ 時間的: 実行する時間が近い処理をまとめる ④ 手続き的: 一連の手続きをまとめる ⑤ 通信的: 同一データを入力/出力する処理をまとめる ⑥ 逐次的: パイプライン的な処理をまとめる ⑦ 機能的: 明確に定義できる特定の機能のみをまとめる ⑧ 情報的: 特定のデータへのアクセスをひとめとめにする 良い 悪い 22

オブジェクト指向のキーポイント

オブジェクト指向のキーポイント

カプセル化: オブジェクトにデータと手続きをひとま とめにする 継承: オブジェクトのクラスには階層構造があり、下 位のクラスは上位のクラスからデータと手続きを受 け継ぐが、再定義も可能 情報隠蔽: オブジェクト外部からは直接そのオブ ジェクト内のデータにアクセスすることはできない メッセージ送信: オブジェクトへのメッセージ送信で オブジェクト内部のデータの操作を依頼し、それに 基づいたオブジェクト間の相互作用でシステムの機 能を実現する

オブジェクト間の相互作用

オブジェクト間の相互作用

オブジェクトA データ 手続き オブジェクトB データ 手続き メッセージ 外部

×

(5)

OOADの各種手法とUML

OOADの各種手法とUML

OMT(Object Modeling Technique)法: James

Runmbaugh

Booch法: Grady Booch

Coad/Yourdon法: Peter Coad & Edward Yourdon ・・・他多数  モデルの表記法を統一したものがUML (方法論の統一ではない) 25

要求分析/定義と設計(Ⅲ)

― ERモデリング、OOAD、UML

要求分析/定義と設計(Ⅲ)

― ERモデリング、OOAD、UML

開発プロセスにおける位置づけと目的 ERモデリング オブジェクト指向分析/設計(OOAD) UML 26

UML(Unified Modelling Language)とは

UML(Unified Modelling Language)とは

1990年代に乱立していた主なOOAD方法論の概念 と表記法を統一したもの OMT法(James Runmbaugh) Booch法(Grady Booch) OOSE/Objectory法(Ivar Jacobson) 本当は、方法論そのものを統一したいが、それは ほとんど不可能(誰しも自分の方法論に固執する) モデルの表記法が異なると、開発者がモデルの翻 訳をしなければならず不都合なので、せめて表記 法だけでも統一しようというのが狙い

現在はOMG(Object Management Group)標準であり、

UML 2.xが登場している。 27

UMLダイアグラム(Ⅰ)

UMLダイアグラム(Ⅰ)

システムの静的(構造的)側面 クラス図 オブジェクト図 パッケージ図 コンポーネント図 配置図 28

UMLダイアグラム(Ⅱ)

UMLダイアグラム(Ⅱ)

システムの動的側面 ユースケース図 シーケンス図 コラボレーション図 アクティビティ図 ステートチャート図 29

まとめ:

ERモデリング

まとめ:

ERモデリング

システムに登場するデータの「静的な」関係や構造 を明らかにする システムで扱うデータを、実体(エンティティ:Entity) と実体間の関係(リレーションシップ:Relationship)で 表現する データベースの論理設計に適用される ER図 エンティティとエンティティ間の関係を表したダイアグラム IDEF1X 30

(6)

まとめ:ジェクト指向分析/設計

まとめ:ジェクト指向分析/設計

OOADと略称される システム分析/設計に対するデータ中心アプ ローチとプロセス中心アプローチを、オブジェ クトという基本単位で統一的に扱う方法 「オブジェクト」はモジュールとしての凝集度が◎ 近年は分析設計~開発までオブジェクト指向 でおこなうのが主流 OOADの方法論多数 →UMLへ UMLの各種ダイアグラム (→次回以降説明) 31

参考文献

参考文献

日経ソフトウェア(編): 「ゼロから学ぶソフト ウェア設計」, 日経BP 鈴木正人 : 「ソフトウェア工学―プロセス・開 発方法論・UML―」, サイエンス社 32

参照

関連したドキュメント

18.5グラムのタンパク質、合計326 キロカロリーを含む朝食を摂った 場合は、摂らなかった場合に比べ

 そして,我が国の通説は,租税回避を上記 のとおり定義した上で,租税回避がなされた

ERROR  -00002 認証失敗または 圏外   クラウドへの接続設定及びア ンテ ナ 接続を確認して ください。. ERROR  -00044 回線未登録または

適合 ・ 不適合 適 合:設置する 不適合:設置しない. 措置の方法:接続箱

場会社の従業員持株制度の場合︑会社から奨励金等が支出されている場合は少ないように思われ︑このような場合に

図表の記載にあたっては、調査票の選択肢の文言を一部省略している場合がある。省略して いない選択肢は、241 ページからの「第 3

この標準設計基準に定めのない場合は,技術基準その他の関係法令等に

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計