240 likes | 531 Views
解説 構造化システム設計手法. ■ 現在の主なシステム分析設計技法. ・ 構造化分析設計技法. SA,SD (Structured Analysis and Structured Design). ・ データ中心分析設計技法. Data Oriented Analysis and Design. ・ オブジェクト指向分析・設計技法. Object Oriented Analysis and Design. ■ システム構築目的の変化と設計技法の関連. 会計システム 販売管理システム 在庫管理システム 顧客管理システム 受発注管理システム 人事管理システム
E N D
解説 構造化システム設計手法
■現在の主なシステム分析設計技法 ・構造化分析設計技法 SA,SD (StructuredAnalysisand Structured Design) ・データ中心分析設計技法 Data Oriented Analysis and Design ・オブジェクト指向分析・設計技法 Object Oriented Analysis and Design
■システム構築目的の変化と設計技法の関連 会計システム 販売管理システム 在庫管理システム 顧客管理システム 受発注管理システム 人事管理システム 資産管理システム・ 工程計画管理システム 資源管理システム プラント制御システム 等々 ●大規模な定型処理機能の実現 構造化分析設計 ●データの共有と活用 戦略情報システム 座席予約システム 顧客データ管理システム オンライン配送システム(ヤマト運輸) 等々 データ中心分析設計 ●非定型処理の拡大への対応 意思決定システム、シミュレーション マーケッティング分析 財産形成設計 等々 オブジェクト指向分析設計 ●プライベート情報処理への対応 エージェント指向分析設計?
■なぜシステム分析設計技法が重要なのか 1970年代半ばから大量のソフトウェアを開発しなければならない時代に突入した 1:誰でも一定の品質を満たすソフトウェアが開発できる方法が 必要である 2:ソフトウェア開発プロセスを改善して行く基準となる作業手順と ドキュメントが存在しなければならない 3: 開発メンバ間での共通のコミュニケーション手段も必要である
■分析設計技法に含まれるもの ●分析設計の視点(何に着目するか) 機能に着目するのか 概念に着目するのか 属性に着目するのか 関係に着目するのか ●分析設計の手順(どのようなプロセスか) ●表記方法(どのように表現するか) 図式的表記か 文字列で表現するのか(宣言的仕様記述・論理型仕様記述 等 ) 動的な動きを表記するのか 空間イメージを表現するのか 動的な動きを表記するのか
■分析設計技法を考えるヒント (問)みなさんが長編小説 /RPGを書くとしたら、 どのような順序でどのようなことを決めるか (A) 登場人物を決める (B) 個々の章節における展開内容の概要を決める (C) 章節項の構成を決める (D) シナリオ(小説/ゲームの展開手順)を決める (E) いい回し/キャラクタイメージを決める (F) 何を小説/ゲームの展開の焦点とするか
(A) 登場人物を決める 構成要素となるデータを決める (B) 個々の章節における 展開内容の概要を決める モジュールの機能内容を決める (C) 章節項の構成を決める モジュール構造を決める (D) シナリオ(小説/ゲームの展開手順)を決める 処理の手順を決める (E) いい回し/キャラクタイメージを決める プログラム言語を決める (F) 何を小説/ゲームの展開の焦点とするか 分析設計の視点を決める 分析設計の要素手順との対応関係
(答) 分析設計の標準的な手順 ・分析設計の視点を決める(何を小説/ゲームの展開の焦点とするか) ・処理の手順を決める(シナリオ(小説/ゲームの展開手順)を決める) ・構成要素となるデータを決める(登場人物を決め) ・モジュールの機能内容を決める (個々の章節における展開内容の概要を決める) ・モジュール構造を決める( 章節項の構成を決める) ・プログラム言語を決める(いい回し/キャラクタイメージを決める)
■代表的な構造化分析設計技法 ●SADT(StructuredAnalysisDesignTechnique) ● データフロー分析設計 ● 構造化分析設計 ● 複合化分析設計
■SADT(StructuredAnalysisDesignTechnique) ー構造化されたシステム仕様の分析と設計技法ー 【着目点】 データと制御の流れを同時に表現する 【プロセス】 階層化してトップダウンに設計する 【表記法】 制御データ 入力データ 処理すべき機能 出力データ 機構データ
D1: 入力データ名1 D2: 出入力データ名2 D3: 制御データ名3 #1 A D2 D4 #2 B D3 D1 #3 C ボックスの配置方向 #4 D
システム全体 シート#1 1 2 4 3 詳細化の方向 シート#3.1 詳細化の方向性を規定した… それまでは一般にボトムアップであった(プログラマ=設計者であった)
( ) ( ) ≡ 図式表記の方法を規定した 表 記 法 表 記 法 A A 結合 分岐 A A A A A A 結束 展開 C C B B ( C = A ∪ B ) ( C = A ∪ B ) A A A or B A or B OR結合 OR分岐 B B 通過 トンネル 相互関連
●2通りの見方を導入した(きわめて重要) 「処理」中心の捉え方 「データ」中心の捉え方 データ 作業 作業 作業 データ 作業 データ データ モデル モデル もの できごと できごと できごと できごと もの もの もの 処理機構 実体分類 名詞 動詞 動詞 名詞 動詞 動詞 名詞 名詞 名前 名前 オブジェクト指向分析設計の原点
注文ファイル 倉庫 顧客ファイル 決済通知 顧 客 #3 顧客口座を 更新 決済額 取引き要求 顧客取引情報 #1 新規顧客を登録 新規決済口座の開設要求 与信限度 顧客情報 #2 顧客決済口座 を開設 注文 #4 注文を登録 注文 配送依頼 配送が必要な注文 注文確認 #5 注文を確認し 配送を計画 配送計画 配送部門 在庫量 ・処理の手順を決める(シナリオ(小説/ゲームの展開手順)を決める)
注文ファイル 倉庫 顧客ファイル ■ データフロー分析設計(Data Flow Analysis Design) 新規決済口座の開設要求 顧 客 顧客要求 決済通知 顧客決済 口座を開設 する 顧客情報 顧客ファイル を開設する 注文 顧客取引情報 与信限度 注文を 登録する 顧客口座を の更新する 注文 注文確認 配送依頼 決済額 注文を確認し配送計画 を立てる 配送計画 配送が必要な注文 在庫量 配送部門 ・処理の手順を決める(シナリオ(小説/ゲームの展開手順)を決める)
ストア名 出力データ名1 外部エンティティ名 入力データ名1 出力データ名2 プロセス名 ユーザとの打ち合わせながら設計するとき効果的
プロセス仕様分析 各プロセスがもつ処理内容の記述 処理内容の詳細化 入力データ プロセス データ構造分析 データがもつ構造の記述 出力データ データの詳細化 ・構成要素となるデータを決める(登場人物を決め) ・モジュールの機能内容を決める (個々の章節における展開内容の概要を決める)
■プロセス仕様分析 IPO図(Input Process Output図) レベル #1.5在庫量を確認する バージョン 1.0 記入者 大木 記入日 4/15/XX 入力(I) 処理(P) 出力(O) O1. 出庫指示書 O2. 在庫不足通知書 O3. 不足品 発注依頼書 O4. 在庫マスター O5.出荷確認書 I1. 出庫依頼書 I2.在庫マスター I3. 入荷確認書 I4. 出荷確認書 • 1. 在庫量が出庫数以上か比較する. • 在庫数量が出庫数以上のとき • 在庫数量が出庫数以下のとき • 2.在庫数量に入荷数を加える. • 3.在庫数量から出荷数を減じる.
③ 選択 (Selection) ① 連接 (Sequence) ② 繰返し (Iteration) A A B C B C 選択記号 繰返し記号 A B * ■データ構造分析 後で記述するER図を記述する上で基盤となるデータ構造を分析する。 【記述規則】
賞味期限 ドル価格 円価格 ドル価格 例えば… 【 変形規則2 】 【 変形規則1 】 部 品 商 品 発注先 部品番号 製造業者名 * 商 品 部 品 価格 賞味期限 発注先 製造業者一覧 部品番号 選択構造 繰返し構造 円価格 製造業者名 * 実体の分離
【演習問題】 以下の業務内容から、各係をプロセスとし,伝票やデータの流れをデータフロー図を記述せよ(表記方法は,次スライド参照). ヤマダ電器杉戸店は電器製品の安売り店である。店員は10名で、店長以下、レジ係、接客係(製品の陳列・接客を行う)、倉庫係(製品の搬入・搬出を行う)、配送係(顧客への配送を行う)がいる。それぞれの係は以下のような処理を担当している。 (1)顧客は購入したい製品をレジ係か接客係に注文する。 (2)接客係は顧客との交渉の都合によっては、値引き率を決め、レジ係に通知する。 (3)レジ係は、売上金額を売上ファイルに記録する。 (4)レジ係は、注文された製品を倉庫係に問い合わせ、在庫があるか確認し、 顧客に知らせる。 (5)倉庫係は、在庫確認の要求があると在庫管理ファイルを検索し、在庫があるか ないかの確認票をレジ係に送る。 (6)接客係は顧客の問い合わせによって、直接倉庫係に在庫を確認するときがある。 (7)配送が必要なときは、レジ係が倉庫係に製品の出庫を依頼する。 (8)配送係は、倉庫係の配送要求に応じて、顧客宅まで製品を配送する。
プロセス名 Yourdon & DeMarco式表記 Gane & Sarson式表記 エンティティ識別番号 外部エンティティ名 外部エンティティ名 プロセス名 ストア名 ストア識別番号 ストア名 【補足】データフロー図の代表的な表記方法