次の手順で、画像付きネームカードを使ったプログラムを作成しよう。
Yahoo F1 のサイト(http://sports.yahoo.co.jp/f1/またはhttp://uk.eurosport.yahoo.com/formula-1/)には、ドライバーの成績、ドライバーの写真、ドライバーの出身国や身長・体重などの情報が掲載されている。そこで、次のような処理をするプログラムが欲しい。
上記の要求を、より具体的に考えて、レポートを作成せよ。
ユーザの立場で考えよう。ユーザは次の2点を行なう。
ユーザのすべきことと、プログラムがすべきことを明確にしよう。
上記のユーザの作業を、より具体的に考えて、レポートを作成せよ。
たとえば、扱う F1 サイトの Web ブラウザの画面、マウスでコピー&ペーストをする様子、得られるテキストデータの例を、レポートに記載することで、手作業が具体的に考えられる。
また、Linux のコンソールで、引数を与えてコマンドを実行する様子をレポートに記載することで、ユーザの使用の様子が具体的に考えられる。
プログラマの立場で考えよう。プログラム作成の前に、データ構造とアルゴリズム、および、モジュールの構成を設計する。
データ構造、アルゴリズム、モジュール構成をレポートにまとめよ。
プログラムの作成は、6月27日より開始し、7月17日までに仕上げる。
プログラムは、C言語を用いる。ソースコードは、ライブラリごとに分ける。Makefile を用いた分割コンパイルを行う。
コンソール上で実行する際、引数の組合せ全てを実行し、結果を確認する。
データの条件の境界値について動作を確認する。たとえば、ファイル数の上限が 20 件であるとき、20件ちょうどのファイルを入力したり、21件のファイルを入力する。また、0件のファイルを入力する。
動作確認の項目のリストを作成し、「success」と「failure」のマークを記入す。
ユーザに提出するものは次のものである:
上記のマニュアルに相当する部分をレポートにまとめよ。Linux コンソール上のログや画面のハードコピーを使う。
上記の課題1から課題3までのレポートを、6月27日までに作成せよ。その結果に従って、6月27日から7月17日までにかけてコーディングを行う。
なお、コーディングの際、設計書を変更する必要があるかもしれない。そこで、変更した設計書、および、課題4と課題5を、最終課題レポートとしてまとめる。最終課題レポートは7月25日に仕上げる。
2008.6.11 by tokuhisa