ソフトウェア実現 シラバス
TOPへ
【授業科目】
ソフトウェア実現
【担当教員】
鎌田賢、上田賀一
【英語名】
Software Realization
【概要】
講義と演習を通して、ソフトウェアの開発方法論の概要およびライフサイクルの考え方を理解する。前半の演習で基本システムの実現スキルを取得した後、講義でソフトウェアの開発手法を学び、後半の演習では、開発方法論の実践としてグループで企画した独自の応用ソフトウェア・システムをグループ開発で実現する。
関連科目:プログラミング演習III, ソフトウェア工学I
【キーワード】
ソフトウェアライフサイクル,イベント駆動プログラミング,GUIシステム,API
【到達目標】
ソフトウェアとして機能実現する方法の原理を修得する。ソフトウェアライフサイクルの捉え方を理解し、開発方法論を意識しながら、イベント駆動、ウィンドウグラフィック表示、ネットワーク通信を含むアプリケションプログラムの実装を通して、ソフトウェアの実現形態を考えられるようになる。
学習・教育目標:○[E1][E2][E3][F]
【授業計画】
<個人演習>
  1. オリエンテーション,開発環境整備, スケルトンプログラムの導入,ウィンドウクラスとメッセージハンドラ
  2. ボタンクラス,インスタンス,メッセージ, マウスイベント, グラフィック描画
  3. 非同期ソケット通信,簡易チャットプログラム
  4. 手書きチャットプログラム作成
  5. 手書きチャットプログラムのドキュメント作成
    詳細はこちら
<ソフトウェアの開発手法とライフサイクル>
  1. ソフトウェア開発手法概要
<グループ演習>
  1. 手書きチャットプログラムの応用検討
  2. 機能構造・データ構造の検討とグループ作業
  3. プログラム試作と問題点検討
  4. テスト設計
  5. プログラミング
  6. ドキュメント作成
  7. 開発ソフトウェア報告
【履修上の注意】
本科目の学習内容は積み上げ式の理解や作業が必要ですので,休まずに取り組んで下さい.
課題の解決過程で生成AIを使った場合には、その結果の何がレポートのどこに反映されているのかレポートの表紙に明記すること。その点についての理解をレポート提出後に面接で確認する。
【成績の評価方法】
前半の演習での基本システム実現に関する報告書によって基本スキルを評価し、講義でのソフトウェア開発方法論の理解をレポートで評価し、後半の演習での応用ソフトウェア実現に関する報告書によって応用力を評価する。
ソフトウェア開発方法論のレポート(10%),前半に実施する課題(40%),後半に実施する課題(50%)
-
【教科書・参考書】
教科書
配布資料(このウェブサイト)を用いる.
参考書
Windows2000時代のWin32 APIシステムプログラミング with VisualC++6.0,カットシステム
公式Win32 APIリファレンス Volume 3,アスキー出版局
個人演習
個人演習 個人でレポートを堤出
P2Pの簡易手書きチャットを想定,マウスのペン座標を互いに送り合って,それを固定長配列に記憶し,再描画の際には,その配列に入っている座標を再描画する.
個人演習とグループ演習の間を空けるために,座学・理論を中間に挟む.
グループ演習
少人数(3-5人)グループ演習 グループでレポートを堤出
7-12コマ目は,始めに当日やるべきことを説明し,PC画面を前にしてグループ討論させる.
当日までにやるべきことの達成具合と次回までに各自がやるべきことを打合わせて,その日のうちに報告させる.
実質的開発作業は授業時間外となる.
プログラムおよびドキュメントは各箇所の担当者名を記した1編として提出させる.
13回目の報告はPPTなら4枚程度(応用目的とゴール,機能と役割分担,ソフト紹介,テスト結果と自己評価)を用意させて発表する.
発展方向は自由であるが, グラフィックと通信を扱うものとする.
例は, 簡単な知育ソフトなどである. 通信プロトコルとグラフィク描画の設計が大切になる.
場合によっては, 固定長配列をやめて,動的な配列をストロークごとにとる方式に変更しなければならないかもしれない.
現在描いている点列の受け入れ用のバッファの作り方,複数のストロークを記憶する可変長配列の持ち方を工夫することも必要かもしれない.
あるいはP2Pの1対1の手書きチャットからサーバ1つ,クライアントn個というn人チャットへの変更もあり得る.

TOPへ