2025年度後期オブジェクト指向ソフトウエア開発

曜日・時限 火曜日1時限 期別 後期 週時間数 2
ナンバリング HB230706,HW230707
開講学科等 総合情報学部-デジタルゲーム学科
教員名 沼田 哲史
沼田 哲史
職務履歴

https://research.osakac.ac.jp/index.php?%e6%b2%bc%e7%94%b0%e3%80%80%e5%93%b2%e5%8f%b2

教員情報データベースに遷移します

目的

オブジェクト指向は、システムの振る舞いをオブジェクト間の作用として定義することで細かく厳密に記述するための、現代のソフトウエア開発において欠かすことのできない重要な考え方である。本科目では、オブジェクト指向に基づいたプログラミング手法についてその概要と応用的側面について学ぶ。C++によるオブジェクト指向プログラミングの演習を行ったあと、UMLによる図解を元にした設計手法を学ぶことで、総合的なプログラミングの技術を高めることを目的とする。

授業計画

授業回 形式 学修内容 学修課題
1 A 授業ガイダンス 事前学修 オブジェクト指向分析と設計の基本的な手法に関する事例研究を行う。(2時間)
事後学修 授業内で出てきた分からないキーワードを自分で調べておく。インターネット上の情報だけでなく、書籍なども参考にすると良い。(2時間)
2 A プログラミングの規模と開発手法 事前学修 授業内で渡すサンプルコードを読んで、その動作を理解してくる。(2時間)
事後学修 これまでに自分が書いたプログラムに対して、授業内で解説した技法で改善できる箇所がないか、チェックしてくる。(2時間)
3 A,C 複数ソースファイルのコンパイル 事前学修 複数のソースファイルをコンパイルするための基本的な手順を確認し、ソースファイル、ヘッダーファイル、リンカーの役割と運用について図にまとめて理解してくる。(2時間)
事後学修 授業で学んだ知識を用いて、自身で複数ソースファイルのプログラムをコンパイルする。コンパイルの際に発生する一般的なエラーとその解決方法について学習する。(2時間)
4 A,C 構造体を使ったプログラミング 事前学修 教科書の第1章を読んで、構造体について予習してくる。(2時間)
事後学修 授業内で提示する構造体を使う課題を解いて復習してくる。(2時間)
5 A,C オブジェクト指向プログラミングの考え方 事前学修 教科書の第2章を読んで、オブジェクト指向について予習してくる。(2時間)
事後学修 授業で取り上げた事例や理論を用いて、簡単なオブジェクト指向プログラムのコードレビューを行う。(2時間)
6 A,C クラスの使い方 事前学修 教科書の第3章を読んで、クラスの使い方について予習してくる。(2時間)
事後学修 簡単なプログラムを作成し、クラスの構造とメソッドの実装を実践する。(2時間)
7 A,C カプセル化とアクセス制御 事前学修 教科書の第4章を読んで、カプセル化について予習してくる。(2時間)
事後学修 実際のプログラム例を通して、カプセル化とアクセス修飾子(public, private, protected)の使い分けを分析する。(2時間)
8 A,C クラスの継承 事前学修 教科書の第5章を読んで、クラスの継承について予習してくる。(2時間)
事後学修 継承を使用したプログラム例を分析し、自分の書いたコードに対して継承によるコードの再利用と拡張を実践する。(2時間)
9 A,C メンバ関数のオーバーライドと多態性 事前学修 教科書の第6章を読んで、多態性について予習してくる。(2時間)
事後学修 サンプルコードを用いて、オーバーライドの実装と多態性の動作原理を実際に体験し、細かく動作を切り替えられるようにする。(2時間)
10 A,C UMLの読み書き 事前学修 様々なUML図(クラス図、シーケンス図、ユースケース図など)の種類と関連について調べる。事例に基づいてUML図の理解を深める。(4時間)
事後学修 実際のプロジェクト仕様に基づいてUML図を作成し、そのUML図のレビューを通じて、自身の設計を見直す。(4時間)
11 A,C デザインパターン 事前学修 デザインパターンの基本概念と歴史の研究。主要なデザインパターン(例:Singleton, Observer, Factory Method)の理解と例の分析。既存のコード例におけるデザインパターンの特定と解析。(4時間)
事後学修 授業で学んだデザインパターンを使って簡単なプログラムを作成。デザインパターンの適用における利点と制約の反省。ケーススタディのレビューとデザインパターンの選択理由の文書化。(4時間)
12 A,C ICONIXプロセスによるオブジェクト指向プログラミングの実践 事前学修 ICONIXプロセスとは何かについて研究し、ICONIXプロセスのステップを把握しておく。(2時間)
事後学修 プロジェクトの設計文書の作成とICONIXプロセスへの適用方法のレビュー。(2時間)
13 A まとめ 事前学修 この授業で学んだ技術の相互関係をよく復習しておく。(2時間)
事後学修 授業内で紹介する文献を読んで、最新のオブジェクト指向プログラミングの技術について知識を得る。(2時間)

授業形式記号

  • A:一斉授業(通常の講義)
  • B:問題発見・解決学習、プロジェクト学習
  • C:体験、実験、実習、演習など
  • D:調査 分析、解析など
  • E:ものづくり、作品制作
  • F:グループワーク(ディスカッション・ディベートを含む)
  • G:プレゼンテーション
  • H:地域・企業 連携型学習
  • I:その他

到達目標

・C++により、オブジェクト指向の概念を理解した上でプログラミングができるようになること。
・オブジェクト指向に基づいたソフトウエアの設計をUMLの記法で読み書きすることができるようになること。
・具体的なアプリケーション開発例を通して、オブジェクト指向の概念を理解し、実際の開発に応用できるようになること。
・オブジェクト指向やUMLによるモデリングなどの知識を、与えられた課題に適切に活用して、プログラマ同士の相互理解を促すことができるようになること。

本科目に関連するディプロマ・ポリシー項目
〇 2024年度以降の入学生
  下記リンク先のカリキュラムマップを参照.
    https://www.osakac.ac.jp/about/policy/faculty/

○ 2023年度以前の入学生
  習得する資質・能力:知識・理解 【DP-W-1-1】
                               汎用的技能 【DP-W-2-1】

評価方法と評価観点

評価方法 配点合計知識・理解力応用力コミュニケーション力態度・志向性創造力 合計
定期試験またはレポート試験 0%
小テスト、小論文 0%
グループワーク 0%
プレゼンテーション 0%
レポート、宿題 0%
授業での姿勢(ノート、質疑など) 0%
作品、パフォーマンス(実技、実演) 100% 60% 20% 20% 100%
その他1(具体的に: 0%
その他2(具体的に: 0%
100% 60% 20% 0% 0% 20% 100%

教科書・参考書

教科書:
・矢沢久雄 著「新・標準プログラマーズライブラリC++クラスと継承完全制覇」, 技術評論社, 2017年12月, ISBN: 9784774193823.(具体的なソースコードを活用して、C++でオブジェクト指向の技法を活用したプログラミングが学べるようになっており、適度な練習問題で理解度の確認ができる。)

オフィスアワー

・オフィスアワーは火曜日のお昼休み、教員室(10号館206)で実施します。
 ※学内外の用務のため、オフィスアワーでも教員が教員室に不在の可能性があります。
  事前に numata@osakac.ac.jp までメールでご連絡いただくのが確実です。

・授業のMoodleに「授業に関する質問・相談」のトピックを設け、随時、質問・相談を受け付けます。
 ※回答は授業期間中の平日9:30〜17:00に行います。

その他

・出席回数が8回未満の場合は、D評価とします(これは予定なので再設定することがあります)。
・課題、レポート、ワーク等の講評は授業内で行います。

実務経験のある教員による授業科目

この授業は、実務経験のある教員によって実施されます。この授業を担当する沼田は、プログラミングに関する書籍を多数執筆・出版しており、プログラミングの教材開発やソフトウェア開発に関する研究が専門です。