第9回、第10回 総合的な課題(6月13日、20日)

■ 画像編集プログラム(pgmcat)

次の手順で、画像付きネームカードを使ったプログラムを作成しよう。

  1. ユーザからの要求をまとめる。
  2. インタフェースを設計する。
  3. モジュールを設計する。
  4. プログラムを作成する。
  5. 動作を確認する。
  6. 使用方法と実行例をまとめる。

■ ユーザからの要求

Yahoo F1 のサイト(http://sports.yahoo.co.jp/f1/またはhttp://uk.eurosport.yahoo.com/formula-1/)には、ドライバーの成績、ドライバーの写真、ドライバーの出身国や身長・体重などの情報が掲載されている。そこで、次のような処理をするプログラムが欲しい。

□ 課題1

上記の要求を、より具体的に考えて、レポートを作成せよ。

■ インタフェースの設計

ユーザの立場で考えよう。ユーザは次の2点を行なう。

ユーザのすべきことと、プログラムがすべきことを明確にしよう。

□ 課題2

上記のユーザの作業を、より具体的に考えて、レポートを作成せよ。

たとえば、扱う F1 サイトの Web ブラウザの画面、マウスでコピー&ペーストをする様子、得られるテキストデータの例を、レポートに記載することで、手作業が具体的に考えられる。

また、Linux のコンソールで、引数を与えてコマンドを実行する様子をレポートに記載することで、ユーザの使用の様子が具体的に考えられる。

■ モジュールの設計

プログラマの立場で考えよう。プログラム作成の前に、データ構造とアルゴリズム、および、モジュールの構成を設計する。

□ 課題3

データ構造、アルゴリズム、モジュール構成をレポートにまとめよ。

■ プログラムの作成

プログラムの作成は、6月27日より開始し、7月17日までに仕上げる。

プログラムは、C言語を用いる。ソースコードは、ライブラリごとに分ける。Makefile を用いた分割コンパイルを行う。

■ 動作の確認

コンソール上で実行する際、引数の組合せ全てを実行し、結果を確認する。

データの条件の境界値について動作を確認する。たとえば、ファイル数の上限が 20 件であるとき、20件ちょうどのファイルを入力したり、21件のファイルを入力する。また、0件のファイルを入力する。

□ 課題4

動作確認の項目のリストを作成し、「success」と「failure」のマークを記入す。

■ 操作マニュアル

ユーザに提出するものは次のものである:

□ 課題5

上記のマニュアルに相当する部分をレポートにまとめよ。Linux コンソール上のログや画面のハードコピーを使う。

■ 小レポート

上記の課題1から課題3までのレポートを、6月27日までに作成せよ。その結果に従って、6月27日から7月17日までにかけてコーディングを行う。

なお、コーディングの際、設計書を変更する必要があるかもしれない。そこで、変更した設計書、および、課題4と課題5を、最終課題レポートとしてまとめる。最終課題レポートは7月25日に仕上げる。


2008.6.11 by tokuhisa