ソフトウェア工学

科目基礎情報

学校 徳山工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 ソフトウェア工学
科目番号 0086 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 情報電子工学科 対象学年 4
開設期 後期 週時間数 2
教科書/教材 ずっと受けたかったソフトウェアエンジニアリングの新人研修 川添雄彦監修、飯村他著
担当教員 奥本 幸

到達目標

以下のようなスキルを身につけ、複合分野の設計能力を高める。
 ・ソフトウェア開発のプロセスを理解し、作業の目的、成果物が言える。
 ・プロジェクト管理の必要性について説明することができる。
 ・要求仕様に従って、データベースおよび検索プログラムが設計・実装できる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
開発プロセスソフトウェア開発手法プロセスが説明できる。開発プロセス名をあげることができるが、順番や成果物が言えない。開発プロセスが説明できない。
プロジェクト管理プロジェクト管理の必要性について理解し、活用できる。プロジェクト管理が何かを説明することができるが、活用できない。プロジェクト管理が何かを説明することができない。
要求仕様に従う設計・実装要求仕様に従ったデータベース、プログラムを設計・実装できる。設計・実装したデータベール・プログラムの一部が正しく動く。要求仕様に従って設計・実装できない。

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

到達目標 C 1 説明 閉じる
JABEE d-1 説明 閉じる
JABEE e 説明 閉じる

教育方法等

概要:
1年生の基礎プログラミングに始まり、これまではプログラミング技術や基礎的なアルゴリズム、データ構造を修得してきた。本授業では、情報システム開発においてはプログラミング工程以外に、重要な工程があることを学ぶ。ソフトウェアを工業製品ととらえ、その品質向上や生産性向上のために有効な基本的な知識・技法を修得する。
 ウォータフォールモデルを例にシステム開発プロセスにおける基本的知識・技法を学ぶ。その後、アジャイル開発、データベースを構築する演習を行う。
授業の進め方・方法:
資料を使って、基本的なソフトウェア開発工程である要求分析、外部設計、内部設計、プログラミング、テスト工程での作業・技法について学ぶ。ここまでの理解度を後期中間試験ではかる。
次に、数人からなるチームを組み、アジャイル開発手法を体験する。まだ、前期に学んだデータベースを構築する演習を行う。後期末試験は実施しない。
この科目は学修単位科目のため、自学自習を必要とする以下のような演習課題(課題プリント)を課す。課題プリントの結果は最終評価に含める。
基本設計工程、詳細設計工程: 復習用プリント(12時間)
テスト工程: 復習用プリント(8時間)
アジャイル開発: e-learning教材による事前学習(4時間)
データベース:  データベースへアクセスするためのクライアントプログラムの作成(20時間)、レポート作成(8時間)
注意点:
最終成績評価式=後期中間試験60%+課題プリント20%+データベース演習20%
データベース(4年)、創造演習(4年)、創造製作(5年)、卒業研究(5年)

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 オリエンテーション、ソフトウェアの開発プロセス
【事後学習】開発工程に関するプリントを解く
授業の進め方、内容を理解する。標準的なシステム開発プロセスが言える。
2週 要求分析、要件定義
【事後学習】要件定義に関するプリントを解く
要求分析工程の作業、その成果物の必要性、用途、作成方法が説明できる。   
3週 外部設計
【事後学習】外部設計に関するプリントを解く
外部設計工程と成果物について必要性、用途、作成方法を説明できる。
4週 内部設計
【事後学習】内部設計工程に関するプリントを解く
外部設計と内部設計の違いが説明できる。モジュール、モジュール分割の方法が説明できる。
5週 デザインレビュー 成果物のレビューの目的、方法を説明できる。
6週 プログラミング、テストと検証
【事後学習】テスト工程に関するプリントを解く
計算モデル、プログラミング言語、ソースプログラムの作成方法が説明できる。各テストの目的が説明できる。
7週 プロジェクト管理
【事後学習】プロジェクト管理に関するプリントを解く
古典的及び近代的なプロジェクト管理が説明できる。
8週 中間試験 学んだことについて理解度を問う。
4thQ
9週 データベース構築演習(1)
【事後学習】環境設定を行う。
DBMSを理解し、SQL文が使える。
10週 データベース構築演習(2)
【事後学習】MySQL実習を行う。
DBMSを理解し、SQL文が使える。
11週 データベース構築演習(3)
【事後学習】基本的なプログラムを作成する。
Javaプログラムを組み、サーバ上に構築したDBをクライアントから検索するプログラムを実装できる。
12週 データベース構築演習(4)
【事後学習】応用課題のDBを設計する。
より複雑なDBを設計できる。
13週 データベース構築演習(5)
【事後学習】プログラムを完成させる。
Javaプログラムを組み、テストする。
14週 レポートにまとめる。
15週 アジャイル開発(1)
【事前学習】e-learning教材による事前学習
 スクラムの開発プロセスを説明できる。
16週 アジャイル開発(2)  与えられた演習課題に対して、スクラムを用いた開発が行える。アンケートを実施する。

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

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野プログラミングプログラミング言語は計算モデルによって分類されることを説明できる。4前11,後6
主要な計算モデルを説明できる。4前11,後5
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。4前4,前5,後6
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。4前11,後6
ソフトウェアソフトウェアを中心としたシステム開発のプロセスを説明できる。4前1,前13
コンピュータシステムシステム設計には、要求される機能をハードウェアとソフトウェアでどのように実現するかなどの要求の振り分けやシステム構成の決定が含まれることを説明できる。4前2,後6
ユーザの要求に従ってシステム設計を行うプロセスを説明することができる。4前2,後1
プロジェクト管理の必要性について説明できる。4前7,後6
WBSやPERT図など、プロジェクト管理手法の少なくとも一つについて説明できる。4前7,後6
ER図やDFD、待ち行列モデルなど、ビジネスフロー分析手法の少なくとも一つについて説明できる。4前3,後6

評価割合

後期中間試験課題プリントデータベース演習合計
総合評価割合602020100
基礎的能力0000
専門的能力602020100
分野横断的能力0000