開発工程

  • 上流工程
  • システムエンジニア入門 開発工程とは
  • 一例としての開発工程のまとめ
  • 上流工程

    ウォーターフォール・モデルを典型とするソフトウェア開発ライフサイクルで、要件分析/定義から仕様決定、外部設計あたりまでの工程をいう。
     厳密な定義はなく、その線引きは論者や方法論によって微妙な違いがあるが、大雑把にいって、どのようなソフトウェアを開発するのかを決定する工程だと考えればよい。

    下流工程

     ウォーターフォール・モデルを典型とするソフトウェア開発ライフサイクルにおいて、内部設計以降のモジュール設計、コーディング、モジュールテストなどの工程をいう。

     厳密な定義はないが、仕様に基づいて実際にコンピュータ・ソフトウェアを作る工程だと考えればよい

    外部設計

    ソフトウェアの開発工程の1つで設計フェイズのうち、開発しようとするシステムが外部(ユーザーや外部システム)に対してどのような機能、インターフェイスを提供するかを設計すること。

     簡単にいえば、要求仕様に基づいて“開発するシステムの機能”を決定する工程で、例えば、「Aをキーボード入力するとBを画面に出力する」というようにソフトウェアの実装を意識せずに、ユーザー視点で記述する。これによりおよそのシステム規模が明らかになり、開発スケジュールと予算が試算できるようになる。ユーザー(システム発注者)とSE(設計者)の間で行われる工程である。

     具体的には、システム分割(アーキテクチャの決定)、入出力概要設計(画面/帳票設計)、コード設計(データ形式/構造)、論理データ設計(データベースの論理設計)などの作業がある。

     一般に、基本設計/概要設計と同一視されるが、方法論やスコープによっては別の工程とされることがある。また、ハードウェアやネットワークなどの制約条件を考慮に入れて仕様を決定しなければならないため、これらの選定を含めて“外部設計”と称する場合もある

    内部設計

    ソフトウェアの開発工程の1つで設計フェイズのうち、外部設計で作成された仕様に基づいて、ソフトウェア内部のアーキテクチャ、データ処理や管理の方法、アルゴリズムなどを設計すること。詳細設計ともいう。

     外部設計では実装を意識しないで機能を定めていくが、内部設計ではソフトウェア内部における具体的な処理手順を設計していく。SE(設計者)がビルダ(プログラマ)に対する指示を決定する工程である。

     作業内容としては、機能分割、物理データ設計、入出力詳細設計に分類される。

    詳細設計

    システムを作る際、概要設計を受けて、さらに詳細な設計を行うこと。製造業、建設業でも使われる言葉だが、ソフトウェアの開発工程では内部設計ともいう。

    概要設計

    システムを作る際、そのシステムに必要な技術要素や構成要素を選択して、それら要素の機能や性能を定義し、システムがユーザーや外部システムに対してどのような機能を提供するかを設計すること。ソフトウェア開発プロセスでは外部設計ともいう