【面接対策】基本設計 / 詳細設計とは?中学生でもわかる例え話と理想的な回答例

設計・ドキュメント
博士
家を建てる時、ざっくりとした間取りを決めるのが基本設計、壁の色やコンセントの位置まで細かく決めるのが詳細設計です。ITシステムの開発も同じ!どんなアプリを作るか?(基本設計)から、ボタンの色やデータベースの設計(詳細設計)まで、設計はシステム開発の設計図なのです。今回は、その基本設計と詳細設計について掘り下げていきましょう。
💡 面接でのベスト回答
想定質問:「基本設計 / 詳細設計について教えてください」

面接官:基本設計 / 詳細設計について説明してください。

私:基本設計と詳細設計は、システム開発における設計工程の段階を表します。基本設計(外部設計)は、システム全体の概要や主要機能、インターフェースなどを定義するもので、ユーザーの要求に基づいて作成されます。一方、詳細設計(内部設計)は、基本設計で定義された内容を具体的に実現するための、プログラム構造やデータベース設計、アルゴリズムなどを定義するものです。

以前のプロジェクトで、ECサイトのカート機能を開発する際、基本設計では「商品を追加/削除できる」「合計金額を表示する」といった機能要件を定義しました。

詳細設計では、「どのデータベーステーブルに商品情報を格納するか」「どのようなアルゴリズムで合計金額を計算するか」を具体的に設計しました。

この時、詳細設計を丁寧に行ったことで、パフォーマンス問題を防ぎ、スムーズなリリースを実現できました。

現役エンジニアによる深掘り解説

メリット

開発初期段階で、関係者間でシステムの全体像を共有し、認識のずれを防ぐことができます。

変更が発生した場合でも、影響範囲を特定しやすく、手戻りを最小限に抑えることができます。

デメリット

初期段階で詳細を詰めすぎると、柔軟性が失われ、後々の変更に対応しにくくなる可能性があります。

ユーザーの要求を正確に把握しないまま設計を進めると、後で大幅な修正が必要になることがあります。

詳細設計のメリット:

具体的な実装方法を明確にすることで、プログラマーが迷うことなく開発を進めることができます。

テスト設計の基礎となり、品質の高いシステムを開発することができます。

詳細設計のデメリット:

設計に時間がかかりすぎると、開発期間が長期化する可能性があります。

設計者のスキルによって、設計品質にばらつきが生じる可能性があります。

⚠️ 面接突破のワンポイント

  • 基本設計と詳細設計の違いを、実際のプロジェクト経験に基づいて説明できるように準備しましょう。ユーザー視点や具体的な技術要素を含めると、より説得力が増します。
  • 設計段階で考慮すべき非機能要件(パフォーマンス、セキュリティ、可用性など)についても、言及できるようにしておきましょう。
タイトルとURLをコピーしました