到達目標
設計開発分野における要求分析からテストまでの、ソフトウェアを中心としたシステム開発のプロセスを理解していること。その上で,(1) クラス,カプセル化,継承,ポリモルフィズムなど,オブジェクト指向分析設計の基盤となる概念が理解できる。(2) UMLダイアグラムを用いたシステム開発のプロセスが理解できる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
オブジェクト指向の概念が理解できること | Java言語とオブジェクト指向の概念とを対応させて説明できる。 | クラス,カプセル化,継承,ポリモルフィズムについて説明できる。 | オブジェクトの動作が説明できない |
UMLダイアグラムを用いたシステム開発のプロセスが理解できること | UMLダイアグラムについて説明ができ、開発プロセスのどの段階で利用されるか説明できる。 | 一般的なUMLダイアグラムについて説明ができる。 | UMLダイアグラムについて説明できない |
UMLダイアグラムを用いた要件分析について理解できること | 要件分析から詳細なUMLダイアグラムを作成できる | 要件分析から概念レベルのUMLダイアグラムを作成できる | シナリオから概念レベルのクラス図を作成できない |
学科の到達目標項目との関係
学習・教育到達度目標 1 工学分野についての幅広い知識と技術を活用できる実践的な能力
JABEE (A) 実践的技術者としての高度でかつ幅広い基本的能力・素養
教育方法等
概要:
オブジェクト指向の統一モデリング言語であるUML を用いてソフトウェアシステムの分析・設計を行い,その設計結果を元にオブジェクト指向プログラミング言語Javaによってプログラミングを行う手法を学び,基本的なソフトウェア開発の流れを理解する。ソフトウェアシステムの分析・設計・実装に有効とされているオブジェクト指向によるソフトウェア開発方法論を修得する。
授業の進め方・方法:
この授業は,2部構成で行われる。第1部はオブジェクト指向に基づく設計開発と UML の基礎について学ぶ。講義および、UML 編集ソフトウェアを用いた演習を行う。第2部は、アプリケーション開発を題材にとり,UML を用いた分析、設計を体験するため,要求仕様,ユーザインタフェース,UMLで記述された仕様書の作成についてグループ実習を行う。
[事前学習] 講義資料は講義当日の前にTeamsにアップロードされるので、講義内容について予習をしておくこと。
[事後学習] 講義終了後に簡単なテストを実施し、講義内容の定着をはかり今後の活用を考える。
注意点:
3学年までの「プログラミング」などプログラミングの基礎や4学年「ソフトウェア工学基礎」を踏まえ,オブジェクト指向の統一モデリング言語であるUML を用いてソフトウェアシステムの分析・設計を行い,その設計結果を元にオブジェクト指向プログラミング言語Javaによってプログラミングを行う手法を学び,基本的なソフトウェア開発の流れを理解する。本講義では,Javaによるプログラミングの演習と,UMLを用いたグループワークによるソフトウェア開発を行う。グループワークでは自主的に取り組むことが望まれる。
授業の属性・履修上の区分
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
後期 |
3rdQ |
1週 |
ガイダンスおよびUML 第1回。ここでは,Javaの復習,UMLの概要。講義およびビデオ視聴を行うとともに,UML編集ソフトウェア astah* を用いた演習を行う。 |
オブジェクト指向による分析設計開発の過程が理解できる。
|
2週 |
UML 第2回。UMLの静的な側面を記述するクラス図ついて,講義およびビデオ視聴を行うとともに,UML編集ソフトウェアを用いて演習を行う。 |
クラス図が理解できる。
|
3週 |
UML 第3回。UMLの動的な側面を記述するシーケンス図とコミュニケーションズについて,講義およびビデオ視聴を行うとともに,UML編集ソフトウェアを用いて演習を行う。 |
シーケンス図およびコミュニケーション図の作成ができる。それらとクラスとの関連が理解できる。
|
4週 |
UML 第4回。ユースケース図、ステートチャート図、シナリオについて、講義およびビデオ視聴を行う。また、ネット販売などを例に演習を行う。ユースケースの分析、シナリオ作成を行い、それをもとに概要的なクラス図の作成を行う。 |
ユースケースについて理解できる。シナリオからのクラス抽出の流れを理解できる。 ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。
|
5週 |
パターンの利用 第1回。ソフトウエア分析でよく使用されるパターンについて講義,演習を行う。 |
パターンを使ったソフトウェアの再利用法について理解できる。
|
6週 |
グループ演習 シナリオ作成 ネットショップなどを例に、グループで仕様を策定する。 |
クラス図、シーケンス図の詳細化の過程が理解でき る。
|
7週 |
グループ実習 仕様検討1 サンプルの図形描画プログラムを一部拡張して、その仕様をグループで策定する。 |
オブジェクト志向プログラミングの実際を理解できる。
|
8週 |
グループ実習 仕様検討2 |
グループ実習を通じてまた、グループ内で十分な意思 疎通ができる。役割分担、時間管理等プロジェクト管 理ができる。
|
4thQ |
9週 |
グループ実習 仕様検討3 |
UMLの図面を作成できる。 書式に則った仕様書を作成できる。
|
10週 |
グループ実習 仕様検討4 発表 各グループの策定した仕様を発表し、別のグループに割り当てる。 |
簡潔で分かりやすい発表ができる。
|
11週 |
グループ実習 実装1 割り当てられた別のグループの仕様をもとに、拡張されたサンプルプログラムを実装する。 |
グループ実習を通じてまた、グループ内で十分な意思 疎通ができる。役割分担、時間管理等プロジェクト管理ができる。
|
12週 |
グループ実習 実装2 |
Javaのプログラム開発の基礎が理解できる。
|
13週 |
グループ実習 実装3 |
書式に則った仕様書を作成できる。
|
14週 |
グループ実習 実装4 発表 |
簡潔で分かりやすい発表ができる。
|
15週 |
グループ実習 振り返り レビューに基づく修正 |
相互レビューの重要性を理解できる。
|
16週 |
試験返却。 |
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | ソフトウェア | コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 4 | 後2,後5 |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 4 | 後5 |
ソフトウェアを中心としたシステム開発のプロセスを説明できる。 | 4 | 後1,後2,後3,後4,後5,後6 |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 4 | 後7,後8,後9,後10 |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 4 | 後11,後12,後13,後14 |
コンピュータシステム | ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。 | 3 | 後6,後7,後8,後9,後10,後11,後12,後13,後14,後15 |
評価割合
| 試験 | 報告書 | 合計 |
総合評価割合 | 60 | 40 | 100 |
UML | 0 | 10 | 10 |
仕様策定・実装グループ実習 | 0 | 30 | 30 |
総合 | 60 | 0 | 60 |