山梨大学電子シラバス>検索結果一覧>授業データ



授業科目名
担当教官
ソフトウェア設計II及び実習
武藤 真三/小谷 信司
時間割番号
単位数
コース
履修年次
期別
曜日
時限
262019 S 2 S 2 前期 IV
[概要と目標]
 この授業では、コンピュータソフトウェアを設計・作成する手法を講義と実習を通じて学ぶ。この授業の目的は、UNIX系オペレーティングシステム上のC 言語を用いて自由自在にプログラミングを行える技術を身につけることと、課題として作成するソフトウエアの仕様を明確に表現する技術を身につけることである。
 具体的には、タスクオリエンテッドアプローチに基づいたソフトウエアの設計・作成課題として、携帯電話やPDAに搭載されているアドレス帳の作成を目標とする。その目標の実現のために、まず機能を絞った複数のプログラムを組み合わせて作業をこなすタイプのソフトウェアの作成を行う。その後、各種ライブラリを用いた比較的大規模なソフトウェアの作成方法を学び、UNIX系オペレーティングシステムに実装されている各種のツールを効果的に利用し、各自の仕様に基づいた効率的なアドレス帳を実現する。
[必要知識・準備]
 C言語の基礎知識とUNIX系オペレーティングシステムの基本操作
(これらについては講義中では解説しないので,あらかじめよく復習しておくこと)
[評価基準]
 目標に掲げたように、C 言語を用いて自由自在にプログラミングが行える技術を身につけるため、毎回ソフトウエア課題を課し、評価する。また、知識の修得の結果としての、用語の正しい理解、オンラインマニュアルの利用方法、使い方の理解も課題として課し、評価する。
 各課題毎のレポートの評点の平均値により評価を行う。全レポートの平均評点が、60%以上の者を合格とする。
 評価は厳密に行い、課題の要求項目を満たしていない場合には、大幅に減点する。
また、他者の提出したレポートと類似のプログラムコードが提出された場合には両者とも
未提出扱いとする。
提出されたプログラムコードは要求仕様通りに正しく動作し、レポートに付された実行結果
もその要求仕様を満たす結果が示されていることが重要である。
正しく動作しない場合、その仕様と理由を明記し、どのように修正すれば要求を満たすか
の分析がなされていなければならない。
[教科書]
  1. 内田智史監修, C言語によるプログラミング基礎編第2版, オーム社, ISBN:4-274-06440-9
    (今年度に限り、昨年のソフトウエア設計I及び実習で使用した教科書でも可能とする。ただし、以下に示す「応用編」は用意すること。)

  2. 内田智史監修, C言語によるプログラミング応用編第2版, オーム社, ISBN:4-274-06487-5
[参考書]
  1. Steve Oualline著,望月康司監訳, C実践プログラミング 第3版, オライリー・ジャパン, ISBN:4-900900-64-8
  2. Brian W. Kernighan and Rob Pike著、石田晴久監訳, UNIXプログラミング環境, アスキー出版局, ISBN:4-87148-351-7
  3. Brian W.Kernighan and P.J.Plauger 著、木村 泉 訳, ソフトウェア作法, 共立出版, ISBN:4320021428
  4. 藤原博文, Cプログラミング診断室, 技術評論社, ISBN:4774117870
  5. Brian W. Kernighan and Dennis M. Ritchie著、石田晴久訳, プログラミング言語C 第2版, 共立出版, ISBN:4-320-02692-6
[講義項目]
講義と実習では、主に以下の項目を学ぶ。
(1) コマンドライン引数
(2) 制御ループの構造とデータ型
(3) 関数の取り扱い
(4) ファイル入出力
(5) 配列型データ構造とポインタの取り扱い、メモリの動的確保
(6) 構造体/共用体
(7) パイプライン処理、リダイレクション、
(8) リスト、ツリー、整列、探索
(9) make の使い方と分割コンパイル
(10) プロファイラ