一言で設計と言っても
- システム設計
- ソフトウェア設計
- アプリケーション設計
- ネットワーク設計
- データベース設計
- アーキテクチャ設計
- 移行設計
- 運用設計
など様々な粒度・種類がある。
システム設計
システムとは、ネットワーク、ハードウェア、ソフトウェアを含めた、「価値を提供する仕組み全体」のことである。
システムをスタックのような形で表現すると一般に
| アプリケーション |
| ミドルウェア |
| データベース |
| OS |
| ハードウェア |
| ネットワーク |
という形になる。
下層の3つ(OS、ハードウェア、ネットワーク)に関する設計をまとめて、インフラ設計と呼ぶ。
上層の3つ(アプリケーション、ミドルウェア、データベース)に関する設計をまとめて、ソフトウェア設計と呼ぶ。
以下、ソフトウェア設計に関連する設計を見ていく。
アプリケーション設計
アプリケーションを設計することをアプリケーション設計と呼ぶ。
アーキテクチャ設計
アーキテクチャとは、「設計の基本構造」という意味であり、
アーキテクチャを設計することをアーキテクチャ設計と呼ぶ。
どのレベルでもアーキテクチャは存在するが、アプリケーション開発者にとって重要なものは、
- アプリケーションアーキテクチャ
- ソフトウェアアーキテクチャ
- システムアーキテクチャ
の3つである。
移行設計
移行設計とは、開発が完了したシステムを既存のシステムに変わって本番環境で動作するように配置し、データなどを準備するための設計のことである。
特にデータの移行作業は、非常に難しい作業であるが、
- データ移行プログラムを作成する
- データベースのレプリケーションを作成する
- 既存システムに新旧療法のデータベースに書き込みを行わせる
などの手段によって解決する。
運用設計
運用方法、障害への対処方法の設計のことである。
ソフトウェア設計と関連する事柄として
- ログ出力やヘルスチェック
- フェールオーバーのためのクラスタリングなどのシステム構成
- バックアップやリカバリのためのミドルウェア・データベースの選定
- 簡単な起動・停止方法の提供
などが挙げられる。
最終更新:2010年08月09日 12:11