要件定義・基本設計・詳細設計の違い。上流工程の重要性と比率

システム開発において、プログラミングも大切ですが、初期の設計・具体的には『要件定義・基本設計・詳細設計』といった重要な上流工程がかなり大切です。どのような作業が行われているのでしょうか。それぞれの実例をみていきましょう。

Offers」は、時代の変化や環境にあわせてスキルを磨きたい、そんな人にぴったりのサービスです。「副業・複業」で、本業では経験できない、新しい環境/開発スタイルを経験しよう!

→「Offers」をもっと詳しくみる! かんたん60秒で副業を始めてみる

システム開発の流れ

システム開発やソフトウェア開発における工程の中で、実装すべき機能や性能を明確にする『要件定義』には、非常に難解なイメージを持っている人も多いのではないでしょうか?

要件定義の難易度は、IT導入に求められる要求の多様化複雑化に比例して、どんどん高くなっています。

システムやソフトウェアの開発は、『要件定義・基本設計・詳細設計』という流れで進んでいきますが、『システム開発の成功も失敗も、要件定義で決まる』といわれるほど、要件定義は重要なステップであると認識しておきましょう。

要件定義でクライアントの要望を確認

クライアントから要求を引き出し、実装すべき機能を整理する作業を『要件定義』といいます。その内容を基準に、業務フローとシナリオを作成し、クライアントの要求と認識に齟齬がないか、細かくチェックしていきましょう。

次に、その要求を実際にシステムでどう実現するのか、開発側は『機能要件』に落とし込んでいきます。

機能要件ではユースケースの一覧を作成し、システムのやりとりをパターン化したのちに行うのが『機能一覧の作成』です。精密化された実務フローで、実装まで問題がないか、改善がされているかなど、チェックしましょう。

基本設計でシステムの基本を決める

前工程で整理したクライアントの要件を、実際にシステムとして『見える化』させる作業が『基本設計』です。クライアントはもちろん、実装したときにユーザーから見える操作画面やデータ出力など、インターフェース部分の仕様を決定します。

具体的な作業は、画像やイメージ図など、ユーザーが理解しやすい要素を用意し、クライアントにも理解しやすい設計書の作成です。費用の検討をはじめ、セキュリティや運用規定もここで決めていきます。

『見える化』させる基本設計は、その特性から『外部設計』とも呼ばれます。

詳細設計でシステムの動作を決める

ユーザーやクライアント向けの基本設計と異なり、『詳細設計』はプログラマー向けの設計書作成がメインの作業です。詳細設計はSEの仕事であり、システムの内部の動作・機能・データベースの設計などを行います。

その設計書を見て、実際にプログラマーがプログラムを組める、非常に細かい部分まで落とし込んでいきますが、クライアントに見えない内部の設計を行うため、『内部設計』とも呼ばれます。

実際に行われる作業

その名称から『基本設計は大まかな設計』で、『詳細設定は細かな設定』と誤解している人もいますが、基本設計と詳細設計には、それぞれ異なった役割があります。

  • 『基本設計(外部設計)』は、ソフトウェアの動きを『外から』見たときの状態を決定
  • それに対し『詳細設計(内部設計)』は、基本設計で指定された内容を、どのように『システム内部で』実現するか

でそれぞれ役割が異なります。

それぞれの設計で行われる作業を比較してみましょう。

基本設計で行われる作業

前工程の要件定義にもとづいて、基本設計では画面レイアウトや帳票レイアウトなど、『外側から見て、システムがどのような動きをするのか』を確認します。

基本設計では、業務の流れを理解し機能を洗い出す『業務フロー』の作成や、開発範囲となる機能の一覧を示す『機能一覧表』がメジャーですが、ネットワークの構成・データベースのテーブルの定義・データベースのER図の作成といった作業もあります。

詳細設計で行われる作業

クライアントと一緒に閲覧することも多い基本設計と違い、次工程の詳細設計では、社内開発者がプログラマー向けに行う場合が多い作業です。

機能設計書では、機能ごとの処理をはじめ、フローチャートの記述や、画面や帳票の詳細項目の説明など、データベースの物理設計書を作成します。

まとめ

システム開発は、要件定義から設計が5割・プログラミングが2割・残り3割はテスト工程です。『要件定義・基本設計・詳細設計』といった重要な上流工程がきちんとされてこそ、その後のプログラミングやテストが円滑に進められ、良質なシステムが完成します。

開発の命を握る『要件定義』をしっかり行って、クライアントやユーザーだけでなく、自社にとっても最高のシステム開発をしてみませんか?

Offers」は、時代の変化や環境にあわせてスキルを磨きたい、そんな人にぴったりのサービスです。

いくつもの転職媒体を使って、企業を探し回るのはもう終わり。「副業」から始まる新しい働き方を実現します!

本業では経験できない、新しい環境/開発スタイルを経験しよう!



この記事をシェア

関連記事


副業・フリーランス

プログラミング

インタビュー

Rubyエンジニア2名の爆速採用に成功!2ヶ月で30倍の事業拡大を支える農業ITスタートアップの複業活用法

野菜や米、果物などの生産者と消費者を繋ぐオンライン直販所『食べチョク』を運営するビビッドガーデン。在宅時間をより充実させたい消費者が集まり、事業が急成長している。そこで課題となったのがエンジニア...

オンライン面談のみでテックリードクラスを複数採用!注目ベンチャー企業のwithコロナ時代に向けた採用術とは

日本で唯一のeKYC対応のデジタル身分証アプリを提供するTRUSTDOCK。今後、身分証がデジタルに置き換わるであろう不可逆な未来を実現するためにもエンジニアが必要だった。同社にはコロナ禍にも関...

mrubyを採用したソフトウェアを広げた第一人者・松本亮介が、面倒を感じながらもC言語を愛する理由とは?

世の中にはさまざまなプログラミング言語が存在します。そして、人によってはただならぬ愛着を持つ人も。そこで本企画では、このプログラミング言語にフォーカス。お気に入りのプログラミング言語のことを中心...

エンジニアとして、社会に新しい価値を提供し続けたい。カンカク志甫氏が考える本業と副業のバランス術

本業と数々の副業を両立させてきた志甫氏。副業を受ける決め手や本業と副業を両立させるコツ、これからのエンジニアのチャンスの掴み方について伺った。

デザイン

お金

採用・組織

グルメ