内部設計は,プログラムをどのように作るのかを決めるものである.
役割りとしてまとまりのあるプログラムをモジュールと呼ぶ.幾つかの小さなモジュールで1つのモジュールを実現することがある.このとき小さなモジュールを下位のモジュールという.C言語によるプログラミングでは,最上位のモジュールは,main関数である.
モジュールを設計するには2通りの手順が考えられる.
トップダウンアプローチは,ウォーターフォールモデルなどの設計と相性が良い.
分割の方針は経験に依ると言われている.たとえば,次の観点で分割するとよい.
通常のソフトウエア開発では,上記のポイントを考える必要がある.ただ,現在のC言語の学習時には,より具体的な観点が欲しいでしょう.
そこで,たとえば,次のような処理のタイプで分割するとよい.
そして,既存のライブラリが利用できる点を見付けて,不足する機能を新規にモジュールで実現する.
設計したモジュールごとにプログラムのサブルーチン(関数)を設計する.
上記の項目について記述しながら,プログラムがうまく動作するのかを頭の中でシミュレーションする.誤りがあれば,プログラム構造設計を見直す.データ構造(struct)で必要な要件を別の紙にメモしておくと,後で便利である.
関数名や変数名を,この段階で命名する.関数は処理をするので,英語の動詞句の形で書き,変数は処理の対象であるので,英語の名詞句の形で書くことが多い.
単語の区切にアンダーバーを使ったが,アンダーバーを使わずに単語の先頭を大文字で書く方法もある.ただし,1つのソフトウエア内では統一して命名すること.
定数や独自に宣言したデータ型は,大文字の名前を使うことがある.
ライブラリを作成するときは,先頭に共通のキーワードを設ける.ライブラリのソースファイルも共通性のある名前を付ける.
プログラム内設計の際に,想定したデータ構造やファイルフォーマットを明記する.
先週より作成した自分の設計書に従って,内部設計をせよ.
サンプルのプログラム内部設計書をここに示す.⇒サンプル設計書2
来週(6月3日)までに,内部設計を済ませておくこと.来週は,知能計算機室で,各自がコーディングをする.再来週(6月10日)に作成した結果をレポートして提出する.
レポートの書式は以下のとおりとする.
サンプルの設計書をベースにして第1章を作成してもよい.第2章以降は,第1章での設計どおりであること.
2004.5.24 by tokuhisa