|
教員名 : 橋浦 弘明
|
授業コード
210590
オムニバス
科目名
ソフトウェア設計特論
科目名(英語)
Advanced Topics on Software Design Methodology
配当学年
1年
単位数
2.00単位
年度学期
2025年度春学期
曜日時限
金曜2限
対象学科
博前_電子
コース
科目区分
大学院科目
必選の別
選択科目
担当者
橋浦 弘明
教室
実務家教員担当授業
担当教員の橋浦はソフトウェア開発の実務経験がある。
その経験を活かしソフトウェア技術に関する実践的なテーマや実例を授業で扱っている。 授業の目的と進め方
ソフトウェア設計法は、ソフトウェアの生産性向上と品質向上のために工学的な研究の成果として生まれたものである。本講ではソフトウェア設計法の歴史や代表的なソフトウェア設計法の知識を体系的に学び、複数の手法を実際に使ったソフトウェア設計を行うことでソフトウェア設計に関する理解を深める。
達成目標1
主なソフトウェアライフサイクルモデルについて説明することができる【30%】
達成目標2
複数のオブジェクト指向ソフトウェア設計法について説明することができる【30%】
達成目標3
ソフトウェア設計法を実際のソフトウェア開発に適用することができる【40%】
達成目標4
達成目標5
達成目標6
達成目標7
アクティブラーニング
ディスカッション
○
ディベート
グループワーク
プレゼンテーション
○
実習
フィールドワーク
その他課題解決型学習
授業計画
授業時間外課題(予習および復習を含む)
第1回
ソフトウェア設計法とは
ソフトウェア工学について復習しておく。自分の興味があるソフトウェアとその設計法を調べる(2時間)
第2回
主なソフトウェアライフサイクルモデル
代表的なソフトウェアライフサイクルモデルとその発展の歴史について調べる。ノートPCにプログラミングの環境を整える(2時間)
第3回
構造化プログラミング
構造化プログラミングについて調べ、構造化されているものとされていないプログラムを作り、それらの差を考察する(2時間)
第4回
オブジェクト指向とUML表記法
UML記法について調査し、実際にクラス図やシーケンス図を書いてみる(2時間)
第5回
オブジェクト指向設計法: OMT法における分析
身近な例を用いてOMT法による分析を行う(2時間)
第6回
オブジェクト指向設計法: OMT法における設計
身近な例を用いてOMT法による設計を行う(2時間)
第7回
オブジェクト指向設計法: OOSE法における分析
身近な例を用いてOOSE法による分析を行う(2時間)
第8回
オブジェクト指向設計法: OOSE法における設計
身近な例を用いてOOSE法による設計を行う(2時間)
第9回
デザインパターンを用いた設計
デザインパターンについて調べ、代表的なパターンを実際にプログラミングして動作させてみる(2時間)
第10回
デザインパターンを用いた実装
デザインパターンを用いたものとそうでないプログラムを実際に作成し、それらの間の差を考察する(2時間),
第11回
設計法を用いた分析の実践
自ら課題を設定し、これまで学んだ設計手法用いてソフトウェアの分析を行う(2時間)
第12回
設計法を用いた設計の実践
自ら課題を設定し、これまで学んだ設計手法用いてソフトウェアの設計を行う(2時間)
第13回
設計法を用いた実装の実践
自ら課題を設定し、これまで学んだ設計手法用いてソフトウェアの実装を行う(2時間)
第14回
まとめと講評
自らの作成した設計と他者の設計を比較し、その間の差を考察する(2時間)
課題等に対するフィードバック
課題については、授業内で解説の時間を設ける。
評価方法と基準
輪講と演習で実施します。評価は課題の発表と講評で行います。
テキスト
必要な資料についてはプリントで配布します。
参考図書
・松浦佐江子、ソフトウェア設計論、コロナ社、2016年、ISBN 978-4339026818
・J.ランボー他、オブジェクト指向方法論OMT モデル化と設計、トッパン、1992年、ISBN 978-4810185270 ・I.ヤコブソン他、オブジェクト指向ソフトウェア工学OOSE、トッパン、1995年、ISBN 978-490167202 ・E. Gamma他、オブジェクト指向における再利用のためのデザインパターン、SBパブリッシング、1999年、ISBN 978-4797311129 科目の位置づけ(学習・教育目標との対応)
情報技術の基礎であるソフトウェア様々な開発手法について理解を深め、修士論文や研究のための高度なソフトウェアの実現を容易にする。
履修登録前の準備
演習でノートPCを使うので持参すること。
C++やJavaプログラミングによるプログラミングができ、またソフトウェア工学の基礎知識を有することが望ましい。 |