システム開発における設計の重要性とその詳細

DXを学びたい
デジタル変革における「設計」って、具体的にどんなことをするんですか?システム開発の設計とどう違うのかも知りたいです。

DXアドバイザー
良い質問ですね。デジタル変革における「設計」は、単なるシステム開発の設計に加えて、ビジネスモデルや業務プロセス全体の変革を考慮して行う点が大きく異なります。例えば、顧客体験を向上させるために、どのようなデジタル技術を活用し、どのようにシステムを連携させるかを考えます。

DXを学びたい
顧客体験を向上させるための設計、ですか。具体的に、顧客のどんな情報を使って、どんなシステムを設計するんですか?

DXアドバイザー
例えば、顧客の購買履歴やウェブサイトの閲覧履歴などを分析し、顧客一人ひとりに最適化された商品や情報を表示するシステムを設計します。これにより、顧客は自分に合った情報を簡単に見つけられるようになり、購買意欲が高まります。また、問い合わせ対応のチャットボットを導入し、待ち時間を短縮することも顧客体験向上に繋がります。
設計とは。
「デジタル変革」に関連する用語である『設計』とは、システム開発において、求められる機能や性能を明確にした要件定義に基づいて、システムの外観や動作を具体的に決定する過程を指します。これは、利用者の視点から見た目を重視する外部設計と、プログラムの詳細な内容を定める内部設計の二つに大きく分けられます。
設計工程の全体像

情報技術を用いた仕組み作りにおける設計は、建築における設計図の作成に似ています。要求定義で明らかになった顧客の要望や、仕組みの目的を基に、実際にどのような仕組みを構築するのか、具体的な計画を立てる重要な段階です。この工程を軽視すると、後の開発段階で修正が頻発したり、顧客の期待と異なるものが出来上がる可能性があります。
設計工程では、仕組みの全体像を把握し、各機能の役割や連携方法、情報の流れなどを明確に定義することで、開発に関わる全員が同じ認識を持つことが重要です。また、設計段階で潜在的な問題点や危険性を洗い出し、解決策を検討しておくことで、開発の効率化や品質向上につながります。
仕組みの規模や複雑さによっては、設計工程に多くの時間と労力を費やすこともありますが、完成度の高い仕組みを実現するための基盤を築くことができます。
| 要素 | 説明 |
|---|---|
| 設計の重要性 |
|
| 設計工程の内容 |
|
| 設計工程の効果 |
|
外部設計の役割と視点

外部設計とは、お客様や最終利用者が直接触れる部分、すなわち情報システムの印象を決定付ける重要な工程です。例えば、ウェブサイトであれば、情報の配置や見た目、操作のしやすさを検討します。スマートフォンの応用ソフトであれば、画面の移り変わりや触ったときの反応など、利用者が見て触る部分全体を設計します。大切なのは、お客様の要望を満たすだけでなく、誰にとっても使いやすく、考えなくても操作できるようにすることです。外部設計では、画面の構成や献立、報告書など、利用者が直接目にする全ての要素を細かく決めます。また、実際に利用するお客様に試してもらい、意見を取り入れることで、より使いやすい情報システムへと改善できます。外部設計は、情報システムの第一印象を決め、お客様の満足度に大きく影響するため、慎重に進める必要があります。
| 項目 | 説明 |
|---|---|
| 外部設計の定義 | お客様や最終利用者が直接触れる部分の設計 (情報システムの印象を決定) |
| 設計対象 | ウェブサイトの情報の配置や見た目、操作性、スマホアプリの画面遷移や操作時の反応など、利用者が見て触る部分全体 |
| 重要なポイント | お客様の要望を満たすこと、誰にとっても使いやすく、考えなくても操作できること |
| 具体的な作業 | 画面構成、メニュー、報告書など、利用者が直接目にする全ての要素を詳細に決定 |
| 改善方法 | 実際に利用するお客様に試してもらい、意見を取り入れて改善 |
| 外部設計の重要性 | 情報システムの第一印象を決定し、顧客満足度に大きく影響 |
内部設計の詳細な定義

内部設計とは、外部設計で定められたシステムの機能を実現するための内部構造を具体的に設計する工程です。これは、まるで建物の設計図における詳細な構造部分に相当します。具体的には、データベースの構造、各プログラムの処理手順、データ連携の方法、そしてエラー発生時の対応策などを詳細に決定します。この設計は、プログラマーが実際にプログラムを作る際の指針となるもので、外部設計の内容を的確かつ効率的に実現するために欠かせません。内部設計においては、システムの性能、安全性、そして保守のしやすさなどを考慮し、最適な設計を選択することが重要です。例えば、データベース設計では、データの整合性を維持し、迅速なデータへのアクセスを実現するために、適切なデータの種類や索引を設定します。プログラム設計では、処理速度を向上させるために、適切な算法を選択し、最適化を行います。内部設計はシステムの品質を大きく左右する重要な段階であり、経験豊富な設計者の知識と技術が不可欠です。
| 要素 | 説明 |
|---|---|
| 定義 | 外部設計で定められた機能の内部構造を具体的に設計する工程 |
| 内容 | データベース構造、プログラム処理手順、データ連携方法、エラー対応策の詳細決定 |
| 目的 | プログラマーがプログラムを作成する際の指針、外部設計内容の的確かつ効率的な実現 |
| 考慮事項 | システムの性能、安全性、保守性 |
| 重要性 | システムの品質を大きく左右する |
外部設計と内部設計の連携

情報技術の開発において、外部設計と内部設計は不可分の関係にあります。外部設計で定められた要求事項を、内部設計が技術的な側面から具現化することが求められます。例えば、外部設計において「利用者の情報を一覧として示す」という要件が決定されたとします。この時、内部設計では、どの記録場所からどのように情報を取得し、どのような形式で表示するかを詳細に定める必要があります。この連携が円滑に進まないと、外部設計で優れた見た目や使いやすさを実現しても、内部設計がそれに追いつかず、結果として使い勝手の悪いシステムになる可能性があります。外部設計を行う担当者と内部設計を行う担当者は、緊密に連絡を取り合い、互いの知識や視点を共有しながら設計を進めることが重要です。定期的な会議を開き、設計内容の進捗状況や課題を共有したり、設計検討会を実施し、互いの設計内容を検証し合うことで、連携を強化することが有効です。外部設計と内部設計の連携が円滑に進むことで、利用者の要望を満たし、高品質な情報技術システムを実現することができるでしょう。
| 外部設計 | 内部設計 | 連携の重要性 |
|---|---|---|
| 要求事項の定義 (例: 利用者情報を一覧表示) | 技術的な具現化 (例: 情報の取得元、表示形式) | 不可分な関係 |
| 利用者の視点、使いやすさ | 技術的な実現可能性、パフォーマンス | 連携不足は使い勝手の悪いシステムを招く |
| 緊密な連絡、知識共有、定期的な会議、設計検討会 | ||
| 高品質な情報技術システムの実現 |
設計における考慮事項

設計の過程では、単に機能が優れているだけでなく、使いやすさや安全対策など、多岐にわたる視点が求められます。特に、個人情報や企業の秘密情報を扱う場合は、外部からの不正な侵入や情報の漏洩を防ぐための厳重な安全対策が不可欠です。そのため、確実な本人確認の方法や、情報を暗号化する技術を導入することが重要になります。また、将来的に機能の追加や利用者の増加が見込まれる場合には、システムを柔軟に拡張できるような設計にしておく必要があります。さらに、システムに不具合が生じた際に、迅速に原因を特定し、修正できる保守のしやすさも考慮すべき点です。これらの要素を総合的に検討し、長期にわたって安定して稼働するシステムを構築することが重要です。設計者は、高度な技術的な知識はもちろんのこと、事業の状況を理解する力や、リスクを管理する能力も求められるでしょう。
| 観点 | 詳細 |
|---|---|
| 多岐にわたる視点 | 機能、使いやすさ、安全対策など |
| 厳重な安全対策 | 不正侵入、情報漏洩の防止。確実な本人確認、情報暗号化 |
| 柔軟な拡張性 | 将来的な機能追加、利用者増加に対応 |
| 保守のしやすさ | 迅速な原因特定と修正 |
| 長期安定稼働 | 総合的な検討による安定稼働 |
設計の成果物とその活用

設計の過程では、構造設計書、画面構成設計書、情報基盤設計書、処理設計書などの成果物が生まれます。これらは、開発に関わる全員が同じ認識を持つための大切な記録です。構造設計書は、システム全体の構成や各機能の役割を詳しく記したもので、開発者がシステムを理解する際の道しるべとなります。画面構成設計書は、画面の配置や操作方法を具体的に示し、利用者の目に触れる部分の開発に役立ちます。情報基盤設計書は、データ保管の構造や種類を明らかにし、データの開発に利用されます。処理設計書は、プログラムの流れや規則を記述したもので、実際のプログラム作成に不可欠です。これらの成果物は、開発段階だけでなく、試験段階や維持段階でも活用されます。試験段階では、設計書を基に試験項目を作成し、システムの動作を確かめます。維持段階では、設計書を参考に問題点を特定し、修正を行います。つまり、設計の成果物は、システムの生涯を通じて活用される貴重な財産となるのです。
| 成果物 | 内容 | 利用場面 |
|---|---|---|
| 構造設計書 | システム全体の構成、各機能の役割 | 開発者がシステムを理解する際の道しるべ |
| 画面構成設計書 | 画面の配置や操作方法 | 利用者の目に触れる部分の開発 |
| 情報基盤設計書 | データ保管の構造や種類 | データの開発 |
| 処理設計書 | プログラムの流れや規則 | プログラム作成 |
| 全体 | システムの生涯を通じて活用される貴重な財産 | 開発、試験、維持 |
