設計開発分野における要求分析からテストまでの、ソフトウェアを中心としたシステム開発のプロセスを理解していること。その上で,(1) クラス,カプセル化,継承,ポリモルフィズムなど,オブジェクト指向分析設計の基盤となる概念が理解できる。(2) UMLダイアグラムを用いたシステム開発のプロセスが理解できる。
概要:
オブジェクト指向の統一モデリング言語であるUML を用いてソフトウェアシステムの分析・設計を行い、その設計結果を元にオブジェクト指向プログラミング言語Javaによってプログラミングを行う手法を学び、基本的なソフトウェア開発の流れを理解する。ソフトウェアシステムの分析・設計・実装に有効とされているオブジェクト指向によるソフトウェア開発方法論を修得する。
授業の進め方・方法:
この授業は、2部構成で行われる。第1部はオブジェクト指向に基づく設計開発と UML の基礎について学ぶ。講義および、UML 編集ソフトウェアを用いた演習を行う。第2部は、図形エディタアプリケーション開発を題材にとり、 UML を用いた分析、設計を体験するために、別のグループがUMLで作成した仕様書をもとに、図形エディタアプリケーションの実装を行う。
注意点:
3学年までの「プログラミング」や「データ工学基礎」などプログラミングの基礎を踏まえ、オブジェクト指向の統一モデリング言語であるUML を用いてソフトウェアシステムの分析・設計を行い、その設計結果を元にオブジェクト指向プログラミング言語Javaによってプログラミングを行う手法を学び、基本的なソフトウェア開発の流れを理解する。本講義では,Javaによるプログラミングの演習と,UMLを用いたグループワークによるソフトウェア開発を行う。グループワークでは自主的に取り組むことが望まれる。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンスおよびUML第1回。ここでは、Javaの復習、UMLの概要、クラス図。講義およびビデオ視聴を行うとともに、UML編集ソフトウェア astah* を用いた演習を行う。 |
オブジェクト指向による分析設計開発の過程が理解できる。クラス図が理解できる。
|
2週 |
UML第2回。UMLの動的な側面を記述するシーケンス図とコミュニケーションズについて、講義およびビデオ視聴を行うとともに、UML編集ソフトウェアを用いて演習を行う。 |
シーケンス図およびコミュニケーション図の作成ができる。それらとクラスとの関連が理解できる。
|
3週 |
UML第3回。ユースケース図、ステートチャート図、シナリオについて、講義およびビデオ視聴を行う。また、ネット販売などのを例に演習を行う。ユースケースの分析、シナリオ作成を行い、それをもとに概要的なクラス図の作成を行う。 |
ユースケースについて理解できる。シナリオからのクラス抽出の流れを理解できる。
|
4週 |
UML第4回。前回に作成したネット販売などのを例にしたシナリオをもとに個人で概要的なクラス図、シーケンス図の作成を行う。 |
クラス図、シーケンス図の詳細化の過程が理解できる。
|
5週 |
UML第5回。第3、第4週の演習をもとに、2回にわたってグループ演習を行う。3名程度でグループを構成し、前週で行った、ネット販売の例のシナリオをもとに、クラス候補の抽出、シーケンス図を用いて、クラス図を詳細化する。さらに、クラス間の集約、汎化・継承、依存、関連の関係を書き入れ、クラス図を詳細化する。 |
クラス図、シーケンス図の詳細化の過程が理解できる。
|
6週 |
UML第6回。前週に引き続き、グループ実習を行い、報告書の提出とともに、発表も行う。 |
|
7週 |
仕様策定 グループ実習第1回 |
グループ実習を通じてまた、グループ内で十分な意思疎通ができる。役割分担、時間管理等プロジェクト管理ができる。
|
8週 |
仕様策定 グループ実習第2回 |
実際に、Java言語でソフトウェアを開発しながら、UMLによる仕様書を作成できる。
|
2ndQ |
9週 |
仕様策定 グループ実習第3回 |
|
10週 |
仕様策定 グループ実習第4回。発表 |
書式に則った仕様書を作成できる。 簡潔で分かりやすい発表ができる。書式に則った報告書を書くことができる。
|
11週 |
実装 グループ実習第1回。 |
7週から10週にかけて、他のグループが作成した仕様に従って実装し、仕様書の重要性が理解できる。
|
12週 |
実装 グループ実習第2回。 |
|
13週 |
実装 グループ実習第3回。 |
|
14週 |
実装グループ実習第4回。 |
|
15週 |
実装グループ実習第5回。発表 |
簡潔で分かりやすい発表ができる。書式に則った報告書を書くことができる。
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 4 | |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 4 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 4 | |
ソフトウェア | ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 4 | |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 4 | |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 4 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。 | 4 | |
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 4 | |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 4 | |
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。 | 4 | |
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。 | 4 | |