外部設計
外部設計とは要件定義で決まった内容をもとに画面や帳票などのユーザーインターフェースを設計する工程です。「基本設計」や「概要設計」と呼ばれることもあります。
この工程では利用者から見てシステムがどのように振る舞うべきか、操作する画面のレイアウトや操作方法、帳票類の書式、データベースの構造などを決めていきます。
外部設計工程でまず行うことは「設計基準」を決めることです。画面や帳票のデザインや操作性に関わる共通事項をルール化して、設計するメンバーで共有することで、全体として統一感のある設計書を作るのです。
具体的な設計基準としては、「画面設計基準」、「帳票設計基準」、「データベース設計基準」などがあげられます。
画面設計
画面上の入力項目や出力項目、ボタンをどこに配置するか、それぞれの色やサイズなどの「画面レイアウト」を設計します。次に「画面遷移」を設計します。画面遷移とは「画面の操作によって、どの画面に表示が切り替わるか」を矢印で示したものです。
帳票設計
「帳票」とは金銭や物品の取引などを記録した、帳簿や伝票などの定型的な印刷物のことをあらわします。
出金や入金、出荷、納品などを記録として蓄積したり、相手方へ通知するために作成される書類で、出納帳や入出金伝票、請求書、領収書などといったさまざまな種類のものが含まれます。
「帳票設計」ではこれら帳票のレイアウトを決めていきます。
オーバーレイ印刷とは
多くの帳票は「書式」部分と「データ」部分に分かれます。
「書式」部分は帳票のタイトルや罫線といった固定の印刷内容のことを指します。
たとえば、請求書であればタイトルの「請求書」や明細の「罫線」などです。
いっぽう、「データ」部分は日付や金額など可変となる印刷内容のことを指します。
たとえば請求書であれば請求日や合計金額などです。
これら固定の「書式」と可変の「データ」を重ねて印刷する方式を「オーバーレイ印刷」と呼びます。
外部インターフェイス設計
外部システムとやり取りするインターフェイスの内容を設計します。
データ項目の決定
データとして何をやり取りするのかを決めます。
たとえば、顧客の属性をあらわすデータであれば「氏名」「住所」「生年月日」などです。
データ形式の決定
やり取りするデータは固定長なのか可変長なのか、を決めます。
固定長とは1行のレコード長(バイト数)が固定のデータ形式を指します。
ホストコンピュータでは主に固定長のデータを扱います。
可変長とは1行のレコード長(バイト数)が可変のデータ形式を指します。
可変なので項目と項目を区切る文字を前もって決める必要があります。
区切り文字が「,」カンマであれば、「Comma Separated Values」の頭文字をとって「csv」形式と呼ばれます。
連携タイミングの決定
データをいつやり取りするか、毎日なのか、週に1回なのか、何時に送る(受け取る)のかを決めます。
連携方式の決定
CDやテープなどの外部記憶媒体で連携するのか、ネットワークでデータ伝送するのかなどを決めます。
データベース設計
データベース設計とはデータベースによってデータを管理できるように現実の世界を抽象化してデータモデルを作成していく作業です。データモデルはデータベースをどのように構成するかということを定義したものです。
このデータモデルを作成していく作業(データモデリング)は一般的に「概念設計」、「論理設計」、「物理設計」という3つの段階を通して行われます。そして、それぞれの段階ではアウトプットとして「概念モデル」、「論理モデル」、「物理モデル」が作成されます。
なお、「概念設計」までを外部設計、「論理設計」と「物理設計」を内部設計と扱う会社もありますが、本サイトでは全て外部設計として扱います。
概念設計
概念設計では、データベースによって管理の対象とするものを現実の世界から抽出して概念モデルを作成します。
概念モデルの作成にあたっては、ERモデル(実体参照モデル)がよく使用されます。
ERモデルでは、その名のとおり,実体(エンティティ)と関連(リレーションシップ)によってモデルを作成していきます。実体は現実の世界を構成する実体そのもの、関連は実体間のつながりを表現します。
また、実体や関連は属性(アトリビュート)を持つことができます。
論理設計
論理設計では、概念設計によって作成された概念モデルを特定のデータモデルに対応した論理モデルに変換します。したがって、リレーショナルデータベースによってデータを管理するのであれば、ERモデルからリレーショナルモデルを作成していきます。
ERモデルからリレーショナルモデル、つまり、テーブル(リレーション)への変換は機械的に行うことができます。しかし、そのままテーブルに変換しただけでは、リレーショナルモデルとして適切な形式にならない場合があります。
そこで、論理設計ではテーブルをリレーショナルモデルとして適切な形式に変換する作業(正規化)を行います。テーブルを正規化することによってデータの冗長性や不整合を減少させることができます。
物理設計
物理設計の段階になって初めてデータベースとしての性能について考慮します。
具体的には、論理設計において正規化したテーブルの定義を崩したり、インデックスを定義したりして性能が向上するようにモデルを修正していきます。また、物理設計では使用するデータベースに依存する機能を使用することもあります。
物理設計によって修正されたモデルを物理モデルと呼び、このモデルをもって実際にデータベースによって管理することができる形式となります。
■次の記事
内部設計
■おすすめ記事
プログラミングスクール28選 - 受講内容と料金まとめ(無料あり) ※ 就職・転職支援付き
PR