【 2019 年度 授業概要】
科   目 ソフトウェア工学 ( Software Engineering )
担当教員 若林 茂 教授
対象学年等 電子工学科・4年・通年・必修・2単位 ( 学修単位III )
学習・教育
目標
A3(50%), A4-D4(50%)
授業の概要
と方針
「プログラミングI」,「プログラミングII」で身につけたアルゴリズム・データ構造の基礎の上に,ソフトウェア設計方法論やプログラミング方法論を学習する.また,総合情報センターのコンピュータシステムを利用して演習を行う.特に,後期はグループでのプログラム共同開発に取り組む.



1 【A3】 ソフトウェアの基礎概念(モジュラリティ・段階的詳細化・情報隠蔽・抽象化など)が理解できる.
2 【A4-D4】 設計仕様書からプログラムを作成することができる.
3 【A4-D4】 自分の実現したいことを設計仕様書にまとめることができる.
4  
5  
6  
7  
8  
9  
10  












1 レポート(設計仕様書・テスト結果報告書など),演習で評価する.
2 レポート(設計仕様書・テスト結果報告書など),演習およびプレゼンテーションで評価する.
3 レポート(設計仕様書・テスト結果報告書など),演習で評価する.
4  
5  
6  
7  
8  
9  
10  




成績は,レポート70% プレゼンテーション10% 演習20% として評価する.100点満点で60点以上を合格とする.この科目では「自分の実現したいことを他人に分かるように表現すること」(設計仕様書の作成)と「仕様書からプログラムを実際に実現できること」(プログラミング)を学習する.その科目の性格上,筆記試験は行わない.
テキスト プリント(参考書等から重要部分を抜粋)
参考書 「Pascalプログラミングの基礎」:真野芳久(サイエンス社)
「新訂新C言語入門シニア編」:林晴比古(ソフトバンク)
「プログラミング言語 C 第2版」:カーニハン,リッチー(共立出版)
「ソフトウェア工学実践の基礎」:落水浩一郎(日科技連)
「はじめて学ぶプログラム設計」:林雄二(森北出版)
関連科目 プログラミングI,プログラミングII
履修上の
注意事項
神戸市情報関係企業の外部講師による特別授業を1〜2回実施する場合がある.

【授業計画( ソフトウェア工学 )】
上段:テーマ/下段:内容(目標、準備など)
1 ソフトウェア工学の基礎概念
ソフトウェア工学の基礎概念について概説する.また,演習環境について説明する.
2 構造と動作の抽象
「車のハンドル」,「素数一覧表」の問題を題材にして構造と動作の抽象について説明する.
3 構造化プログラミング,および,課題1の説明
「曲線の印刷」の問題を題材にして構造化プログラミングの考え方を説明する.また,課題1について説明する.
4 段階的詳細化,および,課題1の演習1回目
「曲線の印刷」の問題を題材にして段階的詳細化の考え方を説明する.また,課題1の演習を行う.
5 段階的詳細化,および,課題1の演習2回目
「曲線の印刷」の問題を題材にして段階的詳細化の考え方を説明する.また,課題1の演習を行う.
6 プログラミング技法,および,課題1の演習3回目
プログラミング技法について解説する.また,課題1の演習を行う.
7 プログラム設計技法,および,課題1の演習4回目
プログラム設計技法について解説する.また,課題1の演習を行う.
8 課題1のレポート検討
課題1のレポートについて検討する.
9 構造化プログラミング,および,課題2の説明
「製本プログラム」の問題を題材にして構造化プログラミングの考え方を説明する.また,課題2について説明する.
10 段階的詳細化,および,課題2の演習1回目
「製本プログラム」の問題を題材にして段階的詳細化の考え方を説明する.また,課題2の演習を行う.
11 段階的詳細化,および,課題2の演習2回目
「製本プログラム」の問題を題材にして段階的詳細化の考え方を説明する.また,課題2の演習を行う.
12 プログラム設計技法,および,課題2の演習3回目
プログラム設計技法について解説する.また,課題2の演習を行う.
13 システム設計技法,および,課題2の演習4回目
システム設計技法について解説する.また,課題2の演習を行う.
14 課題2のレポート検討
課題2のレポートについて検討する.
15 前期のまとめ
前期のまとめを行う.
16 課題3(グループ課題)の説明と班分け
課題3(グループ課題)の説明を行う.班分け後,班ごとの打合せを行う.
17 抽象データ型とクラス,および,課題3の演習1回目
「製本プログラム」の問題を題材にして抽象データ型とクラスの考え方を説明する.また,課題3の演習を行う.
18 抽象データ型とクラス,および,課題3の演習2回目
「製本プログラム」の問題を題材にして抽象データ型とクラスの考え方を説明する.また,課題3の演習を行う.
19 テスト技法,および,課題3の演習3回目
テスト技法について解説する.また,課題3の演習を行う.
20 テスト技法,および,課題3の演習4回目
テスト技法について解説する.また,課題3の演習を行う.
21 課題3のプレゼンテーション1回目
前半4班のプレゼンテーションを行う.作品・発表について学生が相互評価する.
22 課題3のプレゼンテーション2回目
後半4班のプレゼンテーションを行う.作品・発表について学生が相互評価する.
23 課題4(グループ課題)の説明と班分け
課題4(グループ課題)の説明を行う.班分け後,班ごとの打合せを行う.
24 モデリング,および,課題4の演習1回目
「家計シミュレーションシステム」の問題を題材にしてモデリングの考え方を説明する.また,課題4の演習を行う.
25 モデリング,および,課題4の演習2回目
「家計シミュレーションシステム」の問題を題材にしてモデリングの考え方を説明する.また,課題4の演習を行う.
26 要求定義技法,および,課題4の演習3回目
要求定義技法について解説する.また,課題4の演習を行う.
27 保守技法,および,課題4の演習4回目
保守技法について解説する.また,課題4の演習を行う.
28 課題4のプレゼンテーション1回目
前半4班のプレゼンテーションを行う.作品・発表について学生が相互評価する.
29 課題4のプレゼンテーション2回目
後半4班のプレゼンテーションを行う.作品・発表について学生が相互評価する.
30 後期のまとめ
最新の話題を題材にして1年間のまとめを行う.


本科目の修得には,60 時間の授業の受講と 30 時間の自己学習が必要である. 中間試験および定期試験は実施しない.