ソフトウェア分析設計

科目基礎情報

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

到達目標

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

ルーブリック

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

学科の到達目標項目との関係

学習・教育到達度目標 1 情報システムの中核となるソフトウェアの知識とスキルの体系的で確実な修得

教育方法等

概要:
 オブジェクト指向の統一モデリング言語である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週 実装グループ実習第5回。発表 簡潔で分かりやすい発表ができる。書式に則った報告書を書くことができる。
16週

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミング与えられた問題に対して、それを解決するためのソースプログラムを記述できる。4
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。4
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。4
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。4
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。4
ソフトウェアソフトウェアを中心としたシステム開発のプロセスを説明できる。4
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。4
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。4
分野別の工学実験・実習能力情報系分野【実験・実習能力】情報系【実験・実習】与えられた問題に対してそれを解決するためのソースプログラムを、標準的な開発ツールや開発環境を利用して記述できる。4
ソフトウェア生成に利用される標準的なツールや環境を使い、ソースプログラムをロードモジュールに変換して実行できる。4
ソフトウェア開発の現場において標準的とされるツールを使い、生成したロードモジュールの動作を確認できる。4
フローチャートなどを用いて、作成するプログラムの設計図を作成することができる。4
要求仕様に従って標準的な手法によりプログラムを設計し、適切な実行結果を得ることができる。4

評価割合

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