ソフトウェア工学(Software Engineering)
本科選択・必修開設時期単位数授業形態担 当
情報電子必修4年2講義奥本 幸 ・  力 規晃
【授業の概要】
 授業は大きく前期と後期に分かれる。
 前期では、ソフトウェア開発において、ソフトウェアの品質や生産性を向上させるための基礎的な技法について学ぶ。ウォーターフォールモデルに従って、開発プロセスの基幹技術である要求分析、設計、プログラミング、テスト技法、品質保証を理解する。特に、上流工程の要求分析と外部設計工程では、演習を行う。
 後期は、新しいソフトウェア設計手法について学ぶ。特に、モデルベース設計を学ぶために、研究者による講義を実施する。また、演習として、データベースの設計・構築を行う。
【授業の進め方】
 前期の初めに、開発工程に沿って、要求分析、外部設計、内部設計、プログラミング、試験工程で行われる品質の作り込みについて学ぶ。授業は座学と小さな演習からなり、ここではプログラミングは行わない。
 後期は、研究者の講義を聞き、報告書等を作成する。また、データベースの設計・構築の演習を行う。
【授業計画】 【授業項目】 【内 容】
1 回 オリエンテーション
演習課題の説明
講義のねらい、演習の課題と進め方を説明する。
開発モデルについて学ぶ。
2 回 ソフトウェアのライフサイクル ライフサイクル、ソフトウェアの評価について理解する。
3 回 [プロセス1]要求分析 要求分析、構造化分析技法について学ぶ。
発注者への聞き取りを行い、システム提案書を作成する。
4 回 演習 システム提案書を作成する。
5 回 演習 システム提案書を作成する。
6 回 演習 レビュの方法を学ぶ。システム提案書を自班でレビュし、修正する。
7 回 [プロセス2]外部設計 外部設計について説明する。
8 回 演習 外部設計書を作成する。 
9 回 演習  外部設計書を作成する。
10 回 演習 外部設計書を自班でレビュし、修正する。
11 回 [プロセス3]内部設計 内部設計の作業を確認する。
12 回 [プロセス4]プログラミング 
      テスト
ソースコードレビュ、テスト手法について学ぶ。
13 回  〃    〃
14 回 品質保証  バグ曲線や品質保証について学ぶ。
期末試験 ソフトウェア開発プロセスについて理解度を問う
15 回 答案返却など 期末試験の解説を行う
16 回 UML(1) UMLによるモデリング、ユースケース図、オブジェクト図について学ぶ
17 回 UML(2) クラス図、関連について学ぶ
18 回 UML(3) シーケンス図について学ぶ
19 回 データベースの講義 サーバマシーン、DBMSの説明
20 回 データベースの講義 サンプルプログラム、SQLの説明
21 回 データベースの演習 データベースを設計する
22 回   〃    〃
23 回   〃    〃
24 回   〃 データベースを作成する
25 回   〃    〃
26 回   〃    〃
27 回   〃    〃
28 回 モデルベース設計 モデル作成の重要性、モデルベース設計の事例
29 回   〃 モデルベース設計の基礎および演習
期末試験 実施しない
30 回 答案返却など データベースを検索する
【到達目標】ソフトウェアのライフサイクルと開発プロセスの作業が言える。
テスト、モデル作成の重要性が言える。
【徳山高専学習・教育目標】A1【JABEE基準1(1)】d-1
【評価法】試験は、前期末試験のみ実施する。
演習点=前期課題の成果物(25%)+後期課題の成果物(75%)
学年末評価点=(前期末試験+演習点)/2
【テキスト】資料配布
【関連科目】データベース(4年)、創造演習(4年)、創造製作(5年)、卒業研究(5年)