シラバス情報

開講年度
2025年度
開講学期
後期
科目名
通信ソフトウェア論II
授業種別
講義
科目名(英語)
Communications Software II
授業情報(授業コード・クラス・授業形態)
A2000011 通信ソフトウェア論II [J0][対面]
担当教員
水野 修
単位数
2.0単位
曜日時限
水曜3限
キャンパス
新宿
教室
A-1611 Izumi15

学位授与の方針
1 基礎知識の修得 10 %
2 専門分野の知識・専門技術の修得 70 %
3 汎用的問題解決力の修得 10 %
4 道徳的態度と社会性の修得 10 %
具体的な到達目標
・ソフトウェア工学の基本を理解し,基本/応用情報技術者資格の関連部分に相当する知識を身につける.・Javaの,クラスとオブジェクト,継承,マルチスレッド,オブジェクト間通信のプログラムができ,またコードが読めるスキルを身につける.
受講にあたっての前提条件
「プログラミング1」〜「プログラミング4」「プログラミング演習I」「プログラミング演習II」を修得しており、基本的なプログラムの仕組みを理解し、自身で完結したプログラムをコーディングできること。完全に理解しておくべき科目:情報処理入門、プログラミング1〜4ならびに同演習,通信システム基礎、履修が望ましい科目:データ構造とアルゴリズム,情報通信ネットワーク,通信ソフトウェア論I,システムプログラミング
授業の方法とねらい
・情報通信システム実現のために必須となる,ネットワークソフトウェア開発やプロジェクト管理に関する基本的な知識や手法について学ぶ.同時にJavaを用いた小規模なプログラム開発演習を通じて,オブジェクト指向プログラミングのスキルを身につける。

<「別欄もしくは授業内で通知」の内容>
★★学籍番号の末尾が奇数の組を【O】,偶数の組を【E】と表記しています,一方の組が対面の回では,もう一方の組はオンデマンドとなります★★★
AL・ICT活用
実習・フィールドワーク

第1回
授業形態
遠隔(オンデマンド)
事前学習
シラバスを読んでおくこと.なお,1週目の対面授業前までに,配布する第1回目のオンデマンド教材を学修すること.
4時間
授業内容
【オンデマンドEX:1回目の対面授業までに受講のこと】
自分のPCでJAVAのプログラムを編集,実行できる環境を作ります.
うまくできなかった場合には第1回講義のときに対応を相談できるように,第1回の授業の前までに受講と作業を行ってください.
事後学習・事前学習
提供する確認プログラムが実行できること.
4時間
第2回
授業形態
対面
授業内容
【ここからが授業週1週目の内容になります】
【全員対面】オリエンテーション,ネットワークソフトウェアとは
 講義の進め方を説明します.またネットワークソフトウェアやソフトウェア工学について理解します.
事後学習・事前学習
準備:C言語のプログラムを復習しておくこと..
4時間
第3回
授業形態
別欄もしくは授業内で通知
授業内容
●【O:対面】通信ソフトウェアプログラミング(1):型変換,制御文,配列
 Javaの開発環境であるEclipseの操作を覚えます.JavaとCの違いを理解し,Javaの簡単な入出力を行えるようにします.

●【E:オンデマンド】. 通信ソフトウェア開発手法(1): ネットワークソフトウェアの基礎
 ネットワークソフトウェアとは何かを理解し,簡単な工数計算やプロジェクト管理手法を学びます
事後学習・事前学習
復習:講義で指定する演習問題を解くこと
4時間
第4回
授業形態
別欄もしくは授業内で通知
授業内容
●【O:オンデマンド】. 通信ソフトウェア開発手法(1): ネットワークソフトウェアの基礎
 ネットワークソフトウェアとは何かを理解し,簡単な工数計算やプロジェクト管理手法を学びます

●【E:対面】通信ソフトウェアプログラミング(1):型変換,制御文,配列
 Javaの開発環境であるEclipseの操作を覚えます.JavaとCの違いを理解し,Javaの簡単な入出力を行えるようにします.
事後学習・事前学習
復習:演習課題を期日までに提出すること.
4時間
第5回
授業形態
別欄もしくは授業内で通知
授業内容
●【O:対面】 通信ソフトウェアプログラミング(2): スレッドと共通リソース制御複数のオブジェクトが並行して動作させる”スレッド”を理解し,これを用いた共通リソース管理の簡単なプログラミングができるようにします.

●【E:オンデマンド】 通信ソフトウェア開発手法(2):ネットワークソフトウェアアーキテクチャ
 ネットワークソフトウェアのアーキテクチャとは何かを理解し,SIPなど代表的な処理手順を学びます
事後学習・事前学習
復習:講義で指定する演習問題を解くこと.
4時間
第6回
授業形態
別欄もしくは授業内で通知
授業内容
●【O:オンデマンド】 通信ソフトウェア開発手法(2):ネットワークソフトウェアアーキテクチャ
 ネットワークソフトウェアのアーキテクチャとは何かを理解し,SIPなど代表的な処理手順を学びます

●【E:対面】 通信ソフトウェアプログラミング(2): スレッドと共通リソース制御複数のオブジェクトが並行して動作させる”スレッド”を理解し,これを用いた共通リソース管理の簡単なプログラミングができるようにします.
事後学習・事前学習
復習:演習課題を期日までに提出すること.
4時間
第7回
授業形態
別欄もしくは授業内で通知
授業内容
●【O:対面】通信ソフトウェアプログラミング(3):オブジェクト間のデータ受け渡しとキュー 
 スレッドの実行を条件によって制御する”wait”,”notify”を理解し,これを用いたオブジェクト間のデータ受け渡しを,キューを用いて非同期でできるようにします.

●【E:オンデマンド】通信ソフトウェア開発手法(3):サービス設計
 サービス設計の上流工程の手法を学び,あわせてオブジェクト指向の動作を学びます
事後学習・事前学習
復習:講義で指定する演習問題を解くこと.
4時間
第8回
授業形態
別欄もしくは授業内で通知
授業内容
●【O:オンデマンド】通信ソフトウェア開発手法(3):サービス設計
 サービス設計の上流工程の手法を学び,あわせてオブジェクト指向の動作を学びます

●【E:対面】通信ソフトウェアプログラミング(3):オブジェクト間のデータ受け渡しとキュー 
 スレッドの実行を条件によって制御する”wait”,”notify”を理解し,これを用いたオブジェクト間のデータ受け渡しを,キューを用いて非同期でできるようにします.
事後学習・事前学習
復習:演習課題を期日までに提出すること.
4時間
第9回
授業形態
別欄もしくは授業内で通知
授業内容
●【O:対面】通信ソフトウェアプログラミング(4):データ入出力
 汎用的なデータ入出力を利用できるようにします.

●【E:オンデマンド】通信ソフトウェア開発手法(4):ネットワークサービスを実現する要素
  ネットワークサービスを実現する要素を学び,あわせて簡単なデータ設計手法について理解します
事後学習・事前学習
復習:講義で指定する演習問題を解くこと.
4時間
第10回
授業形態
別欄もしくは授業内で通知
授業内容
●【O:オンデマンド】通信ソフトウェア開発手法(4):ネットワークサービスを実現する要素
  ネットワークサービスを実現する要素を学び,あわせて簡単なデータ設計手法について理解します

●【E:対面】通信ソフトウェアプログラミング(4):データ入出力
 汎用的なデータ入出力を利用できるようにします.
事後学習・事前学習
復習:演習課題を期日までに提出すること.
4時間
第11回
授業形態
別欄もしくは授業内で通知
授業内容
●【O:対面】通信ソフトウェアプログラミング(5):ソケット通信
 回線を通じたメッセージのやり取りを行うために,ソケットを用いた通信方法を理解します
 準備:前回,前々回の演習(キュー,入出力)を復習しておくこと.

●【E:オンデマンド】通信ソフトウェア開発手法(5):プロトコル設計
  ネットワークサービスを実現するためのプロトコル設計と検証を学び,簡単なプロトコルの設計手法について理解します
事後学習・事前学習
復習:講義で指定する演習問題を解くこと.
4時間
第12回
授業形態
別欄もしくは授業内で通知
授業内容
●【O:オンデマンド】通信ソフトウェア開発手法(5):プロトコル設計
  ネットワークサービスを実現するためのプロトコル設計と検証を学び,簡単なプロトコルの設計手法について理解します

●【E:対面】通信ソフトウェアプログラミング(5):ソケット通信
 回線を通じたメッセージのやり取りを行うために,ソケットを用いた通信方法を理解します
 準備:前回,前々回の演習(キュー,入出力)を復習しておくこと.
事後学習・事前学習
復習:演習課題を期日までに提出すること.
4時間
第13回
授業形態
別欄もしくは授業内で通知
授業内容
.●【O:対面】通信ソフトウェアプログラミング(6):総合演習
 通信ソフトウェアプログラミング(2)〜(5)で理解した技術を組み合わせて簡単な通信システムを実現します.

●【E:オンデマンド】通信ソフトウェア開発手法(6):ソフトウェアの品質管理
 通信ソフトウェアの品質を担保するための品質管理について理解し,幾つかの事例について判断できるようにします.
事後学習・事前学習
復習:講義で指定する演習問題を解くこと.
6時間
第14回
授業形態
別欄もしくは授業内で通知
授業内容
●【O:オンデマンド】通信ソフトウェア開発手法(6):ソフトウェアの品質管理
 通信ソフトウェアの品質を担保するための品質管理について理解し,幾つかの事例について判断できるようにします.

●【E:対面】通信ソフトウェアプログラミング(6):総合演習
 通信ソフトウェアプログラミング(2)〜(5)で理解した技術を組み合わせて簡単な通信システムを実現します
事後学習・事前学習
復習:講義で指定する演習問題を解くこと.
6時間
第15回
授業形態
対面
授業内容
【全員対面】学習内容の振り返り(期末試験)
事後学習
学習内容の振り返り
0.5時間

成績評価の方法
・演習の取り組みと,試験期間に実施する試験により知識の修得度を測定する.
・定期試験(59点満点)+演習課題点(計41点) の合計で,100点中60点以上を合格とする.
  ただし,演習課題が指定された日時から遅延した場合は,演習課題点合計を10点とする.
      指定した最終提出日を過ぎても受理されいない演習課題が一つでもある者は,演習課題点合計を0点とする (試験が満点でもFとなる).
受講生へのフィードバック方法
・演習課題について出来が不十分なものは「出来るまで」再提出を要求します.締め切り前でもKU-LMSで提示しますので,定期的にチェックしてください.

教科書
講義:角田良明(編著)「ネットワークソフトウェア」(共立出版,ISBN978-4-320-12316-8)
演習:授業で使う資料をアップロードしておくので,必ず事前に入手しておくこと.
参考書
演習については
・結城浩 ”[改訂3版]Java言語プログラミングレッスン(上下)”ソフトバンククリエイティブ,ISBN978-4797371253,ISBN978-4797371260
・小高 知宏,"基礎からわかるTCP/IP Javaネットワークプログラミング",オーム社,ISBN978-4274064869
を参考にしていますが,絶版になっている可能性があるので,必要ならば図書館で調べてみてください.

市販のJavaの参考書類(自分に合うと思うもの)

オフィスアワー
月曜日15:00-17:00(A-2217)
受講生へのメッセージ
産業としてのソフトウェア開発を進めたり,道具としてプログラミングを行うための知識や技能を身につけるために,開発支援ツールを活用したJavaプログラミングによる演習を行いながら講義をすすめます.

実務家担当科目
実務家担当科目
実務経験の内容
通信ノードの研究開発の経験がある教員が、商用システム開発の経験を活かし、通信ソフトウェアの実現すべき点について講義する。

教職課程認定該当学科
情報通信工学科
その他の資格・認定プログラムとの関連
関連する科目でない
教育課程コード
Ⅱ3c
教育課程コードの見方【例】 Ⅰ2a(Ⅰ…Ⅰ群、2…2年配当、a…必修) ※ a : 必修 b : 選択必修 c : 選択 ※複数コードが表示されている場合には入学年度・所属学科の学生便覧を参照のこと