ソフトウェア・エンジニアリング②
担当者 別所 正博(ベッショ マサヒロ)
年度 2026授業コード 1F10246102 科目ナンバリング
対象年次 3~4 授業形態 講義 実施形態 対面
時間割 春火3 開講キャンパス 赤羽台(INIAD) 教室 講義室
単位数 2 主たる使用言語 日本語 実務教員科目
授業科目区分
授業回数
受講対象学科
【サブタイトル】

オブジェクト指向プログラミング言語を用いたソフトウェア開発を学ぶ

【講義の目的・内容】

1年次に学習したコンピュータ・サイエンス概論Ⅰでは、Pythonの学習の中で、詳細な操作をカプセル化するための「クラス」という仕組みや、クラスに属する具体的な値を表す「インスタンス」といった概念を学習しました。これらはオブジェクトを使用して問題をモデル化し高い開発効率をめざす「オブジェクト指向プログラミング」の、最も基本的な概念です。本講義の目的は、このようなオブジェクト指向プログラミング言語を用いたソフトウェア開発を学ぶことです。
本講義では、主に以下のトピックを扱います。
・講義の前半では、オブジェクト指向プログラミングの概要と、典型的なオブジェクト指向プログラミング言語であるJavaについて学習します。
・講義の後半では、より広くソフトウェア開発手法について学習します。具体的には、UML、オブジェクト指向プログラミング言語におけるデザインパターン、テスト、アジャイルソフトウェア開発手法を扱います。

【学修到達目標】

本講義では、以下の修得を目標とします。
・オブジェクト指向プログラミングの概念を修得する
・Javaによるプログラミングを習得する
・UMLクラス図とオブジェクト指向プログラミング言語におけるデザインパターンを理解し、Javaで記述できるようになる
・ソフトウェア開発手法の一般論を理解した上で、Javaにおける単体テスト等を習得し、ソフトウェア開発に活かせるようになる

【講義スケジュール】

各回の講義は、90分の対面講義から構成されます。

第1回: Javaによるソフトウェア開発 ※オンデマンドで実施します。
第2回: 基本的な文法①(演算子、構文、プリミティブ型と参照型)
第3回: 基本的な文法②(標準ライブラリ、標準入出力、例外)
第4回: オブジェクト指向プログラミング言語とクラス
第5回: アクセス修飾子と継承その①(継承とサブクラス)
第6回: アクセス修飾子と継承その②(オーバーライド、継承と修飾子)
第7回: 抽象クラスとインタフェース
第8回: ジェネリクスとJava Collections Framework
第9回: 中間試験と解説 ※通常の講義時間外に実施します
第10回: JavaとUML (Unified Modeling Language)
第11回: デザインパターンその①(シングルトン、オブザーバーパターン)
第12回: デザインパターンその②(テンプレートメソッドパターン、コンポジットパターン)
第13回: ソフトウェアテストその①(単体テスト、カバレッジ)
第14回: ソフトウェアテストその②(テストの発展的な話題)
第15回: アジャイル開発と発展的話題

なお、学期末に期末試験を実施します。

【指導方法】

全15回のうち、2回分をオンデマンド講義として実施し、残り13回は対面講義となります。
各回の講義は、以下のように行います。
*冒頭に、出席確認を兼ねた小テストを実施します。
*講義時間中は、各回のトピックに関する講義を実施します。
*講義内容の理解を確認する課題を出します。(提出期限は次の回までとなります。)

なお、オンデマンド講義の受講・出席の確認方法等は、MOOCsおよび講義用Slackで案内します。全15回のうち、2回分をオンデマンド講義として実施し、残り13回は対面講義となります。
各回の講義は、以下のように行います。
*冒頭に、出席確認を兼ねた小テストを実施します。
*講義時間中は、各回のトピックに関する講義を実施します。
*講義内容の理解を確認する課題を出します。(提出期限は次の回までとなります。)

なお、オンデマンド講義の受講・出席の確認方法等は、MOOCsおよび講義用Slackで案内します。

【事前・事後学修】

(事前学習)
MOOCs上で公開されたオンライン教材に、事前に目を通すことが推奨されます。(30分程度。)
(事後学習)
次回の講義までに、各回で出題された課題に取り組むことが必須です。(30分程度。)
また講義内容を十分身につけるためには、上記以外にも十分な自主学習を行うことが期待されます。(1時間程度。)

【成績評価の方法・基準】

中間試験と期末試験の点数をもとに、単元による重みづけを行い100点満点で素点を算出し、S〜Eの成績評価を行います。ただし、出席状況や課題の提出状況が不十分な場合には、その程度に応じて、素点から最大20点の減点を行います。
なお5回以上欠席した場合には、理由の如何を問わず、単位は習得できません。

【受講要件】

「コンピュータ・サイエンス概論Ⅰ」で学習するPythonおよびJavaScriptによるプログラミングを習得済みであることを前提とします。

【テキスト】

各回の講義に対応したオンライン教材を、MOOCs上で事前に提供します。

【参考書】

 

【関連分野・関連科目】

 

【備考】

 

【添付ファイル1】
【添付ファイル2】
【添付ファイル3】
【リンク】

<本学の授業について>
 本学では、13週の通常授業期間内で13回の通常授業及び、その他に2回分のオンデマンド授業等を開講する形態を採用しています。各回の教室内授業は90分で実施され、合計15回分の授業時間を担保する講義スケジュールを基本としています。
※一部科目では、授業期間、授業回数および授業形態等が異なる場合がありますので、授業の詳細はシラバス等で必ず確認してください。

[注]
 教員の指導のもとで、事前・事後学習を含めて1単位45時間の学修時間を担保することが求められます。
 なお、本学では、大学設置基準等の法令に基づき、年間35週以上の授業日程(学年暦)を定め、通常授業期間のほかに、T-Weeksにおける特別授業期間、夏季・春季セッション期間における集中授業等を実施する授業日程としております。