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