ソフトウェア分析設計

科目基礎情報

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

到達目標

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

ルーブリック

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

評価割合

試験報告書合計
総合評価割合5050100
UML02020
仕様策定・実装グループ実習03030
総合50050