【ねらい】
ソフトウェアの設計技術,品質向上技術および実践力を習得することを目的とする
【概要】
オブジェクト指向設計法やデザインパターンを用いて,ソフトウェア設計・構築および改善の方法を実習を通して習得する.また,実例により有用性を学習する.
開発対象を複数の観点で分析し階層化されたモジュール構造として設計・共有する技能および品質を説明・改善する技能を身につける.
設計,実装,テストといった一連のソフトウェア開発が行える技能を身につける.
機能独立性,オブジェクト指向設計,UML, デザインパターン,テスト,品質,構成管理,メトリクス,リファクタリング, Java
専門力 | 教養力 | コミュニケーション力 | ✔ 展開力(探究力又は設定力) | ✔ 展開力(実践力又は解決力) |
講義は関連する概念技術を説明する座学講義と複数回の演習を行う
授業計画 | 課題 | |
---|---|---|
第1回 | ソフトウェア開発プロセス概論・ソフトウェア設計序論 | 実際に大規模な開発を行うことを考える |
第2回 | モジュール化・機能独立 | ソフトウェアモジュールを理解する |
第3回 | 静的構造と動的振る舞いの表現・UML序論 | クラス図・シーケンス図を書く |
第4回 | 演習: UMLモデリング | UMLを用いたモデルの作成 |
第5回 | オブジェクト指向設計原則 | 設計原則を適用する方法を理解する |
第6回 | デザインパターン | デザインパターンの基本的な考え方の理解 |
第7回 | 演習:デザインパターン | デザインパターンを使った設計を行う |
第8回 | ソフトウェア進化序論 | ソフトウェア進化の諸概念の理解 |
第9回 | ソフトウェア構成管理 | ソフトウェア構成管理の理解 |
第10回 | ソフトウェアテスト | ソフトウェアテストの理解 |
第11回 | 演習:ソフトウェアテスト | ソフトウェアテストの実践 |
第12回 | リファクタリング | リファクタリングの理解 |
第13回 | ソフトウェア品質 | ソフトウェア品質の理解 |
第14回 | 演習:リファクタリング | リファクタリングの実践 |
学修効果を上げるため,配布資料等の該当箇所を参照し,「毎授業」授業内容に関する予習と復習(課題含む)をそれぞれ概ね100分を目安に行うこと。
なし。T2SCHOLAを通して講義用スライドを提供する
ロバート・C・マーチン (著), 瀬谷 啓介 (訳) アジャイルソフトウェア開発の奥義 第2版, SBクリエイティブ(2008)
マーチン・ファウラー (著) 新装版リファクタリング―既存のコードを安全に改善する, オーム社 (2014)
演習およびそれに伴う小レポート(45%),中間および最終レポート(55%)により評価する.
オブジェクト指向プログラミングについて理解していること.
Javaでプログラミングの経験があること.講義中の全てのプログラムコードはJava言語で記述される.