設計開発分野における要求分析からテストまでの、ソフトウェアを中心としたシステム開発のプロセスを理解していること。その上で,(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週 |
外部講師による講演。 |
ソフトウェア工学に関わる最新の知見を得ることができる。
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 電気・電子系 | 情報 | プログラミング言語を用いて基本的なプログラミングができる。 | 3 | |
情報系 | プログラミング | ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 2 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 2 | |
ソフトウェア | ソフトウェアを中心としたシステム開発のプロセスを理解している。 | 2 | |
分野別の工学実験・実習能力 | 情報系【実験実習】 | 情報系【実験実習】 | ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。 | 2 | |
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。 | 2 | |
専門的能力の実質化 | PBL教育 | PBL教育 | 工学が関わっている数々の事象について、自らの専門知識を駆使して、情報を収集することができる。 | 3 | |
集められた情報をもとに、状況を適確に分析することができる。 | 3 | |
与えられた目標を達成するための解決方法を考えることができる。 | 3 | |
状況分析の結果、問題(課題)を明確化することができる。 | 3 | |
各種の発想法や計画立案手法を用いると、課題解決の際、効率的、合理的にプロジェクトを進めることができることを知っている。 | 3 | |
各種の発想法、計画立案手法を用い、より効率的、合理的にプロジェクトを進めることができる。 | 2 | |
共同教育 | 共同教育 | 品質、コスト、効率、スピード、納期などに対する視点を持つことができる。 | 2 | |
問題解決のために、最適なチームワーク力、リーダーシップ力、マネジメント力などを身に付けることができる。 | 2 | |