「外部設計」「内部設計」とは?主な作業や設計書の概要までわかりやすく解説
- [更新日]2023/02/17
- [公開日]2022/01/19
- 10455 view
目次
「外部設計」「内部設計」とは?主な作業や設計書の概要までわかりやすく解説
システムを外注したいけれど、何からはじめたらいいかわからず、困っている方も多いかもしれません。そんな方は、はじめに外部設計と内部設計の違いについて理解するとよいでしょう。外部設計・内部設計の違いを理解することで、システム開発をスムーズに進めることができるようになります。
ぜひ最後までお読みください。
リカイゼンでは、システム開発実績を多数持つ会社の中から、ご要望に合う会社を厳選して無料でご紹介します。
お電話でのご相談は
03-6427-5422
外部設計・内部設計の話をする前に、どのようにシステム開発に取り組まれるかについて、おさらいしましょう。
はじめに、要件定義を行います。要件定義とは、システム開発を行う前に、発注者の要望をどのようにして叶えるか、方針をはっきりさせることです。
要件定義ができれば、外部設計に入ります。要件定義で明らかになった機能や制約条件を満たすために、どのようなシステムにするかをまとめていきます。
内部設計は、設計担当者が開発を担当する社内に向けて取り組む設計です。外部設計で決めた内容をもとに、どのようにシステム内部を作り込むかを決めます。
具体的に外部設計・内部設計について、ご説明します。
外部設計は、基本設計や概要設計といわれることもあります。外部設計では要件定義の段階で作成された要件定義書をもとに、開発するシステム画面や操作の方法を決めなければなりません。
内部設計では、外部設計で決めた仕様を満たすために、システムの内部やデータ構造の詳細を決めていきます。内部設計の目的は、設計担当者ならシステムがどのように作られているかわかる状態にしておくことです。
外部設計は、発注者側が体感できる部分を設計します。体感できる部分とは、画面や機能、性能などが該当します。開発のスケジュールやコストも、外部設計で取り決めなければなりません。
それでは、具体的に外部設計で行う設計内容について説明します。
システム画面のレイアウトはもちろんのこと、機能ごとに画面がどのように遷移していくのかを決めていきます。たとえばある画面において、チェックボックスを何個配置するのか、どういった情報を表示するのかといった詳細まで決めていきます。
画面設計のコツとしては、見ただけで、画面に使用する部品やその状態がわかるようにするとよいでしょう。わかりやすくするには、以下の要素を細かく指示しておくのがおすすめです。
そして、操作手順と操作に対するリアクションを記述しておきます。そうすることで、設計担当者がシステムを使用するユーザーをイメージしやすくなるでしょう。さらに入出力が発生するかどうかを明確にしておくことで、画面設計がスムーズに進みます。
機能設計とは、仕様を満たすためにどのような機能を実装すればよいか設計することを指します。機能設計の際には、モジュールと呼ばれる機能を構成する部品単位にわけて設計されます。
モジュールに分割する考え方は、システムに応じてさまざまなので、唯一の正解はありません。機能設計をより最適に行うためには、下記の内容に注意するとよいでしょう。
方式設計では、ハードウェアの構成や開発するプログラミング言語、開発環境などシステムの全体構成を設計します。方式設計の際には、以下の内容にわけて設計検討を行います。
このように分割することによって、ユーザーの作業範囲が明確にでき、効率的な運用・保守を踏まえたシステム構成の設計が進めやすくなります。
他のアプリケーションと連携する場合は、どのようなデータをやりとりするのか、接続方法やセキュリティについて設計します。
次に、内部設計で行う設計内容について説明します。
外部設計にて取り決めたモジュールの内部構造を、具体的に設計していきます。したがって、外部設計の精度が、機能分割に影響をおよぼします。機能分割するには、以下に注意しなければなりません。
以上の点に気を付けることで、不具合を防ぐことができます。もし不具合が発生したとしても、見つけやすい設計になっているので、スムーズに解決できるでしょう。
物理データ設計では、ユーザーからはわからないファイルやデータのやりとりを設計します。ファイルの形式やレイアウトも物理データ設計の段階で設計します。物理データ設計では、以下に注意しなければなりません。
外部設計で取り決めた入出力設計をもとに、具体的な形式を設計していきます。たとえば画面設計においては、入力データをどのようにチェックするのか、初期値・デフォルト値を設計します。また、帳票設計では、データの検索ルールやエラー処理を設計する必要があるでしょう。
外部設計書・内部設計書に書かれる内容をまとめると、以下の表のようになります。
外部設計書では、はじめにシステムの概要を記載します。全体構成や開発対象範囲を示さなければなりません。設計指針では、セキュリティ機能の設計について概要をまとめます。通信仕様では、機能ごとにどのように通信を行うかの概要を定義します。
システム開発を外注する場合、設計書の作成を開発会社に任せるのがおすすめです。ただし、外注するからといって、任せっきりにしてはいけません。なぜなら任せっきりにしてしまうと、本当に使いたいシステムが開発できるとは限らないからです。
外部設計・内部設計についてまとめます。
システムを外注するにおいて、外部設計・内部設計は非常に重要ですので、参考にしてください。
そこで本記事では、システム開発で必須となっている外部設計・内部設計について、以下の内容を説明します。
システム設計について相談可能な会社一覧をご覧になりたい場合は、「見積依頼が可能なソフトウェア・業務システム開発の会社一覧」をご覧ください。
企画段階からのご相談も受付中!気軽に相談できるプロをご紹介いたします。
受付時間:平日10:00~18:30
1. まずはシステム設計の流れを確認しよう
①要件定義
要件定義を行うことで、システムに必要な機能を明記できるので、仕様がスムーズに決まっていくでしょう。要件定義書がきっちり仕上がっていれば、後戻りが少なくて済みます。
②外部設計
要件定義から外部設計は、発注者のヒアリングを中心にして設計担当者がまとめる工程になります。そのため、発注者がシステムに対する要望をまとめて、設計担当者とやりとりを行わなければなりません。
発注者がシステムへの要望を正しく伝え、設計担当者とともに共通認識を持てるような設計書を作るように心がけましょう。
③内部設計
このように順番に設計書が仕上がっていくため、上流工程のドキュメントの質が、下流工程のドキュメントの質を決めるといっても過言ではありません。
2. 「外部設計」「内部設計」とは?
外部設計:システムの方式・機能を決定する
外部設計の目的は、システムの仕様を明確にすることです。システムの仕様が明確にならなければ、システム開発は不可能でしょう。
なぜなら、設計担当者がどこまで作り込んだらよいか、わからなくなるからです。仕様が不確定なまま開発を進めていると、担当者だけしかわからないシステム構造となってしまい、保守性が著しく低くなります。保守性が低くなるのを防ぐためにも、仕様を満たした開発をお願いできる状態にしましょう。
内部設計:システム内部の機能やデータの詳細を決定する
設計担当者は、設計が不具合の原因にならないように、徹底的に内部設計を行わなければなりません。内部設計に不備がないようにするためには、上流工程である要件定義および外部設計を適切に行う必要があります。
外部設計と内部設計の違いをわかりやすく解説
内部設計は、設計担当者のために作られます。システムのコードの書き方やデータベースの内部構造など、仕様を満たすためにどのような設計にするべきかをまとめます。したがって、内部設計は、設計担当者向けにわかるようにしなければなりません。
すなわち、簡単に言い換えるなら、外部設計は対発注者向け、内部設計は対設計担当者向けの設計書といえるでしょう。
3. 外部設計で行う主な作業
画面設計
機能設計
方式設計
他のアプリケーションとの連携
4. 内部設計で行う主な作業
機能分割
物理データ設計
入出力の詳細設計
5. 外部設計書・内部設計書にかかれる内容
外部設計書
内部設計書
記載内容
・システムの概要
・設計指針
・通信仕様
・システム構造
・機能仕様
・製造指針 etc...
・クラス図
・モジュール構成図
・フローチャート
・シーケンス図 etc...
システム構造では機能を構成する大まかなブロックにわけて、構造を網羅しなければなりません。機能仕様はシステム構造でわけたブロックをさらに分類して、機能を網羅します。製造指針では、実装にあたっての留意すべき項目をまとめます。
内部設計書では、システムを作るのに必要な情報をまとめなければなりません。そのため、図解で説明されることが多いです。たとえば、システム内部のプログラムをどのように設計するかを示したクラス図や、モジュール間の繋がりを示したモジュール構成図などが該当します。
機能ごとにどういったフローで内部処理が進められるかを示したフローチャートや、設計するオブジェクトがどのように作用するかを示すシーケンス図によって、プログラムがどのように動くかを明記します。
6. 設計書の作成は開発会社への依頼もおすすめ
使えるシステムを開発してもらうには、要件定義時に要望を予算内でしっかりまとめられるようにしなければなりません。したがって任せっきりにするのではなく、要望は設計担当者にしっかり伝えられるように心がけましょう。
7. まとめ
ソフトウェア・業務システム開発の依頼先探しなら、
リカイゼンにおまかせください!
相談するだけ!プロがあなたにぴったりの会社をご紹介いたします!
ソフトウェア・業務システム開発の依頼先探しでこんなお悩みはありませんか?
- 会社の選び方がわからない
- 何社も問い合わせるのが面倒くさい
- そもそも依頼方法がわからない
- 予算内で対応できる会社を見つけたい
発注サポート経験豊富な専任スタッフが
あなたのご要望をお聞きし、最適な会社をご紹介いたします!
ご相談から会社のご紹介まで全て無料でご利用いただけます。
お気軽にご相談ください!
ソフトウェア・業務システム開発の
依頼先探しなら
リカイゼンにおまかせください!
相談するだけ!プロがあなたにぴったりの会社を無料でご紹介いたします!
まずはご質問・ご相談なども歓迎!
お気軽にご連絡ください。