イチから全部作ってみよう(26)プログラムは「処理」と「データ」からできている:山浦恒央の“くみこみ”な話(195)(3/3 ページ)
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第26回は、プログラムを構成する2大要素である「処理」と「データ」のうち、データの設計をどのように行うかについて説明する。
5.データ設計
5.1 データ設計とは
世の中にさまざまな製品がありますが、それぞれに特有のデータが存在します(図4)。
自動車ならば、車両制御に必要な物理定数など、ECサイトならば、商品価格や在庫数などの商品データがあるでしょう。
データ設計では、システムが扱うデータを整理し、その構造や関係性を定義する作業です。
今回は、イントロダクションとして、ECサイトにおける商品の登録/購入に関わる一連のサイクルを題材として、データを整理し、データの流れをイメージしましょう。
5.2 必要なデータの把握
過去2回の画面設計から、必要なデータを把握します。
- 商品名
- 商品画像
- 商品価格
- 在庫数
- 氏名(過去記事で抜けてましたが……)
- 住所
- 支払方法
- 合計金額
ここから、似たもの同士でまとめます。筆者は、下記に示す通り、「商品データ」と「注文データ」にまとめました。
- 商品データ
- 商品名
- 商品画像
- 商品価格
- 在庫数
- 注文データ
- 氏名
- 住所
- 支払方法
- 合計金額
似たデータをまとめていくと、おおよそ上記のようになるでしょうが、正解はありません。例えば、商品名と在庫数は似ているようで似ていないと判断し、「商品データ」と「商品詳細データ」と分けてもよいでしょう。
5.3 データの流れをイメージする
次に、まとめたデータがどのように変わるかイメージ図で整理します(イメージできるなら飛ばしてもOK)。
5.3.1 イメージ図(その1)
図5は、商品登録とサイトの閲覧に関するイメージ図です。
店担当が商品データをサイトに登録します。例えば、下記の通りです。
- 商品名:シャトー・マルゴー
- 商品画像:margaux_picture.jpg
- 商品価格:27000
- 在庫数:10本
商品データを基に、サイトに商品を表示します。顧客は、その商品を閲覧し、購入するか判断します。
5.3.2 イメージ図(その2)
商品購入に関するイメージ図を図6に示します。
顧客は、商品の購入時に顧客情報を入力します。
- 氏名:山田一郎
- 住所:東京都港区10丁目10番地
- 支払方法:代引き
注文確定すると、顧客が入力した注文データを保存します。その後、在庫数を減らせば完了です。
5.終わりに
今回は、データ設計のイントロダクションとして、処理とデータの関係性と、ECサイトを題材として、データとその流れについて整理してみました。
プログラムは、処理とデータの組み合わせで成り立っているため、どちらも整理する必要があります。データ設計の第一歩は、どのデータが必要で、どのように変わるか把握することです。(次回に続く)
山浦先生執筆の書籍が販売中です!
本連載で取り上げた「ソフトウェア技術者のためのバグ百科事典」を大幅に加筆、修正した山浦恒央先生の書籍「ソフトウェア技術者のためのバグ検出テキスト」が日科技連出版から好評発売中です。連載でも取り上げた、「要求仕様書のバグ」「実装抜けのバグ」「テスト業務のバグ」など、バグを36種類に分類して解説しています。囲碁や将棋であれば、「相掛かり」「矢倉」「四間飛車」「藤井システム」のような戦法を網羅した内容になっています。
前著「ソフトウェア技術者のためのバグ検出ドリル」(2019年11月刊行)も好評発売中です。実際にバグを含む要求仕様書、設計書、コーディング、デバッグ、保守を具体的に取り上げ、練習問題として31問を出題しました。同書は、囲碁や将棋における「次の一手」的な問題であり、ピンポイントの場面を取り上げ、実践力を鍛えることを目的としています。
両書とも興味のある方は、Amazon.comや書店でチェックしてください!
人間環境大学 環境情報学科 教授(工学博士)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「山浦恒央の“くみこみ”な話」バックナンバー
イチから全部作ってみよう(25)脳内シミュレーションを駆使し画面設計書を完成させる
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第25回は、前回作成したECサイトのトップページに続き、カート画面、顧客情報&支払情報入力画面、購入確認画面、購入完了画面画面設計書の画面設計書を作成する。
イチから全部作ってみよう(24)設計フェーズの入り口「画面設計書」は紙芝居!?
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第24回からは設計フェーズに入る。基本設計書と詳細設計書の例を示した後、ECサイトを事例にして設計フェーズの入り口に当たる「画面設計書」を作成する手順を紹介する。
イチから全部作ってみよう(23)業務フロー図があれば“伏魔殿”も理解可能に
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第23回は、円滑なソフトウェア開発に向けて発注側と開発側が相互に歩み寄るために生まれた業務フロー図について説明する。
イチから全部作ってみよう(22)シーケンス図によるモデリングで全体像を把握する
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第22回は、シーケンス図を使用したモデリングによってECサイトの登場人物と処理の流れを示し、開発対象を洗い出す工程について説明する。
イチから全部作ってみよう(21)ソフトウェア開発の見積もりは「KKD」がカギに
ソフトウェア開発の全工程を学ぶ新シリーズ「イチから全部作ってみよう」。第21回は、ソフトウェア開発における見積もり作業の全体像を説明する。カギは「KKD」にあり!




