情報システム工学

科目基礎情報

学校 豊田工業高等専門学校 開講年度 令和02年度 (2020年度)
授業科目 情報システム工学
科目番号 92014 科目区分 専門 / 選択
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 建設工学専攻C 対象学年 専2
開設期 前期 週時間数 2
教科書/教材 「情報工学レクチャーシリーズ ソフトウェア工学」高橋直久・丸山勝久共著(森北出版社),ISBN978-4627810617/「ユースケース駆動開発実践ガイド」ダグ・ローゼンバーグ他(翔泳社)、「かんたんUML」オージス総研(翔泳社)、「Java言語で学ぶデザインパターン」結城浩(ソフトバンク)
担当教員 吉岡 貴芳

到達目標

(ア)大規模ソフトウェア開発の課題について説明できる。
(イ)開発を管理するための様々なプロセスモデルの特徴について説明できる。
(ウ)要求分析の目的と手法について説明できる。
(エ)構造化分析、オブジェクト指向分析における手法を用いて、ソフトウェアのモデル図が描ける。
(オ)モジュール設計の目的を理解し、構造化手法やオブジェクト設計による効率的なソフトウェア設計仕様が描ける。
(カ)オブジェクト指向の特徴を理解し、クラス図やシーケンス図などの技法を使って、ソフトウェア設計仕様が描ける。
(キ)プロジェクト管理やテストおよび検証で用いられる手法を理解し、説明できる。

ルーブリック

最低限の到達レベルの目安(優)最低限の到達レベルの目安(可)最低限の到達レベルの目安(不可)
評価項目(ア)大規模ソフトウェア開発の課題について正確に説明できる。大規模ソフトウェア開発の課題について説明できる。大規模ソフトウェア開発の課題について説明できない。
評価項目(イ)開発を管理するための様々なプロセスモデルの特徴について正確に説明できる。開発を管理するための様々なプロセスモデルの特徴について説明できる。開発を管理するための様々なプロセスモデルの特徴について説明できない。
評価項目(ウ)要求分析の目的と手法について正確に説明できる。要求分析の目的と手法について説明できる。要求分析の目的と手法について説明できない。

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

学習・教育到達度目標 A2 社会システムの技術的な検討や評価を行い、多角的視野からシステムや構造物の設計能力を身につける
JABEE a 地球的視点から多面的に物事を考える能力とその素養
JABEE e 種々の科学、技術及び情報を活用して社会の要求を解決するためのデザイン能力
JABEE h 与えられた制約の下で計画的に仕事を進め、まとめる能力
本校教育目標 ① ものづくり能力

教育方法等

概要:
この科目は企業で情報システムの開発やプロジェクトマネジメントを担当していた教員が,その経験を活かし,大規模情報システムの開発プロセスにおける分析,設計手法等について講義形式で授業を行うものである。情報システムは社会生活にとって欠かせないものであり,人間による活動の写像であるといえる。このため社会生活の変更に対する情報システムの仕様変更が適切でなければ,円滑な社会生活を妨げるばかりかシステムを提供する企業に不利益を及ぼしかねない。そこで,将来技術者として情報システムを構築する際に,仕様変更が容易で高い品質を維持でき,かつ効率的なシステムの構築手法を学ぶことが重要である。本講義では,開発初期段階でシステムの要求仕様を誤りなく把握し,変更に対して頑健な情報システムの分析・設計手法を,UMLを用いたユースケース駆動のオブジェクト指向開発方式により学ぶ。
授業の進め方・方法:
授業中の演習および課外の課題を通して、オブジェクト指向分析・設計手法の習得を目指す。また、ユースケース駆動オブジェクト指向分析・設計手法により、簡単なシステムの分析・設計を課題として課す。
注意点:
C言語などのモジュール構造を有したプログラム開発について学んだことがあることを前提に進める。(自学自習内容)授業内容に該当する項目について必ず復習し,学習内容の理解を深めること。また与えられた自習課題は確実に解いておくこと。

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 大規模ソフトウェア開発の課題とソフトウェア工学の必要性
ソフトウェア開発ライフサイクルとシステムのモジュール化
大規模ソフトウェア開発の課題とソフトウェア工学による問題解決と、ソフトウェア開発ライフサイクルに応じたモジュール化の必要性を理解できる。
2週 オブジェクト指向分析によるシステム構造のモジュール化
オブジェクト指向の基本概念1:カプセル化とメッセージパッシング
(復習:オブジェクト指向の基本概念)
オブジェクト指向によるるモジュール化と、基本概念であるカプセル化およびメッセージパッシングを理解できる。
3週 オブジェクト指向の基本概念2:クラスとインスタンス、関連と継承
(復習:オブジェクト指向の基本概念)
オブジェクト指向の基本概念であるクラスとインスタンス、および関連と継承を理解できる。
4週 システムの機能分析:ユースケース図とユースケース記述
(復習:ユースケース図とユースケース記述)
ユースケース図とユースケース記述により、システムの基本機能を表現できる。
5週 システムの基本構造分析1:ユースケース記述とロバストネス分析図(頑健性分析)
(復習:ロバストネス分析図)
システムの頑健性(保守性)を考慮したロバストネス分析の必要性を説明でき、ユースケースからロバストネス分析図(オブジェクト図)を表現できる。
6週 システムの動的分析1:シーケンス図
(復習:シーケンス図)
シーケンス図を用いて、複数のオブジェクト間のメッセージパッシングによるシステムの動的分析を表現ができる。
7週 システムの動的分析2:シーケンス図とクラスの操作
(復習:シーケンス図とクラスの操作)
シーケンス図による動的分析において、メッセージからクラスの操作を表すことができる。
8週 システムの基本構造分析2:クラス図の洗練 クラス間の関連における多重度、ロール、制約、集約、関連クラス等を理解し、クラス図によりシステムの基本構造を表現できる。
2ndQ
9週 オブジェクト指向設計の基本:抽象クラスとインタフェースクラス
(復習:抽象クラスとインタフェースクラス)
オブジェクト指向設計における抽象クラスとインタフェースクラスの必要性を理解できる。
10週 デザインパターンを用いた保守性の高いシステム構造1:Stateパターン
(復習:Stateパターン)
システムの保守性を考慮したデザインパターンの必要性を理解し、Stateパターンを用いた設計レベルのクラス図を理解できる。
11週 デザインパターンを用いた保守性の高いシステム構造2:Observer パターン
(復習:Observerパターン)
システムの保守性を考慮したデザインパターンの必要性を理解し、Observerパターンを用いた設計レベルのクラス図を理解できる。
12週 ユースケース駆動オブジェクト指向ソフトウェア分析・設計演習
構造化分析設計1:DFDによるシステム動的分析
(復習:DFDによる構造化分析設計)
ユースケース駆動オブジェクト指向ソフトウェア分析・設計技法を用い、設計レベルのモジュール構成を表現できる。
また、構造化分析設計によるDFDによるシステムの動的分析を理解できる。
13週 構造化分析設計2:STS法およびTR法によるシステムのモジュール化
(復習:STS法およびTR法によるモジュール設計)
構造化分析設計における、DFDを用いたSTS法およびTR法によるシステムのモジュール化を理解できる。
14週 モジュール構造の評価尺度大規模
ソフトウェアテスト
モジュール構造の評価のために用いられる強度と結合度を理解できる。
また、ソフトウェアテストに用いられる技法について理解できる。
15週 大規模ソフトウェア開発の問題点と、様々なソフトウェア開発プロセス
プロジェクト管理
大規模ソフトウェア開発の問題点について理解し、様々なソフトウェア開発プロセスを理解できる。
また、プロジェクト管理で用いられる開発工数の見積もり手法(標準タスク法およびファンクションポイント法)を理解できる。
16週

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

分類分野学習内容学習内容の到達目標到達レベル授業週

評価割合

定期試験課題合計
総合評価割合6040100
分野横断的能力6040100