ソフトウェア分析設計

科目基礎情報

学校 仙台高等専門学校 開講年度 平成27年度 (2015年度)
授業科目 ソフトウェア分析設計
科目番号 0033 科目区分 専門 / 選択
授業形態 授業 単位の種別と単位数 履修単位: 1
開設学科 情報システム工学科 対象学年 4
開設期 前期 週時間数 2
教科書/教材 「やさしいJava オブジェクト指向編」,髙橋麻奈,(ソフトバンククリエイティブ)
担当教員 安藤 敏彦,岡本 圭史

到達目標

 設計開発分野における要求分析からテストまでの、ソフトウェアを中心としたシステム開発のプロセスを理解していること。その上で,(1) クラス,カプセル化,継承,ポリモルフィズムなど,オブジェクト指向分析設計の基盤となる概念が理解できる。(2) UMLダイアグラムを用いたシステム開発のプロセスが理解できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
オブジェクト指向の概念が理解できることJava言語とオブジェクト指向の概念とを対応させて説明できる。クラス,カプセル化,継承,ポリモルフィズムについて説明できる。オブジェクトの動作が説明できない
UMLダイアグラムを用いたシステム開発のプロセスが理解できることUMLダイアグラムについて説明ができ、開発プロセスのどの段階で利用されるか説明できる。一般的なUMLダイアグラムについて説明ができる。UMLダイアグラムについて説明できない
UMLダイアグラムを用いた要件分析について理解できること要件分析から詳細なUMLダイアグラムを作成できる要件分析から概念レベルの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

評価割合

試験発表報告書合計
総合評価割合501040100
UML001010
Androidアプリケーショングループ実習0103040
総合500050