32
ソソソソソソソソソソソソソソソソ ソソソソソソソソソソソソIII ソソソソソソソソソソソソ ソソ ソソソ [email protected]

ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

  • Upload
    cheche

  • View
    42

  • Download
    0

Embed Size (px)

DESCRIPTION

ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III ). 北京航空航天大学软件学院 马 平 博士 副教授 [email protected]. 第三回 ソフト開発 の設計法. 設計作業の文章と設計法、設計記述法との関係 設計の位置付け 設計法の重要性と歴史 設計作業フローと設計法の支援範囲 設計法の分類 共通問題 構造化設計法 データ構造主導設計法. 設計法. - PowerPoint PPT Presentation

Citation preview

Page 1: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

ソフトウェア開発及びソフトウェア

プロジェクトマネジメント( III )

北京航空航天大学软件学院马 平 博士 副教授

[email protected]

Page 2: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

第三回 ソフト開発の設計法

設計作業の文章と設計法、設計記述法との関係 設計の位置付け 設計法の重要性と歴史 設計作業フローと設計法の支援範囲 設計法の分類 共通問題 構造化設計法 データ構造主導設計法

Page 3: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計法

設計法とは、与えられた問題(利用者ニーズ)からそれを解く(処理する)プログラムを作成する過程の中で、「設計作業を効率良く、かつできるかぎり正確に施行するための方法論」にとらえる。

Page 4: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計法 設計作業の文章と設計法、設計記述法との関係 設計の位置付け 設計法の重要性と歴史 設計作業フローと設計法の支援範囲 設計法の分類 共通問題 構造化設計法 データ構造主導設計法

Page 5: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計作業の文章と設計法、設計記述法との関係

AB C

設計作業の文書と設計法、設計記述技法との関係A:ソフトウェア生産に必要な文章(ドキュメント)B:設計作業の生産物としての文章。設計作業に設計法を 利用する場合もあるC:設計文章のうち、主としてプログラム論理を記述してある文章 (論理設計用文章)。この文章の表現法として、設計記述技法を用いる 場合もある。

Page 6: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計法 設計作業の文章と設計法、設計記述法との関係 設計の位置付け 設計法の重要性と歴史 設計作業フローと設計法の支援範囲 設計法の分類 共通問題 構造化設計法 データ構造主導設計法

Page 7: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計の位置付け設計の位置付け

ハ ー ド ウ ェ ア 仕様

問題(利用者ニーズ)

ソフトウェア仕様 設計法使用 プログラム作成

設計法使用せず

仕様化 設計 プログラム作成

Page 8: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計法 設計作業の文章と設計法、設計記述法との関係 設計の位置付け 設計法の重要性と歴史 設計作業フローと設計法の支援範囲 設計法の分類 共通問題 構造化設計法 データ構造主導設計法

Page 9: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計法の重要性と歴史

ソフトウェア工学という用語が使われはじめたのは、1968年に NATO の後援により開催された国際会議におけるのが最初ではないかといわれている。

Page 10: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計法の重要性と歴史 設計法関連の技術年表 西暦 技術内容等 1971 モジュール化法,段階的詳細化法,ワーニエ法,トップダウン

プログラミング1972 構造化プログラミング

1973 複合設計 1974 構造化設計,抽象データ型を用いたプログラミング法 1975 ジャクソン法 1976 ジャクソン法 1977 システムの階層分割

1978 1979 トップダウン設計法,形式的仕様記述 1980 統一的設計方法論 1981 機能的設計法 1982 PAM 1983 データフロー設計法 1984 1985 データ抽象向けプログラミング設計法

Page 11: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計法 設計作業の文章と設計法、設計記述法との関係 設計の位置付け 設計法の重要性と歴史 設計作業フローと設計法の支援範囲 設計法の分類 共通問題 構造化設計法 データ構造主導設計法

Page 12: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計作業フローと設計法の支援範囲

問題の仕様

 ⑤ 設計

問題の理解

④ 設計法

機能設計

構造設計

機能設計レビュー

構造設計レビュー

設計レビュー

論理設計

· 仕様化

· 全体象の把握 · 方式検討 · 不明部分の洗い出し · 入力・出力の確定

· 機能の記述

· プログラム構造の設計 (モジュール構成)

· モジュール内設計 · 処理方式

注:設計法:主として②③④の作業を支援する

Page 13: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計法 設計作業の文章と設計法、設計記述法との関係 設計の位置付け 設計法の重要性と歴史 設計作業フローと設計法の支援範囲 設計法の分類 共通問題 構造化設計法 データ構造主導設計法

Page 14: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計法の分類

システムの階層分割 トップダウン設計法 データ抽象化設計法 構造化設計法

ソフトウェア設計法

モジュール分割設計法

モジュール設計法

制御構造主導設計法 データ構造主導設計法

Page 15: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計法 設計作業の文章と設計法、設計記述法との関係 設計の位置付け 設計法の重要性と歴史 設計作業フローと設計法の支援範囲 設計法の分類 共通問題 構造化設計法 データ構造主導設計法

Page 16: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

共通問題の理解 酒類の販売在庫管理問題の仕様 ↓ 共通問題のイメージ

↓ 共通問題の分析図

      ↓ 共通問題のプログラム化の対象(受付係の仕事) 出庫指示書作成 在庫なしの連絡(不在庫通知) 在庫不足リストの作成 在庫検索・管理 空予定のコンテナ通知

     ↓ 方式検討項目    ↓ アルゴリズムの所在 共通問題に内在するアルゴリズム

 ↓ 異常処理

 ↓ 帳票の種類と記載事項

 ↓ 設計法の説明順序

Page 17: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

共通問題の理解 ある酒類販売会社の倉庫では,毎日数個のコンテナが搬入されてくる。その

内容は ビン詰めの酒で、一つのコンテナには10銘柄まで混載できる。扱い銘柄は約 200種類ある。

倉庫係は、コンテナを受け取り、そのまま倉庫に保管し、積荷票を受付係へ手渡す。

また、受付係からの出庫指示によって内蔵品を出庫することになっている。内蔵品は別のコンテナに詰め替えたり、別の場所に保管することはない。

空になったコンテナは、すぐ搬出される。 さて、受付係は毎日数十件の出庫依頼を受け、そのつど倉庫係へ出庫指示書を提出することになっている。出庫依頼は出庫依頼票または電話によるものとし、一件の依頼では1銘柄のみにかぎられている。在庫がないか、数量が不足の場合には、その旨を依頼者に電話連絡するとともに、在庫不足リストに記入する。また、空になる予定のコンテナを倉庫係に知らせることになっている。倉庫内のコンテナ数は、できるだけ最小にしたいと考えているからである。

受付係の仕事のための計算機プログラムを作成せよ 図と表 3.1

Page 18: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計法 設計作業の文章と設計法、設計記述法との関係 設計の位置付け 設計法の重要性と歴史 設計作業フローと設計法の支援範囲 設計法の分類 共通問題 構造化設計法 データ構造主導設計法

Page 19: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

構造化定理

图3. 2

Page 20: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

SIMPLE  と  SYSL-2

图3. 3

Page 21: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

構造化設計の効果例

图3. 4

Page 22: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

構造化設計法の概要

モジュール:図3. 5

バブルチャート:図3. 6

階層構造図:図3. 7

モジュールの評価基準:図3. 8

決定構造:図3. 9

Page 23: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

決定構造

決定構造とは、判定結果の影響がすぐ下の従属モジュールにおよぶような構造をよしとする考えである

Page 24: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

構造化設計法の設計手順 「ステップ1」 トランザクション・センタの定義 「ステップ2」 トランザクション・センタの解析 「ステップ3」 データの変換分析 「ステップ4」 モジュールの洗練

Page 25: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

従属モジュールの構成 図3 .10

Page 26: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

構造化設計法の設計手順の例 図3 .11  

Page 27: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計法 設計作業の文章と設計法、設計記述法との関係 設計の位置付け 設計法の重要性と歴史 設計作業フローと設計法の支援範囲 設計法の分類 共通問題 構造化設計法 データ構造主導設計法

Page 28: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

ワーニエ法の設計手順

設計開始→処理概要→出力データ構造図→入力データ構造図→プログラム構造図→処理命令の種類別リストとモジュールへの割当て→プログラミング・テーブル→設計終了

Page 29: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

ワーニエ法の特徴

(1)階層型のデータ構造を、プログラム構造設計の土台

としていること。(2)構造図作成の手段として集合論の考え方を導入し、 これに基づいてデータと業務の分析を行うこと。(3)プログラム構造は、階層型の入力データ構造に基 づくこと。

Page 30: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

ワーニエ法の設計図法

モジュール分割設計法 (プログラム全体のモジュール構成の)        ↓    データ構造主導設計法(中の一つのモジュールの論理設計ワーニエ法)

Page 31: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

ワーニエ法の例 図3 .12  ワーニエ法の例

Page 32: ソフトウェア開発及びソフトウェア プロジェクトマネジメント( III )

設計法のまとめ

設計法の基本概念 設計法の分類 共通問題 構造化設計法 ワーニエ設計法