ソフトウェア設計 (2015)

授業科目名/Course Title (Japanese): ソフトウェア設計
英文科目名/Course Title (English): Software Design
学期/Semester: 前期
単位/Credits: 2
教員名/Instructor (Japanese): 小林隆志
英文氏名/Instructor (English): KOBAYASHI, Takashi

講義概要/Course description

ソフトウェア設計とは,要求仕様をもとにシステム全体をモデル化していく作業を指す。 講義では,要求仕様とプログラムの間の関係を段階的に説明し,モジュール化技法を学ぶ.次に,システムに対する要求をトップダウン的に精密に分析する構造化分析法、プログラムをモジュールに分割する基準を与える構造化設計法を学び,対象世界の自然なモデル化が可能でプログラミングとの連続性も高く今日主流となりつつあるオブジェクト指向分析設計技法について学ぶ.また,UML等の設計の表記方法、デザインパターンに代表される設計再利用技術やソフトウェア設計において考慮すべきソフトウェアの品質に関して学ぶ.なお、これら設計技法に関する演習も授業中に行なう。

達成目標

  • ソフトウェアの設計について、その目的と意義を説明できる
  • ソフトウェアの設計で用いられる概念や用語の意味を説明できる
  • 代表的な設計視点・手法及び表記法を利用できる

講義計画/Lecture plan

 

1 概論 ソフトウェア開発における設計の目的と意義を概説し,プログラムの構造からみた設計のあり方について学ぶ
[講義資料PDF]
2 モジュール化技術 プログラムの機能的なまとまりであるモジュールと,プログラムの適切な構造に関して学ぶ.機能独立性,凝集度,結合度
[講義資料PDF]
3 ソフトウェア工学 ソフトウェア工学について概説し,開発工程におけるソフトウェア設計の位置づけ,設計の基礎概念について学ぶ.
[講義資料PDF]
4 構造化分析法 機能中心システムに対して、そのシステム化要求を解の構造を与えることで指定する構造化分析法を講義する。データフローダイアグラム、データディクショナリ。
[講義資料PDF]
5 構造化設計法 構造化分析の結果を受け、データフローダイアグラムに表された処理要求を、機能単位であるモジュールの階層として設計する構造化設計法を講義する。変換分析、トランザクション分析、構造図、モジュールの分割と併合。
[講義資料PDF]

[レポート課題] (提出期限 6/5 10:30)
ネットワーク環境の都合で公開が遅くなりました.申し訳ありません.

6 オブジェクト指向 オブジェクト指向について概説し,オブジェクト指向プログラミング言語についてJavaを例に説明を行う.
[講義資料PDF]
7 オブジェクト指向分析(1) オブジェクト指向によって開発対象を分析しモデリングするための方法・UML記法について学ぶ.業務フロー分析,ユースケース分析
[講義資料PDF]
8 オブジェクト指向分析(2) オブジェクト指向によって開発対象を分析しモデリングするための方法・UML記法について学ぶ.ロバストネス分析,クラス図,シーケンス図.
9 オブジェクト指向設計(1) オブジェクト指向設計において利用する代表的なUML記法について学ぶ.状態機械図,シーケンス図
[講義資料PDF]
10 オブジェクト指向設計(2) オブジェクト指向設計において重要となる観点と,設計原則,責務の割り当てに関する方法を学ぶ.MVCとBCE, SOLID, 責務割り当てパターン,CRCカード.
[コンテンツレンタルシステムPDF]
11 ソフトウェア設計と再利用 (1) 実装だけでなく,ソフトウェア設計を再利用するための方法について学ぶ.デザインパターン,フレームワーク,プロダクトライン,アンチパターン
[講義資料PDF](7/17更新版,小テストの問題も含みます)
12 ソフトウェア設計と再利用 (2) 代表的なデザインパターンであるGoFパターンを学ぶ.
13 設計の評価と改善(1) 設計を数値的に評価する方法と改善する方法であるリファクタリングについて学ぶ. GQM, CKメトリクス
[講義資料PDF]
14 設計の評価と改善(2) 不吉なにおい,リファクタリング (リファクタリング演習.実例をもとにリファクタリングを実施する.)
[追加資料]
15 期末試験 期末試験は実施せず最終レポートを出します.15回目は7/17 16:30-18:00に補講を実施します.内容は最終レポートには含まれません.(上記リファクタリングの応用と講義中に紹介しなかったデザインパターンの説明を行います.)

[最終レポート課題] (提出方法と期限は教務事務からの案内を参照してください)