前回までは、データベース設計の歴史的背景からデータベース設計の有効性までを解説しました。今回は、システム開発ライフサイクルと照らし合わせ、それぞれのフェイズで必要となるデータベース設計について、お話をします。
前回、データベース設計は自社のビジネス活動を理解している自社内の人間がやるべきであり、情報システム部門の存在意義を高めるために必要な技法であるとお伝えしました。しかし、システムの外部委託が多いというのもまた事実です。
筆者の職場では、お客様からデータモデリングに関するご相談をいただく際、最初に「貴社のデータモデルを拝見させてください」というお願いをします。システム開発を外部委託しているケースでは多くの場合、形として残っているのは「物理データモデル」であり、担当者に具体的な内容を聞いても「外注先のシステム会社が作成したのでよく分からない」という回答がかえってきます。
外注先のシステム会社にとっては依頼された範囲のシステム構築が目的であり、お客様のビジネス活動を全体的に把握しているわけではないため、開発部分に関連したデータモデルだけを作成するのは当然のことです。
今回は、自社内で行うべきことと外部委託が可能な部分の大きな切り分けのポイントとなる、「システム開発のどの段階でどのようなデータベース設計を行うのか」について紹介します。
システム開発サイクルとは、SDLC(Systems Development Life Cycle)とも呼ばれ、システム開発を行う際の工程を示したものです。システム開発サイクルにはおよそ7つの工程があり、それらは(1)企画、(2)開発、(3)運用/保守という3つのフェイズにカテゴライズできます。特徴としては前工程の情報が後工程のインプット情報になり工程全体を連ねる形をとります。以下で簡単に各工程での作業内容とどこでデータベース設計が発生するのかを見てみます。
システム化計画から要件定義までの工程を実施します。本フェイズはさらにシステム化要求工程とシステム化分析工程から構成されます。
作業 | 作業の内容 | 成果 |
---|---|---|
システム化要求 | システム化対象範囲の決定とシステム化計画の立案を行います | システム化計画書 RFP |
システム化分析 | システム化対象範囲の分析を行います。具体的にはプロジェクト計画書を作成するために必要となる事項の調査および要件定義を行います。この段階でシステム化対象範囲となるデータ構造を明確にします。 | ・プロジェクト計画書 ・要件定義書 ・概念データモデル |
主な工程として、基本設計、詳細設計、アプリケーション開発、テストを実施します。
作業 | 作業の内容 | 成果 |
---|---|---|
基本設計 | 要件定義書からアプリケーション、データ、およびシステム運用に関する設計を行います。この段階でシステム化対象範囲のデータ項目を明確にする「論理データベース設計」を行います。 | ・基本設計書 ・論理データモデル |
詳細設計 | 基本設計書を基に実装の観点から仕様の確定を行います。この段階で「物理データベース設計」を行います。 | ・詳細設計書 ・物理データモデル |
アプリケーション開発 | 設計書に基づいたアプリケーション開発を行います。 | ・プログラム仕様書 ・プログラム説明書 ・テスト指示書 |
テスト | 単体テスト、結合テスト、統合テストを行いシステム品質の向上を図ります。 | ・プログラムリスト ・バグ報告書 |
システム稼働後の運用と保守を行います。安定稼働、システム品質維持などとともに、利用者教育などシステムを利用者に浸透させることも重要となります。
以上から、システム開発サイクルの中でデータベース設計に関連するのは、システム化分析、基本設計、詳細設計の3つの工程であることが分かります。
Copyright © ITmedia, Inc. All Rights Reserved.