ソフトウエア工学

科目基礎情報

学校 岐阜工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 ソフトウエア工学
科目番号 0170 科目区分 専門 / 選択
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 電気情報工学科 対象学年 5
開設期 前期 週時間数 2
教科書/教材 教科書:ソフトウェア開発 改訂2版(小泉寿男,オーム社) 参考書:ソフトウェア工学第 2 版(中所 武司ほか,朝倉書店)
担当教員 田島 孝治

到達目標

情報化社会を支えるソフトウェアの開発技術について体系的に学ぶ。具体的には以下の5つを目標とする。
(1)ソフトウェアの開発プロセスを説明できる。
(2)プロジェクトのデータフロー図を適切に作成することができる。
(3)オブジェクト指向設計について理解し、適切なUMLを作成することができる。
(4)プログラムについて、テストケースを適切に設計し、説明できる。
(5)グループで連携してプロジェクトを作り、ソフトウェアの開発プロセスで学んだ技術を適用できる
岐阜高専ディプロマポリシー:(D)

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1ソフトウェア開発プロセスについて説明できると共に、様々なプロセスモデルについて正確に説明できるソフトウェア開発プロセスについて説明でき、プロセスモデルの特徴を理解している。ソフトウェア開発プロセスについて説明できない。
評価項目2与えられたプロジェクトについて、データフロー図を作成し、クリティカルパスも適切に定めることができる。データフロー図の作成または、クリティカルパスの選択ができる。データフロー図の作成ができない。
評価項目3オブジェクト指向設計について理解し、様々なUMLについて適切に作成することができる。オブジェクト指向設計について理解し、一部のUMLについて適切に作成することができる。オブジェクト指向設計について理解しておらず、UMLを読み取ることができない。
評価項目4様々なプログラムについて、テストケースを適切に設計し、説明できる。テストケース設計技法について概ね理解し、与えられたテストケースを用いてテストを実施できる。テストケース設計技法による評価ができない。

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

教育方法等

概要:
情報化社会を支えるソフトウェアの開発技術について体系的に学ぶ。
※実務との関係
システムエンジニアを講師に招き実際の開発ツールや運用の状況について講演してもらうことで、より実務に近い実践的な内容についても授業に触れる。
授業の進め方・方法:
授業は教科書をベースとし,LMS で資料も配布して実施する。ワークシートも電子的に配布するため,ノートPC を持参するかメモ用のノートを用意すること。
(事前準備の学習)プログラミングについて復習をしておくこと。
英語導入計画:Documents(50%)
注意点:
仕様書や各種図の作成を授業内のみで行うのは困難であるため,これらについては演習レポートを課す。
“授業の内容を確実に身につけるために、予習・復習が必須である。

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

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

授業計画

授業内容 週ごとの到達目標
前期
1stQ
1週 ソフトウェア工学とは(B) ソフトウェア工学の目的を理解する
(授業外学習・事前)日常的に利用しているソフトウェアについて考えておく(約 1 時間)
(授業外学習・事後)ソフトウェアの制作日時に関するレポートをまとめ、授業終了後2週間後までに提出する(約3時間)
2週 ソフトウェア開発プロセス(C) ソフトウェアの開発プロセスと開発モデルについて理解する
(授業外学習・事前)ソフトウェアの開発について考えておく(約 1 時間)
(授業外学習・事後)ソフトウェアの開発プロセスについて実例を考えてレポートとしてまとめ、授業終了後2週間後までに提出する(約3時間)
3週 プロジェクト管理(C) プロジェクト管理の手法と、アクティビティグラフについて理解する
(授業外学習・事前)ソフトウェアの開発のスケジュールについて考えておく(約 1 時間)
(授業外学習・事後)ソフトウェアの開発スケジュールをフロー図にまとめレポートとしてまとめ、授業終了後2週間後までに提出する(約3時間)
4週 要求分析(B) 要求分析の必要性と手法について理解する
(授業外学習・事前)ソフトウェアの機能の決定方法について考えておく(約 1 時間)
(授業外学習・事後)ソフトウェアの開発に関して、ユーザを想定して要求をまとめ、レポートとして授業終了後2週間後までに提出する(約3時間)
5週 基本的な設計概念と構造化設計(C) 外部設計と内部設計について理解する。構造化設計手法について理解する
(授業外学習・事前)ソフトウェアのプログラムの分割方法について考えておく(約 1 時間)
(授業外学習・事後)ソフトウェアの開発に関して、基本的な機能の設計をまとめ、レポートとして授業終了後2週間後までに提出する(約3時間)
6週 オブジェクト指向設計1(C) オブジェクト指向とその設計方法を理解する

(授業外学習・事前)オブジェクト思考型のプログラミング言語の特徴について考えておく(約 1 時間)
(授業外学習・事後)オブジェクト指向設計と構造化設計の違いに関してレポートとして授業終了後2週間後までに提出する(約3時間)
7週 オブジェクト指向設計2(B) UMLの作り方について理解する
(授業外学習・事前)オブジェクト思考型のプログラミング言語の記述方法について考えておく(約 1 時間)
(授業外学習・事後)オブジェクト指向設計のまとめとして、UMLを作りレポートとして授業終了後2週間後までに提出する(約3時間)
8週 中間試験 (授業外学習・事前)これまでの内容について振り返り理解度を深める(約4時間)
2ndQ
9週 ソフトウェアのテストと運用(C)
ソフトウェアのテストと運用技法について理解する
(授業外学習・事前)ソフトウェアの運用について長期に使われているソフトウェアの実例を考えておく(約 1 時間)
(授業外学習・事後)ソフトウェアのテストデータについて考え、レポートとしてまとめ、授業終了後2週間後までに提出する(約3時間)
10週 ソフトウェア開発の現状(C) 現在使われているソフトウェア開発のツールについて学ぶ
(授業外学習・事前)ソフトウェアの開発ツールについて調査しておく(約 1 時間)
(授業外学習・事後)ソフトウェアの開発ツールをいくつか実用的に使い、その結果をレポートとしてまとめ、授業終了後2週間後までに提出する(約3時間)
11週 ソフトウェア開発実習1(A) グループを定め、開発するソフトウェアを決定する
(授業外学習・事前)グループで作成したいソフトウェアの案を個人で考えてまとめておく(約2時間)
(授業外学習・事後)グループメンバーと話し合い、作成するソフトウェアの案をまとめて授業終了後2週間後までに提出する(約2時間)
12週 ソフトウェア開発実習2(A) ソフトウェアの内部設計と外部設計を完了させる
(授業外学習・事前)個人で開発するソフトウェアの設計方針をまとめておく(約2時間)
(授業外学習・事後)グループメンバーと話し合い、設計方針をすり合わせ、検討結果をまとめて授業終了後2週間後までに提出する(約2時間)
13週 ソフトウェア開発実習3(A) ソフトウェアのプログラムを50%完成させる
(授業外学習・事前)個人でプログラム開発を実施する(約3時間)
(授業外学習・事後)グループメンバーと進捗を共有し、問題があれば調整する(約1時間)
14週 ソフトウェア開発実習4(A) ソフトウェアを完成させ、評価を行う
(授業外学習・事前)個人でプログラム開発を実施する(約3時間)
(授業外学習・事後)グループメンバーと評価項目を定め、評価を行いレポートを作成する。(約1時間)
15週 期末試験の解答の解説・ソフトウェア工学まとめ(C) これまでの成果をまとめ、製作したソフトウェアを評価する
(授業外学習・事前)実施したプロジェクトについての報告書を作成し、これまでに学んだ内容を整理する。(約4時間)
16週

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

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

評価割合

中間試験期末試験ソフト開発課題合計
総合評価割合100100100300
総合評価割合100100100300