ソフトウェア工学 第四回 知能情報学部 新田直也.

Slides:



Advertisements
Similar presentations
CMU2005 海外エンジニアリングワークショップ参加報告書 1 「真の要求を見極めろ!」: teamB 要求定義をどう捉えるか ● 要求定義とは何か? 製品には、顧客の望むことを正しく反映させる必要がある。 そのために必要なものが要求仕様である。 すなわち、要求仕様とは、顧客と製品を結ぶものであり、これを作ることが要求定義である。
Advertisements

ソフトウェア工学 理工学部 情報システム工学科 新田直也. 演習問題 1 の解答例  入庫処理の DFD 酒屋の在庫問題の DFD( 入庫処理 ) 更新情報 在庫ファイル 更新処理 倉庫係 在庫不足リスト 在庫ファイル 出庫指示書 新規出庫 判定 出庫指示書 作成処理 出庫依頼 積荷票.
解説構造化システム設計手法. ・ 構造化分析設計技法 ・ オブジェクト指向分析・設計技法 ■ 現在の主なシステム分析設計技法 ・ データ中心分析設計技法 SA,SD (Structured Analysis and Structured Design) Data Oriented Analysis.
ソフトウェア工学 知能情報学部 新田直也. オブジェクト指向パラダイムと は  オブジェクト指向言語の発展に伴って形成され てきたソフトウェア開発上の概念.オブジェク ト指向分析,オブジェクト指向設計など,プロ グラミング以外の工程でも用いられる.  ソフトウェアを処理や関数ではなくオブジェク.
メタモデル記述を用いた成果物間の依存関係追跡手法
背景 ソフトウェアの大規模化・複雑化 生産性と品質の向上 ↓ オブジェクト指向分析設計の適用 開発ツールの投入.
ソフトウェア工学特論III 第10回 その他の図 情報通信工学専攻 GM11013 堀江 真史
東京工科大学 コンピュータサイエンス 亀田弘之
テキストベースの会議における議論の効率化に関する研究
情報伝播によるオブジェクト指向プログラム理解支援の提案
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向プログラミング(2) OOPの三大要素 「クラス」「ポリモーフィズム」「継承」
CHAPTER1 UMLとオブジェクト指向の基本概念(2)
演算回路 <例題> 問題:1+2=3を計算する アドレス 内容 データ プログラム 10 11 12 ・ 19 1 2 (答え) 20 21
「システム構成要素」 (C)Copyright,Toshiomi KOBAYASHI,
付属書I.4 故障の木解析 (FTA).
開発流れ.
CSP記述によるモデル設計と ツールによる検証
物流への興味向上のためのVRを用いた近未来流通センターの構築
47070 オブジェクト指向モデリング [12] 2002年1月15日.
プログラム実行時情報を用いたトランザクションファンクション抽出手法
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
ソフトウェア工学 第五回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
図書館職員のための アプリケーション開発講習会
47070 オブジェクト指向モデリング [7] 2001年11月 12日.
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
ソフトウェアを取り巻く環境の変化がメトリクスに及ぼす影響について
利用関係に基づく類似度を用いたJavaコンポーネント分類ツールの作成
オブジェクト指向 プログラミング 第七回 知能情報学部 新田直也.
ソフトウェア設計検証 研究室の紹介 知能情報学部 准教授 新田直也.
オープンソース開発支援のための ソースコード及びメールの履歴対応表示システム
オブジェクト指向言語論 第八回 知能情報学部 新田直也.
11.3 酒屋の在庫問題(8) ユースケース 仕入販売支援システム 11. モデリング 受注する 入庫を記録する 在庫を引き当てる 受付係
物理的側面を表現する図 Chapter6 物理的側面を表現する図について徐研究室の大楠が発表します。 FM13005 大楠拓也 徐研究室.
オブジェクト指向言語論 第十四回 知能情報学部 新田直也.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第15回放送授業.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
SEIKO IT SOLUTION CO.,LTD.
プロジェクト演習 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
プログラミング言語論 第十一回 理工学部 情報システム工学科 新田直也.
All Rights Reserved, Copyright © 2004, Kobayashi
GSTOS コマンド計画検証ソフトウェアの開発
開発作業の形式化に基づく プロセス評価 松下誠 大阪大学.
ソフトウェア工学 知能情報学部 新田直也.
ソフトウェア工学 理工学部 情報システム工学科 新田直也.
プログラム分散化のための アスペクト指向言語
データ中心システム設計方法論“DATARUN” 
ソフトウェア工学 知能情報学部 新田直也.
オブジェクト指向言語論 第十一回 知能情報学部 新田直也.
オブジェクト指向 プログラミング 第四回 知能情報学部 新田直也.
情報処理Ⅱ 2007年12月3日(月) その1.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
ソフトウェア工学 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
プログラミング言語論 第九回 理工学部 情報システム工学科 新田直也.
オブジェクト指向言語論 第七回 知能情報学部 新田直也.
情報処理の概念 #0 概説 / 2002 (秋) 一般教育研究センター 安田豊.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
オブジェクト指向メトリクスを用いた 開発支援に関する研究 --- VC++とMFCを用いた開発を対象として ---
オブジェクト指向 プログラミング 第六回 知能情報学部 新田直也.
オブジェクト指向言語論 第九回 知能情報学部 新田直也.
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

ソフトウェア工学 第四回 知能情報学部 新田直也

構造化分析と データフローダイアグラム 構造化分析は,オブジェクト指向以前の標準的な分析手法. 構造化プログラミング(ダイクストラ)から発展した. システムをトップダウンに構造化(段階的詳細化). 構造化分析の結果はデータフローダイアグラム(data flow diagram, DFD)として記述され,構造化設計に引き継がれる. データフローダイアグラムの構成要素: ①入出力 ②データの流れ ③データの処理 ④データの蓄積 データ名 入力名 / 出力名 処理名 ファイル名

データフローダイアグラムの例(1) 酒屋の在庫問題(付録参照): 階層化して図式化される.最上位の図を全体文脈図(コンテキストダイアグラム, context diagram)という. 出庫指示書 倉庫係 倉庫係 積荷票 空予定コンテナ 受付係 システム 出庫依頼 在庫なし連絡 依頼者 依頼者 酒屋の在庫問題のDFD(コンテキストダイアグラム)

データフローダイアグラムの例(2) 酒屋の在庫問題の続き: 酒屋の在庫問題のDFD(受付係システム) 積荷票 出庫指示書 倉庫係 入庫処理 空予定コンテナ 在庫ファイル 在庫不足リスト 出庫依頼 在庫なし連絡 依頼者 出庫処理 依頼者 酒屋の在庫問題のDFD(受付係システム)

データフローダイアグラムの例(2) 酒屋の在庫問題の続き: 酒屋の在庫問題のDFD(出庫処理) 出庫指示書 作成処理 出庫指示書 倉庫係 空予定コンテナ 在庫あり 出庫依頼 在庫ファイル 在庫不足リスト 在庫なし 出庫依頼 在庫なし 連絡 出庫依頼 依頼者 不足判定 処理 在庫なし 処理 依頼者 酒屋の在庫問題のDFD(出庫処理)

設計 要求分析の結果(何を作ればよいか)に基づいて,如何に作るべきかを考えること. 主にシステム全体をどう分割するかを決定する. 設計は,実装作業の分担,効率,システムの再利用性,保守性,信頼性に大きく関わる. 分割がうまくできていれば,部品ごとに独立に実装できる. よくできた部品は,他のシステムでも再利用できる. 分割がうまくできていれば, 1つの不具合は1つの部品の修正だけで対処できる. うまく設計できるか否かは設計者の技能によるところが大きい.

情報隠蔽(information hiding) 1970年にD.L.パルナス オブジェクト指向の原型となった. 情報隠蔽とは? システムを複数のモジュールに分割する.そのとき,互いの独立性を高めるように,モジュール内の不必要な情報を他のモジュールに対して隠そうという考え方. そのモジュールを利用する人間が知っておくべき情報のみを公開し,それ以外は隠蔽される.たとえば,ある処理内部の具体的な手続き,具体的なデータ構造などは隠蔽される. 他のモジュールの情報が隠蔽されることで,実装者は自分の担当モジュールの実装に専念できる.

構造化設計(1) DFDを基にモジュール分割を行う.(出庫処理を例に…) 酒屋の在庫問題のDFD(出庫処理) 出庫指示書 作成処理 倉庫係 空予定コンテナ 在庫あり 出庫依頼 在庫ファイル 在庫不足リスト 在庫なし 出庫依頼 在庫なし 連絡 出庫依頼 依頼者 不足判定 処理 在庫なし 処理 依頼者 酒屋の在庫問題のDFD(出庫処理)

構造化設計(2) データの流れから関数(サブルーチン)呼出しのインタフェースを決める. 分岐がある場合は,分岐先を下位の処理にする. 合流がある場合は上位に戻る. 出庫依頼 在庫なし 連絡 出庫指示書, 空予定コンテナ 不足判定処理 在庫なし 出庫依頼 在庫なし 連絡 在庫あり 出庫依頼 出庫指示書, 空予定コンテナ 在庫なし処理 出庫指示書 作成処理

結合度と凝集度 結合度: モジュールの独立性を評価する基準.結合度が低いほど独立性は高い.結合度の低い順に,無結合,データ結合,スタンプ結合,制御結合,共通結合,内容結合という基準が設定されている.たとえば,内容結合は他のモジュールの内部を直接参照している場合に相当し,データ結合はデータ構造を持たない引数のやりとりのみが存在する場合に相当する. 凝集度: あるモジュール内部の機能の関連性の高さを評価する基準.凝集度が高い順に機能的強度,逐次的強度,通信的強度,手続き的強度,時間的強度,論理的強度,偶発的強度という基準が設定されている. モジュール間の結合度が低く,凝集度が高い方がよい設計ということになる.

仕様変更と設計変更 仕様変更: 設計変更: ビジネス要因の変化に応じて,作るものを変えなければならない. 顧客自身が何を作りたいか定まっていない. 顧客と開発者の意思疎通が不十分であった. 設計変更: 仕様変更に伴う設計の変更. 実装途上で設計の不備に気づく. そもそも実装前に設計が必要か? →オブジェクト指向とそれに基づく分析,設計法

本日のまとめ 要求定義と設計の重要性. 構造化分析,構造化設計を中心に説明. 決定的な手法は存在しない. 僕の私見: 本質的には開発者の技能による. 僕の私見: 要求分析は工学に頼るな! 要求分析は開発者のコミュニケーション能力が重要. 今から勉強(研究)するなら設計法を.今後発展が見込まれる分野.

付録:酒屋の在庫問題 ある酒類販売会社の倉庫では,毎日数個のコンテナが搬入されてくる.その内容はビン詰めの酒で,1つのコンテナには10銘柄まで混載できる.扱い銘柄は約200種類ある.倉庫係は,コンテナを受け取りそのまま倉庫に保管し,積荷票を受付係へ手渡す.また受付係からの出庫指示によって内蔵品を出庫することになっている.内蔵品は別のコンテナに詰め替えたり,別の場所に保管することはない.空になったコンテナはすぐに搬出される. さて受付係は毎日数十件の出庫依頼を受け,そのつど倉庫係へ出庫指示書を出すことになっている.出庫依頼は出庫依頼票または電話によるものとし,1件の依頼では,1銘柄のみに限られている.在庫がないか数量が不足の場合には,その旨依頼者に電話連絡し,同時に在庫不足リストに記入する.そして当該品の積荷が必要量あった時点で,不足品の出庫指示をする.また空になるコンテナを倉庫係に知らせることになっている. 受付係の仕事(在庫なし連絡,出庫指示書作成および在庫不足リスト作成)のための計算機プログラムを作成せよ.