イチから全部作ってみよう(26)プログラムは「処理」と「データ」からできている山浦恒央の“くみこみ”な話(195)(1/3 ページ)

ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第26回は、プログラムを構成する2大要素である「処理」と「データ」のうち、データの設計をどのように行うかについて説明する。

» 2025年11月18日 06時00分 公開

1.はじめに

 山浦恒央の“くみこみ”な話の連載第170回から、入門者をターゲットとして、「イチから全部作ってみよう」というシリーズを始めました。このシリーズでは、多岐にわたるソフトウェア開発の最初から最後まで、すなわち、要求仕様の定義、設計書の作成、コーディング、デバッグ、テスト、保守までの「開発フェーズ」の全プロセスを具体的に理解、経験することを目的にしています。

 興味がある方は、連載第170回からのバックナンバーをご覧ください。

⇒連載「山浦恒央の“くみこみ”な話」バックナンバー

2.前回の振り返り

 過去2回は、画面設計の定義方法について取り上げました。

 画面設計を作成すると、画面のレイアウトと大まかな処理の流れを紙芝居のように表現できます。また、この画面を発注側に見せることで、細かい仕様を詰めることが可能です。

 前回までで、最低限の画面レイアウトと処理の流れが作成できました。今回から、テーマを「データ」に移し、データ設計のイントロダクションの回とします。

3.「アルゴリズム+データ構造=プログラム」

プログラム ※画像はイメージです

 この「数式」みたいなタイトルは、コンピュータ界の神様、ニクラス・ヴィルト(Niklaus Wirth、1934〜2024年)が1976年に書いた書籍のタイトルです。50年たった今読んでも、非常に斬新で示唆に富んでおり、グレンフォード・マイヤーズ著の「ソフトウェアテストの技法」(1979年)、フレデリック・P・ブルックス著の「人月の神話」(1975年)とともに、「50年たっても新しい奇跡の三銃士」と私は思っています。大学の図書館には必ず置いてあるので、この機会にぜひこの3冊を読んでみてください。

 「アルゴリズム+データ構造=プログラム」は、プログラムの設計/解析/実装の基礎を「データ構造」と「アルゴリズム(処理方式)」の統合という視点で見た古典的な名著です。「アルゴリズム(処理の論理)とデータ構造(データの表現)は 切り離して考えることはできない」、すなわち、適切にデータ構造を設計しないと、効率的な処理(アルゴリズム)はできないし、適切な処理(アルゴリズム)を設計しないと、データの構造は意味がないと書いてあります。

 プログラミングの初級者が「なぜ、このデータ構造と処理方式でプログラムを書くか」を理解する上で、今でも役に立ちます。「データ構造とアルゴリズム(処理)は切り離せない」「プログラミングを設計する場合、どんな構造にすべきか」は、50年たった今でも、非常に新鮮です。

 この本では、「プログラムは、単に処理を書くことではなく、データの構造を見定め、そこに適切な処理を組み込むことである」という考え方が一貫していて、理論と実際のプログラム(Pascalで書いてあります)の両面から示しています。一読をおススメします。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

特別協賛PR
スポンサーからのお知らせPR
Pickup ContentsPR
Special SitePR
あなたにおすすめの記事PR