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

講義の進め方 第 1 回イントロダクション ( 第 1 章 ) 第 2 ~ 7 回第 2 章 ~ 第 5 章 第 8 回中間ミニテスト (11 月 15 日 ) 第 9 回第 6 章 ~ 第 回ローム記念館 2Fの実習室で UML によるロボット制御実習 定期試験 2

N/A
N/A
Protected

Academic year: 2021

シェア "講義の進め方 第 1 回イントロダクション ( 第 1 章 ) 第 2 ~ 7 回第 2 章 ~ 第 5 章 第 8 回中間ミニテスト (11 月 15 日 ) 第 9 回第 6 章 ~ 第 回ローム記念館 2Fの実習室で UML によるロボット制御実習 定期試験 2"

Copied!
50
0
0

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

全文

(1)

1

ソフトウェア工学


第7回


 


木曜5限 F205

神原弘之

京都高度技術研究所(ASTEM RI)

http://www.metsa.astem.or.jp/se/

(2)

2

講義の進め方

•  第  1   回 イントロダクション(第1章)

•  第 2

7 回 第2章~第5章

•  第

回 

中間ミニテスト

11月15日

•  第 9 回 第6章~

•  第

12〜14

回 ローム記念館2Fの実習室で

           UML によるロボット制御実習

•  定期試験

(3)

3

概要

•  ソフトウェア工学の講義の目的

(4)

第5章 構造化分析

•  構造化分析は、ソフトウェアが動作するシステ

ムの機能に着目して、要求を仕様化する技法

の一つ 

•  データフロー図という図的表現が中心

前回

(5)

5.1 構造化分析とは

構造化分析とは

•  デ・マルコ (

Tom DeMarco )により提案された

分析技法

•  データフロー図 

•  データ辞書 

•  プロセス仕様書 

を用いて

•  システムを 段階的 に 詳細化 

して、要求仕様書を作成

今回

(6)

5.1 構造化分析とは

5.1.1 データフロー図

• 

data flow diagram : DFD は、システム内の

データ の 流れ を図で示したもの

エンティティ (源泉) プロセス1 プロセス2 データストア エンティティ (吸収) フロー1 フロー2 フロー3 フロー4 フロー6 フロー5 前回

(7)

5.1.1 データフロー図 データフロー図を構成する4つの要素(の(1)と(2)と(3)) (1) プロセス •  入力 データから 出力 データへの 変換処理 •  円 で表現し、内部に 処理 の内容を示す名称をつける (2) フロー •  プロセス間の定常的な データ の 流れ •  矢印 で表現し、流れる データ の内容を示す名称をつける (3) データストア •  データを 格納する場所、ファイル とも呼ばれる •  平行線 で表現し、格納する データ の内容を表す名称をつける

5.1 構造化分析とは(つづき)

フロー1 データストア プロセス1 前回

(8)

5.1 構造化分析とは(つづき)

5.1.1 データフロー図 データフロー図を構成する4つの要素(の(4)) (4)エンティティ •  システムの 外部 に存在する 機器、組織 、人間 など •  長方形 で表現し、その内容を識別するための名称を つける •  データの 発生元 である 源泉 ( ソース ) •  データの最終的な 行き先 である 吸収 ( シンク )に 分けられる エンティティ (源泉) エンティティ (吸収) 前回

(9)

5.1 構造化分析とは

5.1.2 データフロー図の階層化 (1)全体文脈図 ( コンテキスト・ダイアグラム )を記述 •  システム全体を1つのプロセスとして捉え、外部エン ティティ とのデータの流れを記述する (2)プロセス の詳細化 •  複数 の 処理 を含むプロセスを、複数の プロセス に 分割する •  分割後の プロセス や データストア の間のデータの 流れを明確にする 前回

(10)

5.1 構造化分析とは

• 

5.1.2 データフロー図の階層化

p q 2.2 a b c d e f p1 p3 p2 a b c d e f q1 q4 q2 q3 2.2 c 前回

(11)

5.1 構造化分析とは

5.1.3 データフロー図における規則

•  (1)フローは データ の流れのみを表現し、 

制御 の流れは記述しない

•  (2)プロセスには必ず 1つ 以上の入力フロー

と出力フローがある

•  (3)1つのプロセスに 複数 の入力フローと出

力フローがある場合、入出力関係 は規定さ

れない

前回

(12)

5.1 構造化分析とは

5.1.3 データフロー図における規則

•  (4)データの入出力に関する 入出力順序 や

タイミング は表現できない

•  (5)起こりうる すべての データの流れを記述

する

前回

(13)

5.1 構造化分析とは

5.1.2 データフロー図の階層化

•  データの分割を伴うプロセスの詳細化の例

p b = x + y データの詳細化 データ b を 要素 x と 要素 y に分割 a b a x y c c

(14)

5.2 データフロー図を用いた分析手順

•  ネット販売業務の要求記述

(スライドでは省略)

(15)

5.2 データフロー図を用いた分析手順

5.2.1 データフロー図の作成

•  ネット販売業務に登場するプロセスやエンティ

ティを見つけ出し、全体文脈図を作成する

料金係 倉庫係 注文者 ネット販売 注文者情報 ログイン情報 商品検索キー 商品一覧 注文情報 発送依頼 メッセージ 商品 管理情報 支払完了通知 メッセージ 前回

(16)

5.2 データフロー図を用いた分析手順

5.2.1 データフロー図の作成 •  ネット販売業務に登場する プロセス や エンティティ を見つけ出し、全体文脈図 を作成する •  エンティティ:注文者、料金係、倉庫係 要求記述(の〜〜〜〜)からネット販売業務のプロセスは •  会員管理係に関する業務 •  注文受付係に関する業務 •  商品管理係に関する業務 に分割できる

(17)

5.2 データフロー図を用いた分析手順

5.2.1 データフロー図の作成 要求記述について •  主語 は(動作の主体であるため)、データ の送り元 •  述語 は、プロセス間のデータの 受け渡し •  動作の予格(間接)目的語 は、データの 受取先  (〜に) •  動作の対格(直接)目的語 は、プロセス間を流れる データの候補 (〜を) を表す場合が多い 前回

(18)

5.2 データフロー図を用いた分析手順

5.2.1 データフロー図の作成 要求文: •  注文者は、注文受付係に注文情報を送ることで、希 望する商品を注文することができる データフロー: •  注文者 → 注文受付係(データ:注文情報) 前回

(19)

5.2 データフロー図を用いた分析手順

5.2.1 データフロー図の作成

•  ネット販売業務に登場するプロセスやエンティ

ティを見つけ出し、全体文脈図を作成する

料金係 倉庫係 注文者 ネット販売 注文者情報 ログイン情報 商品検索キー 商品一覧 注文情報 発送依頼 メッセージ 商品 管理情報 支払完了通知 メッセージ 前回

(20)

5.2 データフロー図を用いた分析手順

5.2.1 データフロー図の作成

•  ネット販売業務に登場するプロセスやエンティ

ティを見つけ出し、全体文脈図を作成する

倉庫係 注文者 商品検索キー 商品一覧 注文情報 発送依頼 メッセージ 商品 管理情報 支払完了通知 メッセージ ネット販売 料金係 注文者 情報 ログイン情報 前回

(21)

5.2 データフロー図を用いた分析手順

5.2.1 データフロー図の作成

•  (会員情報ファイルと商品管理ファイルをデー

タストアとして表現)

料金係 倉庫係 注文者 1 会員管理 注文者 情報 商品検索キー 商品一覧 注文情報 発送依頼 メッセージ 商品 管理情報 支払完了通知 メッセージ 会員情報ファイル 商品管理ファイル 2 注文受付 3 商品管理 前回 ログイン 情報 発送 情報 ログイン情報

(22)

5.2 データフロー図を用いた分析手順

5.2.1 データフロー図の作成

•  前述の「

注文受付

」のデータフローに着目

料金係 注文者 ログイン 情報 商品検索キー 商品一覧 注文情報 支払完了通知 メッセージ 会員情報ファイル 商品管理ファイル 2 注文受付 3 商品管理 発送 情報 前回

(23)

5.2 データフロー図を用いた分析手順

5.2.1 データフロー図の作成 •  前述の「2.注文受付」のデータフローに着目 注文者 料金係 2 注文受付 会員情報ファイル 商品管理ファイル 3 商品管理 ログイン情報 商品一覧 注文情報 商品検索キー 注文情報 支払完了通知 メッセージ 前回

(24)

5.2 データフロー図を用いた分析手順

5.2.1 データフロー図の作成 •  前述の「2.注文受付」を「2.1 ログイン処理」「2.2 商品購入」「2.3 商品検索」に分割(完了) 注文者 料金係 2.3 商品検索 2.1 ログイン 処理 会員情報ファイル 商品管理ファイル 3 商品管理 2.2 商品購入 ログイン情報 商品一覧 商品検索キー 注文情報 支払完了通知 メッセージ 商品一覧 注文情報 前回

(25)

5.2 データフロー図を用いた分析手順

「2.2 商品購入」に、以下の要求記述を追加 •  注文情報 は、商品選択情報(選択する商品の商品番号と商品選択メッ セージ)、商品取消情報(選択を取り消す商品番号と商品取消メッセージ)、 注文確認メッセージ、注文確定メッセージに分けられる •  商品選択係は、注文者から 商品番号 を受け取ると、それを カート情報 に 追加する •  商品取消係は、注文者から 商品番号 を受け取ると、それを カート情報 か ら削除する •  注文確認係は、注文者から 注文確認メッセージ を受け取ると、カート情報 に存在する商品群に関する商品情報を 商品管理ファイル から取り出し、 それらを注文者に 商品一覧 として送る •  注文確定係は、注文者から 注文確定メッセージ を受け取ると、カート情報 に存在する商品群の 商品番号 を取り出し、それらを 注文情報 として振 込確認係に送る •  振込確認係は、料金係から送られる 支払完了メッセージ を待つ。支払完 了メッセージ を受け取ると、注文確定係から受け取った 注文情報 を商品 管理係に送る → 次スライドで、プロセスの「2.2 商品購入」を詳細化 前回

(26)

5.2 データフロー図を用いた分析手順

5.2.1 データフロー図の作成 •  「2.2 商品購入」を詳細化するため「2.2 商品購入」 のデータフローに着目 注文者 料金係 商品一覧 注文情報 2.3 商品検索 2.1 ログイン 処理 会員情報ファイル 商品管理ファイル 3 商品管理 2.2 商品購入 ログイン情報 商品一覧 商品検索キー 注文情報 支払完了通知 メッセージ 前回

(27)

5.2 データフロー図を用いた分析手順

5.2.1 データフロー図の作成 •  「2.2 商品購入」を詳細化するため「2.2 商品購入」 のデータフローに着目  (※前のスライドから、    「商品購入」のデータフロー箇所だけ取り出した) 商品管理ファイル 3 商品管理 2.2 商品購入 注文情報 今回 注文者 料金係 支払完了通知 メッセージ 商品一覧 注文情報

(28)

5.2 データフロー図を用いた分析手順

5.2.1 データフロー図の作成 •  「2.2 商品購入」を詳細化するため「2.2 商品購入」 のデータフローに着目  (※前のスライドから、   「商品管理ファイル」の位置を変更しただけ) 今回 3 商品管理 2.2 商品購入 注文情報 注文者 料金係 商品管理ファイル 支払完了通知 メッセージ 商品一覧 注文情報

(29)

5.2 データフロー図を用いた分析手順

「2.2 商品購入」に、以下の要求記述を追加 •  注文情報 は、商品選択情報(選択する商品の商品番号と商品選択メッ セージ)、商品取消情報(選択を取り消す商品番号と商品取消メッセージ)、 注文確認メッセージ、注文確定メッセージに分けられる •  商品選択係は、注文者から 商品番号 を受け取ると、それを カート情報 に 追加する •  商品取消係は、注文者から 商品番号 を受け取ると、それを カート情報 か ら削除する •  注文確認係は、注文者から 注文確認メッセージ を受け取ると、カート情報 に存在する商品群に関する商品情報を 商品管理ファイル から取り出し、 それらを注文者に 商品一覧 として送る •  注文確定係は、注文者から 注文確定メッセージ を受け取ると、カート情報 に存在する商品群の 商品番号 を取り出し、それらを 注文情報 として振 込確認係に送る •  振込確認係は、料金係から送られる 支払完了メッセージ を待つ。支払完 了メッセージ を受け取ると、注文確定係から受け取った 注文情報 を商品 管理係に送る 今回

(30)

5.2 データフロー図を用いた分析手順

今回 注文者 2.2.1 商品選択 商品取消 2.2.4 注文確定 2.2.3 注文確認 商品選択 メッセージ 注文確定 メッセージ 注文確認メッセージ 商品取消 メッセージ 商品 番号 商品 番号 「2.2 商品購入」の「注文情報」に関する要求記述 •  注文情報 は、商品選択情報(選択する商品の商品番号と商品選択メッ セージ)、商品取消情報(選択を取り消す商品番号と商品取消メッセージ)、 注文確認メッセージ、注文確定メッセージに分けられる

(31)

5.2 データフロー図を用いた分析手順

今回 注文者 2.2.1 商品選択 カート情報 商品選択 メッセージ 商品 番号 「2.2.1 商品選択」プロセスの要求記述 •  商品選択係は、注文者から 商品番号 を受け取ると、それを カート情報 に 追加する

(32)

5.2 データフロー図を用いた分析手順

今回 注文者 カート情報 2.2.2 商品取消 商品取消 メッセージ 商品 番号 「2.2.2 商品取消」プロセスの要求記述 •  商品取消係は、注文者から 商品番号 を受け取ると、それを カート情報 か ら削除する

(33)

5.2 データフロー図を用いた分析手順

今回 注文者 商品管理ファイル カート情報 2.2.3 注文確認 注文確認メッセージ 商品一覧 「2.2.3 注文確認」プロセスの要求記述 •  注文確認係は、注文者から 注文確認メッセージ を受け取ると、カート情報 に存在する商品群に関する商品情報を 商品管理ファイル から取り出し、 それらを注文者に 商品一覧 として送る

(34)

5.2 データフロー図を用いた分析手順

今回 注文者 2.2.5 振込確認 カート情報 2.2.4 注文確定 注文確定 メッセージ 注文情報 「2.2.4 注文確定」プロセスの要求記述 •  注文確定係は、注文者から 注文確定メッセージ を受け取ると、カート情報 に存在する商品群の 商品番号 を取り出し、それらを 注文情報 として振 込確認係に送る 商品番号

(35)

5.2 データフロー図を用いた分析手順

今回 2.2.5 振込確認 2.2.4 注文確定 料金係 注文情報 注文情報 支払完了通知 メッセージ 3 商品管理 「2.2.5 振込確認」プロセスの要求記述 •  振込確認係は、料金係から送られる 支払完了メッセージ を待つ。支払完 了メッセージ を受け取ると、注文確定係から受け取った 注文情報 を商品 管理係に送る

(36)

5.2 データフロー図を用いた分析手順

5.2.2 プロセス仕様 •  「2.2 商品購入」の詳細化(※ 以下で完了) 今回 注文者 2.2.1 商品選択 商品管理ファイル 2.2.5 振込確認 カート情報 2.2.2 商品取消 2.2.4 注文確定 料金係 2.2.3 注文確認 商品選択 メッセージ 注文確定 メッセージ 注文確認メッセージ 商品取消 メッセージ 商品 番号 注文情報 注文情報 支払完了通知 メッセージ 3 商品管理 商品一覧 商品 番号 商品番号

(37)

5.2 データフロー図を用いた分析手順

5.2.2 プロセス仕様 •  データフロー図の階層化において、プロセスがこれ以上 分割できない レベルに達した後、それぞれのプロセス の基本処理の内容を プロセス仕様書 で記述する •  プロセス仕様書の記述には、構造化言語 が用いられる 構造化言語とは •  連接 •  選択 •  反復 の3つの構造により、機能を手続き的に記述する言語 •  その他には決定表、決定木、計算式などが用いられる 今回

(38)

5.2 データフロー図を用いた分析手順

今回 注文者 2.2.1 商品選択 カート情報 商品選択 メッセージ 商品 番号 「2.2.1 商品選択」プロセスの要求記述 •  商品選択係は、注文者から 商品番号 を受け取ると、それを カート情報 に 追加する

(39)

5.2 データフロー図を用いた分析手順

5.2.2 プロセス仕様 「2.2.1 商品選択」に関するプロセス仕様 •  1. 受け取った商品番号に該当する商品を カート情報 から取得し、以下のいずれかの処理を行う •   1.1 もし、該当商品が見つかった場合、以下の処理を 行う •    1.1.1 該当商品の個数をカート情報から取得する •    1.1.2 該当商品の個数を1つ増加する •    1.1.3 新しい個数をカート情報に保存する •   1.2 もし、該当商品が見つからなかった場合、以下の 処理を行う •    1.2.1 該当商品をカート情報に1つ登録する 今回

(40)

5.2 データフロー図を用いた分析手順

5.2.3 データ辞書

•  データ辞書は、データフロー図に現れるデータ

構造を定義するために用いられる

記述の方法

•  (1)

a = b

 a は b に等しい(等価)

•  (2)

a + b

 a と b からなる(連接)

•  (3)

[ a | b ]  a または b のどちらか(選択)

•  (4)

(a)      a はあってもなくてもよい(任意)

•  (5)

m {a} n  a が m 回以上 n 回以下

 繰り返し現れる(反復)

今回

(41)

5.2 データフロー図を用いた分析手順

5.2.3 データ辞書 データ辞書の例 •  注文者情報   = 氏名+住所+(電話番号)+初期パスワード •  初期パスワード= 4 {英数字} 8 •  注文情報    = [商品選択情報 | 商品取消情報 | 注文確認 情報 | 注文確定情報] 今回

(42)

5.3 構造化分析におけるその他の手法

データベースシステムやリアルタイムシステム

の仕様化においては、3つの図式だけでは不

十分となる

データフローに基づく分析を補う

•  実体関連図

•  状態遷移図

を次以降のスライドで説明する

今回

(43)

5.3 構造化分析におけるその他の手法

5.3.1 実体関連図 •  実体 ( エンティティ )間の 関連 を図示 •  実体は、システム内に存在する管理対象(人、もの、 お金、場所 )であり、名前をもつ 長方形 で表現 •  抽象的な概念や目に見えないものも実体 •  関連は、実体間の結びつきであり、関連名をもつ  ひし形 で表現 •  関連する実体のインスタンスの数や必須を表現する 記号を、関連を表す実線の両端に付与できる 今回

(44)

5.3 構造化分析におけるその他の手法

5.3.1 実体関連図 今回 は「実体(エンティティ)」 は「関連」 注文者情報 登録する 注文者 購入する 商品 使う ネット販売 システム 管理する

(45)

5.3 構造化分析におけるその他の手法

5.3.1 実体関連図 今回 は「実体(エンティティ)」 は「関連」 注文者情報 登録する 注文者 購入する 商品 使う ネット販売 システム 管理する 「注文者情報」と「注文者」の インスタンス は 「1対1」の関係 「注文者」と「商品」の インスタンス は 「1対多」の関係 「注文者」と 「ネット販売システム」の インスタンス は 「多対1」の関係 「商品」と 「ネット販売システム」の インスタンス は 「多対1」の関係

(46)

5.3 構造化分析におけるその他の手法

5.3.1 実体関連図 今回 注文者情報 登録する 注文者 購入する 商品 使う ネット販売 システム 管理する 「注文者情報」と「注文者」は「必須」の関係 「注文者」と「商品」は「必須ではない」の関係 「注文者」と 「ネット販売システム」は 「必須」の関係 「商品」と 「ネット販売システム」の 「必須」の関係 は「実体(エンティティ)」 は「関連」

(47)

5.3 構造化分析におけるその他の手法

5.3.1

実体関連図

「インスタンス」って、なに? •  「インスタンス」の日本語訳は「実体」 •  実体(エンティティ)と直前のスライドでは説明 (教科書の本文) •  同じ「商品」の異なる「インスタンス」を、複数の人が注文 することは可能 •  「商品」の同じ「インスタンス」を、同時に複数の人が注文 することはできない 今回

(48)

5.3 構造化分析におけるその他の手法

5.3.2 状態遷移図

•  システムを 状態機械 としてみなす •  機械は 内部状態 を持ち、外部と イベント をやりとりす ることで 状態 を変える(遷移する) •  同じイベントが到着しても、状態に応じて アクション (システムの応答)は変化する •  システムが取りうるすべての 状態 と 遷移 を記述 •  システムは必ず1つの 状態 に属している •  イベントは 一瞬 で起こり 遷移時間 は無視できる 今回

(49)

5.3 構造化分析におけるその他の手法

• 

5.3.2 状態遷移図

待受 ログイン中 (注文中) 会員 登録中 今回 起動 終了 初期状態 終了状態 新規登録 登録完了 ログイン / メニュー表示 ログアウト タイムアウト 緑字は「イベント」 赤字は「アクション」

(50)

50

講義の進め方

•  第  1   回 イントロダクション(第1章)

•  第 2

7 回 第2章~第5章

•  第

回 

中間ミニテスト

11月15日

•  第 9 回 第6章~

•  第

12〜14

回 ローム記念館2Fの実習室で

           UML によるロボット制御実習

•  定期試験

参照

関連したドキュメント

一定の抗原を注入するに当り,その注射部位を

第七節 義務違反者に対する措置、 第八節 復旧及び建替え 第 2 章 団地(第 65 条~第 70 条). 第 3 章 罰則(第 71 条~第

 第2項 動物實験 第4章 総括亜二考按 第5章 結 論

 第1節計測法  第2節 計測成績  第3節 年齢的差異・a就テ  第4節 性的差異二就テ  第5節 小 括 第5章  纏括並二結論

システムであって、当該管理監督のための資源配分がなされ、適切に運用されるものをいう。ただ し、第 82 条において読み替えて準用する第 2 章から第

平成25年3月1日 東京都北区長.. 第1章 第2章 第3 章 第4章 第5章 第6章 第7 章

第7回 第8回 第9回 第10回

第 4 四半期は、2015 年度第 2 回コンペを開催する予定。応募件数が伸び悩んで いるため、2015 年度第