イチから全部作ってみよう(37)料理レシピでプログラミングの考え方を整理する:山浦恒央の“くみこみ”な話(206)(1/3 ページ)
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第37回は、詳細設計フェーズに入る前に、肉じゃがの料理レシピ作成を通して、プログラミングとは何かを整理する。
1.はじめに
山浦恒央の“くみこみ”な話の連載第170回から、入門者をターゲットとして、「イチから全部作ってみよう」というシリーズを始めました。このシリーズでは、多岐にわたるソフトウェア開発の最初から最後まで、すなわち、要求仕様の定義、設計書の作成、コーディング、デバッグ、テスト、保守までの「開発フェーズ」の全プロセスを具体的に理解、経験することを目的にしています。
興味がある方は、連載第170回からのバックナンバーをご覧ください。
2.前回までの振り返り
前回までで、ざっくりではありますが、基本設計までの工程の説明が終わりました。「このソフトウェアは何をするのか」「どのような機能が必要なのか」といった、ソフトウェア全体の大まかな構成を考えられるようになったかと思います。
次は、詳細設計フェーズです。詳細設計では、基本設計で決めた機能を実際にプログラムとして実装できるレベルまで記載します。例えば、「商品を購入する」という機能があった場合、「どのようなデータを扱うのか」「どのような順番で処理するか」「条件によってどのように処理を変えるか」といったことをプログラムの立場で考えます。
よって、詳細設計を進めるには、プログラムがどのような考え方で動くのかを、ある程度理解しておく必要があります。
そこで今回からは、詳細設計に入る前に、プログラミングの基本的な考え方を整理します。ただし、いきなりプログラミング言語の文法を説明しても、入門者にとっては少し難しく感じるかもしれません。まずは、日常生活で身近な「料理」に置き換えて考えます。
具体的には、肉じゃがの料理レシピ作成を通して、プログラミングとは何かを整理します。
3.料理レシピとプログラミング
「料理レシピ作成とプログラミングには関連がない」と思う人もいるでしょう。筆者は、プログラミングと料理レシピの作成は、類似性が非常に高いと考えています。
プログラミングは、人間がコンピュータに実行してほしいことを、順序立てて記述した指示書です。一方、料理レシピは、人間が料理を作るための指示書です※1)。つまり、「誰かが実行する手順を記述する」という点で、両者には共通点があります。そのため、料理レシピ作りがそのままプログラミング学習の第一歩になるのです。
※1)料理レシピとプログラミングの大きな違いの一つが、コンピュータは行間や空気を読まずに動作をすることです。例えば、「野菜を炒める」と書いてある場合、人間は、「焦げないように加熱する」と考えるでしょうが、コンピュータは、条件を指定しない限り関係なく炒め続けます。よって、真っ黒焦げになっても、コンピュータは動き続けるのです。
4.今回のお題:肉じゃがのレシピを作成せよ
今回のお題を下記に示します。
お題:
「肉じゃが」のレシピを作成すること。フォーマットは自由で、分量、手順にはあまりこだわらなくてよい。
Copyright © ITmedia, Inc. All Rights Reserved.
